´ÙÀ½ ÀÌÀü Â÷·Ê

7. Serial Line IP

½Ã¸®¾ó ¶óÀÎ ÇÁ·ÎÅäÄÝÀÎ SLIP°ú PPP´Â ÀÎÅͳݿ¡ Á¢¼ÓÇÒ ¶§ »ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. ¸ðµ©°ú ´Â º°°³·Î FIFO ¹öÆÛ ÀåÄ¡¸¦ °®Ãß°í ÀÖ´Â ½Ã¸®¾ó º¸µå¿¡´Â ¾î¶² Çϵå¿þ¾îµµ ÇÊ¿äÇÏÁö ¾Ê ´Ù. ÀÌ ½Ã¸®¾ó º¸µå¸¦ »ç¿ëÇÏ´Â °ÍÀº ¿ìÆíÇÔÀ» »ç¿ëÇÏ´Â °Íº¸´Ù ´õ ÀÌÇØÇϱ⠽¬¿ì¸ç, Àû´çÇÑ °¡°Ý´ë·Î ´ÙÀ̾ó¾÷ IP¸¦ Á¦°øÇÏ´Â »ç¼³ ´ÜüµéÀÌ Áõ°¡ÇÏ°í ÀÖ´Ù.

¸®´ª½º¿¡¼­µµ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â SLIP°ú PPP º¸µå°¡ ÀÖ´Ù. SLIP´Â ¾î´À Á¤µµ±îÁö °³¹ßÀÌ µÇ¾ú°í, PPP´Â ÃÖ±Ù¿¡ Michael Callahan°ú Al Longyear¿¡ ÀÇÇؼ­ °³¹ßµÇ°í ÀÖ´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇؼ­´Â ´ÙÀ½Àå¿¡¼­ ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÒ °ÍÀÌ´Ù.

7.1 General Requirements

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

±×·¯³ª, ÀÌ ¹æ¹ýÀÌ ÃÖ¼±ÀÇ °Í¸¸Àº ¾Æ´Ï´Ù. ¿Ö³ÄÇϸé, ¸ðµç ³×ÀÓ ·è¾÷Àº SLIP/PPP ¸µÅ©¸¦ Åë Çؼ­ ÀÌ·ç¾îÁö±â ¶§¹®ÀÌ´Ù. ¸¸¾à ´ë¿ªÀ» ¼ÒºñÇÏ´Â °ÍÀÌ °ÆÁ¤µÈ´Ù¸é, 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 ÆÄÀÏÀ» ¼³ Á¤ÇØ µÎ¾î¾ß ÇÑ´Ù.

7.2 SLIP Operation

ÀüÈ­Á¢¼Ó¿¡ ÀÇÇÑ IP-serverµéÀº Á¾Á¾ Ưº°ÇÑ »ç¿ëÀÚ°èÁ¤À» ÅëÇÏ¿© SLIP ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù. ±×·¯ÇÑ °èÁ¤À¸·Î Á¢¼ÓÇÑ ÈÄ¿¡ ´ç½ÅÀº ÀϹÝÀûÀÎ shell·Î ¶³¾îÁöÁö ¾Ê´Â´Ù ; ´ë½Å ÇÁ·Î±×·¥À̳ª ȤÀº shell script°¡ ±× ¼­¹öÀÇ serial lineÀ» À§ÇÑ SLIP driver¸¦ ½ÇÇàÅ°±â°Ô µÇ°í ÀûÀýÇÑ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÏ°Ô µÈ´Ù.

¾î¶² ¿î¿µÃ¼Á¦¿¡¼­, SLIP driver´Â »ç¿ëÀÚ ¿µ¿ªÀÇ ÇÁ·Î±×·¥ÀÌ´Ù; Ä¿³ÎÀÇ ÀϺκÐÀÏ °æ¿ì¿¡ ¼Óµµ´Â ´õ ºü¸£´Ù. ±×·¯³ª ÀÌ°ÍÀº serial lineÀÌ SLIP ¸ðµå·Î ÀüȯµÉ °ÍÀ» ¿ä±¸ÇÑ´Ù. ÀÌ°ÍÀº SLIPDISC¶ó´Â Ưº°ÇÑ tty line discipline¿¡ ÀÇÇØ ÀÌ·ç¾îÁø´Ù. tty°¡ normal line discipline(DISCO)Àε¥ ¹ÝÇÏ¿© ÀÌ°ÍÀº ´ÜÁö user processesÀÇ data¸¸À» ±³È¯ÇÏ¸ç º¸Åë Àбâ(2)¿Í ¾²±â(2) È£ÃâÀ» »ç¿ëÇÏ°í, SLIP driver´Â tty¸¦ ÅëÇÏ¿© Àаųª ¾µ ¼ö´Â ¾ø´Ù. ¹Ý¸é¿¡ ¸ðµç serial port¸¦ ÅëÇÏ¿© ¿À´Â ¸ðµç data´Â SLIP driver¸¦ Á÷Á¢ Åë°úÇÑ´Ù. SLIPDISC¿¡¼­ ±× ¿ªÇÒÀº µÚ¹Ù²î°Ô µÈ´Ù: ÀÌÁ¦ ¾î¶² »ç¿ëÀÚ ¿µ¿ªÀÇ processµéÀÌ tty¸¦ ÅëÇØ ¾²°Å³ª Àд °úÁ¤ÀÌ Â÷´ÜµÇ°í, ±×µ¿¾È serial port¸¦ ÅëÇØ ¿À´Â ¸ðµç dataµéÀÌ SLIP driver¿¡ Á÷Á¢ÀûÀ¸·Î Àü´ÞµÈ´Ù.

SLIP driver ±× ÀÚü´Â SLIP ÇÁ·ÎÅäÄÝÀ» ÅëÇÑ ¸¹Àº º¯È­µéÀ» ÀÌÇØÇÑ´Ù. ÀüÇüÀûÀÎ SLIP°ú´Â º°°³·Î, ±×°ÍÀº IP-packetÀ» ÅëÇØ ³ª°¡´Â ¼ÒÀ§ Van Jacobson header compression ¿¡¼­ µ¿ÀÛÇÏ´Â CSLIP ¶ÇÇÑ ÀÌÇØÇÑ´Ù. ÀÌ°ÍÀº interactive sessionµéÀ» À§ÇÑ throughputÀ» ÇöÀúÇÏ°Ô ¹ß´Þ½ÃŲ´Ù. Ãß°¡ÀûÀ¸·Î À̵é ÇÁ·ÎÅäÄݵéÀ» À§ÇÑ 6-bit ¹öÀüµéÀÌ ÀÖ´Ù.

