| ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D.M.Z
CONTENT
PRE
NEXT
18.1 Introduction ¼·Î ´Ù¸¥ ³×Æ®¿÷ Àü¼Û ¼ö´ÜÀÌ »ç¿ëµÇ±â¿¡, NNTP´Â ´º½º ±³È¯¿¡ ÀÖ¾î C News¿Í´Â ÀüÇô ´Ù¸¥ Á¢±Ù ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. NNTP´Â "Network News Trasfer Protocol"ÀÇ ¾à¾î·Î, ƯÁ¤ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö°¡ ¾Æ´Ñ ÀÎÅÍ³Ý Ç¥ÁØÀ» °¡¸®Å°´Â ¸»ÀÌ´Ù. ±×°ÍÀº ³×Æ®¿÷ ³» ¾îµò°¡¿¡ Àִ Ŭ¶óÀ̾ðÆ®¿Í, netnews¸¦ µð½ºÅ© ÀúÀå¸Åü¿¡ º¸Á¸Çϴ ȣ½ºÆ®¿¡ ¶°ÀÖ´Â ¼¹ö°£ÀÇ stream ÁöÇâ Ä¿³Ø¼Ç (º¸Åë TCP »ó¿¡¼)¿¡ ±â¹ÝÇÑ´Ù. stream Ä¿³Ø¼ÇÀº Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö°¡ ¾ÆƼŬÀ» Àü¼ÛÇϴµ¥, ÀüÇâ(turnaround) µô·¹ÀÌ°¡ °ÅÀÇ ¾øµµ·Ï ÇÏ°í, ¾ÆƼŬ ÁßøÀÇ ¼ö¸¦ ³·°Ô À¯ÁöÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÎÅͳÝÀÇ ³ôÀº Àü¼Û·ü¿¡ ÈûÀÔ¾î, ÀÌ°ÍÀº ¿À¸®Áö³Î UUCP ³×Æ®¿÷À» ÈξÀ ´É°¡ÇÏ´Â ´º½º Àü¼ÛÀ» °¡´ÉÄÉ ÇÑ´Ù. ¸î³â Àü¿£ ¾ÆƼŬÀÌ Æ÷½ºÆõǾî UsenetÀÇ ¸¶Áö¸· Äڳʿ¡ µµÂøÇϱ⠱îÁö 2ÁÖÀÌ»óÀÌ °É¸®´ø °ÍÀÌ ºñÁ¤»óÀûÀÎ °ÍÀÌ ¾Æ´Ï¾úÀ¸³ª, ÀÌÁ¦ ÀÌ°ÍÀº ÀÌƲµµ °É¸®Áö ¾Ê°Ô µÇ¾ú´Ù. ÀÎÅÍ³Ý ÀÚü¿¡¼±, ±×°ÍÀº ½ÉÁö¾î ¸îºÐÀÇ ¹üÀ§³»¿¡ ÀϾÙ. Ŭ¶óÀ̾ðÆ®°¡ ¾ÆƼŬÀ» ã¾Æ¿À°í(retrive), º¸³»°í(send), Æ÷½ºÆÃ(post)ÇÏ°Ô ÇÏ´Â ¸î°¡ÁöÀÇ Ä¿¸Çµå°¡ Á¸ÀçÇÑ´Ù. º¸³»´Â °Í°ú Æ÷½ºÆð£ÀÇ Â÷ÀÌ´Â ÈÄÀÚ°¡ ¿ÏÀüÄ¡ ¾ÊÀº Çì´õ Á¤º¸¸¦ Áö´Ñ ¾ÆƼŬÀ» °¡Áö°í ÀÖ´Ù´Â Á¡ÀÌ´Ù. ¾ÆƼŬ retrivingÀº ´º½ºÀü¼Û Ŭ¶óÀ̾ðÆ®¿Í newsreader¿¡¼ »ç¿ëµÈ´Ù. ÀÌ°ÍÀº NNTP¸¦, NFS¸¦ »ç¿ëÇÒ ¶§ ÇÊ¿äÇÑ ¾î¶² ·ùÀÇ ¼ÓÀÓ¼ö ¾øÀÌ ·ÎÄà ³×Æ®¿÷ »óÀÇ ¸¹Àº Ŭ¶óÀ̾ðÆ®µé¿¡°Ô ´º½º ¾ï¼¼½º¸¦ Á¦°øÇÏ´Â ±²ÀåÇÑ Åø·Î ¸¸µç´Ù. NNTP´Â activeÇÏ°í passiveÇÑ ´º½º Àü¼Û ¹æ¹ý, "pushing"°ú "pulling"À̶ó ºÒ¸®´Â °Íµµ Áö¿øÇÑ´Ù. PushingÀº ±âºÐÀûÀ¸·Î C NewsÀÇ ihave/sendme ÇÁ·ÎÅäÄÝ°ú µ¿ÀÏÇÏ´Ù. Ŭ¶óÀ̾ðÆ®´Â "IHAVE<varmsgid>" Ä¿¸Çµå¸¦ ÅëÇØ ¼ÅÍ¿¡°Ô ÇϳªÀÇ ¾ÆƼŬÀ» ÁÖ°í, ¼¹ö´Â ±× ¾ÆƼŬÀ» ÀÌ¹Ì °®°í ÀÖ´ÂÁö ¶Ç´Â ±×°ÍÀ» ¿øÇÏ´ÂÁö¸¦ Áö½ÃÇÏ´Â response Äڵ带 ¸®ÅÏÇÑ´Ù. ¸¸¾à ±×·²°æ¿ì, Ŭ¶óÀ̾ðÆ®´Â ¾ÆƼŬÀ» º¸³»°í, µÚ ¶óÀΠù¹ø°¿¡ Á¡À» Âï¾î ¸¶Áö¸·À» Ç¥½ÃÇÑ´Ù. ´º½º¸¦ pushing Çϴµ§ ´Ü ÇÑ°¡Áö °áÁ¡ÀÌ Àִµ¥, ±×°ÍÀº ¼¹ö ½Ã½ºÅÛ¿¡ ½É°¢ÇÑ ·Îµå¸¦ ÀÏÀ¸Å²´Ù´Â °ÍÀ¸·Î, ±× ÀÌÀ¯´Â ±×°ÍÀÌ °¢ ½Ì±Û ¾ÆƼŬ¿¡ ´ëÇØ ±×°ÍÀÇ history µ¥ÀÌÅÍ º£À̽º¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¹Ý´ëÀÇ Å×Å©´ÐÀº pullingÀ¸·Î, Ŭ¶óÀ̾ðÆ®°¡ ÀÏÁ¤ ³¯Â¥ ÀÌÈÄ¿¡ µµÂøÇÑ ¾ÆƼŬÀÇ ¸®½ºÆ®¸¦ ±×·ì¿¡ ¿äûÇÏ´Â °ÍÀÌ´Ù. NETNEWS Ä¿¸Çµå¿¡ ÀÇÇØ ±× Äõ¸®°¡ ¼öÇàµÈ´Ù. ¸®ÅÏµÈ ¸Þ½ÃÁö idÀÇ ¸®½ºÆ®¿¡¼, Ŭ¶óÀ̾ðÆ®´Â ±×µé °¢°¢¿¡ ´ëÇØ Â÷·Ê·Î ARTICLE Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿©, ¾ÆÁ÷ °®Áö ¸øÇÑ ¾ÆƼŬÀ» °ñ¶ó³½´Ù. ´º½º¸¦ pullingÇϴµ¥ µû¸£´Â ¹®Á¦Á¡Àº, Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇϵµ·Ï Çã¶ôÇÏ´Â group°ú distribution¿¡´ëÇØ ¼¹ö°¡ ¸é¹ÐÇÏ°Ô ÄÁÆ®·ÑÇØ¾ß ÇؾßÇÑ´Ù´Â Á¡ÀÌ´Ù. ¿¹¸¦ µé¾î, news pullingÀº ·ÎÄà ´º½º ±×·ì¿¡¼ÀÇ ¾î¶°ÇÑ ºñ¹Ð½º·± °ÍµéÀ» Àý´ë ÀÎÁõ ¹ÞÁö ¸øÇÑ È£½ºÆ®¿¡ º¸³»Áö ¾Ê´Â´Ù´Â È®½ÅÀÌ ÇÊ¿äÇÏ´Ù. newsreader°¡ ¾ÆƼŬÀÇ header¿Í body¸¦ º°°³·Î, ½ÉÁö¾î´Â Çì´õ¶óÀÎÀÇ ÇÑ ¶óÀθ¸À» ¹Þ¾Æ ¿Ã¼ö ÀÖ°Ô ÇÏ´Â ¸î°¡Áö Æí¸®ÇÑ Ä¿¸Çµåµé·Î ÀÖ´Ù. ÀÌ°ÍÀº ¸ðµç ´º½º¸¦ Áß¾Ó È£½ºÆ®¿¡ º¸Á¸ÇÏ°í, (·ÎÄ÷ΠÃßÁ¤µÇ´Â) ³×Æ®¿÷ »óÀÇ ¸ðµç À¯ÀúµéÀº NNTP ±â¹Ý Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© Àаí Æ÷½ºÆÃÇÏ°Ô ÇÑ´Ù. ÀÌ°ÍÀº 17Àå¿¡¼ ³íÇÑ ¹Ù ÀÖ´Â, NFS·Î ´º½º µð·ºÅ丮¸¦ exportingÇÏ´Â ¹æ¹ý¿¡´ëÇÑ ÇϳªÀÇ ´ë¾ÈÀÌ´Ù. NNTPÀÇ Àü¹ÝÀûÀÎ ¹®Á¦Á¡Àº, ±×°ÍÀÌ º¸³½ÀÌÀÇ À̸§À» ¹Ù²ãÄ¡±âÇÏ¿© ´º½º stream³»·Î ¾ÆƼŬÀ» Áý¾î ³ÖÀ» ¼ö ÀÖ°Ô ÇÑ´Ù´Â °ÍÀÌ´Ù. À̸¦ ÀÏÄþî news fakingÀ̶ó ÇÑ´Ù. È®ÀåµÈ(extended) NNTP´Â ƯÁ¤ Ä¿¸Çµå¿¡ ´ëÇØ À¯ÀúÀÎÁõÀ» ÇÊ¿ä·Î ÇÑ´Ù. »ç¿ë°¡´ÉÇÑ ¿©·¯°¡Áö NNTP ÆÐÅ°Áö°¡ Á¸ÀçÇϴµ¥, ÀÌ Áß °¡Àå Àß ¾Ë·ÁÁø Çϳª´Â NNTP µ¥¸óÀ¸·Î, reference implementationÀ̶ó°íµµ ¾Ë·ÁÁ® ÀÖ´Ù. ¿ø·¡ ±×°ÍÀº RFC977ÀÇ µðÅ×ÀÏÀ» ¿¹ÁõÇϱâÀ§ÇØ Stan Barber¿Í Pill Lapsley¿¡ ÀÇÇØ ¸¸µé¾îÁø °ÍÀ¸·Î, °¡Àå ÃֽŠ¹öÀüÀº nntpd-1.5.11À̸ç, ÀÌ´Â ¾Æ·¡¿¡¼ ¼³¸íÇÑ´Ù. ¼Ò½º¸¦ °¡Á®¿Í¼ ÄÄÆÄÀÏÇϵ簡, Fred van KempenÀÇ net-std ¹ÙÀ̳ʸ® ÆÐÅ°Áö³»ÀÇ nntpd¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¿©·¯°¡Áö »çÀÌÆ®-ƯÁ¤ °ªÀÌ ÄÄÆÄÀÏµÇ¾î µé¾î°¡¾ßÇϱ⠶§¹®¿¡, ready-to-go(Áï½Ã »ç¿ëÇÒ ¼ö ÀÖ´Â) nntpd ¹ÙÀ̳ʸ®´Â Á¦°øµÇÁö ¾Ê´Â´Ù. nntpd ÆÐÅ°Áö´Â inewsÀÇ ´ëüÇÏ´Â ÇϳªÀÇ ¼¹ö¿Í, ´º½º pulling°ú pushing¿¡ ´ëÇÑ µÎ°³ÀÇ Å¬¶óÀ̾ðÆ®·Î °¢°¢ ÀÌ·ç¾îÁ® ÀÖ´Ù. ±×°ÍµéÀº ¾à°£ÀÇ º¯ÇüÀ» °¡ÇÑ´Ù¸é Bnews ȯ°æ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ°í, C news¿¡¼ ¿ª½Ã Àß µ¹¾Æ°£´Ù. ±×·¯³ª ¸¸¾à ´ç½ÅÀÇ ´º½º¼¹ö·Î newsreader ¾ï¼¼½º¸¦ Á¦°øÇÏ´Â °Í ÀÌ»óÀ» À§ÇØ NNTP¸¦ »ç¿ëÇÒ °èȹÀ̶ó¸é, reference implementationÀº ´õÀÌ»ó ¼±ÅÃÀûÀÎ °ÍÀÌ ¾Æ´Ï´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥Àº »ý·«ÇÏ°í, nntpd ÆÐÅ°Áö ³»¿¡ Æ÷ÇÔµÈ NNTP µ¥¸ó¸¸À» ³íÇÒ °ÍÀÌ´Ù. Rich Salz°¡ ¾´ "InterNet News", ª°Ô´Â INNÀ̶ó ºÒ¸®´Â ÆÐÅ°Áöµµ Á¸ÀçÇÑ´Ù. ±×°ÍÀº NNTP¿Í UUCP±â¹Ý ´º½º Àü¼ÛÀ» ¸ðµÎ Á¦°øÇÏ°í, Å« ±Ô¸ðÀÇ ´º½º hub¿¡ ´õ ÀûÇÕÇÏ´Ù. NNTPÀÇ ¿ëµµ·Î »ç¿ëÇÒ ¶§, ±×°ÍÀº nntpdº¸´Ù Àý´ëÀûÀ¸·Î ¶Ù¾î³ª´Ù. INNÀº ÇöÀç ¹öÀü inn-1.4secÀÌ´Ù. ¸®´ª½º ¸Ó½Å¿¡¼ INNÀ» buildingÇÏ´Â kitÀÌ ÀÖÀ¸¸ç, sunsite.unc.eduÀÇ system/news µð·ºÅ丮¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. INNÀ» ¼Â¾÷ÇÏ°íÀÚ ÇÑ´Ù¸é, ¼Ò½º¿¡ µþ¸° ¹®¼¿Í, news.software.b¿¡ Á¤±âÀûÀ¸·Î Æ÷½ºÆõǴ INN FAQ¸¦ ÂüÁ¶Ç϶ó.
NNTP ¼¹ö´Â nntpd¶ó ºÎ¸£°í, ´º½º ½Ã½ºÅÛ¿¡ ¿¹»óµÇ´Â ºÎÇÏ·®¿¡ µû¶ó µÎ°¡Áö ¹æ¹ýÀ¸·Î ÄÄÆÄÀÏ µÉ ¼ö ÀÖ´Ù. ¸î°¡Áö »çÀÌÆ®-ƯÁ¤ µðÆúÆ® °ªÀÌ ½ÇÇà ÆÄÀÏ ³»¿¡ hard-codeµÇ¾î¾ß Çϱ⠶§¹®¿¡, ÄÄÆÄÀÏµÈ ¹öÀüÀº Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ¸ðµç ¼³Á¤Àº common/conf.h³»¿¡ Á¤ÀÇµÈ ¸ÅÅ©·Î¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù. nntpd´Â ½Ã½ºÅÛ ºÎÆýÿ¡ rc.inet2¿¡¼ ±¸µ¿µÇ´Â standalone ¼¹ö·Î, ¶Ç´Â indetd°¡ °ü¸®ÇÏ´Â µ¥¸óÀ¸·Î ¼³Á¤µÉ ¼ö ÀÖ´Ù. ÈÄÀÚÀÇ °æ¿ì, /etc/inet.conf³»¿¡ ´ÙÀ½ÀÇ ¿£Æ®¸®°¡ µé¾îÀÖ¾î¾ß ÇÑ´Ù.
nntp stream tcp nowait news /usr/etc/in.nntpd nntpd ¸¸¾à nntpd¸¦ standalone ¼¹ö·Î ¼³Á¤ÇÏ¿´´Ù¸é, inetd.conf³»¿¡ À§ÀÇ ¶óÀÎÀÌ ÁÖ¼®Ã³¸® µÇ¾ú´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù. ±× ¹Ý´ëÀÇ °æ¿ì, /etc/services ³»¿¡ ´ÙÀ½ÀÇ ¶óÀÎÀÌ ÀÖ´ÂÁö¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù.
nntp 119/tcp readnews untp # Network News Trasfer Protocol incoming¾ÆƼŬ µîÀ» Àӽ÷ΠÀúÀåÇϱâ À§ÇØ, nntpd´Â ´º½º ½ºÇ® ³»¿¡ .tmp µð·ºÅ丮¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ¸¸µé¾î ÁÖ¸éµÈ´Ù.
# mkdir /usr/spool/news/.tmp # chown news.news /var/spool/news//.tmp
NNTP ¸®¼Ò½º·ÎÀÇ ¾ï¼¼½º´Â /usr/lib/news ³»ÀÇ nntp-access ÆÄÀÏ¿¡¼ ÁÖ°üµÈ´Ù. ±× ÆÄÀϳ»ÀÇ ¶óÀεéÀº ¿ÜºÎ È£½ºÆ®¿¡ ºÎ¿©µÈ ¾ï¼¼½º ±ÇÇÑ¿¡ ´ëÇØ Àû°í ÀÖ´Ù. °¢ ¶óÀÎÀº ´ÙÀ½ÀÇ Æ÷¸ËÀ¸·Î ÀÌ·ç¾îÁø´Ù.
¸¸¾à ¾î¶² Ŭ¶óÀ̾ðÆ®°¡ NNTP Æ÷Æ®·Î ¿¬°áÇÑ´Ù¸é, nntpd´Â reverse lookupÀ» ÅëÇØ ±× È£½ºÆ®ÀÇ IP ÁÖ¼Ò¿¡¼ FQDNÀ» ¾ò¾î´¢·Á ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ È£½ºÆ®³×ÀÓ°ú IP ÁÖ¼Ò´Â ±× ÆÄÀϳ» °¢ ¿£Æ®¸®ÀÇ site Çʵ忡 ´ëÇØ Ã¼Å©µÈ´Ù. ÀÏÄ¡ÇÏ´Â ºÎºÐÀº ºÎºÐÀû ¶Ç´Â Àü¹ÝÀûÀÎ °ÍÀÏ ¼ö ÀÖ´Ù. ¸¸¾à ¿£Æ®¸®°¡ Á¤È®È÷ ÀÏÄ¡ÇÑ´Ù¸é, ±×°ÍÀÌ Àû¿ëµÈ´Ù. ¸¸¾à ±×°ÍÀÌ ºÎºÐÀûÀ̶ó¸é, µÚ¿¡ ´õ ÀÏÄ¡ÇÏ´Â ¿£Æ®¸®°¡ ¾øÀ» °æ¿ì¿¡¸¸ Àû¿ëµÈ´Ù. site´Â ´ÙÀ½ÀÇ ¹æ¹ýÁß Çϳª·Î ÁöÁ¤µÉ ¼ö ÀÖ´Ù.
ÀϹÝÀûÀÎ °ÍÀ» ¸ÕÀú ÁöÁ¤ÇÏ¿©¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é º¸´Ù Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÏ´Â ÂÊÀÌ ÀϹÝÀûÀÎ °ÍÀ» ¿À¹ö¶óÀ̵å Çϱ⠶§¹®ÀÌ´Ù. µÎ¹ø°¿Í ¼¼¹ø° Çʵå´Â Ŭ¶óÀ̾ðÆ®¿¡ ºÎ¿©µÈ ¾ï¼¼½º ±ÇÇÑÀ» ¼³¸íÇÏ°í ÀÖ´Ù. µÎ¹ø°´Â pulling(read)¿¡ÀÇÇØ ´º½º¸¦ °¡Á®¿À´Âµ¥ ´ëÇÑ, ±×¸®°í pushing(xfer)¿¡ÀÇÇØ ´º½º¸¦ Àü¼ÛÇϴµ¥ ´ëÇÑ ±ÇÇÑÀ» ¿°ÅÇÑ´Ù. both°ªÀº µÑ ¸ðµÎ¸¦ °¡´ÉÄÉÇÏ°í, no´Â ¾ï¼¼½º¸¦ ¸ðµÎ °ÅºÎÇÑ´Ù. ¼¼ÅÏ° Çʵå´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¾ÆƼŬÀ» Æ÷½ºÆÃÇÏ´Â, Áï (´º½º ¼ÒÇÁÆ®¿þ¾î¿¡ÀÇÇØ ¿Ï¼ºµÇ´Â) ºÒ¿ÏÀüÇÑ Çì´õ Á¤º¸¸¦ °¡Áø ¾ÆƼŬÀ» ¹è´ÞÇϴµ¥ ´ëÇÑ ±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù. ¸¸¾à ¼¼¹ø° Çʵ尡 no¸¦ Áö´Ñ´Ù¸é, ±× ¼¼¹ø° Çʵå´Â ¹«½ÃµÈ´Ù. ³×¹ø° Çʵå´Â ¼±ÅÃÀûÀÎ °ÍÀ¸·Î, Ŭ¶óÀ̾ðÆ®ÀÇ ¾ï¼¼½º°¡ °ÅºÎµÇ´Â ±×·ìµéÀÇ comma-seperated ¸ñ·ÏÀ» °¡Áö°í ÀÖ´Ù. ¾Æ·¡´Â nntp-access ÆÄÀÏ ¿¹Á¦ÀÌ´Ù.
# # by default, anyone may transfer news, but not read or post default xfer no # # public.vbrew.com offers public access via modem, we allow # them to read and post to any but the local.* groups public.vbrew.com read post !local # # all other hosts at the brewery may read and post *.vbrew.com read post
nntp-access ÆÄÀÏ ³»ÀÇ xfer³ª read°°Àº ¾ï¼¼½º Ç¥½Ã¸¦ ´ë¹®ÀÚ·Î ¾µ ¶§, nntpd´Â °³º° ÀÛ¾÷À» ÇÒ ¶§¸¶´Ù Ŭ¶óÀ̾ðÆ®¿¡¼ÀÇ ÀÎÁõÀ» ÇÊ¿ä·ÎÇÑ´Ù. ¿¹¸¦ µé¾î, Xfer ¶Ç´Â XFERÀÇ Æ۹̼ÇÀ» ÁöÁ¤ÇÒ ¶§, Ŭ¶óÀ̾ðÆ®°¡ ÀÎÁõ°úÁ¤À» Åë°úÇÏÁö ¸øÇÑ´Ù¸é nntpd´Â Ŭ¶óÀ̾ðÆ®°¡ ´ç½Å »çÀÌÆ®·Î ¾ÆƼŬÀ» Àü¼ÛÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. ÀÎÁõ ÇÁ·Î½ÃÀú´Â AUTHINFO¶ó´Â »õ·Î¿î NNTP Ä¿¸Çµå¿¡ÀÇÇØ ¼öÇàµÈ´Ù. ÀÌ Ä¿¸Çµå¸¦ »ç¿ëÇÔÀ¸·Î½á, Ŭ¶óÀ̾ðÆ®´Â À¯Àú³×ÀÓ°ú Æнº¿öµå¸¦ NNTP ¼¹ö¿¡°Ô Àü¼ÛÇÑ´Ù. nntpd´Â ±×°ÍµéÀ» /etc/passwd µ¥ÀÌÅͺ£À̽º¸¦ üũÇÔÀ¸·Î½á È®ÀÎÇÏ°í, À¯Àú°¡ nntp ±×·ì¿¡ ¼ÓÇØÀÖÀ½À» ÀÔÁõÇÑ´Ù. NNTP ÀÎÁõÀÇ ÇöÀç implementationÀº ´ÜÁö ½ÃÇèÀûÀÎ °ÍÀ¸·Î, Æ÷ÆÃÀÌ ¿ëÀÌÇÏ°Ô µÇ¾îÀÖÁö ¾Ê´Ù. µû¶ó¼ ±×°ÍÀº ÀϹÝÀûÀÎ Æнº¿öµå µ¥ÀÌÅͺ£À̽º¿¡¼³ª µ¿ÀÛÇÑ´Ù. shadow Æнº¿öµå´Â ÀνĵÇÁö ¾ÊÀ» °ÍÀÌ´Ù.
18.5 nntpd Interaction with C News ¾ÆƼŬÀ» ¼ö½ÅÇÒ ¶§, nntpd´Â ±×°ÍÀ» ´º½º ¼ºê ½Ã½ºÅÛ(subsystem)¿¡ Àü´ÞÇØ¾ß ÇÑ´Ù. ±× ¾ÆƼŬÀÌ IHAVE·Î ¼ö½ÅµÇ¾ú´ÂÁö, Ȥ½¼ POST Ä¿¸ÇµåÀÇ °á°ú·Î ¼ö½ÅµÇ¾ú´ÂÁö¿¡ µû¶ó, ±× ¾ÆƼŬÀº °¢°¢ rnews ¶Ç´Â inews·Î ³Ñ°ÜÁø´Ù. rnews¸¦ È£ÃâÇÏ´Â ´ë½Å, incoming ¾ÆƼŬµéÀ» batchingÇÏ¿© »ý±ä batchµéÀ» /var/spool/news/in.coming¿¡ ¿Å°Ü, ´ÙÀ½¹ø queue ½ÇÇà½Ã¿¡ relaynews°¡ ±×°ÍµéÀ» pick up°¡°Ô²û ÇÏ´Â ¹æ¹ýÀ¸·Î (ÄÄÆÄÀÏ ½Ã¿¡) ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. ihave/sendme ÇÁ·ÎÅäÄÝÀ» ÀÌ»ó¾øÀÌ ¼öÇàÇÏ·Á¸é, nntpd°¡ history ÆÄÀÏ¿¡ ¾ï¼¼½º ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. µû¶ó¼, ÄÄÆÄÀÏ ½Ã¿¡ path°¡ ¿Ã¹Ù¸£°Ô ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ, C news¿Í nntpd°¡ ´ç½ÅÀÇ history ÆÄÀÏ Æ÷¸ËÀ» ÀνÄÇÏ´Â Áöµµ È®ÀÎÇØ ÁÖ¾î¾ß ÇÑ´Ù. C news´Â ±× ÆÄÀÏ¿¡ ¾ï¼¼½º ÇÒ¶§ dbm ÇØ½Ì ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ±×·¯³ª, ¾à°£ÀÇ Â÷ÀÌ°¡ ÀÖ¾î ¼·Î ȣȯµÇÁö ¾Ê´Â dbm ¶óÀ̺귯¸® implementationÀÌ Á¸ÀçÇϱ⠶§¹®¿¡, ¸¸¾à C News°¡ ´ç½ÅÀÇ Ç¥ÁØ libc°¡ ¾Æ´Ñ ´Ù¸¥ dbm ¶óÀ̺귯¸®¿¡ ¸µÅ©µÇ¾î ÀÖ´Ù¸é, nntpd ¶ÇÇÑ ±× ¶óÀ̺귯¸®¿¡ ¸µÅ©ÇØ ÁÖ¾î¾ß ÇÑ´Ù. nntpd¿Í C News°¡ µ¥ÀÌÅͺ£À̽º Æ÷¸ËÀ» ÀνÄÇÏÁö ¸øÇÒ °æ¿ìÀÇ º¸ÆíÀûÀÎ Áõ»óÀº, ½Ã½ºÅÛ ·Î±×³»¿¡, nntpd°¡ ±× ÆÄÀÏÀ» ¿©´Âµ¥ ÀÌ»óÀÌ Àִٴ°¡, NNTP·Î Áߺ¹µÈ ¾ÆƼŬÀÌ ¼ö½ÅµÇ¾ú´Ù´Â ¿¡·¯¸Þ½ÃÁöÀÌ´Ù. À̸¦ Å×½ºÆ®ÇÏ´Â ÁÁÀº ¹æ¹ýÀº, ´ç½ÅÀÇ ½ºÇ® µð·ºÅ丮¿¡¼ ¾ÆƼŬÀ» Çϳª Áý¾î, nntp Æ÷Æ®·Î telnetÇÑ µÚ, ¾Æ·¡ÀÇ ¿¹Á¦Ã³·³ (´ç½ÅÀÇ ÀÔ·ÂÀº ÀÌ¿Í °°ÀÌ Ç¥½ÃµÈ´Ù) nntpd¿¡°Ô ÁÖ´Â °ÍÀÌ´Ù. ¹°·Ð, <msg@id>´Â ´ç½ÅÀÌ nntpd¿¡°Ô feedÇÏ°íÀÚÇÏ´Â ¾ÆƼŬÀÇ ¸Þ½ÃÁö ID·Î ´ëüÇØ ÁÖ¾î¾ß ÇÑ´Ù.
$ telnet localhost nntp Trying 127.0.0.1... Connected to localhost Escape characters is '^]'. 210 vstout NNTP[auth] server version 1.5.11t (16 November 1991) ready at Sun Feb 6 16:02:32 1194 (no posting) IHAVE <msg@id> 435 Got it. QUIT À§ÀÇ °æ¿ì´Â nntpd°¡ ÀÌ»ó¾øÀÌ ¹ÝÀÀÇÔÀ» º¸¿©ÁØ´Ù. "Got it" ¸Þ½ÃÁö´Â ÀÌ ¾ÆƼŬÀ» ÀÌ¹Ì °¡Áö°í ÀÖÀ½À» ³ªÅ¸³½´Ù. ¸¸¾à ±×´ë½Å "355 OK" ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÑ´Ù¸é, history ÆÄÀÏÀÇ °Ë»öÀÌ ¾î¶°ÇÑ ÀÌÀ¯·Î ½ÇÆÐÇÑ °ÍÀÌ´Ù. Ctrl+D¸¦ ´·¯ conversationÀ» Á¾·áÇÏ°í, ½Ã½ºÅÛ ·Î±×¸¦ üũÇÔÀ¸·Î½á ¹«¾ùÀÌ À߸øµÈ °ÍÀÎÁö¸¦ üũÇÒ ¼ö ÀÖ´Ù. nntpd´Â ¸ðµç Á¾·ùÀÇ ¸Þ½ÃÁö¸¦ syslog µ¥¸ó¿¡ º¸³½´Ù. ȣȯµÇÁö ¾Ê´Â dbm ¶óÀ̺귯¸®°¡ ÀÌÀ¯¶ó¸é, º¸Åë ¸Þ½ÃÁö¿¡ dbminitÀÌ ½ÇÆÐÇß´Ù°í ¸í½ÃµÈ´Ù.
|
Other Chapters |
1. Introduction to Networking
Appendix |
A. A Null Printer Cable for PLIP |