Chapter 7
Serial Line IP


D.M.Z CONTENT PRE NEXT

7.1 General Requirements
7.2 Slip Operation
7.3 Using dip
7.4 Running in Server Mode

½Ã¸®¾ó ¶óÀÎ ÇÁ·ÎÅäÄÝÀÎ SLIP°ú PPP´Â °¡³­ÇÑ À̵µ ÀÎÅͳݿ¡ ¿¬°áÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¸ðµ©°ú FIFO ¹öÆÛ¸¦ ÀåºñÇÑ ½Ã¸®¾ó º¸µå¿Ü¿£ ¾î¶°ÇÑ Çϵå¿þ¾îµµ ÇÊ¿äÄ¡ ¾Ê´Ù. ±×°ÍÀ» »ç¿ëÇÏ´Â °ÍÀº mailboxº¸´Ù º¹ÀâÇÏÁöµµ ¾Ê°í, ¶ÇÇÑ ¸ðµç»ç¶÷ÀÌ ÁöºÒÇÒ ¼ö ÀÖÀ» Á¤µµÀÇ °¡°Ý¿¡ ´ÙÀ̾ó¾÷ IP¸¦ Á¦°øÇÏ´Â °³º°Á¶Á÷ÀÇ ¼ö°¡ ´Ã¾î³ª°í ÀÖ´Ù.

¸®´ª½º¿¡¼± SLIP°ú PPP µå¶óÀ̹ö ¸ðµÎ Áö¿øµÈ´Ù. SLIPÀº Áö¿øµÈÁö ²Ï ¿À·¡µÇ¾ú°í, »ó´çÈ÷ ½Å·Ú¼º ÀÖ°Ô µ¿ÀÛÇÑ´Ù. PPP µå¸®À̹ö´Â ÇöÀç Michael Callahan°ú AI Longyear¿¡ ÀÇÇØ °³¹ßÁßÀÌ´Ù. ±×°Í¿¡ ´ëÇؼ± ´ÙÀ½ Àå¿¡¼­ Àû°íÀÚ ÇÑ´Ù.


7.1 General Requirement

SLIPÀ̳ª PPP¸¦ »ç¿ëÇϱâ À§Çؼ±, ÀÌÀü Àå¿¡¼­ ¾ê±âÇÏ¿´´ø ¸î°¡Áö ±âº»ÀûÀÎ ³×Æ®¿÷ ±â´ÉÀ» ¼³Á¤ÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. Àû¾îµµ loopback ÀÎÅÍÆäÀ̽º¸¦ ¼Â¾÷ÇÏ°í name resolutionÁ¤µµ´Â Á¦°øÇؾßÇÑ´Ù. ÀÎÅͳݿ¡ ¿¬°áÇÒ ¶§, ´ç½ÅÀº ¹°·Ð DNS¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ °ÍÀÌ´Ù. °¡Àå ´Ü¼øÇÑ ÇØ°á¹æ¹ýÀº resolv.conf ÆÄÀÏ¿¡ ¸î¸î ³×ÀÓ¼­¹öÀÇ ÁÖ¼Ò¸¦ Áý¾î ³ÖÀº °ÍÀ¸·Î, SLIP ¸µÅ©°¡ È°¼ºÈ­µÇ¸é °ð¹Ù·Î ÀÌµé ¼­¹ö¿¡ Äõ¸®¸¦ º¸³¾ °ÍÀÌ´Ù. ³×ÀÓ¼­¹ö°¡ ´ç½ÅÀÌ dial inÇÏ´Â ÁöÁ¡°ú °¡±î¿î °÷¿¡ ÀÖÀ» ¼ö·Ï ÁÁ´Ù.

±×·¯³ª, ÀÌ·¯ÇÑ ÇØ°áÃ¥ÀÌ ÃÖÀûÀÌÁø ¾Ê´Ù. ¿Ö³ÄÇÏ¸é ¸ðµç ³×ÀÓ °Ë»öÀÌ ¿©ÀüÈ÷ ´ç½ÅÀÇ SLIP/PPP ¸µÅ©¸¦ ÅëÇØ Áö³ª±â ¶§¹®ÀÌ´Ù. ¸¸¾à ÀÌ¿¡ ¼ÒºñµÇ´Â bandwidth°¡ ¾Æ±õ´Ù°í »ý°¢µÇ¸é, ´ç½ÅÀº caching-only ³×ÀÓ¼­¹ö¸¦ ¼Â¾÷ÇÒ ¼ö ÀÖ´Ù. ±×°ÍÀº ÇϳªÀÇ µµ¸ÞÀÎÀ» ½ÇÁ¦·Î Á¦°øÇÏÁø ¾ÊÁö¸¸, ´ç½ÅÀÇ È£½ºÆ®¿¡¼­ ¸¸µé¾î³»´Â ¸ðµç DNS Äõ¸®¿¡ ´ëÇÑ ¸±·¹ÀÌó·³ µ¿ÀÛÇÑ´Ù. ÀÌ·¯ÇÑ ±¸Á¶ÀÇ ÀÕÁ¡Àº, ij½¬¸¦ ¸¸µêÀ¸·Î½á ´ëºÎºÐÀÇ Äõ¸®°¡ Çѹø¸¸ ½Ã¸®¾ó ¶óÀÎÀ» ÅëÇØ º¸³»Áö´Â °ÍÀÌ´Ù. caching-only ¼­¹ö¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÈ named.bootÆÄÀÏÀº ´ÙÀ½°ú °°´Ù.

     ; named.boot file for caching-only server
     directory                            /var/named
     primary     0.0.127.in-addr.arpa   db.127.0.0 ; loopback net
     cache       .                      db.cache  ; root servers

named.boot ÆÄÀÏ°ú ´õºÒ¾î, db.cache ÆÄÀÏ¿¡ ÀûÀýÇÑ root ³×ÀÓ¼­¹ö¸¦ ³Ö¾îÁÖ¾î ¼Â¾÷ÇØ¾ß ÇÑ´Ù. ÀÌ´Â Resolver Configuraton ÀåÀÇ ¸¶Áö¸· ºÎºÐ¿¡¼­ ±â¼úÇÑ ¹Ù ÀÖ´Ù.


7.2 SLIP Operation

´ÙÀ̾ó¾÷ IP ¼­¹öµéÀº Á¾Á¾ Ư¼öÇÑ °èÁ¤À» ÅëÇØ SLIP ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù. ±×¿Í °°Àº °èÁ¤À¸·Î ·Î±×ÀÎÇØ µé¾î°¡¸é Ä¿¸Çµå ½©·Î µé¾î°¡´Â °ÍÀÌ ¾Æ´Ï¶ó, ´ë½Å ½Ã¸®¾ó ¶óÀο¡ ´ëÇÑ ¼­¹öÀÇ SLIP µå¶óÀ̹ö¸¦ ±¸µ¿ÇÏ°í °íÀ¯ÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÏ´Â ÇÁ·Î±×·¥À̳ª ½© ½ºÅ©¸³Æ®°¡ ½ÇÇàµÈ´Ù. ±×·¯¸é ´ç½ÅÂÊ¿¡¼­µµ ºñ½ÁÇÑ ÀÏÀ» ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