Serial lineÀ» SLIP ¸ðµå·Î º¯È¯Çϱâ À§ÇÑ °£´ÜÇÑ ¹æ¹ýÀº slattach toolÀ» ÀÌ¿ëÇÑ ¹æ¹ýÀÌ´Ù. ´ç½ÅÀÇ ¸ðµ©ÀÌ /dev/cua3¿¡ ÀÖ´Ù°í ÇÏ°í, SLIP server¿¡ ¼º°øÀûÀ¸·Î Á¢¼ÓÇÏ¿´´Ù°í ÇÏÀÚ. ±×·¯¸é ´ç½ÅÀº ÀÌ·¸°Ô ½ÇÇàÇÑ´Ù.

        # slattach /dev/cua3 &

ÀÌ°ÍÀº cua3ÀÇ line disciplineÀ» SLIPDISC·Î ÀüȯÇÏ°í, ±×°ÍÀ» SLIP network interfaceµé ÁßÀÇ Çϳª·Î ºÙÀÌ°Ô µÈ´Ù. ¸¸¾à ÀÌ°ÍÀÌ ´ç½ÅÀÇ Ã¹¹ø° active SLIP link¶ó¸é lineÀº sl0¿¡ ºÙ°Ô µÈ´Ù; µÎ¹ø°´Â sl1¿¡ ºÙ°ÔµÉ °ÍÀÌ°í °è¼Ó ÀÌ·± ½ÄÀ¸·Î ³ª°£´Ù. ÇöÀçÀÇ Ä¿³ÎÀº µ¿½Ã¿¡ 8°³ÀÇ SLIP linkµéÀ» Áö¿øÇÑ´Ù.

Slattach¿¡ ÀÇÇØ ±âº»°ªÀ¸·Î ¼±ÅõǴ encapsulationÀº CSLIPÀÌ´Ù. ´ç½ÅÀº -p ½ºÀ§Ä¡¿¡ ÀÇÇØ ´Ù¸¥ ¸ðµå¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀÎ SLIP(¾ÐÃàÇÏÁö ¾Ê´Â)À» »ç¿ëÇϱâ À§Çؼ­ ´ç½ÅÀº ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

        # slattach -p slip /dev/cua3 &

¶Ç´Ù¸¥ ¸ðµåµéÀº cslip, slip6, cslip6(SLIPÀÇ 6-bit versionÀ» À§ÇÑ), ±×¸®°í adaptive SLIPÀ» À§ÇÑ adaptive°¡ ÀÖ´Ù. ÈÄÀÚ´Â Ä¿³ÎÀÌ ¿ø°Ý »ç¿ëÀÚµéÀÇ SLIP encapsulation Á¾·ù¸¦ ã¾Æ³»µµ·Ï ³»¹ö·ÁµÐ´Ù.

´ç½ÅÀº ´ç½ÅÀÇ peer°¡ ÇÏ´Â °Í°ú µ¿ÀÏÇÑ encapsulaitonÀ» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇÏ¿©¾ß ÇÑ´Ù. ÇÑ ¿¹·Î, ¸¸¾à cowslipÀÌ CSLIPÀ» »ç¿ëÇÑ´Ù¸é ´ç½Åµµ ¿ª½Ã ±×°ÍÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. MismatchÀÇ Áõ»óÀº ¿ø°Ý È£½ºÆ®¿¡ pingÀ» ÇÏ¿´¾îµµ ¾î¶°ÇÑ packetµµ ´Ù½Ã µ¹·Áº¸³»ÁÖÁö ¾Ê´Â´Ù. ¸¸¾à ´Ù¸¥ ¿ø°ÝÈ£½ºÆ®°¡ ´ç½Å¿¡°Ô pingÀ» ÇÏ¿©µµ ´ç½ÅÀº Äֿܼ¡¼­ "Can't build ICMP header"¶ó´Â ¸Þ¼¼Áö¸¦ º¸°ÔµÈ´Ù. ÀÌ·¯ÇÑ ¾î·Á¿òÀ» ÇØ°áÇÏ´Â ¹æ¹ý Áß Çϳª´Â adaptive SLIPÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

»ç½Ç, slattach´Â ´ÜÁö SLIP¸¸À» °¡´ÉÇÏ°Ô ÇØÁÖ´Â °ÍÀÌ ¾Æ´Ï¶ó, PPP³ª KISS(ham radio»ç¿ëÀÚµéÀ» À§ÇÑ ¶Ç´Ù¸¥ ÇÁ·ÎÅäÄÝ)¿Í °°Àº serial lineÀ» ÅëÇÑ ´Ù¸¥ ÇÁ·ÎÅäÄÝÀÇ »ç¿ëµµ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. ´õ ÀÚ¼¼ÇÑ »çÇ×À» À§Çؼ­´Â slattach(8) ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇ϶ó.

SLIP driver·Î ÀüȯÇÑ ÈÄ¿¡, ´ç½ÅÀº network interface¸¦ Á¶ÀýÇØ ÁÖ¾î¾ß ÇÑ´Ù. ´Ù½Ã ¿ì¸®´Â Ç¥ÁØÀÌ µÇ´Â ifconfig°ú route ¸í·ÉÀ» »ç¿ëÇÑ´Ù. vlager¶ó´Â °èÁ¤À¸·Î Á¢¼ÓÇÑ °æ¿ì¸¦ »ý°¢Çؼ­ ¿ì¸®°¡ cowslipÀ̶ó´Â ¼­¹ö¿¡ dial upÀ¸·Î Á¢¼ÓÇß´Ù°í ÇÏÀÚ. ´ç½ÅÀº ÀÌ·¸°Ô ½ÇÇàÇØ¾ß ÇÑ´Ù.

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