¾î¶² ¿î¿µÃ¼Á¦ »ó¿¡¼±, SLIP µå¶óÀ̹ö°¡ user-space ÇÁ·Î±×·¥ÀÌ´Ù; ¸®´ª½º¿¡¼­ ±×°ÍÀº Ä¿³ÎÀÇ ÀϺÎÀ̸ç, ÀÌ °æ¿ì°¡ ´õ ºü¸¥ ¼Óµµ¸¦ ³½´Ù. ±×·¯³ª ÀÌ¿¡´Â ½Ã¸®¾ó ¶óÀÎÀÌ SLIP ¸ðµå·Î ¸í¹éÈ÷ ÀüȯµÇ¾î¾ßÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¸ç, À̴ Ư¼öÇÑ tty ¶óÀÎ ±ÔÀ²(line discipline)ÀÎ SLIPDISC¿¡ ÀÇÇØ ÀÌ·ç¾îÁø´Ù. tty°¡ º¸ÅëÀÇ ¶óÀÎ ±ÔÀ²(DISC0)¿¡ ÅëÁ¦ ¹Þ´Â °æ¿ì, ±×°ÍÀº º¸ÅëÀÇ read(2)¿Í write(2)¸¦ »ç¿ëÇÏ¿© ¿ÀÁ÷ »ç¿ëÀÚ ÇÁ·Î¼¼½º¿Í µ¥ÀÌÅ͸¦ ±³È¯ÇÒ °ÍÀÌ°í, ±×·¯¸é SLIP µå¶óÀ̹ö´Â tty¿¡ ÀÐ°í ¾²±â¸¦ ÇÒ ¼ö ¾ø´Ù. SLIPDISC ³»¿¡¼­ ¿ªÇÒÀº ¹ÝÀüµÈ´Ù. Áï, ÀÌÁ¦ user-space ÇÁ·Î¼¼½º´Â tty¿¡ ÀÐ°í ¾²±â°¡ Â÷´ÜµÇ¸ç ½Ã¸®¾ó Æ÷Æ®·Î µé¾î¿À´Â ¸ðµç µ¥ÀÌÅÍ´Â SLIP µå¶óÀ̹ö¿¡ Á÷Á¢ ³Ñ°ÜÁú °ÍÀÌ´Ù.

SLIP µå¶óÀ̹ö ÀÚü´Â SLIP ÇÁ·ÎÅäÄÝÀÇ ´Ù¾çÇÑ º¯Á¾À» ÀÌÇØÇÑ´Ù. º¸ÅëÀÇ SLIP°ú´Â º°°³·Î, ±×°ÍÀº CSLIP, Áï ¼ÛÃâµÇ´Â IP ÆÐŶ¿¡ ´ëÇØ Van Jacobson compressionÀ̶ó ºÒ¸®´Â °ÍÀ» ¼öÇàÇÏ´Â °Í, ¿ª½Ã ÀÌÇØÇÑ´Ù. ÀÌ´Â ÀÎÅÍ·¢Æ¼ºê ¼¼¼ÇÀÇ Ã³¸®·®À» Çâ»ó½ÃÄ×°í, °Ô´Ù°¡ À̵é ÇÁ·ÎÅäÄÝ °¢°¢¿¡ ´ëÇÑ six-bit ¹öÀüµµ Á¸ÀçÇÑ´Ù.

½Ã¸®¾ó ¶óÀÎÀ» SLIP ¸ðµå·Î ÀüȯÇÏ´Â °¡Àå ´Ü¼øÇÑ ¹æ¹ýÀº slattachÅøÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ´ç½ÅÀÇ ¸ðµ©ÀÌ /dev/cua3¿¡ ´Þ·ÁÀÖ°í, SLIP ¼­¹ö¿¡ ¼º°øÀûÀ¸·Î ·Î±×ÀÎÇØ µé¾î°¬´Ù¸é, ÀÌ·¸°Ô ½ÇÇàÇÏ¸é µÈ´Ù.

     # slattach /dev/cua3 &

ÀÌ´Â cua3ÀÇ ¶óÀÎ ±ÔÀ²À» SLIPDISC·Î ÀüȯÇÏ°í, ±×°ÍÀ» SLIP ³×Æ®¿÷ ÀÎÅÍÆäÀ̽ºÁß Çϳª¿¡ ºÙÀÏ °ÍÀÌ´Ù. ¸¸¾à ÀÌ°ÍÀÌ Ã¹¹ø°·Î È°¼ºÈ­µÇ´Â SLIP ¸µÅ©¶ó¸é, ¶óÀÎÀº sl0¿¡ Á¢Çյǰí, µÎ¹ø°´Â sl1¿¡ µÇ´Â ½ÄÀÌ´Ù. ÇöÀçÀÇ Ä¿´ÃÀ» 8°³ ±îÁöÀÇ SLIP ¸µÅ©¸¦ µ¿½Ã¿¡ Áö¿øÇÑ´Ù.

slattach°¡ ¼±ÅÃÇÏ´Â µðÆúÆ® ĸ½¶È­(encapsulation) ¹æ½ÄÀº CSLIPÀÌ´Ù. ´Ù¸¥ ¸ðµå¸¦ ¿øÇÑ´Ù¸é -p ½ºÀ§Ä¡¸¦ »ç¿ëÇÏ¸é µÈ´Ù. normal SLIP (¾ÐÃàÈ­ÇÏÁö ¾Ê´Â)À» »ç¿ëÇÏ·Á¸é ´ÙÀ½Ã³·³ Ç϶ó.

     # slattach -p slip /dev/cua3 &

±× ¿ÜÀÇ ¸ðµå·Î´Â, cslip, slip6, cslip6(SLIPÀÇ six-bit ¹öÀüÀ» À§ÇÑ °Í), ±×¸®°í adaptive SLIPÀ» À§ÇÑ <adaptive°¡ ÀÖ´Ù. ¸¶Áö¸· °ÍÀº ¸®¸ðÆ® ÂÊÀÌ »ç¿ëÇÏ´Â SLIP ĸ½¶È­ ¹æ½ÄÀÌ ¾î¶² °ÍÀÎÁö¸¦ Ä¿³ÎÀÌ Ã£¾Æ³»µµ·Ï ÇÑ´Ù.

»ó´ëÂÊÀÌ »ç¿ëÇÏ´Â °Í°ú °°Àº ĸ½¶È­ ¹æ½ÄÀ» »ç¿ëÇØ¾ß ÇÑ´Ù´Â µ¥ ÁÖÀÇÇÏÀÚ. ¿¹¸¦ µé¾î, cowslipÀÌ CSLIPÀ» »ç¿ëÇÑ´Ù¸é ´ç½Åµµ ±×·¸°Ô ÇØ¾ß ÇÑ´Ù. ¼­·Î ¸ÂÁö¾Ê´Â °æ¿ìÀÇ Â¡ÈÄ´Â ¸®¸ðÆ® È£½ºÆ®¿¡ ping ÇßÀ» ¶§ µÇµ¹¾Æ ¿À´Â ¾î¶°ÇÑ ÆÐŶµµ ¼ö½ÅÇÏÁö ¸øÇÏ´Â °ÍÀÌ´Ù. ¸¸¾à ´Ù¸¥ È£½ºÆ®°¡ ´ç½ÅÀÇ È£½ºÆ®¿¡ pingÇÑ´Ù¸é, ´ç½ÅÀÇ Äֿܼ¡¼­ "Can't build ICMP header"¶ó´Â ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ³­Á¦¸¦ ÇÇÇÏ´Â ¹æ¹ýÀº adaptive SLIPÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

»ç½Ç»ó, slattach´Â ´ÜÁö SLIP »Ó ¾Æ´Ï¶ó ½Ã¸®¾ó ¶óÀÎÀ» »ç¿ëÇÏ´Â ´Ù¸¥ ÇÁ·ÎÅäÄÝ, Áï PPP³ª KISS(ham radio »ç¿ëÀÚ°¡ ÀÌ¿ëÇÏ´Â ¶Ç´Ù¸¥ ÇÁ·ÎÅäÄÝ) ¿ª½Ã »ç¿ë°¡´ÉÇÏ°Ô ÇØ ÁØ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀ» ¿øÇÑ´Ù¸é slattach(8)¸Å´º¾ó ÆÐÀÌÁö¸¦ Âü°íÇ϶ó.

½Ã¸®¾ó ¶óÀÎÀ» SLIP µå¶óÀ̹ö¿¡ ÀΰèÇÏ°í ³­ ÈÄ, ´ç½ÅÀº ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¶Ç´Ù½Ã ¿ì¸®´Â ifconfig°ú route Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿© ÀÌ·¸°Ô ÇÑ´Ù. vlager¿¡¼­ cowslipÀ̶ó´Â ¼­¹ö¿¡ ´ÙÀ̾ó¾÷Çß´Ù°í °¡Á¤ÇÏ°í ´ÙÀ½À» ½ÇÇàÇÏ¸é µÈ´Ù.

     # ifconfig sl0 vlager pointopoint cowslip
     # route add cowslip
     # route add default gw cowslip 

ù¹ø° Ä¿¸Çµå´Â ÀÎÅÍÆäÀ̽º¸¦ cowslipÀ¸·ÎÀÇ point-to-point¸µÅ©·Î ¼³Á¤ÇÑ´Ù. µÎ¹ø°¿Í ¼¼¹ø° Ä¿¸Çµå´Â cowslipÀ¸·ÎÀÇ ·çÆ®¸¦ Ãß°¡ÇÏ°í cowslipÀ» °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëÇÏ´Â ±âº» ·çÆ®¸¦ Ãß°¡ÇÑ´Ù.

SLIP ¸µÅ©¸¦ ÇØüÇÒ ¶§ , ´ç½ÅÀº °¡Àå¸ÕÀú route¿¡ del ¿É¼ÇÀ» ÁÖ°í »ç¿ëÇÏ¿© cowslipÀ» ÅëÇÏ´Â ¸ðµç ·çÆ®¸¦ Á¦°ÅÇÏ°í, ÀÎÅÍÆäÀ̽º¸¦ ÇØüÇѵÚ, slattach¿¡ hangup ½Ã±×³ÎÀ» º¸³»ÁÖ¾î¾ß ÇÑ´Ù.

     # route del default
     # route del cowslip
     # ifconfig sl0 down
     # kill -HUP 516


7.3 Using dip

ÀÌÁ¦, ±×°ÍÀÌ ¾ó¸¶°£ ´Ü¼øÇÒ Áö¶óµµ, À§¿¡¼­ º» ¸ðµç ´Ü°è¸¦ Ä¿¸Çµå Çϳª·Î ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇϱâÀ§ÇØ À§ ´Ü°è¸¦ ÀÚµ¿È­ ÇÏ±æ ¿øÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀÌ dipÀÌ Á¸ÀçÇÏ´Â ÀÌÀ¯·Î, ÀÌ ±ÛÀ» ¾²°íÀÖ´Â ÇöÀçÀÇ ¹öÀüÀº 3.3.7ÀÌ´Ù. ÀÌ°ÍÀº ¸¹Àº »ç¶÷µé¿¡ ÀÇÇØ ÇÏÁÖ ½ÉÇØ°Ô ÆÐÄ¡µÇ¾úÀ¸¹Ç·Î, dip ÇÁ·Î±×·¥¿¡ ´ëÇØ ´õÀÌ»ó ¿Ð°¡¿ÐºÎÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¼­·Î´Ù¸¥ °³¹ßÀÇ ³ë·ÂÀº ¹Ì·¡ÀÇ ¹öÀü¿¡ ¹Ý¿µµÉ °ÍÀÌ´Ù.

dipÀº ¸ðµ©À» Á¶Á¤ÇÏ°í ¶óÀÎÀ» SLIP¸ðµå·Î º¯È¯ÇÏ°í ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÏ´Â ´Ü¼øÇÑ ½ºÅ©¸³Æ®¾ð¾îÀÇ Çؼ®±â(interpreter)¸¦ Á¦°øÇϴµ¥, ÀÌ°ÍÀº ´Ù¼Ò ¿øÁöÀûÀÌ°í Á¦ÇÑÀûÀ̳ª, °ÅÀÇ ¸ðµç °æ¿ì¸¦ ÃæÁ·½ÃŲ´Ù. dipÀÇ »õ·Î¿î ¸±¸®Áî´Â º¸´Ù Æø³ÐÀº ¿ëµµÀÇ ¾ð¾î¸¦ ¾ðÁ¨°¡ Á¦°øÇÒ °ÍÀÌ´Ù.

SLIP ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ°Ô Çϱâ À§Çؼ±, dipÀº root ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÑ´Ù. ±×·¯¸é ¸ðµç»ç¿ëÀÚ¿¡°Ô root ¾ï¼¼½º¸¦ ÁÙ ÇÊ¿ä¾øÀÌ ±×µéÀÌ SLIP ¼­¹ö¿¡ ´ÙÀ̾ó¾÷ÇÒ ¼ö ÀÖµµ·Ï dipÀ» root·Î setuid ÇØÁà¾ß ÇÒ °Í °°Àº ±âºÐÀÌ µé°ÚÁö¸¸, ÀÌ´Â ¸Å¿ì À§ÇèÇÑ »ý°¢ÀÌ´Ù. ¿Ö³ÄÇϸé, dipÀ¸·Î ÇãÀ§ÀÇ ÀÎÅÍÆäÀ̽º¿Í ±âº»·ÎÆ®¸¦ ¼³Á¤ÇÏ¿© ´ç½ÅÀÇ ³×Æ®¿÷ÀÇ ¶ó¿ìÆÃÀ» ºØ±«½Ãų¼ö Àֱ⠶§¹®ÀÌ´Ù. ´õ ½ÉÇÑ°æ¿ì, ÀÌ´Â »ç¿ëÀÚ°¡ ¾î¶² SLIP ¼­¹ö¿¡µµ ¿¬°áÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÖ¸ç ´ç½ÅÀÇ ³×Æ®¿÷¿¡ À§ÇèÇÑ ¾îÅÃÀ» ½ÃÀÛÇÏ°Ô ¸¸µç´Ù. ±×·¯¹Ç·Î, ¸¸¾à »ç¿ëÀÚ°¡ SLIP ¿¬°áÀ» ÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é, dipÀÌ Æ¯Á¤ÆÄÀÏÀ» ÀÐ¾î ¿¬°áÀ» ¼ö¸³ÇÒ ¼ö ÀÖ°ÔÇÏ´Â ÀÛÀº wrapper ÇÁ·Î±×·¥À» ¿¹»óµÇ´Â SLIP ¼­¹ö¸¶´Ù ¸¸µé¾î µÎ¸é µÈ´Ù. ±×·¯¸é, ÀÌ·¯ÇÑ ÇÁ·Î±×·¥Àº ¾ÈÀüÇÏ°Ô root·Î setuidµÉ¼ö ÀÖ´Â °ÍÀÌ´Ù.