ù¹ø° ¸í·ÉÁÙÀº interface¸¦ point-to-point link·Î cowslipÀ¸·Î ¼³Á¤ÇÑ´Ù. µÎ¹ø°¿Í ¼¼¹ø° ¸í·ÉÁÙÀº cowslipÀ¸·ÎÀÇ route¸¦ ´õÇÏ´Â °ÍÀÌ°í, default route·Î cowslipÀ» gateway·Î ¾²°Ú´Ù´Â ¶æÀÌ´Ù.

SLIP link¸¦ ³¡³¾ ¶§¿¡´Â, ´ç½ÅÀº ¸ÕÀú cowslipÀ» ÅëÇÑ ¸ðµç routeµéÀ» del optionÀ¸·Î »èÁ¦ÇØ¾ß ÇÑ´Ù. interface¸¦ Á¾·áÇÏ°í slattach¿¡ Á¢¼ÓÀ» ²÷°Ú´Ù´Â ½ÅÈ£¸¦ º¸³»¾ß ÇÑ´Ù. ±× ´ÙÀ½¿¡ ´Ù½Ã ´ç½ÅÀÇ Å͹̳ΠÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© ¸ðµ©À» ²÷¾î¾ß ÇÑ´Ù.

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

7.3 Using dip

ÀÌÁ¦ ÀüÀåÀÇ °ÍÀº ´Ù¼Ò °£´ÜÇÏ¿´´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ´ç½ÅÀº À§¿¡¼­ º¸¿©Áø ÀüÀýÀÇ ¸ðµç °úÁ¤µéÀ» ´Ü¼øÇÑ ¸í·É¸¸À¸·Î ÀÚµ¿ÀûÀ¸·Î ½ÇÇàÇϱ⸦ ¿øÇÒÁöµµ ¸ð¸¥´Ù. dipÀÌ ¹Ù·Î ÀÌ°ÍÀ» À§ÇÑ °ÍÀÌ´Ù. ÀÌ ±ÛÀÌ ¾²¿©Áö´Â ÇöÀçÀÇ ¹öÀüÀº 3.3.7ÀÌ´Ù. ÀÌ°ÍÀº ¸¹Àº »ç¶÷µé¿¡ ÀÇÇØ heavilyÇÏ°Ô ÆÐÄ¡µÇ¾úÀ¸¹Ç·Î ´ç½ÅÀº '±×' dip ÇÁ·Î±×·¥¿¡ ´ëÇؼ­ ´õ ÀÌ»ó ¸»ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ·¯ÇÑ ¹ßÀüÀÇ ´Ù¸¥ º¯ÇüµéÀÌ ¹Ì·¡ÀÇ ¹öÀü¿¡ hopefullyÇÏ°Ô merged in µÉ°ÍÀÌ´Ù.

dipÀº ´ç½ÅÀÇ ¸ðµ©À» Á¦¾îÇÏ°í,lineÀ» SLIP ¸ðµå·Î º¯È¯ÇÏ°í, interface¸¦ Á¶Á¤Çϱâ À§ÇÑ °£´ÜÇÑ scripting ¾ð¾îÀÇ ¹ø¿ªÀ» ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ´Ù¼Ò ¿ø½ÃÀûÀÌ°í Á¦ÇÑÀûÀ̱â´Â ÇÏÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì¿¡ ÃæºÐÇÏ´Ù. ¾ðÁ¨°¡ »õ·Î¿î releaseÀÇ dip¿¡¼­´Â ´õ ¸¹Àº versatile ¾ð¾î°¡ Áö¿øµÉ °ÍÀÌ´Ù.

SLIP interface¸¦ Á¶ÀýÇϱâ À§Çؼ­, dipÀº rootÀÇ ±ÇÇÑÀ» ¿ä±¸ÇÑ´Ù. ±×°ÍÀº dipÀÇ setuid¸¦ root·Î ÇÒ °ÍÀ» À¯È¤ÇÏ´Â µ¥ ±×·¯¸é ¸ðµç »ç¿ëÀÚµéÀÌ ¾î¶² SLIP ¼­¹ö¿¡ root ±ÇÇÑÀÌ ¾øÀ̵µ Á¢¼ÓÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ°ÍÀº ¸Å¿ì À§ÇèÇѵ¥, ¿Ö³ÄÇϸé bogus interfaces¸¦ ¼³Á¤ÇÏ´Â °Í°ú dipÀ» ÀÌ¿ëÇÑ default route´Â ´ç½ÅÀÇ network¸¦ ½É°¢ÇÏ°Ô ¼Õ»ó½Ãų¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ´õ ³ª»Û °æ¿ì, ´ç½ÅÀÇ »ç¿ëÀڵ鿡°Ô '¾î¶²' SLIP ¼­¹ö¿¡µµ Á¢¼ÓÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÖ°Ô µÇ´Â °ÍÀÌ¸ç ´ç½ÅÀÇ ³×Æ®¿öÅ©¿¡¼­ À§ÇèÇÑ °ø°ÝÀ» °¡ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ±×·¡¼­ ´ç½ÅÀÌ ´ç½ÅÀÇ »ç¿ëÀڵ鿡°Ô SLIP ¿¬°áÀ» Çϵµ·Ï ÇÏ°í ½Í´Ù¸é, °¢°¢ÀÇ °³º°ÀûÀÎ SLIP ¼­¹ö¸¦ À§ÇÑ ÀÛÀº wrapper ÇÁ·Î±×·¥À» »ç¿ëÇÏ°í, ÀÌ wrapperµéÀÌ Á¢¼ÓÀ» ¸¸µé±â À§ÇÑ Æ¯º°ÇÑ scriptµéÀ» invokeÇÏ°Ô µÈ´Ù. ÀÌ ÇÁ·Î±×·¥µéÀº ¾ÈÀüÇÏ°Ô root ±ÇÇÑÀ» ¸¸µé ¼ö ÀÖ´Ù.

A Sample Script