7.3.1 A sample Script

     # Sample dip script for dialing up cowslip
 
     # Set local and remote name and address
     get $local vlager
     get $remote cowslip

     port cua3	                	# choose a serial port
     speed 38400	                # set speed to max
     modem HAYES	                # set modem type
     reset 	                	# reset modem and tty
     flush  	               	        # flush out modem response

     # Prepare for dialing.
     send ATQ0V1E1X1\r
     wait OK 2
     if $errlvl != 0 goto error
     dial 0123456789
     if $errlvl != 0 goto error
     wait CONNECT 60
     if $errlvl != 0 goto error

     # Okay, we're connected now
     sleep 3
     send \r\n\r\n
     wait ogin: 10
     if $errlvl != 0 goto error
     send Cvlager\r
     wait ssword: 5
     if $errlvl != 0 goto error
     password      #better not leave your password in ascii (thanx noud)
     wait running 30
     if $errlvl != 0 goto error

     # to set up your remote and local IP
     get $remote remote
     print remote = $remote
     if $errlvl != 0 goto error
     wait to 3
     get $local remote
     print local = $local
     if $errlvl != 0 goto error

     # We have logged in, and the remote side is firing up CSLIP.
     print Connected to $remote with address $rmtip
     default		                  # Make this link our default route
     mode CSLIP			          # We go to CSLIP mode, too
     # fall through in case of error

     error:
     print CSLIP to $remote failed.
±×¸² 7.1: »ùÇà dip ½ºÅ©¸³Æ®

±×¸² 7.1Àº »ùÇà ½ºÅ©¸³Æ®ÀÌ´Ù. ÀÌ´Â dip¿¡ ½ºÅ©¸³Æ® ³×ÀÓÀ» ÀÎÀÚ·Î ÁÖ¾î cowslip¿¡ ¿¬°áÇϴµ¥ »ç¿ëµÈ´Ù.

     # dip cowslip.dip
     DIP: Dialup IP Protocol Driver version 3.3.7 (12/13/93)
     Written by Fred N. van Kempen, MicroWalt Corporation.

     connected to cowslip.moo.com with addr 193.174.7.129
     # 

cowslip¿¡ ¿¬°áÇÏ°í SLIPÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í³ª¸é, dipÀº Å͹̳ο¡¼­ ºÐ¸®µÇ¾î ¹é±×¶ó¿îµå·Î µ¿ÀÛÇÑ´Ù. ±×·¯¸é ´ç½ÅÀº SLIP ¸µÅ©¿¡¼­ ÀϹÝÀûÀÎ ³×Æ®¿öÅ· ¼­ºñ½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿¬°áÀ» ö°ÅÇÏ·Á¸é, -k ¿É¼ÇÀ» ÁÖ¾î dipÀ» ½ÇÇà½ÃÄѶó. ÀÌ´Â /etc/dip.pid¿¡ ÀûÈù ÇÁ·Î¼¼½º id¸¦ »ç¿ëÇÏ¿© dipÇÁ·Î¼¼½º¿¡ hangup ½Ã±×³ÎÀ» º¸³½´Ù.

     # dip -k

dipÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿¡¼­ ´Þ·¯($) ½Éº¼ÀÌ ¾Õ¿¡ ºÙÀº Å°¿öµå´Â º¯¼ö¸íÀ» ³ªÅ¸³½´Ù. dipÀº ¼±Á¤µÈ(predefined) º¯¼ö ¼¼Æ®¸¦ Áö´Ï¸ç, ÀÌ´Â ¾Æ·¡¿¡ ³ª¿­µÇ¾î ÀÖ´Ù. ¿¹¸¦µé·¯, $remote¿Í $localÀº SLIP ¸µÅ©¿¡ ¼ö¹ÝµÇ´Â ·ÎÄðú ¸®¸ðÆ® È£½ºÆ® ³×ÀÓÀ» Áö´Ñ´Ù.

»ùÇà ½ºÅ©¸³Æ®³»ÀÇ Ã³À½ µÎ ¼±¾ð¹®Àº get Ä¿¸Çµå·Î, dipÀÇ º¯¼ö¸¦ ÁöÁ¤Çϴµ¥ ¾²ÀδÙ. ¿©±â¼± ·ÎÄðú ¸®¸ðÆ® È£½ºÆ®³×ÀÓÀÌ vlager¿Í cowslipÀ¸·Î °¢°¢ ÁöÁ¤µÈ´Ù.

±× ´ÙÀ½ ´Ù¼¸°³ÀÇ ¼±¾ð¹®Àº Å͹̳Π¶óÀΰú ¸ðµ©À» ¼Â¾÷ÇÑ´Ù. resetÀº ¸ðµ©¿¡ ¸®¼Â ¹®ÀÚ¿ªÀ» º¸³½´Ù; Hayes ȣȯ ¸ðµ©ÀÇ °æ¿ì, ÀÌ´Â ATZ Ä¿¸ÇµåÀÌ´Ù. ±× ´ÙÀ½ ¼±¾ð¹®À¸·Î ¸ðµ©ÀÇ response¸¦ ¹æÃâÇϰԵǰí, ±×¸®ÇÏ¿© ´ÙÀ½ ¸î ¶óÀγ»ÀÇ ·Î±×ÀÎ chatÀ» ÀûÀýÈ÷ ¼öÇàµÉ °ÍÀÌ´Ù. ÀÌ chatÀº ²Ï Á÷¼±ÀûÀÌ´Ù. Áï, ±×°ÍÀº ´Ü¼øÈ÷ cowslipÀÇ ÀüÈ­¹øÈ£ÀÎ 0123456789·Î ÀüÈ­¸¦ °É°í, Cvlager °èÁ¤¿¡ password¶ó´Â Æнº¿öµå¸¦ ½á¼­ ·Î±×ÀÎ ÇØ µé¾î°£´Ù. wait Ä¿¸Çµå´Â ù¹ø° ÀÎÀÚ·Î ÁÖ¾îÁø ¹®ÀÚ¿ªÀ» dipÀÌ ±â´Ù¸®µµ·Ï ¸¸µç´Ù. µÎ¹ø° ÀÎÀÚ·Î ÁÖ¾îÁø ¼ýÀÚ´Â, ¸¸¾à ±×¿Í °°Àº ¹®ÀÚ¿­ÀÌ ÁÖ¾îÁöÁö ¾ÊÀ» °æ¿ì, ±× ¸¸Å­ÀÇ ÃÊ µ¿¾È ±â´Ù¸°µÚ ŸÀӾƿô ÇÏ°Ô ¸¸µå´Â °ÍÀÌ´Ù. ·Î±×ÀÎ ÇÁ·Î½ÃÀú³»¿¡ ±ºµ¥±ºµ¥ ÀÖ´Â if Ä¿¸Çµå´Â Ä¿¸Çµå¸¦ ½ÇÇàÇϴµ¥ ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´ÂÁö¸¦ üũÇÑ´Ù.