Figure: A sample dip script

            # cow slipÀÇ ÀüÈ­Á¢¼ÓÀ» À§ÇÑ dip ¿¹Á¦ ½ºÅ©¸³Æ® 
            # ·ÎÄðú ¿ø°Ý À̸§°ú ÁÖ¼Ò¸¦ ¼³Á¤
            get $local vlager
            get $remote cowslip

            port cua3                # ½Ã¸®¾ó Æ÷Æ®¸¦ ¼±ÅÃ
            speed 38400              # ÃÖ´ë ¼Óµµ¸¦ ¼³Á¤
            modem HAYES              # ¸ðµ© Á¾·ù¸¦ ¼³Á¤
            reset                    # ¸ðµ©°ú tty¸¦ Àç¼³Á¤
            flush                    # flush out modem response

            # ÀüÈ­°É±â¸¦ Áغñ
            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

            # ¿ÀÄÉÀÌ, ÀÌÁ¦ ¿¬°á!
            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
                #better not leave your password in ascii (thanx noud)
            password
            wait running 30
            if $errlvl != 0 goto error
        #´ç½ÅÀÇ ¿ø°Ý 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


        # ÀÌÁ¦ ¿ì¸®´Â ¿¬°áµÇ¾ú°í, ¿ø°ÝÃøÀº CSLIPÀ» ½ÃÀÛ
        print Connected to $remote with address $rmtip
        default                  # Make this link our default route
        mode CSLIP                # We go to CSLIP mode, too
        # ¿¡·¯°¡ ¶³¾îÁ³À» °æ¿ì 
        error:
        print CSLIP to $remote failed.

¿¹Á¦ ½ºÅ©¸³Æ®°¡ ½ÇÁ¦·Î ¸¸µé¾î Á³´Ù. Argument·Î ÁöÁ¤µÈ ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇØ 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¿¡ Á¢¼ÓÇÏ°í, CSLIPÀ» °¡´ÉÇÏ°Ô ÇÑ ÈÄ¿¡ dipÀº Å͹̳ÎÀ» ¶°³ª¼­ ¹é±×¶ó¿îµå ÀÛ¾÷À¸·Î ÀüȯµÉ °ÍÀÌ´Ù. ±×·± ÈÄ¿¡ ´ç½ÅÀº CSLIP ¸µÅ©¸¦ ÀÌ¿ëÇÏ¿© ÀϹÝÀûÀÎ ³×Æ®¿öÅ· ¼­ºñ½ºµéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. Á¢¼ÓÀ» ²÷±â À§ÇÏ¿©, ´Ü¼øÈ÷ -k¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ°ÍÀº ÀüÈ­¸¦ ²÷´Â ½ÅÈ£¸¦ /etc/dip.pid¿¡ ÀÖ´Â dipÀÇ pid¸¦ ¾Ë¾Æ³»¾î dip¿¡ º¸³½´Ù.

           # kill -k

dipÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿¡¼­, $ Ç¥½Ã°¡ ¾Õ¿¡ ºÙ´Â Å°¿öµåµéÀº º¯¼öµéÀÇ À̸§À» Ç¥½ÃÇÑ´Ù.dipÀº ¾Æ·¡¿¡¼­ º¸¿©Áú ¹Ì¸® Á¤ÀǵǾîÁø º¯¼öµéÀÇ ÁýÇÕÀ» °¡Áö°í ÀÖ´Ù. SLIP ¸µÅ©¿Í ¿¬°üµÈ local°ú remoteÀÇ È£½ºÆ®³×ÀÓÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â $remote¿Í $local ÀÌ ±× ¿¹ÀÌ´Ù.

¿¹Á¦ ½ºÅ©¸³Æ®¿¡ Àִ óÀ½ µÎ ¼±¾ðµéÀº dipÀÌ º¯¼öµéÀ» ¼³Á¤ÇÏ´Â ¸í·ÉµéÀ» °®°í ¿À´Â °ÍÀÌ´Ù. ¿©±â¿¡¼­ local°ú remoteÀÇ È£½ºÆ® ³×ÀÓÀº »ó´ëÀûÀ¸·Î vlager¿Í cowslipÀ¸·Î ¼³Á¤µÇ¾ú´Ù.

´ÙÀ½ ´Ù¼¸°³ÀÇ ¼±¾ðµéÀº Å͹̳Π¶óÀΰú ¸ðµ©À» ¼³Á¤ÇÑ´Ù. resetÀº reset ¹®ÀÚ¿­À» ¸ðµ©À¸·Î º¸³½´Ù. ; Hayes ȣȯ ¸ðµ©ÀÇ °æ¿ì, ÀÌ°ÍÀº ATZ ¸í·ÉÀÌ´Ù. ´ÙÀ½ ¼±¾ðÀº ¸ðµ©ÀÇ ¹ÝÀÀÀ» ºÐÃâ½ÃŲ´Ù. ±×¸®ÇÏ¿© ·Î±ä chatÀÌ ´ÙÀ½ÀÇ ¸î ÁÙÀÌ Á¦´ë·Î ÀÛµ¿ÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â °ÍÀÌ´Ù. ÀÌ chatÀº °ðÀÌ °ð´ë·Î ¾ÕÀ¸·Î¸¸ ³ª¾Æ°£´Ù: ÀÌ°ÍÀº ´Ü¼øÈ÷ cowslipÀÇ ÀüÈ­¹øÈ£ÀÎ 49188·Î ÀüÈ­¸¦ °É°í, hey-jude ¾ÏÈ£¸¦ ÀÌ¿ëÇÏ¿© Svlager °èÁ¤¿¡ ·Î±×ÀÎÇÑ´Ù. wait¸í·ÉÀº dipÀÌ Ã¹¹ø° argument¸¦ ±â´Ù¸®µµ·Ï ÇÑ´Ù.; µÎ¹ø° argument·Î ÁÖ¾îÁø ¼ýÀÚ´Â ¸¸¾à ¾î¶°ÇÑ ¹®ÀÚ¿­µµ ¼ö½ÅµÇÁö ¾Ê¾ÒÀ» °æ¿ì ÁÖ¾îÁø ±× ½Ã°£¸¸Å­ ´ë±âÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. if ¸í·ÉÀº ¸í·ÉÀÌ ¼öÇàµÇ´Â µ¿¾È ¾î¶°ÇÑ ¿¡·¯µµ ¹ß»ýÇÏÁö ¾ÊÀ» °æ¿ì ·Î±×ÀÎ °úÁ¤¿¡¼­ Èð»Ñ¸°´Ù(?).

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

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> ÇÁ·ÒÇÁÆ®¸¦ ¾î¶»°Ô Å×½ºÆ® ¸ðµå¿¡¼­ ÀÔ·ÂÇÏ´ÂÁö º¸¿©ÁÖ°í, ¾î¶»°Ô ±× °á°ú°¡ ³ªÅ¸³ª´ÂÁö¸¦ º¸¿©ÁØ´Ù.

The Modem Commands

´ç½ÅÀÇ ½Ã¸®¾ó ¶óÀΰú ¸ðµ©À» Á¶ÀýÇϱâ À§ÇØ dipÀÌ Á¦°øÇÏ´Â ¸í·ÉÀº ¸Å¿ì ¸¹´Ù. À̵é Áß ½Ã¸®¾ó Æ÷Æ®, ¼Óµµ¿Í µ¥ÀÌŸºñÆ®, Á¤ÁöºñÆ®, Æз¯Æ¼¸¦ ¼³Á¤ÇÏ´Â port¿Í °°ÀÌ ÀϹÝÀûÀÎ ¶óÀÎ º¯¼ö¸¦ ¼³Á¤ÇÏ´Â ¸í·ÉµéÀº ¾ÆÁÖ ¸í¹éÇÏ´Ù.

modem ¸í·ÉÀº ¸ðµ©ÀÇ Á¾·ù¸¦ ¼±ÅÃÇÑ´Ù. ÇöÀç Áö¿øµÇ´Â ŸÀÔÀº HAYES(´ë¹®ÀÚ°¡ ¿ä±¸µÊ)¹Û¿¡ ¾ø´Ù. ´ç½ÅÀº ¹Ýµå½Ã dip¿¡ ¸ðµ©ÀÇ Å¸ÀÔÀ» Á¦°øÇØÁÖ¾î¾ß Çϸç, ±×·¸Áö ¾ÊÀ» °æ¿ì ´ÙÀ̾ó°ú reset¸í·ÉÀº °ÅºÎµÉ °ÍÀÌ´Ù. reset ¸í·ÉÀº reset ¹®ÀÚ¿­À» ¸ðµ©¿¡ º¸³½´Ù.; °Å±â¿¡ ¾²ÀÌ´Â ¹®ÀÚ¿­Àº ¼±ÅÃµÈ ¸ðµ©ÀÇ Á¾·ù¿¡ µû¸¥´Ù. ÀϹÝÀûÀ¸·Î Hayesȣȯ ¸ðµ©ÀÇ °æ¿ì¿¡´Â ATZ°¡ µÈ´Ù.

flushÄÚµå´Â ¸ðµ©ÀÌ ¸Ö¸® º¸³½ ¸í·ÉµéÀ» ºÐÃâ½ÃÅ°´Âµ¥ »ç¿ëµÈ´Ù(?). ±×·¸Áö ¾ÊÀ¸¸é reset ¸í·ÉµÚ¿¡ µû¶ó¿À´Â chat ½ºÅ©¸³Æ®´Â È¥¶õ½º·¯¿öÁö°Ô µÇ´Âµ¥ ÀÌ°ÍÀº ¸ÕÀú¹øÀÇ OK ÀÀ´äÀ» Àп¡ µÇ±â ¶§¹®ÀÌ´Ù.

init ¸í·ÉÀº ¸ðµ©ÀÌ ÀüÈ­¸¦ °É±âÀü¿¡ ÃʱâÈ­¸¦ À§ÇØ ¼±ÅÃÇÑ´Ù. Hayesȣȯ ¸ðµ©À» À§ÇÑ ±âº»°ªÀº ``ATE0 Q0 V1 X1''ÀÌ´Ù.

dial ¸í·ÉÀº ¸¶Áö¸·À¸·Î ÃʱâÈ­ ¹®ÀÚ¿­À» º¸³½ ÈÄ¿¡ ¿ø°Ý ½Ã½ºÅÛ¿¡ ÀüÈ­¸¦ °Ç´Ù. Hayes ¸ðµ©À» À§ÇÑ ±âº»¸í·ÉÀº ATDÀÌ´Ù.

echo and term

echo ¸í·ÉÀº µð¹ö±ë ¸ñÀûÀ» À§ÇØ »ç¿ëµÈ´Ù. echo on ÇÏ°Ô µÇ¸é ½Ã¸®¾óÀ» ÅëÇØ °¡´Â ¸ðµç ³»¿ëÀ» Äֿܼ¡ dipÀÌ echoÇÏ°Ô µÈ´Ù. ÀÌ°ÍÀº echo off¿¡ ÀÇÇØ ²¨Áø´Ù.

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

The get Command

get ¸í·ÉÀº dipÀÇ º¯¼ö¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ´Ù. °¡Àå °£´ÜÇÑ Çü½ÄÀº À§¿¡¼­ °è¼Ó º¸¿©Áø´ë·Î º¯¼ö¿¡ »ó¼ö¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ´Ù. ±×·¯³ª ¾Æ¸¶µµ ´ç½ÅÀº »ç¿ëÀÚ¿¡°Ô ¾î¶² °ª ´ë½Å¿¡ ¾î¶² ƯÁ¤ÇÑ Å°¿öµå¸¦ ÀÔ·ÂÇϵµ·Ï ÇÏ°í ½ÍÀ» °ÍÀÌ´Ù.

           DIP> get $local ask
           Enter the value for $local: 