·Î±×ÀÎÇÑ ÈÄ¿¡ ½ÇÇàµÇ´Â ¸¶Áö¸· Ä¿¸ÇµåµéÀº, SLIP ¸µÅ©¸¦ ¸ðµç È£½ºÆ®·ÎÀÇ ±âº» ·çÆ®·Î ¸¸µå´Â default¿Í, ¶óÀÎÀ» SLIP ¸ðµå·Î ¹Ù²Ù°í ÀÎÅÍÆäÀ̽º¿Í ¶ó¿ìÆà Å×À̺íÀ» ¼³Á¤ÇØ ÁÖ´Â modeÀÌ´Ù.

7.3.2 A dip Reference

dipÀÌ ³Î¸® »ç¿ëµÊ¿¡µµ ºÒ±¸ÇÏ°í, ¾ÆÁ÷ ¹®¼­È­°¡ Àß µÇ¾î ÀÖÁö ¾Ê´Ù. ±×¸®ÇÏ¿© ÀÌ Àý¿¡¼­´Â, dipÀÇ Ä¿¸Çµå ´ëºÎºÐÀ» ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. dipÀ» Å×½ºÆ® ¸ðµå·Î ½ÇÇà½ÃÅ°°í help Ä¿¸Çµå¸¦ ÀÔ·ÂÇÏ¸é ¸ðµç Ä¿¸Çµå¸¦ °³°üÇÒ ¼ö ÀÖ´Ù. Ä¿¸ÇµåÀÇ ¹®¹ýÀ» ¾Ë°íÀÚ ÇÑ´Ù¸é, ±× Ä¿¸Çµå¸¦ ÀÎÀÚ ¾øÀÌ ÀÔ·ÂÇ϶ó. ¹°·Ð ÀÎÀÚ ¾ø´Â Ä¿¸ÇµåÀÇ °æ¿ì¿£ µÇÁö ¾ÊÀ» °ÍÀÌ´Ù.

      DIP> help
      DIP knows about the following commands:

              databits default  dial     echo     flush
              get      goto     help     if       init
              mode     modem    parity   print    port
              reset    send     sleep    speed    stopbits
              term     wait

      DIP> echo
      Usage: echo on|off
      DIP>

ÀÌÈÄ·Î, DIP> ÇÁ·ÒÇÁÆ®°¡ Ç¥½ÃµÇ´Â ¿¹Á¦´Â Å×Æ®½º ¸ðµå¿¡¼­ ¾î¶»°Ô Ä¿¸Çµå¸¦ ³Ö°í ±×°ÍÀÌ ¹èÃâÇÏ´Â ¾Æ¿ôDzÀº ¹«¾ðÀÎÁö¸¦ º¸¿©ÁØ´Ù. ÀÌ ÇÁ·ÒÇÁÆ®°¡ ¾ø´Â ¿¹Á¦´Â ½ºÅ©¸³Æ®¿¡¼­ ¹ßÃéÇÑ °ÍÀ¸·Î º¸¸éµÈ´Ù.

The Modem Commands

½Ã¸®¾ó¶óÀΰú ¸ðµ©À» ¼³Á¤ÇÒ ¼ö ÀÕµµ·Ï dipÀÌ Á¦°øÇÏ´Â Ä¿¸Çµå°¡ ¸î°¡Áö Àִµ¥, À̵é Áß ¸î°³´Â ½Ã¸®¾ó Æ÷Æ®¸¦ ¼±ÅÃÇÏ´Â port¿Í, ÀϹÝÀûÀÎ ¶óÀÎ ÆĶó¹ÌÅ͸¦ ÁöÁ¤ÇÏ´Â speed, databits, stopbits ±×¸®°í parity °°ÀÌ ¸í·áÇÏ´Ù.

modem Ä¿¸Çµå´Â ¸ðµ© ŸÀÔÀ» ¼±ÅÃÇÑ´Ù. ÇöÀç Áö¿øµÇ´Â ŸÀÔÀº ¿ÀÁ÷ HAYES (´ë¹®ÀÚ·Î »ç¿ëÇØ¾ß ÇÑ´Ù)»ÓÀÌ´Ù. ¹Ýµå½Ã dip¿¡ ¸ðµ© ŸÀÔÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ±×°ÍÀº dial°ú reset Ä¿¸ÇµåÀÇ ½ÇÇàÀ» °ÅºÎÇÒ °ÍÀÌ´Ù. reset Ä¿¸Çµå´Â ¸ðµ©¿¡ ¸®¼Â¹®ÀÚ¿­À» º¸³½´Ù; ±× ¹®ÀÚ¿­Àº ¼±ÅÃÇÑ ¸ðµ© ŸÀÔ¿¡ ¿µÇâÀ» ¹ÞÀ¸¸ç, Hayes ȣȯ ¸ðµ©ÀÇ °æ¿ì ±×°ÍÀº ATZÀÌ´Ù.

flush ÄÚµå´Â ¸ðµç ¸ðµ©ÀÇ response¸¦ ¹èÃâÇØ ¹ö¸®´Âµ¥ »ç¿ëµÇ¸ç, ±×·¸°Ô ÇÏÁö ¾ÊÀ» °æ¿ì reset ´ÙÀ½ÀÇ chat ½ºÅ©¸³Æ®°¡ È¥µ·µÉ ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé ÀÌÀü Ä¿¸ÇµåÀÇ OK response¸¦ Àб⠶§¹®ÀÌ´Ù.

init Ä¿¸Çµå´Â ´ÙÀ̾ó¸µÇϱâ Àü¿¡ ¸ðµ©¿¡°Ô ³Ñ°ÜÁÙ ÃʱâÈ­ ¹®ÀÚ¿­À» ¼±ÅÃÇÑ´Ù. Hayes ¸ðµ©ÀÇ °æ¿ì, µðÆúÆ® °ªÀº "ATE0 Q0 V1 X1"À̸ç, ÀÌ´Â Ä¿¸Çµå¿Í ±ä °á°ú¹°À» °¡Áö´Â ÄÚµåÀÇ echoingÀ» ÄѸç, blind ´ÙÀÌ¾ó¸µ (´ÙÀ̾ó Åæ¿¡ ´ëÇÑ Ã¼Å©¸¦ ÇÏÁö ¾ÊÀ½)À» ¼±ÅÃÇÑ´Ù.

dial Ä¿¸Çµå´Â ÃÖÁ¾ÀûÀ¸·Î ÃʱâÈ­ ¹®ÀÚ¿­À» ¸ðµ©¿¡ º¸³»°í ¿ø°Ý ½Ã½ºÅÛ¿¡ ´ÙÀ̾ó¾÷ÇÑ´Ù. Hayes ¸ðµ©ÀÇ ±âº»ÀûÀÎ dial Ä¿¸Çµå´Â ATDÀÌ´Ù.

echo and term

echo Ä¿¸Çµå´Â µð¹ö±ëÀ» µ½±âÀ§ÇØ Á¦°øµÈ´Ù. echo onÀ» »ç¿ëÇϸé, dipÀº ½Ã¸®¾ó µð¹ÙÀ̽º·Î º¸³»´Â ¸ðµç°ÍÀ» Äֿܼ¡ »Ñ·ÁÁØ´Ù. ÀÌ´Â echo off·Î ´Ù½Ã ²ø ¼ö ÀÖ´Ù.