¼¼¹ø° ¹æ¹ýÀº ¿ø°ÝÈ£½ºÆ®·ÎºÎÅÍ °ªÀ» ¾ò¾î¿À´Â °ÍÀÌ´Ù. óÀ½¿¡ º¸¿©Áø Bizarre¿Í °°ÀÌ ¾î¶² °æ¿ì¿¡´Â ÀÌ°ÍÀÌ ¸Å¿ì À¯¿ëÇÏ´Ù: ¾î¶² SLIP ¼­¹öµéÀº SLIP ¸µÅ©¿¡ ´ç½Å¸¸ÀÇ IP-ÁÖ¼Ò¸¦ Çã¶ôÇÏÁö ¾Ê°í, ´ç½Å¿¡°Ô ¾î¶² ÁÖ¼Ò°¡ ÇÒ´çµÇ¾î ÀÖ´Â Áö¸¦ ¸Þ¼¼Áö¸¦ ÅëÇØ º¸¿©Áָ鼭 ÇüÆí¾ø´Â ÁÖ¼Ò¸¦ ´ç½ÅÀÌ ¾îµð¿¡¼­ Á¢¼ÓÇÏµç ´ç½Å¿¡°Ô ÇÒ´çÇÒ °ÍÀÌ´Ù. ¸¸¾à ±× ¸Þ¼¼Áö°¡ "Your address:193.174.7.202" ÀÌ·± ½ÄÀ¸·Î º¸ÀÎ´Ù¸é ¾Æ·¡ÀÇ dip code°¡ ´ç½ÅÀÌ ¿øÇÏ´Â ÁÖ¼Ò¸¦ ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÙ °ÍÀÌ´Ù.
        wait address: 10
        get $locip remote

The print command

ÀÌ°ÍÀº dipÀÌ ½ÃÀÛµÈ Äֿܼ¡ ÅؽºÆ®¸¦ echoÇϱâ À§ÇÑ ¸í·ÉÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ ¾î¶°ÇÑ dipÀÇ º¯¼ö¶óµµ print ¸í·É¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù.

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

Variable Name

dipÀº ´ÜÁö ¸ÕÀú Á¤ÀǵǾî ÀÖ´Â º¯¼öµé¸¸À» ÀÌÇØÇÑ´Ù. º¯¼ö¸íÀº ¹Ýµå½Ã $·Î ½ÃÀÛÇØ¾ß ÇÏ¸ç ¼Ò¹®ÀÚµé·Î ¾²¿©Á®¾ß ÇÑ´Ù.

$local°ú $locip º¯¼ö´Â ·ÎÄà ȣ½ºÆ®ÀÇ À̸§°ú IP-ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù. È£½ºÆ®³×ÀÓÀ» ¼³Á¤ÇÏ´Â °ÍÀº dipÀÌ ÀÎÁ¤µÈ È£½ºÆ®³×ÀÓÀ» $local¿¡ ÀúÀåÇϸç, µ¿½Ã¿¡ ±×¿¡ ÇØ´çÇÏ´Â IP-ÁÖ¼Ò¸¦ $locip¿¡ ÀúÀåÇÑ´Ù. À¯»çÇÑ °æ¿ì°¡ $locip¸¦ ¼³Á¤ÇÒ °æ¿ì¿¡ ÀϾ´Ù.

$remote¿Í $remotip º¯¼öµéµµ ¶È°°ÀÌ ¿ø°ÝÈ£½ºÆ®ÀÇ À̸§°ú ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù. $mtu´Â Á¢¼ÓÀÇ MTU °ªÀ» Æ÷ÇÔÇÑ´Ù.

ÀÌµé ´Ù¼¸°³ÀÇ º¯¼öµéÀÌ get ¸í·ÉÀ» ÀÌ¿ëÇØ Á÷Á¢ÀûÀ¸·Î ¼³Á¤µÇ´Â °ªµéÀÌ´Ù. ´Ù¸¥ º¯¼öµéÀÇ host´Â ´ÜÁö ±×¿¡ ÇØ´çÇÏ´Â ¸í·Éµé¸¸À» ÀÌ¿ëÇØ ¼³Á¤µÇ³ª print ¼±¾ð¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. ; ÀÌ·± °ÍµéÀº $modem, $port, ±×¸®°í $speedÀÌ´Ù.

$errlvlÀº ¸¶Áö¸· ½ÇÇàµÈ ¸í·ÉÀÇ °á°ú¿¡ °áÁ¤µÇ´Â º¯¼öÀÌ´Ù. ¸¸ÀÏ ÀÌ °ªÀÌ 0ÀÌ¸é ¼º°øÀ» ÀǹÌÇÏ°í ´Ù¸¥ 0ÀÌ ¾Æ´Ñ °ªÀÏ °æ¿ì¿¡´Â ¿¡·¯¸¦ ÀǹÌÇÑ´Ù.

The if and goto command

if ¸í·ÉÀº ÀϹÝÀûÀ¸·Î »ý°¢ÇÏ´Â if¶ó±âº¸´Ù´Â »óȲ¿¡ µû¸¥ °æ¿ìÀÌ´Ù. »ç¿ë ¹®¹ýÀº

           if var op number goto label

ÀÌ Ç¥ÇöÀº ¹Ýµå½Ã $errlvl, $locip, and $rmtip¿Í °°Àº º¯¼öµé »çÀÌ¿¡¼­ °£´ÜÇÑ ºñ±³¿©¾ß ÇÑ´Ù. µÎ¹ø° ÇÇ¿¬»êÀÚ´Â ¹Ýµå½Ã Á¤¼ö¿©¾ß ÇÑ´Ù; ¿¬»êÀÚ´Â ==, !=, <, >, <=, ±×¸®°í >= ÁßÀÇ ÇϳªÀ̾î¾ß ÇÑ´Ù.

goto ¸í·ÉÀº ¶óº§À» Æ÷ÇÔÇÏ°í ÀÖ´Â ¶óÀÎÀÇ ½ºÅ©¸³Æ®ÀÇ ¿¬¼ÓÀûÀÎ ½ÇÇàÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ¶óº§Àº ¹Ýµå½Ã ±× ¶óÀÎÀÇ Ã¹ºÎºÐÀ̾î¾ß Çϸç, ÄÝ·ÐÀÌ µÚ¿¡ µû¶óºÙ¾î¾ß ÇÑ´Ù.

send, wait and sleep