dipÀº ½ºÅ©¸³Æ® ¸ðµå¸¦ Àá½Ã ¶°³ª Å͹̳Π¸ðµå·Î µé¾î°¥ ¼ö ÀÖ°Ô Çϴµ¥, ÀÌ ¸ðµå¿¡¼­ ´ç½ÅÀº dipÀ» ´Ù¸¥ ¾î¶² º¸Åë Å͹̳ΠÇÁ·Î±×·¥Ã³·³ »ç¿ëÇÏ¿© ½Ã¸®¾ó ¶óÀο¡ ÀÐ°í ¾²±â¸¦ ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸ðµå¸¦ ¹þ¾î³ª±â À§Çؼ± Ctrl-]¸¦ ÀÔ·ÂÇ϶ó.

The get Command

get Ä¿¸Çµå´Â dip¿¡¼­ º¯¼ö¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀÌ´Ù. °¡Àå ´Ü¼øÇÑ ÇüÅ´ À§ÀÇ ¿¹Á¦¿¡ Àü¹ÝÀûÀ¸·Î »ç¿ëµÈ¹Ù¿Í °°ÀÌ, º¯¼ö¸¦ »ó¼ö·Î ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ask Å°¿öµå¸¦ °ª´ë½Å¿¡ ÁöÁ¤ÇÔÀ¸·Î½á »ç¿ëÀÚ°¡ ÀÔ·ÂÇϵµ·Ï ÇÁ·ÒÇÁÆ®¸¦ ¶ç¿ï¼öµµ ÀÖ´Ù.

     DIP> get $local ask
     Enter the value for $local: 

¼¼¹ø° ¹æ¹ýÀº ¸®¸ðÆ® È£½ºÆ®¿¡¼­ ±× °ªÀ» ¾òÀ¸·Á ½ÃµµÇÏ´Â °ÍÀÌ´Ù. ±â¹¦ÇÏ°Ôµµ ÀÌ°ÍÀº ¸î°¡Áö °æ¿ì¿¡ÀÖ¾î À¯¿ëÇÏ´Ù. ¾î¶² SLIP ¼­¹ö´Â SLIP ¸µÅ©»ó¿¡¼­ ´ç½ÅÀÇ ¼ÒÀ¯ÀÎ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ´ë½Å, ´ç½ÅÀÌ dialÇØ µé¾î°£ °÷ÀÌ Áö´Ñ ÁÖ¼Òµé Áß Çϳª¸¦ ´ç½Å¿¡°Ô ÇÒ´çÇÏ¿©, ±× ÁÖ¼Ò¿¡ °üÇÑ Á¤º¸¸¦ ¾Ë·ÁÁÖ´Â ¾î¶² µ¥½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. ¸¸¾à, ±× ¸Þ½ÃÁö°¡ "Your address: 193.174.7.202"¿Í °°´Ù¸é, ´ÙÀ½¿¡ º¸ÀÌ´Â dip ÄÚµåÀÇ ÀϺδ ´ç½ÅÀÌ ±× ÁÖ¼Ò¸¦ ¾òÀ» ¼ö ÀÖ°Ô²ûÇÑ´Ù.

     ... login chat ...
     wait address: 10
     get $locip remote

The print Command

ÀÌ°ÍÀº dipÀ» ½ÇÇà½ÃŲ ÄַܼΠÅؽºÆ®¸¦ Ãâ·ÂÇÏ´Â Ä¿¸ÇµåÀÌ´Ù. ¾î¶°ÇÑ dipÀÇ º¯¼ö´Â print Ä¿¸Çµå³»¿¡ ´ÙÀ½Ã³·³ »ç¿ëµÉ ¼ö ÀÖ´Ù.

     DIP> print Using port $port at speed $speed
     Using port cua3 at speed 38400

Variable Names

dipÀº ¿ÀÁ÷ ¼±(à»)Á¤ÀÇµÈ º¯¼ö ¼¼Æ®¸¸À» ÀÌÇØÇÑ´Ù. º¯¼ö ¸íÀº ¾ðÁ¦³ª ´Þ·¯ ½Éº¼·Î ½ÃÀÛÇÏ¿©¾ß ÇÏ°í, ¹Ýµå½Ã ¼Ò¹®ÀÚ·Î ¾²¿©Á®¾ß ÇÑ´Ù.

$local°ú $locip º¯¼ö´Â ·ÎÄà ȣ½ºÆ®³×ÀÓ°ú IP ÁÖ¼Ò¸¦ °¡Áø´Ù. È£½ºÆ®³×ÀÓÀ» ¼¼ÆÃÇØÁØ dipÀº canonical È£½ºÆ®³×ÀÓÀ» $local¿¡ ÀúÀåÇÏ°í, ±×¿¡ »óÀÀÇÏ´Â IP ÁÖ¼Ò¸¦ $locip¿¡ ÇÒ´çÇÑ´Ù.

$remote¿Í $rmtip º¯¼ö´Â ¸®¸ðÆ® È£½ºÆ®ÀÇ ³×ÀÓ°ú ÁÖ¼Ò¿¡ ´ëÇÏ¿© °°Àº ÀÏÀ» ÇÑ´Ù. $mtu´Â Ä¿³Ø¼ÇÀÇ MTU °ªÀ» °¡Áø´Ù.

ÀÌ ´Ù¼¸°³ÀÇ º¯¼öµé¸¸ÀÌ ¿ÀÁ÷ Á÷Á¢ÀûÀ¸·Î get Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿© °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ´Ù¸¥ º¯¼öµéÀº ±×¿¡ »óÀÀÇÏ´Â Ä¿¸Çµå¸¦ ÅëÇØ ¼³Á¤µÇ³ª, print ±¸¹®¿¡¼­ ±×°ÍÀ» »ç¿ëÇÒ ¼ö´Â ÀÖ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº $modem°ú $port, $speedÀÌ´Ù.

$errlvlÀ» ÅëÇØ, ´ç½ÅÀº ¸¶Áö¸·À¸·Î ½ÇÇàÇÑ Ä¿¸ÇµåÀÇ °á°ú¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ¿¡·¯ ·¹º§ 0Àº ¼º°øÀ», ±× ¿ÜÀÇ °ªµéÀº ¿¡·¯¸¦ °¡¸®Å²´Ù.

The if and goto Commands

of Ä¿¸Çµå´Â ÈçÈ÷ ¸»ÇÏ´Â if°¡ ¾Æ´Ï¶ó, Á¶°ÇºÎ ºÐ±âÁ¡(conditional branch)ÀÌ´Ù. ±×°ÍÀÇ ¹®¹ýÀº

     if var op number goto label

À¸·Î, Ç¥¼Ç¹ýÀº $errlvl°ú $locip, $rmtip °°Àº º¯¼öµé ÁßÀÇ Çϳª°£ÀÇ ´Ü¼øÇÑ ºñ±³¿©¾ß ÇÑ´Ù. µÎ¹ø° ¿ÀÆÛ·£µå(operand)´Â Á¤¼ö¿©¾ß¸¸ ÇÑ´Ù. ±×¸®°í ¿¬»êÀÚ op´Â ==,!=,<,>,<=,>=µé Áß ÇϳªÀ̾î¾ß ÇÑ´Ù.

goto Ä¿¸Çµå´Â ½ºÅ©¸³Æ®ÀÇ ½ÇÇàÀÌ ¶óº§(label)À» °¡Áø ¶óÀÎ ´ÙÀ½¿¡¼­ºÎÅÍ °è¼ÓµÇ°Ô ¸¸µç´Ù. ¶óº§Àº ¶óÀÎÀÇ Ã¹¹ø° ÅäÅ«(token)À¸·Î ³ªÅ¸³ª¾ßÇÏ°í, ¹Ù·ÎµÚ¿¡ ÄÝ·ÐÀÌ ºÙ¾î ÀÖ¾î¾ß ÇÑ´Ù.

send, wait and sleep

À̵é Ä¿¸Çµå´Â dip³»ÀÇ ´Ü¼øÇÑ chat ½ºÅ©¸³Æ®ÀÇ ¼öÇàÀ» µµ¿ÍÁØ´Ù. send´Â ÁÖ¾îÁø ÀÎÁö¸¦ ½Ã¸®¾ó ¶óÀÎÀ¸·Î ¹èÃâÇÑ´Ù. ±×°ÍÀº º¯¼ö¸¦ Áö¿øÇÏÁö ¸øÇÏÁö¸¸, \n°ú \b°°Àº ¸ðµç C ½ºÅ¸ÀÏÀÇ ¹é½½·¡½¬ ij¸¯ÅÍ ½ÃÄö½º´Â ÀÌÇØÇÑ´Ù. Æ¿µå ij¸¯ÅÍ (~ : tilde - ÈçÈ÷ °¥¸Å±â¶ó ºÒ¸®±âµµ ÇÑ´Ù. - ¿ªÀÚÁÖ)´Â ij¸®Áö ¸®ÅÏ/´º¶óÀΠij¸¯ÅÍÀÇ ¾à¾î·Î »ç¿ëµÈ´Ù.

wait´Â ÀÎÀÚ·Î ÇÑ ´Ü¾î¸¦ ¹Þ¾Æ, ÀÌ ´Ü¾î¸¦ ÀνÄÇÒ ¼ö ÀÖÀ»¶§±îÁö ½Ã¸®¾ó ¶óÀλóÀÇ ¸ðµç inputÀ» ½ºÄµÇÑ´Ù. ÀÌ ´Ü¾î¿¡´Â °ø¹éÀÌ ¾ø¾î¾ß ÇÑ´Ù. ¼±ÅÃÀûÀ¸·Î, µÎ¹ø° ÀÎÀÚ·Î wait¿¡ timeout °ªÀ» ÁÙ ¼öµµ ÀÖ´Ù. ¸¸¾à ±â´ëÇÏ°í ÀÖ´Â ´Ü¾î°¡ ±× ¸¸Å­ÀÇ ÃÊ(second)µ¿¾È ¼ö½ÅµÇÁö ¾Ê´Â´Ù¸é, ±× Ä¿¸Çµå´Â $errlvl¿¡ 1ÀÇ °ªÀ» ÁÖ¾î ¸®ÅÏÇÒ °ÍÀÌ´Ù.

sleep ±¸¹®Àº ÀÏÁ¤·®ÀÇ ½Ã°£µ¿¾È, °¡·É ·Î±×ÀÎ ½ÃÄö½º°¡ ¿Ï°áµÉ ¶§±îÁö ÂüÀ»¼ºÀÖ°Ô ±â´Ù·Á¾ßÇÏ´Â °æ¿ì, ´ë±âÇϵµ·Ï Çϴµ¥ »ç¿ëµÈ´Ù.

mode and default

À̵é Ä¿¸Çµå´Â ½Ã¸®¾ó ¶óÀÎÀ» SLIP¸ðµå·Î µ¹¸®°í ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤Çϴµ¥ »ç¿ëµÈ´Ù.

mode Ä¿¸Çµå´Â dipÀÌ µ¥¸ó ¸ðµå·Î ÀüȯµÇ±â Àü¿¡ ¸¶Áö¸·À¸·Î ½ÇÇàµÇ´Â Ä¿¸ÇµåÀ̸ç, ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê´Â ÇÑ, ±× Ä¿¸Çµå´Â ¸®ÅÏÇÏÁö ¾Ê´Â´Ù.

mode´Â ÀÎÀÚ·Î ÇÁ·ÎÅäÄÝ ³×ÀÓÀ» ¹Þ´Â´Ù. dipÀº ÇöÀç SLIP°ú CSLIPÀ» ÀûÀýÇÑ À̸§À¸·Î ÀνÄÇÑ´Ù. ±×·¯³ª ÇöÀçÀÇ dip ¹öÀüÀº adaptive SLIPÀ» ÀÌÇØÇÏÁö ¸øÇÑ´Ù.

½Ã¸®¾ó ¶óÀο¡ SLIP ¸ðµå¸¦ ÄÒ ÈÄ, dipÀº ÀÎÅÍÆäÀ̽º¸¦ point-to-point ¸µÅ©·Î ¼³Á¤ÇϱâÀ§ÇØ ifconfigÀ», ±×¸®°í ¸®¸ðÆ® È£½ºÆ®·ÎÀÇ ·çÆ®¸¦ ÁöÁ¤ÇϱâÀ§ÇØ route¸¦ ½ÇÇàÇÑ´Ù.

°Ô´Ù°¡, ½ºÅ©¸³Æ®°¡ mode Àü¿¡ default Ä¿¸Çµå¸¦ ½ÇÇàÇÑ´Ù¸é, dipÀº SLIP ¸µÅ©¸¦ °¡¸®Å°´Â ±âº» ·çÆ®¸¦ ¿ª½Ã³ª ¸¸µé °ÍÀÌ´Ù.


7.4 Running in Server Mode

SLIP Ŭ¶óÀ̾ðÆ®¸¦ ¼Â¾÷ÇÏ´Â °ÍÀº ±î´Ù·Î¿î ºÎºÐÀ̾ú´Ù. À̹ø¿£ ¹Ý´ë·Î, ´ç½ÅÀÇ È£½ºÆ®¸¦ SLIP ¼­¹ö·Î µ¿ÀÛÇÏ°Ô Çغ¸ÀÚ. ÀÌ°ÍÀº º¸´Ù ½¬¿ï °ÍÀÌ´Ù.

À̸¦ À§ÇÑ ÇÑ°¡Áö ¹æ¹ýÀº dipÀ» ¼­¹ö¸ðµå·Î »ç¿ëÇÏ´Â °ÍÀ̸ç, ±×°ÍÀ» diploginÀ̶ó°í ½ÇÇà½ÃÅ°´Â °ÍÀÌ´Ù. ±×°ÍÀÇ ÁÖ ¼³Á¤ ÆÄÀÏÀº /etc/diphostsÀ̸ç, ÀÌ ÆÄÀÏÀº ·Î±×ÀÎ ³×ÀÓÀ» ÀÌ È£½ºÆ®¿¡ ÇÒ´çµÈ ÁÖ¼Ò¿¡ ¿¬°áÇØ ³õ¾Ò´Ù. ±× ´ë½Å¿¡, ´ç½ÅÀº sliploginÀ» »ç¿ëÇÒ ¼öµµ Àִµ¥, ±×°ÍÀº BSD¿¡ ±â¿øÀ» µÐ Åø·Î½á º¸´Ù À¯¿¬¼ºÀÖ´Â ¼³Á¤ ü°è¸¦ Á¦°øÇÏ¿© ´ç½ÅÀÌ ¿¬°áµÇ¾î ÀÖµçÁö ¾Æ´ÏµçÁö ½© ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖ°ÔÇÏ´Â °ÍÀ¸·Î, ÇöÀç BetaÀÌ´Ù.