ÀÌ ¸í·ÉµéÀº dipÀÇ °£´ÜÇÑ chat ½ºÅ©¸³Æ®µéÀ» µ½´Â µµ±¸µéÀÌ´Ù. send´Â ±×°ÍÀÇ argumentµéÀÇ ½Ã¸®¾ó ¶óÀÎÀ¸·Î Ãâ·ÂÇÑ´Ù. º¯¼öµéÀ» Áö¿øÇÏÁö´Â ¾ÊÁö¸¸ n°ú b¿Í °°Àº ¸ðµç C-½ºÅ¸ÀÏÀÇ ¿ª½½·¡½¬ ¹®ÀÚ½ÃÄö½º¸¦ ÀνÄÇÑ´Ù. Æ¿µå¹®ÀÚ ()´Â ¸®ÅÏ/°³Ç๮ÀÚÀÇ ´ë¿ëÀ¸·Î »ç¿ëÇÑ´Ù.

wait´Â ÇÑ ´Ü¾î¸¦ ÇϳªÀÇ argument·Î °£ÁÖÇÏ°í, ±×°ÍÀÌ ÀÌ ´Ü¾î¸¦ ÀνÄÇÒ ¶§±îÁö ½Ã¸®¾ó ¶óÀÎÀ» ÅëÇÑ ¸ðµç ÀÔ·ÂÀ» °Ë»çÇÑ´Ù. ±× ´Ü¾î ÀÚ½ÅÀº ¾î¶°ÇÑ ºóÄ­µµ °¡Áö°í À־´Â ¾ÈµÈ´Ù. ¼±ÅÃÀûÀ¸·Î, ´ç½ÅÀº µÎ¹ø° argument·Î½á timeoutÀ» ÁÖ¾î¾ßÇÑ´Ù.; ¸¸¾à ±â´ëµÇ¾ú´ø ¹®ÀÚ°¡ ¿À·£ ½Ã°£ÀÌ Áö³ªµµ ¼ö½ÅÀÌ µÇÁö ¾Ê´Â´Ù¸é ±× ¸í·ÉÀº 1À̶ó´Â $errlvl¸¦ ¹ÝȯÇÑ´Ù.

sleep ¼±¾ðÀº ¾î´À Á¤µµÀÇ Æ¯Á¤ÀÇ ½Ã°£À» ´ë±âÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. ÇÑ ¿¹·Î ·Î±×ÀÎ ½ÃÄö½º¸¦ ¿Ïº®ÇÏ°Ô Àγ»½ÉÀÖ°Ô ±â´Ù¸®±â À§ÇØ »ç¿ëµÈ´Ù. ´Ù½Ã, ±× ½Ã°£°£°ÝÀº ÃʷΠǥÇöµÈ´Ù.

mode and default

ÀÌ ¸í·ÉµéÀº ½Ã¸®¾ó ¶óÀÎÀ» SLIP¸ðµå·Î ÀüȯÇÏ°í ÀÎÅÍÆäÀ̽º¸¦ Á¶ÀýÇϱâ À§ÇØ »ç¿ëµÈ´Ù.

mode ¸í·ÉÀº µ¥¸ó¸ðµå·Î µé¾î°¡±â Àü¿¡ dip¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¸¶Áö¸· ¸í·ÉÀÌ´Ù. ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù¸é ±× ¸í·ÉÀº ¹ÝȯµÇÁö ¾Ê´Â´Ù.

mode´Â ÇÁ·ÎÅäÄÝÀÇ À̸§À» argument·Î Ãë±ÞÇÑ´Ù. ÇöÀç dipÀº SLIP°ú CSLIPÀ» À¯È¿ÇÑ À̸§µé·Î ÀνÄÇÑ´Ù. ±×·¯³ª ÇöÀçÀÇ ¹öÀüÀÇ dipÀº adaptive SLIPÀº ÀνÄÇÏÁö ¸øÇÑ´Ù.

½Ã¸®¾ó ¶óÀο¡¼­ SLIP ¸ðµå¸¦ °¡´ÉÇÏ°Ô ÇÑ ÈÄ¿¡, dipÀº ÀÎÅÍÆäÀ̽º¸¦ point-to-point link·Î ¼³Á¤Çϱâ À§ÇØ ifconfigÀ» ½ÇÇàÇÏ°Ô µÇ°í °æ·Î¸¦ ¿ø°Ý È£½ºÆ®¿¡ ¸ÂÃß±â À§ÇØ route¸í·ÉÀ» ½ÃµµÇÑ´Ù.

Ãß°¡·Î, ¸¸¾à¿¡ ½ºÅ©¸³Æ®°¡ ¸ðµå Àü¿¡ ±âº» ¸í·ÉÀ» ½ÇÇàÇÑ´Ù¸é, dip´Â ±âº» route point¸¦ SLIP ¸µÅ©·Î Á¤ÇÒ °ÍÀÌ´Ù.

7.4 Running in Server Mode

´ç½ÅÀÇ SLIP Ŭ¶óÀ̾ðÆ®¸¦ ¼³Á¤ÇÏ´Â °ÍÀº ¹«Ã´ Èûµç ÀÏÀÌ´Ù. ±×·¯³ª ÀÌ¿¡ ¹ÝÇØ, Áï ´ç½ÅÀÇ È£½ºÆ®¸¦ SLIP¼­¹ö·Î ¸¸µå´Â °ÍÀº ÈξÀ ½¬¿î ÀÏÀÌ´Ù.

ÀÌ°ÍÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ¹æ¹ý Áß Çϳª´Â diploginÀ» »ç¿ëÇØ dipÀ» ¼­¹ö¸ðµå·Î »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀÇ ÁÖ¿ä ¼³Á¤È­ÀÏÀº ÀÌ È£½ºÆ®°¡ Á¤ÇØÁÖ´Â ·Î±×ÀÎ À̸§°ú ÁÖ¼Ò°¡ ´ã°ÜÀÖ´Â /etc/diphosts È­ÀÏÀÌ´Ù. »ó´ëÀûÀ¸·Î ´ç½ÅÀº BSD¿¡¼­ À¯·¡ÇÑ µµ±¸ÀÎ sliploginÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. sliploginÀº ´ç½ÅÀÌ ½ÇÇàÇØ¾ß Çϴ ȣ½ºÆ® Á¢¼Ó°ú Á¢¼ÓÀ» ²÷´Â ½© ½ºÅ©¸³Æ®¸¦ Á» ´õ °£ÆíÇÏ°Ô ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÇöÀç ÀÌ°ÍÀº º£Å¸¹öÀüÀÌ´Ù.