µÎ ÇÁ·Î±×·¥ ¸ðµÎ SLIP Ŭ¶óÀ̾ðÆ®´ç ÇϳªÀÇ ·Î±×ÀÎ °èÁ¤À» ¸¸µé¾î ÁÙ °ÍÀ» ¿ä±¸ÇÑ´Ù. ¿¹¸¦µé¾î, ´ç½ÅÀÌ dent.beta.comÀÇ Arthur Dent¿¡°Ô SLIP ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù°í °¡Á¤Çϸé, ´ç½ÅÀº passwd ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ÇÑ ¶óÀÎÀ» Ãß°¡ÇÏ¿© dent¶ó´Â À̸§ÀÇ °èÁ¤À» »ý¼ºÇÒ °ÍÀÌ´Ù.

     dent:*:501:60:Arthur Dent's SLIP account:/tmp:/usr/sbin/diplogin

ÀÌÈÄ, passwd À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇØ dentÀÇ Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù.

ÀÌÁ¦, dent°¡ ·Î±×ÀÎÇÒ ¶§ dipÀº ¼­¹ö·Î ±¸µ¿µÉ °ÍÀÌ´Ù. ±×°¡ Á¤¸»·Î SLIPÀ» »ç¿ëÇϵµ·Ï Çã¿ëµÇ¾îÀÖ´ÂÁö ã¾Æ³»°íÀÚ, ±×°ÍÀº /etc/diphosts¿¡¼­ À¯Àú³×ÀÓÀ» °Ë»öÇÒ °ÍÀÌ´Ù. ÀÌ ÆÄÀÏÀº Á¢±Ù±ÇÇÑ°ú Ä¿³Ø¼Ç ÆĶó¹ÌÅ͸¦ °¢ SLIP À¯Àúº°·Î ¼¼ºÎÈ­ ½ÃÄÑ ³õ¾Ò´Ù. dentÀÇ »ùÇà ¿£Æ®¸®´Â ÀÌ¿Í °°À» °ÍÀÌ´Ù.

     dent::dent.beta.com:Arthur Dent:SLIP,296

ÄÝ·ÐÀ¸·Î ³ª´µ¾îÁø ù¹ø° Çʵå´Â »ç¿ëÀÚ°¡ ·Î±×ÀÎÇÒ ¶§ ¾²´Â À̸§ÀÌ´Ù. µÎ¹ø° Çʵå´Â Ãß°¡ÀûÀÎ Æнº¿öµå(¾Æ·¡¸¦ º¸¶ó)¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ¼¼¹ø°´Â ÀüÈ­°Å´Â È£½ºÆ®ÀÇ È£½ºÆ®³×ÀÓ ¶Ç´Â IP ÁÖ¼ÒÀÌ´Ù. ±× ´ÙÀ½Àº (¾ÆÁ÷±îÁö´Â) º°´Ù¸¥ Ưº°ÇÑ Àǹ̾ø´Â Á¤º¸ÇʵåÀÌ°í, ¸¶Áö¸· Çʵ忡 Ä¿³Ø¼Ç ÆĶó¹ÌÅÍ°¡ ÀûÇôÀÖ´Ù. ÀÌ´Â ÄÞ¸¶(½°Ç¥)·Î ±¸ºÐµÇ¸ç, ÇÁ·ÎÅäÄÝÀ» (ÇöÀç´Â SLIPÀ̳ª CSLIP ÁßÀÇ Çϳª) Á¤ÇÏ°í, ±× µÚ¿¡ MTU¸¦ ÁöÁ¤ÇÑ´Ù.

dent°¡ ·Î±×ÀÎÇÒ ¶§, diploginÀº diphostsÆÄÀÏ¿¡¼­ ±×¿¡´ëÇÑ Á¤º¸¸¦ ºÐÇÒÇÏ¿©, µÎ¹ø° Çʵ尡 ºñ¾îÀÖÁö ¾Ê´Ù¸é "external security password"¿¡ ´ëÇÑ ÇÁ·ÒÇÁÆ®¸¦ ¶ç¿î´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¹®ÀÚ¿­Àº diphostsÀÇ (¾ÏȣȭµÇÁö ¾ÊÀº) Æнº¿öµå¿Í ºñ±³µÇ°í, ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é ·Î±×ÀÎ ½Ãµµ´Â °ÅºÎµÈ´Ù.

±×·¸Áö ¾ÊÀ» °æ¿ì, diploginÀº ½Ã¸®¾ó ¶óÀÎÀ» CSLIP ¶Ç´Â SLIP ¸ðµå·Î µ¹¸®°í, ÀÎÅÍÆäÀ̽º¿Í ·çÆ®¸¦ ¼Â¾÷ÇÑ´Ù. ÀÌ Ä¿³Ø¼ÇÀº, À¯Àú°¡ ¿¬°áÀ» ²÷°Å³ª ¸ðµ©ÀÌ ¶óÀÎÀ» ³õÃĹö¸± ¶§±îÁö ¼º¸³µÈä·Î ³²°ÜÁø´Ù. Ä¿³Ø¼ÇÀÇ Ã¶È¸µÇ¸é diploginÀº ¶óÀÎÀ» º¸ÅëÀÇ ¶óÀαÔÀ²·Î µÇµ¹¸®°í Á¾·áÇÑ´Ù.

diploginÀº ½´ÆÛÀ¯Àú ±ÇÇÑÀ» ¿äÇÑ´Ù. ¸¸¾à dipÀÌ root·Î setuidµÇ¾î ÀÖÁö ¾Ê´Ù¸é, diploginÀ» dipÀÇ ´Ü¼øÇÑ ¸µÅ©°¡ ¾Æ´Ñ º°°³ÀÇ º¹»çº»À¸·Î ¸¸µé¾î µÎ¾î¾ß ÇÑ´Ù. ±×·¯¸é dip ÀÚüÀÇ »óÅ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í¼­µµ diploginÀ» ¾ÈÀüÇÏ°Ô setuidÇÒ ¼ö ÀÖ´Ù. (dipÀ̳ª diploginÀÌ argv[0]¿¡ ´ëÇÑ Ã¼Å©¸¦ ÇÏÁö¾ÊÀ¸¸é ÀÌ·¯ÇÑ º¸¾ÈÃ¥Àº ¹«ÀǹÌÇÑ °ÍÀÌ´Ù. -¿ªÀÚÁÖ)

Other Chapters

1. Introduction to Networking
2. Issues of TCP/IP Networking
3. Configuring the Networking Hardware
4. Setting up the Serial Hardware
5. Configuring TCP/IP Networking
6. Name Service and Resolver Configuration
7. Serial Line IP
8. The Point-to-Point Protocol
9. Various Network Applications
10. The Network Information System
11. The Network File System
12. Managing Taylor UUCP
13. Electronic Mail
14. Getting smail Up and Running
15. Sendmail+IDA
16. Netnews
17. C News
18. A Description of NNTP
19. Newsreader Configuration

Appendix

A. A Null Printer Cable for PLIP
B. Sample smail Configuration Files
C. The GNU General Public License