¾çÂÊ ÇÁ·Î±×·¥ ¸ðµÎ ÇϳªÀÇ SLIP Ŭ¶óÀ̾ðÆ® ´ç ÇϳªÀÇ ·Î±×ÀÎ °èÁ¤À» ¿ä±¸ÇÑ´Ù. ÇÑ ¿¹·Î ´ç½ÅÀÌ dent.beta.comÀÇ Arthur DentÀÇ SLIP ¼­ºñ½º Á¦°øÀÚ°¡ µÈ´Ù°í »ó»óÇغ¸¶ó.´ç½ÅÀº ´ç½Å È£½ºÆ®ÀÇ passwd È­ÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Ãß°¡ÇÔÀ¸·Î½á dent¶ó´Â °èÁ¤À» ¸¸µé¾î¾ß ÇÑ´Ù.

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

±×·± ÈÄ¿¡ ´ç½ÅÀº dentÀÇ ºñ¹Ð¹øÈ£¸¦ passwd utility¸¦ »ç¿ëÇؼ­ ¼³Á¤ÇØ¾ß ÇÑ´Ù.

ÀÌÁ¦ dent°¡ ·Î±×ÀÎ ÇÏ°í, dipÀº ¼­¹ö¸¦ ½ÃÀÛÇÒ °ÍÀÌ´Ù. ±×°¡ Á¤¸»·Î SLIPÀ» »ç¿ëÇϵµ·Ï Çã°¡ µÇ¾ú´ÂÁö ¾Ë¾Æº¸±â À§ÇØ dipÀº /etc/diphosts¿¡¼­ »ç¿ëÀÚ À̸§À» ãÀ» °ÍÀÌ´Ù. ÀÌ È­ÀÏÀº °¢°¢ÀÇ SLIP »ç¿ëÀÚµéÀÇ Çã°¡ ±Ç¸®¿Í ¿¬°á ÆĶó¹ÌÅÍ·ê ¼¼¹ÐÈ÷ °ËÅäÇÒ °ÍÀÌ´Ù. dent¸¦ À§ÇÑ ¿¹Á¦°¡ ¾Æ¸¶µµ ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.

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

ù¹ø° ÄÝ·ÐÀ¸·Î ³ª´©¾îÁø ºÎºÐÀº ·Î±×ÀÎÇÑ »ç¿ëÀÚÀÇ À̸§ÀÏ °ÍÀÌ´Ù. µÎ¹ø° ºÎºÐÀº ºñ¹Ð¹øÈ£¸¦ Æ÷ÇÔÇÏ°í ÀÖÀ» °ÍÀÌ´Ù(¾Æ·¡¸¦ º¸¶ó). ¼¼¹ø° ºÎºÐÀÌ °Å´Â ÂÊÀÇ È£½ºÆ®³×ÀÓÀ̰ųª IP-ÁÖ¼ÒÀÌ´Ù. ´ÙÀ½À¸·Î ¿À´Â ³»¿ëµéÀº ±×´ÙÁö º° Àǹ̰¡ ¾ø´Â °ÍµéÀÌ´Ù. ¸¶Áö¸· ºÎºÐÀº ¿¬°á ÆĶó¹ÌÅ͵éÀÌ´Ù. ÀÌ°ÍÀº ÄÞ¸¶·Î ºÐ¸®µÇ¾î MTU°¡ µÚ¾î ºÙ´Â ÇÁ·ÎÅäÄÝ(ÇöÀç·Î¼­´Â SLIPÀ̳ª CSLIP)À» ¿­°ÅÇÑ´Ù.

dent°¡ ·Î±×ÀÎ ÇßÀ»¶§, diploginÀº diphosts È­ÀϷκÎÅÍ ±×¿¡ °üÇÑ Á¤º¸¸¦ ÃßÃâÇÏ°í ¸¸¾à, µÎ¹ø° ºÎºÐÀÌ ºñ¾îÀÖÁö ¾Ê´Ù¸é "¿ÜºÎ º¸¾È ºñ¹Ð¹øÈ£"¸¦ ¿ä±¸ÇÑ´Ù. »ç¿ëÀÚ¿¡ ÀÇÇØ ÀÔ·ÂµÈ ÀÌ ¹®ÀÚ¿­Àº diphostsÈ­ÀÏÀÇ password(¾ÏȣȭµÇÁö ¾ÊÀº)¿Í ºñ±³µÈ´Ù. ¸¸¾à µÑÀÌ ¼­·Î ¸ÂÁö ¾Ê´Ù¸é ·Î±×ÀÎ ½Ãµµ´Â °ÅºÎµÈ´Ù.

±×·¸Áö ¾Ê°í diploginÀÌ ½Ã¸®¾ó¶óÀÎÀ» CSLIPÀ̳ª SLIP ¸ðµå·Î ÁøÇàÇØ ³ª°¡¸é, ÀÎÅÍÆäÀ̽º¿Í route¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ ¿¬°áÀº »ç¿ëÀÚ°¡ Á¢¼ÓÀ» ²÷°Å³ª ¸ðµ©ÀÌ ÀüÈ­¼±¿¡¼­ ²÷±æ¶§±îÁö ³²¾ÆÀÖ´Ù. ±×·¯¸é diploginÀº ¶óÀÎÀ» ÀÏ¹Ý ¶óÀÎÀ¸·Î µ¹¸®°í ºüÁ®³ª¿Â´Ù.

diploginÀº super-user ±ÇÇÑÀ» ¿ä±¸ÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ dip¸¦ root·Î ½ÇÇàÇÒ ±ÇÇÑÀÌ ¾øÀ» °æ¿ì ´Ü¼øÇÑ ¸µÅ© ´ë½Å¿¡ ´ç½ÅÀº diploginÀ» ºÐ¸®µÈ dipÀÇ º¹»çº»À¸·Î ¸¸µé¾î¾ß ÇÑ´Ù. ±×·¯¸é diploginÀº dip ±× ÀÚ½ÅÀÇ »óÅ¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê°í ¾ÈÀüÇÑ setuid¸¦ °¡Áú¼ö ÀÖ°Ô µÈ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê