10Àå. ³×Æ®¿öÅ© (Networks)

³×Æ®¿öÅ·°ú ¸®´ª½º´Â °ÅÀÇ µ¿ÀǾîÀÌ´Ù. ¸®´ª½º´Â ¸» ±×´ë·Î ÀÎÅÍ³Ý ¶Ç´Â ¿ùµå ¿ÍÀ̵å À¥ (World Wide Web, WWW)ÀÇ »ê¹°ÀÌ´Ù. ¸®´ª½ºÀÇ °³¹ßÀÚ¿Í »ç¿ëÀÚµéÀº Á¤º¸¿Í ÇÁ·Î±×·¥ ÄÚµå À» ±³È¯Çϱâ À§ÇØ À¥À» »ç¿ëÇϸç, Á¶Á÷ÀÇ ³×Æ®¿öÅ· ¿ä±¸¸¦ ó¸®Çϱâ À§ÇØ ¸®´ª½º¸¦ ÀÚÁÖ »ç ¿ëÇÑ´Ù1. ÀÌ ÀåÀº ¸®´ª½º°¡ ÅëƲ¾î TCP/IP¶ó°í ºÎ¸£´Â ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀ» ¾î¶»°Ô Áö¿øÇÏ ´ÂÁö ¼³¸íÇÑ´Ù.

TCP/IP´Â ¹Ì±¹ Á¤ºÎ°¡ ÃâÀÚÇÏ´Â ¹Ì±¹ ¿¬±¸¸Á(ARPANET)¿¡ ¿¬°áµÈ ÄÄÇ»ÅÍ °£ÀÇ Åë½ÅÀ» Áö¿ø Çϱâ À§ÇØ ±¸»óµÈ °ÍÀÌ´Ù. ARPANETÀº ÆÐŶ ½ºÀ§Äª°ú ÇϳªÀÇ ÇÁ·ÎÅäÄÝÀÌ ´Ù¸¥ ÇÁ·ÎÅäÄÝÀÇ ¼­ºñ½ºÀ» »ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝ °èÃþÈ­ µîÀÇ ³×Æ®¿öÅ· °³³äÀ» â½ÃÇß´Ù. ARPANETÀº 1988³â¿¡ Á¾·áµÇ¾úÁö¸¸ ±× °è½ÂÀÚÀÎ NSF2 NET°ú ÀÎÅͳÝÀº ´õ Å©°Ô ¼ºÀåÇß´Ù. ÇöÀç ¿ùµå ¿ÍÀ̵å À¥ÀÌ ¶ó°í ¾Ë·ÁÁø °ÍÀº ARPANETÀ¸·ÎºÎÅÍ ¼ºÀåÇßÀ¸¸ç, TCP/IP ÇÁ·ÎÅäÄÝÀ» ¹ÙÅÁÀ¸·Î ÇÏ°í ÀÖ´Ù. ARPANET »ó¿¡¼­´Â À¯´Ð½º°¡ ±¤¹üÀ§ÇÏ°Ô »ç¿ëµÇ¾úÀ¸¸ç, óÀ½À¸·Î ³×Æ®¿öÅ·ÀÌ °¡´ÉÇÑ À¯´Ð ½º ¹öÀüÀº 4.3 BSD¿´´Ù. ¸®´ª½ºÀÇ ³×Æ®¿öÅ· ±¸ÇöÀº 4.3 BSD¸¦ ¸ðµ¨·Î ¼³°èµÇ¾úÀ¸¸ç, ¸®´ª½º ´Â (¾à°£ È®ÀåµÈ) BSD ¼ÒÄÏ°ú TCP/IP ³×Æ®¿öÅ· Àüü¸¦ Áö¿øÇÑ´Ù. ¸®´ª½º¿¡¼­ ÀÌ TCP/IP ÇÁ ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ ¼±ÅÃÇÑ ÀÌÀ¯´Â TCP/IP°¡ ³Î¸® »ç¿ëµÇ°í ÀÖÀ¸¸ç, ¸®´ª½º¿Í ´Ù¸¥ À¯´Ð ½º Ç÷§Æû°úÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ ȣȯ¼ºÀ» ³ôÀ̱â À§ÇÑ °ÍÀ̾ú´Ù.


±×¸² 10.1 : TCP/IP ÇÁ·ÎÅäÄÝ °èÃþ

10.1 TCP/IP ³×Æ®¿öÅ·ÀÇ °³°ü

ÀÌ ÀýÀº TCP/IP ³×Æ®¿öÅ·ÀÇ ±âº» ¿ø¸®¿¡ ´ëÇÑ °³°üÀÌ´Ù. ÀÌ°ÍÀº (ÀÌÈÄÀÇ Àý°ú °°Àº) »ó¼¼ÇÑ ¼³¸íÀÌ ¾Æ´Ï±â ¶§¹®¿¡ Çѹø Àо±â ¹Ù¶õ´Ù.

IP ³×Æ®¿öÅ©¿¡¼­´Â °¢ ±â°è¸¦ °íÀ¯ÇÏ°Ô ½Äº°ÇÏ´Â 32ºñÆ® ¼ýÀÚÀÎ IP ÁÖ¼Ò¸¦ °¢ ±â°è¿¡ ºÎ¿© ÇÑ´Ù. WWW´Â ¸Å¿ì °Å´ëÇÏ°í °è¼Ó ¼ºÀåÇÏ´Â IP ³×Æ®¿öÅ©·Î¼­, WWW¿¡ ¿¬°áµÈ ¸ðµç ±â°è µéÀº ÇÒ´çµÈ °íÀ¯ÇÑ IP ÁÖ¼Ò¸¦ °¡Áø´Ù. IP ÁÖ¼Ò´Â ¿¹¸¦ µé¾î 16.42.0.9¿Í °°ÀÌ Á¡À¸·Î ±¸ºÐµÇ ´Â ³× °³ÀÇ ¼ýÀÚ·Î ³ªÅ¸³½´Ù. ½ÇÁ¦·Î´Â ³×Æ®¿öÅ© ÁÖ¼Ò¿Í È£½ºÆ® ÁÖ¼ÒÀÇ µÎ ºÎºÐÀ¸·Î IP ÁÖ ¼Ò¸¦ ±¸ºÐÇÑ´Ù. (IP ÁÖ¼Ò¿¡´Â ¿©·¯ Ŭ·¡½ºµéÀÌ À־) °¢ ºÎºÐÀÇ Å©±â´Â ´Þ¶óÁú ¼ö ÀÖÁö¸¸, 16.42.0.9¸¦ ¿¹·Î µé¸é 16.42´Â ³×Æ®¿öÅ© ÁÖ¼ÒÀÌ°í 0.9´Â È£½ºÆ® ÁÖ¼Ò°¡ µÈ´Ù. È£½ºÆ® ÁÖ¼Ò ´Â ¼­ºê³×Æ®¿öÅ©¿Í È£½ºÆ® ÁÖ¼Ò·Î ´õ (ÀÚ¼¼È÷) ³ª´­ ¼ö ÀÖ´Ù. ´Ù½Ã 16.42.0.9¸¦ ¿¹·Î µé¸é, ¼­ºê³×Æ®¿öÅ© ÁÖ¼Ò´Â 16.42.0ÀÌ µÇ°í È£½ºÆ® ÁÖ¼Ò´Â 16.42.0.9°¡ µÈ´Ù. ÀÌ·¸°Ô IP ÁÖ¼Ò¸¦ ¸î ±¸È¹À¸·Î ³ª´­ ¼ö ÀÖÀ¸¹Ç·Î, (³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ´Â) ±â°üÀº ÀÚ½ÅÀÇ ³×Æ®¿öÅ©¸¦ ¸î ±¸È¹À¸·Î ³ª´­ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î 16.42°¡ ACME ÄÄÇ»ÅÍ»çÀÇ ³×Æ®¿öÅ© ÁÖ¼Ò¶ó¸é, 16.42.0´Â ¼­ºê³×Æ® ¿öÅ© 0¹ø, 16.42.1Àº ¼­ºê³×Æ®¿öÅ© 1¹øÀÌ µÉ °ÍÀÌ´Ù. ÀÌ ¼­ºê³×Æ®¿öÅ©´Â ¼­·Î ´Ù¸¥ °Ç¹°¿¡ ÀÖÀ» ¼öµµ ÀÖ°í, ÀÓ´ë ÀüÈ­¼±À» ÀÌ¿ëÇϰųª ¹«¼±(Åë½Å¼ö´Ü)À» ÀÌ¿ëÇØ ¿¬°áµÇ¾î ÀÖÀ» ¼öµµ ÀÖ ´Ù. IP ÁÖ¼Ò´Â ³×Æ®¿öÅ© °ü¸®ÀÚ°¡ ÇÒ´çÇϴµ¥, IP ¼­ºê³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ¿© ³×Æ®¿öÅ© °ü¸® ºÎ ´ãÀ» ºÐ»ê½Ãų ¼ö ÀÖ´Ù. IP ¼­ºê³×Æ®¿öÅ© °ü¸®ÀÚ´Â ÀÚ½ÅÀÇ IP ¼­ºê³×Æ®¿öÅ© ¾È¿¡¼­ ÀÚÀ¯·Ó°Ô IP ÁÖ¼Ò¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù.

ÇÏÁö¸¸ ÀϹÝÀûÀ¸·Î IP ÁÖ¼Ò´Â ¾ÆÁÖ ±â¾ïÇϱ⠾î·Æ´Ù. À̸§À» ºÙÀÌ´Â °ÍÀÌ ÈξÀ (±â¾ïÇϱâ) ½±´Ù. linux.acme.comÀÌ 16.42.0.9º¸´Ù ÈξÀ ´õ ±â¾ïÇϱ⠽¬¿îµ¥, (À̸§À» »ç¿ëÇϱâ À§Çؼ­ ´Â) ³×Æ®¿öÅ© À̸§À» IP ÁÖ¼Ò·Î º¯È¯ÇØ ÁÖ´Â µµ±¸°¡ ÇÊ¿äÇÏ´Ù. ÀÌ À̸§µéÀ» /etc/hosts ÆÄ ÀÏ¿¡ Á¤ÀûÀ¸·Î ¸í½ÃÇÒ ¼öµµ ÀÖÁö¸¸, ¸®´ª½º´Â ºÐ»ê ³×ÀÓ ¼­¹ö(Distributed Name Server, DNS)¿¡ ÀÌ À̸§µéÀ» º¯È¯ÇØ ´Þ¶ó°í ¿äûÇÒ ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì ·ÎÄà ȣ½ºÆ®´Â Çϳª ÀÌ»óÀÇ DNS ¼­ ¹öÀÇ IP ÁÖ¼Ò¸¦ ¾Ë°í ÀÖ¾î¾ß¸¸ Çϴµ¥, ÀÌ ÁÖ¼ÒµéÀ» /etc/resolv.conf¿¡ ±â·ÏÇÑ´Ù.

À¥ ÆäÀÌÁö¸¦ ÀÐÀ» ¶§¿Í °°ÀÌ ´Ù¸¥ ±â°è¿¡ Á¢¼ÓÇÒ ¶§¸¶´Ù ±× ±â°è¿Í ÀڷḦ ±³È¯Çϱâ À§ÇØ ±× ±â°èÀÇ IP ÁÖ¼Ò¸¦ »ç¿ëÇÑ´Ù. ÀÚ·áµéÀº IP ÆÐŶ¿¡ ´ã°Ü Àü´ÞµÇ´Âµ¥, °¢ ÆÐŶ¸¶´Ù Ãâ¹ßÁö ±â°è¿Í ¸ñÀûÁö ±â°èÀÇ IP ÁÖ¼Ò, üũ¼¶(checksum) ¹× ´Ù¸¥ À¯¿ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Â IP Çì´õ °¡ ºÙ¾î ÀÖ´Ù. üũ¼¶Àº IP ÆÐŶ¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ °¡Áö°í °è»êÇϴµ¥, À̸¦ ÀÌ¿ëÇÏ¿© IP ÆРŶ ¼ö½ÅÀÚ´Â ÀüÈ­¼±ÀÇ ÀâÀ½ µîÀ¸·Î ÀÎÇØ Àü´Þ°úÁ¤¿¡¼­ ÆÐŶÀÌ ¼Õ»óµÇ¾ú´ÂÁö¸¦ ÆÇ´ÜÇÒ ¼ö ÀÖ ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ º¸³»´Â µ¥ÀÌÅÍ´Â Á» ´õ ´Ù·ç±â ½¬¿î ÀÛÀº ÆÐŶµé·Î ÂÉ°³Áú ¼ö ÀÖ´Ù. IP µ¥ÀÌÅÍ ÆÐŶÀÇ Å©±â´Â ¿¬°á ¸Åü¿¡ µû¶ó ´Þ¶óÁö´Âµ¥, ÀϹÝÀûÀ¸·Î ÀÌ´õ³Ý ÆÐŶÀÌ PPP ÆÐŶº¸ ´Ù ´õ Å©´Ù. ¸ñÀûÁö È£½ºÆ®´Â µ¥ÀÌÅÍ ÆÐŶµéÀ» ´Ù½Ã Á¶ÇÕÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥¿¡ µ¥ÀÌÅ͸¦ °Ç ³»ÁØ´Ù. ´À¸° ½Ã¸®¾ó ¸µÅ©¸¦ ÅëÇØ ¸¹Àº ±×·¡ÇÈ À̹ÌÁöµéÀ» ´ã°í ÀÖ´Â À¥ ÆäÀÌÁö¸¦ º¸¸é À§ ¿¡¼­ ¸»ÇÑ µ¥ÀÌÅÍÀÇ ºÐÇØ¿Í Á¶¸³ °úÁ¤À» ±×¸²À» º¸µí »ìÆ캼 ¼ö ÀÖ´Ù.

°°Àº IP ¼­ºê³×Æ®¿öÅ©¿¡ ¿¬°áµÇ¾î Àִ ȣ½ºÆ®³¢¸®´Â IP ÆÐŶÀ» Á÷Á¢ º¸³¾ ¼ö ÀÖÁö¸¸, ±×·¸ Áö ¾ÊÀº °æ¿ì¿¡´Â °ÔÀÌÆ®¿þÀÌ(gateway)¶ó°í Çϴ Ưº°ÇÑ È£½ºÆ®¿¡ IP ÆÐŶÀ» º¸³»¾ß¸¸ ÇÑ´Ù. °ÔÀÌÆ®¿þÀÌ(¶Ç´Â ¶ó¿ìÅÍ)´Â Çϳª ÀÌ»óÀÇ IP ¼­ºê³×Æ®¿öÅ©¿¡ ¿¬°áµÇ¾î Àִµ¥, ÇÑ IP ¼­ºê³× Æ®¿öÅ©¿¡¼­ ¹ÞÀº ÆÐŶÀ» ´Ù¸¥ IP ¼­ºê³ÝÀ¸·Î Àü¼ÛÇÑ´Ù. ¿¹¸¦ µé¾î, ¼­ºê³×Æ®¿öÅ© 16.42.1.0°ú 16.42.0.0ÀÌ ¾î¶² °ÔÀÌÆ®¿þÀ̸¦ ÅëÇØ ¿¬°áµÇ¾î ÀÖ´Ù¸é ¼­ºê³×Æ®¿öÅ© 0¿¡¼­ ¼­ºê³×Æ®¿öÅ© 1 ·Î Àü´ÞµÇ´Â ÆÐŶµéÀº °ÔÀÌÆ®¿þÀÌ·Î º¸³»Áö°í °ÔÀÌÆ®¿þÀÌ´Â ÀÌ ÆÐŶÀ» Àü´ÞÇÑ´Ù. °¢ È£½ºÆ® µéÀº Á¤È®ÇÑ ±â°è¿¡ IP ÆÐŶÀ» Àü´ÞÇϱâ À§ÇØ ¶ó¿ìÆà Å×À̺í(routing table)À» ÀÛ¼ºÇÑ´Ù. ¶ó¿ì Æà Å×ÀÌºí¿¡´Â ¸ðµç IP ¸ñÀûÁö¿¡ ´ëÇØ ±× ¸ñÀûÁö¿¡ µµ´ÞÇϱâ À§ÇØ ¾î¶² È£½ºÆ®¿¡ IP ÆÐŶÀ» Àü´ÞÇØ¾ß ÇÏ´ÂÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëµÇ´Â Á¤º¸°¡ ÀÖ´Ù. ÀÌ ¶ó¿ìÆà Å×À̺íÀº µ¿ÀûÀ̾ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ³×Æ®¿öÅ©¸¦ »ç¿ëÇϰųª ³×Æ®¿öÅ© ±¸¼ºµµ°¡ º¯°æµÇ°Å³ª ÇÏ¸é ½Ã°£ÀÌ Áö³²¿¡ µû¶ó º¯°æµÈ´Ù.

IP ÇÁ·ÎÅäÄÝÀº ´Ù¸¥ ÇÁ·ÎÅäÄÝÀÌ µ¥ÀÌÅ͸¦ º¸³¾ ¶§ »ç¿ëÇÏ´Â Àü¼Û °èÃþÀÌ´Ù. TCP´Â ½Å·ÚÇÒ ¼ö ÀÖ´Â ÀÏ´ëÀÏ ÇÁ·ÎÅäÄݷμ­, µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ±â À§ÇØ IP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù. IP ÆÐŶ¿¡ Çì´õ°¡ ºÙ¾î ÀÖ´Â °Íó·³, TCP ÆÐŶ¿¡µµ Çì´õ°¡ ºÙ¾î ÀÖ´Ù. TCP´Â ¿¬°á Áß½ÉÀûÀÎ ÇÁ·ÎÅäÄÝ ·Î (À̸¦ »ç¿ëÇÏ´Â) µÎ ³×Æ®¿öÅ© ÀÀ¿ë ÇÁ·Î±×·¥Àº ±× »çÀÌ¿¡ ¸¹Àº ¼­ºê³×Æ®¿öÅ©, °ÔÀÌÆ®¿þÀÌ ¹× ¶ó¿ìÅÍ°¡ ÀÖ´õ¶óµµ ´ÜÀÏÇÑ °¡»óÀÇ Á¢¼ÓÀ» ÅëÇØ ¿¬°áµÈ´Ù. TCP´Â µÎ ÀÀ¿ëÇÁ·Î±×·¥°£ÀÇ µ¥ÀÌÅ͸¦ ½Å·ÚÇÒ ¼ö ÀÖ´Â ¹æ½ÄÀ¸·Î Àü´ÞÇÏ¸ç µ¥ÀÌÅÍÀÇ ¼Õ½ÇÀ̳ª Áߺ¹ÀÌ ¾ø´Ù´Â °ÍÀ» º¸ÀåÇÑ ´Ù. TCP°¡ IP¸¦ »ç¿ëÇÏ¿© TCP ÆÐŶÀ» Àü¼ÛÇÒ ¶§, IP ÆÐŶ¿¡ µé¾îÀÖ´Â µ¥ÀÌÅÍ´Â ¹Ù·Î TCP ÆÐŶÀÌ´Ù. ¼­·Î Åë½ÅÇÏ°í Àִ ȣ½ºÆ®ÀÇ IP °èÃþÀº IP ÆÐŶÀ» ÁÖ°í ¹Þ´Â ¿ªÇÒÀ» ÇÑ´Ù. UDP µµ (UDP) ÆÐŶÀ» Àü´ÞÇϴµ¥ IP °èÃþÀ» »ç¿ëÇÏÁö¸¸, TCP¿Í´Â ´Þ¸® UDP´Â ½Å·ÚÇÒ ¼ö ¾ø´Â ÇÁ·ÎÅäÄÝÀÌ¸ç µ¥ÀÌÅͱ׷¥(datagram) ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù. ÀÌ¿Í °°ÀÌ ´Ù¸¥ ÇÁ·ÎÅäÄÝÀÌ IP¸¦ »ç ¿ëÇÏ·Á¸é, IP ÆÐŶÀ» ¹ÞÀ» ¶§ IP °èÃþÀÌ ÀÌ IP ÆÐŶ¿¡ ´ã±ä µ¥ÀÌÅ͸¦ ¾î¶² »óÀ§ ÇÁ·ÎÅäÄÝ¿¡ Àü´ÞÇØ¾ß ÇÏ´ÂÁö¸¦ ¾Ë°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù. À̸¦ À§ÇØ ¸ðµç IP ÆÐŶ Çì´õ¿¡´Â ÇÁ·ÎÅäÄÝ ½Äº°ÀÚ ¸¦ ÁöÁ¤ÇÏ´Â ¹ÙÀÌÆ®°¡ ÀÖ´Ù. TCP°¡ IP °èÃþ¿¡´Ù IP ÆÐŶÀ» Àü¼ÛÇϵµ·Ï ¿äûÇϸé, ±× ÆÐŶ¿¡ TCP ÆÐŶÀÌ µé¾îÀÖ´Ù´Â °ÍÀ» IP ÆÐŶ Çì´õ¿¡ ±â·ÏÇÑ´Ù. IP °èÃþÀÌ µ¥ÀÌÅ͸¦ ¹ÞÀ¸¸é, ÀÌ ÇÁ·Î ÅäÄÝ ½Äº°ÀÚ¸¦ »ç¿ëÇÏ¿©, ¹ÞÀº µ¥ÀÌÅ͸¦ »óÀ§ÀÇ ¾î¶² °èÃþ¿¡ Àü´ÞÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. ÀÌ °æ¿ì ¿¡´Â TCP °èÃþÀÌ µÉ °ÍÀÌ´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÌ TCP/IP¸¦ ÅëÇØ Åë½ÅÀ» ÇÒ ¶§, ÀÀ¿ëÇÁ·Î±×·¥Àº »ó´ë¹æÀÇ IP ÁÖ¼Ò»Ó¸¸ ¾Æ´Ï¶ó ±× ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Æ÷Æ® ÁÖ¼Ò ¶ÇÇÑ ¸í½ÃÇÏ¿©¾ß ÇÑ´Ù. Æ÷Æ® ¹ø È£´Â ÀÀ¿ëÇÁ·Î±×·¥¸¶´Ù À¯ÀÏÇϸç, Ç¥ÁØ ³×Æ®¿öÅ© ÀÀ¿ëÇÁ·Î±×·¥Àº Ç¥ÁØ Æ÷Æ®¹øÈ£¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, À¥¼­¹ö´Â 80¹ø Æ÷Æ®¸¦ »ç¿ëÇÑ´Ù. ÀÌ·¯ÇÑ µî·ÏµÈ Æ÷Æ®¹øÈ£´Â /etc/services¿¡ ¼­ º¼ ¼ö ÀÖ´Ù.

ÇÁ·ÎÅäÄÝÀÇ °èÃþ±¸Á¶´Â TCP, UDP ¹× IP·Î (±¸ºÐÇÏ´Â °ÍÀ¸·Î) ³¡³ª´Â °ÍÀÌ ¾Æ´Ï´Ù. IP ÇÁ·ÎÅä ÄÝ ÀÚüµµ IP ÆÐŶÀ» ´Ù¸¥ IP È£½ºÆ®·Î Àü¼ÛÇϴµ¥ ¼ö¸¹Àº ÀåÄ¡µéÀ» »ç¿ëÇÑ´Ù. ÀÌ ÀåÄ¡´Â ÀڽŸ¸ÀÇ ÇÁ·ÎÅäÄÝ Çì´õ¸¦ Ãß°¡Çϱ⵵ ÇÑ´Ù. ÀÌ·¯ÇÑ ¿¹·Î´Â ÀÌ´õ³Ý °èÃþÀÌ ÀÖÀ¸¸ç, ¶Ç ´Ù¸¥ ¿¹·Î PPP¿Í SLIPÀÌ ÀÖ´Ù. ÀÌ´õ³Ý ³×Æ®¿öÅ©¿¡¼­ ¸¹Àº È£½ºÆ®°¡ ½ÇÁ¦ ÄÉÀ̺í Çϳª¿¡ µ¿½Ã¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. Àü¼ÛµÇ´Â ¸ðµç ÀÌ´õ³Ý ÇÁ·¹ÀÓÀº ¿¬°áµÈ ¸ðµç È£½ºÆ®¿¡ º¸ÀÌ°Ô µÇ¹Ç·Î3 ¸ð µç ÀÌ´õ³Ý ÀåÄ¡´Â °íÀ¯ÇÑ ÁÖ¼Ò¸¦ °®´Â´Ù. È£½ºÆ®´Â ÀÚ±â ÁÖ¼Ò·Î ¹è´ÞµÇ´Â ¸ðµç ÀÌ´õ³Ý ÇÁ·¹ ÀÓÀ» ¹Þ¾ÆµéÀÌÁö¸¸, °°Àº ³×Æ®¿öÅ©¿¡ ¿¬°áµÈ ´Ù¸¥ È£½ºÆ®µéÀº À̸¦ ¹«½ÃÇÏ°Ô µÈ´Ù. ÀÌ´õ³ÝÀÇ ÀÌ·± À¯ÀÏÇÑ ÁÖ¼Ò´Â ÀÌ´õ³Ý ÀåÄ¡¸¦ ¸¸µé ¶§ Àû¾î³Ö°Ô µÇ´Âµ¥, ÀϹÝÀûÀ¸·Î ÀÌ´õ³Ý Ä«µåÀÇ SROM4¿¡ µé¾î ÀÖ´Ù. ÀÌ´õ³Ý ÁÖ¼Ò´Â 6¹ÙÀÌÆ® ±æÀÌÀε¥ ¿¹¸¦ µé¸é 08-00-2B-00-49-A4°°Àº °ª À» °®´Â´Ù. ¾î¶² ÀÌ´õ³Ý ÁÖ¼Ò´Â ¸ÖƼij½ºÆ®(multicast) ¸ñÀûÀ¸·Î ¿¹¾àµÇ¾î Àִµ¥, ÀÌ·± ÁÖ¼Ò ·Î º¸³»Áö´Â ÀÌ´õ³Ý ÇÁ·¹ÀÓÀº °°Àº ³×Æ®¿öÅ© ¾È¿¡ ÀÖ´Â ¸ðµç È£½ºÆ®°¡ ¹Þ´Â´Ù. ÀÌ´õ³Ý ÇÁ·¹ ÀÓÀº (µ¥ÀÌÅÍ·Î) ¼ö¸¹Àº ÇÁ·ÎÅäÄݵéÀ» Àü¼ÛÇÒ ¼ö Àֱ⠶§¹®¿¡, IP ÆÐŶ°ú °°ÀÌ Çì´õ¿¡ ÇÁ·Î ÅäÄÝ ½Äº°ÀÚ°¡ ÀÖ´Ù. ÀÌ¿¡ µû¶ó ÀÌ´õ³Ý °èÃþÀº Á¤È®ÇÏ°Ô IP ÆÐŶÀ» ¹Þ¾Æ IP °èÃþ¿¡ Àü´ÞÇÒ ¼ö ÀÖ´Ù.

ÀÌ´õ³Ý°ú °°Àº ´ÙÁß Á¢¼Ó ÇÁ·ÎÅäÄÝÀ» ÅëÇØ IP ÆÐŶÀ» º¸³»±â À§Çؼ­´Â IP °èÃþÀº IP È£½ºÆ® ÀÇ ÀÌ´õ³Ý ÁÖ¼Ò¸¦ ã¾Æ¾ß¸¸ ÇÑ´Ù. IP ¾îµå·¹½º´Â ´ÜÁö °³³äÀûÀÎ ÁÖ¼ÒÀÏ »ÓÀÌ°í, °íÀ¯ÇÑ ¹°¸® ÀûÀÎ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´Â °ÍÀº ÀÌ´õ³Ý ÀåÄ¡À̱⠶§¹®ÀÌ´Ù. ¹Ý¸é¿¡ IP ÁÖ¼Ò´Â ³×Æ®¿öÅ© °ü¸® ÀÚÀÇ ÀÇÁö´ë·Î ÁöÁ¤µÇ°í º¯°æµÉ ¼ö ÀÖÁö¸¸, ³×Æ®¿öÅ© Çϵå¿þ¾î´Â ÀÚ½ÅÀÇ ¹°¸®Àû ÁÖ¼Ò ¶Ç´Â ¸ðµç ±â°è°¡ ¹Þ¾Æ¾ß¸¸ Çϴ Ưº°ÇÑ ¸ÖƼij½ºÆ®¿¡¸¸ ¹ÝÀÀÇÑ´Ù. ¸®´ª½º´Â IP ÁÖ¼Ò¸¦ ÀÌ´õ³Ý ÁÖ¼Ò¿Í °°Àº ½ÇÁ¦ Çϵå¿þ¾î ÁÖ¼Ò º¯È¯Çϱâ À§ÇØ ARP(Address Resolution Protocol)¸¦ »ç¿ëÇÑ´Ù. ƯÁ¤ÇÑ IP ÁÖ¼Ò¸¦ °¡Áø Çϵå¿þ¾î ÁÖ¼Ò¸¦ ¾Ë°íÀÚ Çϴ ȣ½ºÆ®´Â º¯È¯ÇÏ°íÀÚ ÇÏ´Â IP ÁÖ¼Ò°¡ ´ã±ä ARP ¿äû ÆÐŶÀ» ¸ÖƼij½ºÆ® ÁÖ¼Ò¿¡ º¸³» ¸ðµç ³ëµå¿¡ Àü´ÞÇÑ´Ù. ±× IP ÁÖ¼Ò¸¦ °¡Áö °í Àִ ȣ½ºÆ®´Â ÀÚ½ÅÀÇ Çϵå¿þ¾î ÁÖ¼Ò°¡ ´ã±ä ARP ÀÀ´äÀ» µ¹·ÁÁØ´Ù. ARP´Â ÀÌ´õ³Ý ÀåÄ¡ ¸¸ »ç¿ëµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó IP ÁÖ¼Ò¸¦ FDDI¿Í °°Àº ´Ù¸¥ ¹°¸®Àû ÀåÄ¡ÀÇ ÁÖ¼Ò·Î º¯È­Çϴµ¥¿¡ µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ARP¸¦ ÇÒ ¼ö ¾ø´Â ³×Æ®¿öÅ© ÀåÄ¡µéÀº µû·Î Ç¥½Ã¸¦ ÇØ µÎ¾î ¸®´ª½º´Â (ÀÌ ÀåÄ¡¿¡ ´ëÇؼ­´Â) ARP¸¦ ½ÃµµÇÏÁö ¾Ê´Â´Ù. ÀÌ¿Í´Â ¹Ý´ëµÇ´Â ±â´ÉÀ¸·Î RARP(Reverse Address Resolution Protocol)°¡ Àִµ¥, ÀÌ°ÍÀº ¹°¸®Àû ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ IP ÁÖ¼Ò·Î º¯È¯ÇÑ´Ù. ÀÌ ±â´ÉÀº °ÔÀÌÆ®¿þÀÌ°¡ »ç¿ëÇϴµ¥, °ÔÀÌÆ®¿þÀÌ´Â ¿ø°Ý ³×Æ®¿öÅ©¿¡ ÀÖ´Â IP ÁÖ¼Ò¸¦ ´ë½ÅÇØ ¼­ ARP ¿äû¿¡ ÀÀ´äÇÑ´Ù.


±×¸² 10.2 : ¸®´ª½ºÀÇ ³×Æ®¿öÅ· °èÃþ

10.2 ¸®´ª½ºÀÇ TCP/IP ³×Æ®¿öÅ· °èÃþ

³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ°ú ¸¶Âù°¡Áö·Î, ±×¸² 10.2¿¡¼­ º¼ ¼ö ÀÖ´Â °Íó·³ ¸®´ª½º´Â ÀÎÅÍ³Ý ÇÁ·Î ÅäÄÝ ÁÖ¼Ò Æйи®(address family)¸¦ ÀÏ·ÃÀÇ ¿¬°üµÈ ¼ÒÇÁÆ®¿þ¾î °èÃþÀ¸·Î ±¸ÇöÇÏ°í ÀÖ´Ù. BSD ¼ÒÄÏÀº BSD ¼ÒÄϸ¸ ó¸®ÇÏ´Â ÀϹÝÀûÀÎ ¼ÒÄÏ °ü¸® ¼ÒÇÁÆ®¿þ¾î°¡ Áö¿øÇÑ´Ù. INET ¼ÒÄÏ °èÃþ Àº ¼ÒÄÏ °ü¸® ¼ÒÇÁÆ®¿þ¾î¸¦ Áö¿øÇϴµ¥, ÀÌ°ÍÀº IP ±â¹ÝÀÇ ÇÁ·ÎÅäÄÝÀÎ TCP¿Í UDPÀÇ Åë½Å Á¾Á¡À» °ü¸®ÇÑ´Ù. UDP(User Datagram Protocol)´Â ºñ¿¬°áÁöÇâ ¹æ½ÄÀÇ ÇÁ·ÎÅäÄÝ(connectionless protocol)Àε¥ ºñÇØ, TCP(Transmission Control Protocol)´Â ¿¬°áÁöÇâÀÇ ½Å·ÚÇÒ ¼ö ÀÖ´Â ÀÏ´ëÀÏ ÇÁ ·ÎÅäÄÝÀÌ´Ù. UDP ÆÐŶÀ» Àü¼ÛÇÒ ¶§, ¸®´ª½º´Â ±× ÆÐŶÀÌ ¸ñÀûÁö¿¡ ¾ÈÀüÇÏ°Ô µµÂøÇÏ¿´´ÂÁö¸¦ ¾Ë ¼öµµ ¾ø°í ½Å°æÀ» ¾²Áöµµ ¾Ê´Â´Ù. TCP ÆÐŶµé¿¡´Â ¹øÈ£¸¦ ¸Å°Ü, TCP Á¢¼ÓÀÇ ¾ç ³¡(Á¾Á¡ È£½ºÆ®)Àº Àü¼Û µ¥ÀÌÅÍ°¡ Á¤È®ÇÏ°Ô ¼ö½ÅµÇ¾ú´ÂÁö¸¦ È®ÀÎÇÑ´Ù. IP °èÃþ¿¡´Â ÀÎÅÍ³Ý ÇÁ·ÎÅäÄÝ À» ±¸ÇöÇÑ Äڵ尡 µé¾î ÀÖ´Ù. ÀÌ ÄÚµå´Â Àü¼ÛÇÏ´Â µ¥ÀÌÅÍ ¾Õ¿¡ IP Çì´õ¸¦ ºÙÀÌ°í, µé¾î¿À´Â IP ÆÐŶÀ» TCP³ª UDP °èÃþÀ¸·Î ¾î¶»°Ô Àü´ÞÇÏ´ÂÁö¸¦ ¾Ë°í ÀÖ´Ù. IP °èÃþ ¾Æ·¡¿¡¼­ PPP ¶Ç ´Â ÀÌ´õ³Ý°ú °°Àº ³×Æ®¿öÅ© ÀåÄ¡µéÀÌ ¸®´ª½ºÀÇ ¸ðµç ³×Æ®¿öÅ·À» Áö¿øÇÑ´Ù. ³×Æ®¿öÅ© ÀåÄ¡¶ó °í Ç×»ó ¹°¸®ÀûÀÎ ÀåÄ¡¸¸À» °¡¸®Å°´Â °ÍÀº ¾Æ´Ï´Ù. ·çÇÁ¹é ÀåÄ¡¿Í °°Àº ¸î¸î ÀåÄ¡´Â ¼øÀüÈ÷ ¼ÒÇÁÆ®¿þ¾î·Î¸¸ ÀÛ¼ºµÇ¾î ÀÖ´Ù. mknod ¸í·ÉÀ¸·Î ¸¸µé¾îÁö´Â Ç¥ÁØÀûÀÎ ¸®´ª½º ÀåÄ¡¿Í´Â ´Þ ¸®, ³×Æ®¿öÅ© ÀåÄ¡´Â °ü·ÃµÈ ¼ÒÇÁÆ®¿þ¾î°¡ ÀåÄ¡¸¦ ã¾Æ³» ÃʱâÈ­ÇؾßÁö¸¸ ³ªÅ¸³­´Ù. ±×·¡¼­ ÇØ´çÇÏ´Â ÀÌ´õ³Ý µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ³Ö¾î¼­ Ä¿³ÎÀ» ºôµåÇؾ߸¸ /dev/eth0¸¦ º¼ ¼ö ÀÖ ´Ù. ARP ÇÁ·ÎÅäÄÝÀº IP °èÃþ°ú °¢Á¾ ÁÖ¼Ò¿¡ ´ëÇÑ ARP¸¦ Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ »çÀÌ¿¡ ÀÖ´Ù.


10.3 BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º(Socket Interface)

BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º´Â ´Ù¾çÇÑ ÇüÅÂÀÇ ³×Æ®¿öÅ· »Ó¸¸ ¾Æ´Ï¶ó ÇÁ·Î¼¼½º°£ Åë½Åµµ Áö¿øÇÏ´Â ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽ºÀÌ´Ù. ¼ÒÄÏÀº Åë½Å ¿¬°áÀÇ ÇÑÂÊ ³¡À¸·Î »ý°¢ÇÒ ¼ö Àִµ¥, Åë½ÅÇÑ°í ÀÖ ´Â µÎ ÇÁ·Î¼¼½º´Â Åë½Å ¿¬°á¿¡¼­ ÀÚ½ÅÂÊ ³¡¿¡ ÇØ´çÇÏ´Â ¼ÒÄÏÀ» °¡Áö°Ô µÈ´Ù. ¼ÒÄÏÀ» Ưº°ÇÑ Á¾·ùÀÇ ÆÄÀÌÇÁ·Î »ý°¢ÇÒ ¼öµµ ÀÖÁö¸¸, ÆÄÀÌÇÁ¿Í´Â ´Þ¸® ¼ÒÄÏÀº °Å±â¿¡ ´ãÀ» ¼ö ÀÖ´Â µ¥ÀÌÅÍ ÀÇ ¾ç¿¡ Á¦ÇÑÀÌ ¾ø´Ù. ¸®´ª½º´Â ¸î °¡Áö Ŭ·¡½ºÀÇ ¼ÒÄÏÀ» Áö¿øÇϴµ¥, À̰͵éÀ» ÁÖ¼Ò Æйи® (address family)¶ó°í ºÎ¸¥´Ù. ÀÌ´Â °¢ Ŭ·¡½ºº°·Î ÀÚ½ÅÀÇ Åë½Å¿¡ »ç¿ëÇÏ´Â ÁÖ¼Ò Ç¥Çö¹ýÀ» °¡ Áö°í Àֱ⠶§¹®ÀÌ´Ù. ¸®´ª½º´Â ´ÙÀ½°ú °°Àº ¼ÒÄÏ ÁÖ¼Ò Æйи® ¶Ç´Â µµ¸ÞÀÎÀ» Áö¿øÇÑ´Ù.

UNIX		À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏ (Unix domain socket)
INET		TCP/IP ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÑ Åë½ÅÀ» Áö¿øÇÏ´Â ÀÎÅÍ³Ý ÁÖ¼Ò Æйи®
AX25		¾Æ¸¶Ãß¾î ¶óµð¿À X.25
IPX		³ëº§ÀÇ IPX ÇÁ·ÎÅäÄÝ
APPLETALK	¾ÖÇûçÀÇ Appletalk DDP ÇÁ·ÎÅäÄÝ
X25		X.25 ÇÁ·ÎÅäÄÝ

¼ÒÄÏ¿¡´Â ¸î°¡Áö ŸÀÔÀÌ ÀÖÀ¸¸ç, ÀÌ´Â Á¢¼ÓÀ» Áö¿øÇÏ´Â ¼­ºñ½ºÀÇ Á¾·ù¸¦ ³ªÅ¸³½´Ù. ¸ðµç ÁÖ ¼Ò Æйи®°¡ ¸ðµç ÇüÅÂÀÇ ¼­ºñ½º¸¦ Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¸®´ª½º BSD ¼ÒÄÏÀº ¸î°¡Áö ¼ÒÄÏ Å¸ÀÔÀ» Áö¿øÇÑ´Ù.

¼ÒÄÏÀ» »ç¿ëÇÏ¿© Åë½ÅÀ» ÇÏ´Â ÇÁ·Î¼¼½º´Â Ŭ¶óÀ̾ðÆ® ¼­¹ö ¸ðµ¨À» µû¸¥´Ù. ¼­¹ö´Â ¼­ºñ½º¸¦ Á¦°øÇÏ°í Ŭ¶óÀ̾ðÆ®´Â ÀÌ ¼­ºñ½º¸¦ ÀÌ¿ëÇÑ´Ù. ÀÌ·± ¿¹·Î À¥ ÆäÀÌÁö¸¦ Á¦°øÇÏ´Â À¥ ¼­¹ö¿Í ±× ÆäÀÌÁöµéÀ» Àд À¥ Ŭ¶óÀ̾ðÆ® ¶Ç´Â ºê¶ó¿ìÀú¸¦ µé ¼ö ÀÖ´Ù. ¼ÒÄÏÀ» »ç¿ëÇÏ´Â ¼­¹ö´Â ¸ÕÀú ¼ÒÄÏÀ» ¸¸µç ÈÄ ¼ÒÄÏ¿¡ À̸§À» ¹ÙÀεå(bind)ÇÑ´Ù. ÀÌ À̸§ÀÇ Çü½ÄÀº ¼ÒÄÏÀÇ ÁÖ¼Ò ÆйР¸®¿¡ µû¶ó ´Þ¶óÁö´Âµ¥, ½ÇÁ¦·Î´Â ¼­¹öÀÇ ·ÎÄà ÁÖ¼Ò°¡ µÈ´Ù. ¼ÒÄÏÀÇ À̸§ ¶Ç´Â ÁÖ¼Ò´Â sockaddr ÀÚ·á ±¸Á¶¸¦ ÀÌ¿ëÇØ ¸í½ÃÇÑ´Ù. INET ¼ÒÄÏÀº ±×°Í¿¡ ¹ÙÀεåµÈ IP Æ÷Æ® ÁÖ¼Ò¸¦ °¡ Áö°Ô µÈ´Ù. µî·ÏµÈ Æ÷Æ® ¹øÈ£´Â /etc/services¿¡¼­ º¼ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, À¥ ¼­¹öÀÇ Æ÷ Æ®¹øÈ£´Â 80¹øÀÌ´Ù. ¼ÒÄÏ¿¡ ÁÖ¼Ò°¡ ¹ÙÀεåµÇ¾ú´Ù¸é, ¼­¹ö´Â ±× ¹ÙÀεåµÈ ÁÖ¼Ò¸¦ °¡¸®Å°´Â ¿¬°á ¿äûÀÌ µé¾î¿À´ÂÁö ¸®½¼(listen)À» ÇÑ´Ù. ¿¬°á ¿äûÀ» Çϴ Ŭ¶óÀ̾ðÆ®´Â ¼ÒÄÏÀ» ¸¸µé°í ¼­¹öÀÇ ÁÖ¼Ò¸¦ ¸í½ÃÇÏ¿© ¼ÒÄÏ¿¡ ´ëÇØ ¿¬°á ¿äûÀ» ÇÑ´Ù. INET ¼ÒÄÏ¿¡¼­ ¼­¹öÀÇ ÁÖ¼Ò´Â ¼­¹ö ÀÇ IP ÁÖ¼Ò¿Í Æ÷Æ® ¹øÈ£ÀÌ´Ù. ÀÌ·¯ÇÑ ¿¬°á ¿äûÀº ´Ù¾çÇÑ ÇÁ·ÎÅäÄÝ °èÃþÀ» ÅëÇØ Àü´ÞµÇ¾î ¼­¹öÀÇ ¸®½¼ ¼ÒÄÏ¿¡ µµ´ÞÇÏ°Ô µÈ´Ù. ¼­¹ö°¡ ¿¬°á ¿äûÀ» ¹ÞÀ¸¸é, ÀÌ°ÍÀ» ¹Þ¾ÆµéÀ̰ųª (accept) ¶Ç´Â °ÅºÎÇÑ´Ù(reject). ¿¬°á ¿äûÀ» ¹Þ¾ÆµéÀ̱â·Î ÇÏ¿´´Ù¸é, ¼­¹ö´Â ¿¬°áÀ» ¹Þ¾ÆµéÀÏ »õ·Î¿î ¼ÒÄÏÀ» ¸¸µç´Ù. ¿¬°á ¿äûÀ» ¸®½¼Çϴµ¥ »ç¿ëÇÏ´Â ¼ÒÄÏÀº ¿¬°áÀ» ¹Þ¾ÆµéÀ̴µ¥ »ç¿ë ÇÒ ¼ö´Â ¾ø´Ù. ¿¬°áÀÌ ÀÌ·ç¾îÁö°í ³ª¸é, ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ®´Â ÀÚÀ¯·Ó°Ô µ¥ÀÌÅ͸¦ ÁÖ°í ¹ÞÀ» ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î, ¿¬°áÀÌ ´õÀÌ»ó ÇÊ¿ä¾ø´Â °æ¿ì ¼ÒÄÏÀ» Á¾·á(shutdown)ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¶§ Àü¼Û Áß¿¡ ÀÖ´Â µ¥ÀÌÅÍ ÆÐŶÀÌ Á¤È®ÇÏ°Ô Ã³¸®µÇ¾ú´ÂÁö¿¡ À¯ÀÇÇÏ¿©¾ß ÇÑ´Ù.

BSD ¼ÒÄÏ¿¡ ¾î¶² Á¶ÀÛÀ» °¡ÇÏ´Â °ÍÀÌ ¹«¾ùÀ» ÀǹÌÇÏ´ÂÁö´Â ¾î¶² ÁÖ¼Ò Æйи® À§¿¡¼­ ÀÛ¾÷ À» ÇÏ°í ÀÖ´À³Ä¿¡ µû¶ó ´Ù¸£´Ù. TCP/IP Á¢¼ÓÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¾Æ¸¶Ãß¾î ¶óµð¿À X.25 Á¢¼ÓÀ» ¼³Á¤ÇÏ´Â °Í°ú´Â ¾ÆÁÖ ´Ù¸£´Ù. °¡»ó ÆÄÀÏ ½Ã½ºÅÛ°ú ¸¶Âù°¡Áö·Î ¸®´ª½º´Â BSD ¼ÒÄÏ °èÃþÀ¸ ·Î ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¸¦ Ãß»óÈ­ÇÑ´Ù. BSD ¼ÒÄÏ °èÃþÀº BSD ¼ÒÄÏ °èÃþÀÌ ÀÀ¿ëÇÁ·Î±×·¥°ú ÀÎÅÍ ÆäÀ̽ºÇÏ´Â °Í¿¡ °ü·ÃµÈ´Ù. ÀÌ·± ¼ÒÄÏ ÀÎÅÍÆäÀ̽º´Â µ¶¸³µÈ ÁÖ¼Ò Æйи®¸¦ °¡Áö´Â ¼ÒÇÁÆ®¿þ ¾î¿¡ ÀÇÇØ Áö¿øÀ» ¹Þ´Â´Ù. Ä¿³Î ÃʱâÈ­ °úÁ¤¿¡¼­, Ä¿³Î¿¡ ±¸ÇöµÈ ÁÖ¼Ò Æйи®´Â (ÀÚ½ÅÀÌ Áö ¿øÇÏ´Â) BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¿Í ÇÔ²² ÀÚ½ÅÀ» µî·ÏÇÑ´Ù. ³ªÁß¿¡ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ BSD ¼ÒÄÏÀ» ¸¸µé°í »ç¿ëÇÒ ¶§, BSD ¼ÒÄÏ°ú ±×°ÍÀÌ Áö¿øÇÏ´Â ÁÖ¼Ò Æйи® »çÀÌÀÇ ¿¬°üÀÌ ¸¸µé¾îÁø´Ù. ÀÌ ·¯ÇÑ ¿¬°ü°ü°è´Â ±³Â÷¿¬°á ÀڷᱸÁ¶¿Í ÁÖ¼Ò Æйи® °íÀ¯ÀÇ Áö¿ø ·çƾ Å×À̺íÀ» ÅëÇØ ¸¸µé¾î Áø´Ù. ¿¹¸¦ µé¾î ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »õ·Î¿î ¼ÒÄÏÀ» ¸¸µé ¶§ BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º°¡ »ç¿ëÇÏ´Â ÁÖ¼Ò Æйи® °íÀ¯ÀÇ ¼ÒÄÏ »ý¼º ·çƾÀÌ ÀÖ´Ù.

Ä¿³ÎÀ» ¼³Á¤ÇÒ ¶§ (¸¹Àº) ÁÖ¼Ò Æйи®¿Í ÇÁ·ÎÅäÄÝÀ» protocols º¤ÅÍ¿¡ ³Ö´Â´Ù. protocols º¤ÅÍ¿¡´Â °¢ ÁÖ¼Ò Æйи® ¶Ç´Â ÇÁ·ÎÅäÄÝÀÇ À̸§ (¿¹¸¦ µé¸é "INET")°ú ÃʱâÈ­ ·çƾÀÌ µé¾î °£´Ù. ½Ã½ºÅÛÀÌ ºÎÆõǸ鼭 ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¸¦ ÃʱâÈ­ÇÒ ¶§, °¢ ÇÁ·ÎÅäÄÝÀÇ ÃʱâÈ­ ·çƾÀÌ ºÒ¸®°Ô µÈ´Ù. ¿©±â¼­ ¼ÒÄÏ ÁÖ¼Ò Æйи® º°·Î ÀÏ·ÃÀÇ ÇÁ·ÎÅäÄÝ ¿¬»ê ·çƾÀ» µî·ÏÇÏ°Ô µÈ´Ù. ÀÌ°ÍÀº ·çƾµéÀÇ ÁýÇÕÀÌ¸ç °¢ ·çƾÀº ÇØ´ç ÁÖ¼Ò Æйи®ÀÇ °íÀ¯ÇÑ Æ¯Á¤ ¿¬»êÀ» ¼öÇàÇÑ´Ù. proto_ops ÀڷᱸÁ¶´Â ÁÖ¼Ò Æйи® ŸÀÔ°ú ƯÁ¤ ÁÖ¼Ò Æйи®¿¡ °íÀ¯ÇÑ ¼ÒÄÏ ¿¬»ê ·çƾ¿¡ ´ëÇÑ Æ÷ÀÎÅ͵éÀÇ ÁýÇÕÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. pops º¤ÅÍ´Â ÀÎÅÍ³Ý ÁÖ¼Ò Æйи®°°Àº (AF_INET Àº 2ÀÌ´Ù) ÁÖ¼Ò Æйи® ½Äº°ÀÚ·Î À妽º µÇ¾îÀÖ´Ù.


10.4 INET ¼ÒÄÏ °èÃþ

INET ¼ÒÄÏ °èÃþÀº TCP/IP ÇÁ·ÎÅäÄݵéÀ» Æ÷ÇÔÇÏ´Â ÀÎÅÍ³Ý ÁÖ¼Ò Æйи®¸¦ Áö¿øÇÑ´Ù. À§¿¡¼­ ¼³¸íÇÑ °Íó·³ À̵é ÇÁ·ÎÅäÄݵéÀº °èÃþÀûÀÌ°í, ÇÑ ÇÁ·ÎÅäÄÝÀÌ ´Ù¸¥ ÇÁ·ÎÅäÄÝÀÇ ¼­ºñ½º¸¦ »ç ¿ëÇÑ´Ù. ¸®´ª½ºÀÇ TCP/IP ÄÚµå¿Í ÀڷᱸÁ¶´Â ÀÌ °èÃþ±¸Á¶¸¦ ¹Ý¿µÇÑ´Ù. BSD ¼ÒÄÏ °èÃþÀ¸·ÎÀÇ ÀÎÅÍÆäÀ̽º´Â ³×Æ®¿öÅ© ÃʱâÈ­ µµÁß¿¡ BSD ¼ÒÄÏ °èÃþ¿¡ µî·Ï ÇÑ ÀÎÅÍ³Ý ÁÖ¼Ò Æйи® ¼ÒÄÏ ÇÔ¼öµéÀ» ÅëÇÑ´Ù. À̵éÀº µî·ÏµÈ ´Ù¸¥ ÁÖ¼Ò Æйи®¿Í ÇÔ²²pops º¤ÅÍ¿¡¼­ º¸°üÇÑ´Ù. BSD ¼Ò ÄÏ°èÃþÀº µî·ÏµÈ INET proto_ops ÀڷᱸÁ¶·ÎºÎÅÍ INET °èÃþÀÇ ¼ÒÄÏÁö¿ø ·çƾÀ» È£ÃâÇÏ¿© ÇÊ¿äÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù. ¿¹¸¦ µé¾î, ÁÖ¼Ò Æйи®¿¡ INETÀ» ÁÖ°í BSD ¼ÒÄÏÀ» ¸¸µé¶ó°í ¿ä±¸ ÇÑ´Ù¸é, ÀÌ´Â ¹Ø¿¡ ÀÖ´Â INET ¼ÒÄÏ »ý¼º ÇÔ¼ö¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. BSD ¼ÒÄÏ °èÃþÀº ÀÌµé °¢°¢ ÀÇ ÇÔ¼ö¸¶´Ù INET °èÃþ¿¡ BSD ¼ÒÄÏÀ» ³ªÅ¸³»´Â socket ÀڷᱸÁ¶¸¦ Àü´ÞÇÑ´Ù. BSD socketÀ» TCP/IP¿¡¸¸ ÇÊ¿äÇÑ Á¤º¸·Î ¾îÁö·´È÷±â º¸´Ù´Â INET ¼ÒÄÏ °èÃþÀº ÀڽŸ¸ÀÇ ÀÚ·á ±¸Á¶ÀÎ sockÀ» °¡Áö°í ÀÚ½ÅÀ» BSD socket ÀڷᱸÁ¶¿Í ¿¬°áÇÑ´Ù. ÀÌ·± ¿¬°áÀº ±×¸² 10.3 ¿¡¼­ º¼ ¼ö ÀÖ´Ù. sock ÀڷᱸÁ¶´Â BSD socket¿¡ ÀÖ´Â data Æ÷ÀÎÅ͸¦ ÅëÇØ BSD socket ÀڷᱸÁ¶¿Í ¿¬°áµÈ´Ù. ÀÌ°ÍÀº °è¼ÓµÈ INET ¼ÒÄÏ È£Ãâ¿¡¼­ ½±°Ô sock ÀڷᱸÁ¶¸¦ ¾ò¾î¿Ã ¼ö ÀÖ´Ù´Â ÀǹÌÀÌ´Ù. sock ÀڷᱸÁ¶ÀÇ ÇÁ·ÎÅäÄÝ ÇÔ¼ö Æ÷ÀÎÅÍ ¿ª½Ã »ý¼º½Ã¿¡ ¼Â¾÷ÀÌ µÇ¸ç, ÀÌ´Â ¿ä±¸ÇÑ ÇÁ·ÎÅäÄÝ¿¡ µû¶ó ´Ù¸£´Ù. ¸¸¾à TCP¸¦ ¿ä±¸Çß´Ù¸é, sock ÀڷᱸÁ¶ÀÇ ÇÁ·ÎÅäÄÝ ÇÔ¼ö Æ÷ÀÎÅÍ´Â TCP ¿¬°áÀ» À§ÇØ ÇÊ¿äÇÑ TCP ÇÁ·ÎÅäÄÝ ÇÔ¼ö ÁýÇÕÀ» °¡¸®Å³ °ÍÀÌ´Ù.


±×¸² 10.3 : ¸®´ª½º BSD ¼ÒÄÏ ÀڷᱸÁ¶

10.4.1 BSD ¼ÒÄÏ ¸¸µé±â

»õ ¼ÒÄÏÀ» ¸¸µå´Â ½Ã½ºÅÛ ÄÝ¿¡´Â ÁÖ¼Ò Æйи® ½Äº°ÀÚ¿Í ¼ÒÄÏ Å¸ÀÔ, ±×¸®°í ÇÁ·ÎÅäÄÝÀ» ÀÎÀÚ ·Î ÁØ´Ù. ¸ÕÀú, ¿ä±¸ÇÑ ÁÖ¼Ò Æйи®¸¦ »ç¿ëÇÏ¿© pops º¤ÅÍ¿¡¼­ ÀÏÄ¡ÇÏ´Â ÁÖ¼Ò Æйи®°¡ ÀÖ ´ÂÁö ã´Â´Ù. ¾î¶² ÁÖ¼Ò Æйи®´Â Ä¿³Î ¸ðµâ·Î ¸¸µé¾îÁ® ÀÖÀ» ¼öµµ Àִµ¥, ÀÌ °æ¿ì kerneld µ¥¸óÀÌ ÀÌ ¸ðµâÀ» Àоîµé¿©¾ß ÀÛ¾÷À» °è¼ÓÇÒ ¼ö ÀÖ´Ù. BSD ¼ÒÄÏÀ» ³ªÅ¸³»±â À§ÇØ »õ socket ÀڷᱸÁ¶¸¦ ÇÒ´çÇÑ´Ù. ½ÇÁúÀûÀ¸·Î socket ÀڷᱸÁ¶´Â ¹°¸®ÀûÀ¸·Î VFS inode ÀڷᱸÁ¶ÀÇ ÇÑ ºÎºÐÀÌ°í ¼ÒÄÏÀ» ÇÒ´çÇÑ´Ù´Â °ÍÀº ½ÇÁ¦·Î´Â VFS inode¸¦ ÇÒ´çÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ´Â ¼ÒÄÏÀÌ ÀÏ¹Ý ÆÄÀÏ°ú ¶È°°Àº ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÑ´Ù´Â °ÍÀ» »ý°¢ÇÑ´Ù¸é º°·Î ÀÌ »óÇÏ°Ô º¸ÀÌÁø ¾ÊÀ» °ÍÀÌ´Ù. ¸ðµç ÆÄÀÏÀº VFS inode ÀڷᱸÁ¶·Î ³ªÅ¸³»Áö¸ç, µû¶ó¼­ ÆÄÀÏ ÇÔ¼öµéÀ» Áö¿øÇÏ·Á¸é BSD ¼ÒÄÏ ¿ª½Ã VFS inode ÀڷᱸÁ¶·Î Ç¥ÇöµÇ¾î¾ß ÇÑ´Ù.

»õ·Î ¸¸µé¾îÁø BSD socket ÀڷᱸÁ¶´Â ÁÖ¼Ò Æйи®¿¡ µû¶ó Ư¼öÇÑ ¼ÒÄÏ ·çƾµé¿¡ ´ëÇÑ Æ÷ ÀÎÅ͸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ´Â pops º¤ÅÍ¿¡¼­ ¾òÀ» ¼ö ÀÖ´Â proto_ops ÀڷᱸÁ¶¿¡ ¼³Á¤µÈ ´Ù. ŸÀÔÀº ¿ä±¸ÇÑ ¼ÒÄÏ Å¸ÀÔÀ¸·Î ¼³Á¤µÈ´Ù. Áï SOCK_STREAM, SOCK_DGRAM µîµî ÁßÀÇ ÇÏ ³ªÀÌ´Ù. ÁÖ¼Ò Æйи®¿¡ µû¶ó ´Ù¸¥ »ý¼º ÇÔ¼ö¸¦ proto_ops ÀڷᱸÁ¶¿¡ ÀÖ´Â ÁÖ¼Ò¸¦ ÀÌ¿ëÇÏ ¿© È£ÃâÇÑ´Ù.

ÅÖºó ÆÄÀÏ ±â¼úÀÚ(descriptor)°¡ ÇöÀç ÇÁ·Î¼¼½ºÀÇ fd º¤ÅÍ¿¡¼­ ÇÒ´çµÇ°í, À̸¦ °¡¸®Å°´Âfile ÀڷᱸÁ¶°¡ ÃʱâÈ­µÈ´Ù. ÀÌ´Â ÆÄÀÏ ÇÔ¼ö Æ÷ÀÎÅÍ°¡ BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¿¡¼­ Áö¿øÇÏ´Â BSD ¼ÒÄÏ ÆÄÀÏ ÇÔ¼öµéÀ» °¡¸®Å°µµ·Ï ¼³Á¤ÇÏ´Â °ÍÀ» Æ÷ÇÔÇÑ´Ù. ÀÌÈÄÀÇ ÀÛ¾÷µéÀº ¼ÒÄÏ ÀÎÅÍÆäÀ̽º ·Î Àü´ÞµÇ°í ÀÎÅÍÆäÀ̽º´Â Â÷·Ê·Î ÁÖ¼Ò Æйи®ÀÇ ÇÔ¼öµéÀ» È£ÃâÇÔÀ¸·Î½á À̵éÀ» Áö¿øÇÏ´Â ÁÖ¼Ò Æйи®·Î Àü´ÞÇÑ´Ù.


10.4.2 ÁÖ¼Ò¿Í INET BSD ¼ÒÄÏÀ» ¹ÙÀεåÇϱâ(binding)

µé¾î¿À´Â ÀÎÅÍ³Ý Á¢¼Ó ¿ä±¸¸¦ ±â´Ù¸± ¼ö (listen) ÀÖÀ¸·Á¸é, °¢ ¼­¹ö´Â INET BSD ¼ÒÄÏÀ» ¸¸ µé¾î À̸¦ ¼­¹öÀÇ ÁÖ¼Ò¿Í ¹ÙÀεåÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¹ÙÀεå ÀÛ¾÷Àº ´ëºÎºÐ INET ¼ÒÄÏ°èÃþ ÀÌ ¾Æ·¡ °èÃþÀÎ TCP¿Í UDP ÇÁ·ÎÅäÄÝ °èÃþÀ¸·ÎºÎÅÍ ¾î´À Á¤µµ Áö¿øÀ» ¹Þ¾Æ ó¸®ÇÑ´Ù. ÁÖ¼Ò ¿Í ¹ÙÀÎµå µÇ¾îÀÖ´Â ¼ÒÄÏÀº ´Ù¸¥ Åë½ÅÀ» À§Çؼ­ »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ´Â socketÀÇ »óÅ´ TCP_CLOSE¿©¾ß¸¸ ÇÑ´Ù´Â °ÍÀ» ¸»ÇÑ´Ù. ¹ÙÀεå ÇÔ¼ö¿¡ Àü´ÞµÈ sockaddrÀº ¹ÙÀεåÇÒ IP ÁÖ¼Ò¿Í, ¿É¼ÇÀ¸·Î Æ÷Æ® ¹øÈ£¸¦ °¡Áö°í ÀÖ´Ù. º¸ÅëÀº INET ÁÖ¼Ò Æйи®¸¦ Áö¿øÇϸç À§¿¡¼­ ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© ÀåÄ¡¿¡ ÇÒ´çµÈ IP ÁÖ¼Ò°¡, ¿©±â¼­ ¹ÙÀÎµå µÇ´Â IP ÁÖ¼ÒÀÌ´Ù. ÇöÀç ½Ã½ºÅÛ¿¡¼­ ¾î¶² ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º°¡ È°¼ºÈ­µÇ¾î ÀÖ´ÂÁö´Â ifconfig ¸í·ÉÀ» »ç¿ëÇÏ¿© ¾Ë ¼ö ÀÖ´Ù. IP ÁÖ¼Ò´Â ¸ðµÎ 1À̰ųª ¸ðµÎ 0ÀÎ IP ºê·Îµåij½ºÆ®(broadcast) ÁÖ¼ÒÀÏ ¼öµµ ÀÖ´Ù. À̵éÀº Ưº°ÇÑ Áּҷμ­ "¸ðµç»ç¶÷¿¡°Ô º¸³»¶ó"¸¦ ÀǹÌÇÑ´Ù. ¶Ç, ±â°è°¡ Åõ¸íÇÑ ÇÁ·Ï½Ã³ª ¹æÈ­º®À¸·Î µ¿ÀÛÇÏ°í ÀÖ´Ù¸é, ¾î¶² IP ÁÖ¼ÒÇÏ°íµµ ¹ÙÀεåÇÒ ¼ö ÀÖ´Ù. ±×·¯ ³ª ½´ÆÛÀ¯Àú ±ÇÇÑÀ» °¡Áø ÇÁ·Î¼¼½º¸¸ÀÌ ¾Æ¹« IP ÁÖ¼Ò¿¡³ª ¹ÙÀεå ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀεåµÈ IP ÁÖ¼Ò´Â recv_addr¿¡ ÀÖ´Â sock ÀڷᱸÁ¶¿Í saddr Ç׸ñ¿¡ ÀúÀåµÈ´Ù. À̵éÀº Çؽ÷ΠãÀ» ¶§ ¾²À̸ç, º¸³»´Â IP Áּҷεµ ¾²ÀδÙ. Æ÷Æ® ¹øÈ£´Â ¿É¼ÇÀ̸ç À̸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é À̸¦ Áö¿øÇÏ´Â ³×Æ®¿öÅ©¿¡°Ô ¾Æ¹«°ÍÀ̳ª ºñ¾îÀÖ´Â °ÍÀ» ´Þ¶ó°í ¿äûÇÑ´Ù. °ü½ÀÀûÀ¸·Î 1024º¸´Ù ÀÛÀº Æ÷Æ®¹øÈ£´Â ½´ÆÛÀ¯Àú ±ÇÇÑÀ» °¡ÁöÁö ¾ÊÀº ÇÁ·Î¼¼½º´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. ¸¸¾à ¾Æ·¡ÀÇ ³× Æ®¿öÅ© °èÃþ¿¡¼­ Æ÷Æ® ¹øÈ£¸¦ ÇÒ´çÇÑ´Ù¸é, ÀÌ´Â Ç×»ó 1024º¸´Ù Å« °ÍÀ» ÇÒ´çÇÒ °ÍÀÌ´Ù.

¾Æ·¡±â¹ÝÀÇ ³×Æ®¿öÅ© ÀåÄ¡´Â ÆÐŶÀ» ¹ÞÀ¸¸é, À̸¦ ¿Ã¹Ù¸¥ INET°ú BSD ¼ÒÄÏÀ¸·Î Àü´ÞÇÏ¿© ó¸®µÉ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. ÀÌ·± ÀÌÀ¯·Î UDP¿Í TCP´Â µé¾î¿Â IP ¸Þ½ÃÁö¿¡ ÀÖ´Â ÁÖ¼Ò¸¦ Á¶È¸ÇÏ¿© ¿Ã¹Ù¸¥ socket/sock ½ÖÀ¸·Î Àü´ÞÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çؽà Å×À̺íÀ» °ü¸®ÇÑ ´Ù. TCP´Â ¿¬°á ÁöÇâ ÇÁ·ÎÅäÄÝÀ̹ǷΠUDP ÆÐŶÀ» ó¸®ÇÒ ¶§º¸´Ù TCP ÆÐŶÀ» ó¸®Çϴµ¥ ´õ ¸¹Àº Á¤º¸°¡ »ç¿ëµÈ´Ù.

UDP´Â ÇÒ´çµÈ UDP Æ÷Æ®ÀÇ Çؽà Å×À̺íÀÎ udp_hash Å×À̺íÀ» °ü¸®ÇÑ´Ù. ÀÌ´Â sock ÀÚ·á ±¸Á¶ÀÇ Æ÷ÀÎÅͷμ­ Æ÷Æ® ¹øÈ£¿¡ ±â¹ÝÇÑ Çؽà ÇÔ¼ö·Î À妽ºµÇ¾î ÀÖ´Ù. UDP Çؽà Å×À̺íÀº Çã¿ëµÇ´Â Æ÷Æ® ¹øÈ£ÀÇ ¼öº¸´Ù´Â ÈξÀ ÀûÀ¸¹Ç·Î (udp_hash´Â 128 ¶Ç´Â UDP_HTABLE_SIZE ÀÇ °ª ¸¸Å­ÀÇ ¿£Æ®¸®¸¦ °®´Â´Ù), Å×À̺íÀÇ ¾î¶² ¿£Æ®¸®µéÀº sock ÀڷᱸÁ¶ÀÇ ¿¬°á °í¸®(ÀÌ µéÀº sockÀÇ next Æ÷ÀÎÅÍ·Î ¼­·Î ¿¬°áµÈ´Ù)¸¦ °¡¸®Å²´Ù.

TCP´Â ¿©·¯ °³ÀÇ Çؽà Å×À̺íÀ» °ü¸®ÇϹǷΠÈξÀ ´õ º¹ÀâÇÏ´Ù. ¾î·µç TCP´Â ¹ÙÀεå ÀÛ¾÷ µ¿¾È¿¡ ¹ÙÀεåÇÏ´Â sock ÀڷᱸÁ¶¸¦ ÀÌÀÇ Çؽà Å×ÀÌºí¿¡ ½ÇÁ¦·Î Ãß°¡ÇÏÁö´Â ¾Ê°í, ´ÜÁö ¿ä ±¸ÇÑ Æ÷Æ®¹øÈ£°¡ ÇöÀç »ç¿ëµÇ°í ÀÖ´ÂÁö¸¸ °Ë»çÇÑ´Ù. sock ÀڷᱸÁ¶´Â ¸®½¼ ÀÛ¾÷À» ÇÏ´Â µµ Áß¿¡ TCPÀÇ Çؽà Å×ÀÌºí¿¡ Ãß°¡µÈ´Ù

REVIEW NOTE : ÀÔ·ÂÇÑ ·çÆ®´Â ¾î¶»°Ô µÇ´Â°¡?


10.4.3 INET BSD ¼ÒÄÏÀ¸·Î ¿¬°áÇϱâ

¼ÒÄÏÀÌ ¸¸µé¾îÁö°í, ÀÌ°ÍÀÌ ³»ºÎ·ÎÀÇ ¿¬°á ¿ä±¸¸¦ ¹Þ±â À§ÇÑ ¿ëµµ·Î »ç¿ëµÇÁö ¾Ê¾Ò´Ù¸é, ÀÌ ´Â ¿ÜºÎ·ÎÀÇ ¿¬°á ¿ä±¸¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. UDP¿Í °°Àº ºñ¿¬°áÁöÇâ ÇÁ·ÎÅäÄÝ(connectionless protocol)¿¡¼­´Â ÀÌ·± ÀÛ¾÷Àº º°·Î ÇÏ´Â ÀÏÀÌ ¾øÁö¸¸, TCP°°Àº ¿¬°áÁöÇâ ÇÁ·ÎÅäÄÝ(connection oriented protocol)¿¡¼­´Â ÀÌ´Â µÎ °³ÀÇ ÀÀ¿ëÇÁ·Î±×·¥°£¿¡ °¡»ó ȸ·Î¸¦ ¸¸µå´Â °ÍÀ» Æ÷ÇÔÇÑ´Ù.

¿ÜºÎ·ÎÀÇ ¿¬°áÀº ÀûÀýÇÑ »óÅ¿¡ ÀÖ´Â INET BSD ¼ÒÄÏ¿¡¼­¸¸ ÀÌ·ç¾îÁú ¼ö ÀÖ´Ù : ¸»ÇÏÀÚ¸é ÀÌ¹Ì ¿¬°áÀÌ µÇ¾î Àְųª, ³»ºÎ·ÎÀÇ ¿¬°áÀ» ±â´Ù¸®´Âµ¥ »ç¿ëÇÏ°í ÀÖ´Â °ÍÀº ¾ÈµÈ´Ù´Â °ÍÀÌ ´Ù. ÀÌ´Â BSD ¼ÒÄÏ ÀڷᱸÁ¶°¡ SS_UNCONNECTED »óÅ¿¡ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. UDP ÇÁ ·ÎÅäÄÝÀº ÀÀ¿ëÇÁ·Î±×·¥°£¿¡ °¡»ó ¿¬°áÀ» ¸¸µéÁö ¾Ê´Â´Ù. º¸³»´Â ¸Þ½ÃÁöµéÀº ¸ðµÎ µ¥ÀÌÅÍ±× ·¥À̸ç, ¸Þ½ÃÁöÀÇ ÇÑ ºÎºÐÀÌ ¸ñÀûÁö¿¡ µµÂøÇÒ ¼öµµ, µµÂøÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ±×·¸±ä ÇÏÁö ¸¸, Á¢¼Ó BSD ¼ÒÄÏ ÇÔ¼ö¸¦ Áö¿øÇÑ´Ù. UDP INET BSD ¼ÒÄÏ¿¡¼­ÀÇ Á¢¼Ó ÀÛ¾÷Àº ´Ü¼øÈ÷ ¿ø°Ý ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò - IP ÁÖ¼Ò¿Í Æ÷Æ® ¹øÈ£ - ¸¦ ¼³Á¤ÇÒ »ÓÀÌ´Ù. Ãß°¡ÀûÀ¸·Î ¶ó¿ìÆà Å×ÀÌºí ¿£Æ®¸®¿¡ ´ëÇÑ Ä³½Ã¸¦ ¼Â¾÷ÇÏ¿©, ÀÌ BSD ¼ÒÄÏÀ¸·Î º¸³½ UDP ÆÐŶÀÌ ´Ù½Ã ¶ó¿ìÆà µ¥ÀÌÅͺ£ À̽º¸¦ °Ë»çÇÒ ÇÊ¿ä°¡ ¾øµµ·Ï (ÀÌ ·çÆ®°¡ Ʋ¸° °ÍÀÌ µÇ±â Àü±îÁö´Â) ÇÑ´Ù. ij½ÃµÈ ¶ó¿ìÆà Á¤ º¸´Â INET sock ÀڷᱸÁ¶¿¡¼­ ip_route_cache°¡ °¡¸®Å°°í ÀÖ´Ù. ¸¸¾à ¾Æ¹«·± ÁÖ¼Ò Á¤º¸ µµ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é, ÀÌ Ä³½ÃµÈ ¶ó¿ìÆðú IP ÁÖ¼Ò Á¤º¸¸¦ ÀÚµ¿À¸·Î BSD ¼ÒÄÏÀ» »ç¿ëÇÏ¿© º¸³»´Â ¸Þ½ÃÁö¿¡ »ç¿ëÇÑ´Ù. UDP´Â sockÀÇ »óŸ¦ TCP_ESTABLISHED·Î ¹Ù²Û´Ù.

TCP BSD ¼ÒÄÏ¿¡¼­ÀÇ Á¢¼Ó ÀÛ¾÷¿¡¼­´Â, TCP´Â Á¢¼Ó Á¤º¸¸¦ °¡Áø TCP ¸Þ½ÃÁö¸¦ Çϳª ¸¸µé¾î ¼­ À̸¦ ÁÖ¾îÁø IP ¸ñÀûÁö·Î º¸³»¾ß ÇÑ´Ù. ÀÌ TCP ¸Þ½ÃÁö´Â Á¢¼Ó¿¡ °ü·ÃµÈ °®°¡Áö Á¤º¸µéÀ» °¡Áö°í ÀÖ´Ù. À¯ÀÏÇÑ ½ÃÀÛ ¸Þ½ÃÁö ¼ø¼­ ¹øÈ£¿Í ½ÃÀÛÇÏ´Â (initiator) È£½ºÆ®¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ ´Â ¸Þ½ÃÁöÀÇ ÃÖ´ë Å©±â, º¸³»°í ¹Þ´Â À©µµ¿ì Å©±â, µîµîÀÌ ±×°ÍÀÌ´Ù. TCP¿¡¼­´Â ¸ðµç ¸Þ½Ã Áö¿¡ ¹øÈ£°¡ ºÙÀ¸¸ç, Ãʱ⠼ø¼­ ¹øÈ£´Â ù¹ø° ¸Þ½ÃÁö ¹øÈ£¿¡ »ç¿ëÇÑ´Ù. ¸®´ª½º´Â ¾ÇÀÇÀûÀÎ ÇÁ·ÎÅäÄÝ °ø°ÝÀ» ÇÇÇϱâ À§ÇØ Çã¿ëÇÏ´Â ¹üÀ§ ³»¿¡¼­ ÀÓÀÇÀÇ °ªÀ» °í¸¥´Ù. ÇÑÂÊ¿¡¼­ Àü¼ÛÇÑ ¸Þ½ÃÁö¸¦ ´Ù¸¥ ÂÊ¿¡¼­ ¼º°øÀûÀ¸·Î ¹ÞÀ¸¸é, ¸ðµç ¸Þ½ÃÁö¿¡ ´ëÇØ ±×°ÍÀÌ ¼º°øÀûÀ¸·Î ±úÁöÁö ¾Ê°í µµÂøÇß´Ù´Â °ÍÀ» ¸»ÇÏ´Â ÀÀ´äÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÀ´ä¹ÞÁö ¾ÊÀº ¸Þ½ÃÁö´Â ´Ù½Ã º¸³»°Ô µÈ ´Ù. ¼Û¼ö½Å À©µµ¿ì Å©±â´Â ÀÀ´äÀ» º¸³»Áö ¾Ê°í ÀÖÀ» ¼ö ÀÖ´Â ¸Þ½ÃÁöÀÇ ¼öÀÌ´Ù (À̸¸Å­ÀÇ ¸Þ ½ÃÁö¸¦ º¸³¾ ¶§±îÁö ACK°¡ ¿ÀÁö ¾Ê¾Æµµ µÈ´Ù). ÃÖ´ë ¸Þ½ÃÁö Å©±â´Â ¿äûÀ» ½ÃÀÛÇÑ ÂÊ¿¡¼­ »ç¿ëÇÏ°í ÀÖ´Â ³×Æ®¿öÅ© ÀåÄ¡¿¡ µû¸¥´Ù. ¸¸¾à ¹Þ´Â ÂÊÀÇ ³×Æ®¿öÅ© ÀåÄ¡°¡ À̺¸´Ù ÀÛÀº ÃÖ´ë ¸Þ½ÃÁö Å©±â¸¦ Áö¿øÇÑ´Ù¸é, Á¢¼Ó¿¡¼­´Â µÑ Áß¿¡ ÃÖ¼Ò°ªÀ» »ç¿ëÇÏ°Ô µÈ´Ù. ¹ÛÀ¸·ÎÀÇ TCP Á¢ ¼Ó ¿äûÀ» ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº ´ë»ó ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÌ Á¢¼Ó ¿ä±¸¸¦ ¹Þ°Å³ª °ÅºÎÇÑ´Ù´Â ÀÀ ´äÀ» º¸³¾ ¶§±îÁö ±â´Ù·Á¾ß ÇÑ´Ù. TCP sockÀº ÀÌÁ¦ ¸Þ½ÃÁö°¡ µé¾î¿À±æ ±â´Ù·Á¾ß ÇϹǷÎ, tcp_listening_hash¸¦ Ãß°¡ÇÏ¿©, µé¾î¿À´Â TCP ¸Þ½ÃÁö°¡ sock ÀڷᱸÁ¶·Î °¥ ¼ö ÀÖ°Ô ÇÑ´Ù. TCP´Â ¶ÇÇÑ ´ë»ó ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¿ä±¸¿¡ ÀÀ´äÀ» º¸³»ÁÖÁö ¾Ê´Â °æ¿ì ¹ÛÀ¸·ÎÀÇ Á¢¼Ó ¿ä±¸¸¦ ŸÀӾƿô ÇÒ ¼ö ÀÖµµ·Ï ŸÀ̸Ӹ¦ ½ÃÀÛÇÑ´Ù.


10.4.4 INET BSD ¼ÒÄÏ¿¡¼­ ¸®½¼(listening)

¼ÒÄÏ¿¡ ÁÖ¼Ò¸¦ ¹ÙÀεå ÇÏ¿´´Ù¸é, ¹ÙÀεåÇÑ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ¿© µé¾î¿À´Â Á¢¼Ó ¿ä±¸¸¦ ±â´Ù¸± ¼ö ÀÖ´Ù. ³×Æ®¿öÅ© ÀÀ¿ëÇÁ·Î±×·¥Àº ¸ÕÀú ÁÖ¼Ò¸¦ ¹ÙÀεå ÇÏÁö ¾Ê°íµµ Á¢¼ÓÀ» ±â´Ù¸± ¼ö ÀÖ´Â µ¥, ÀÌ·± °æ¿ì INET ¼ÒÄÏ °èÃþÀº Áö±Ý ÇÁ·ÎÅäÄÝ¿¡¼­ »ç¿ëÇÏÁö ¾Ê°í ÀÖ´Â Æ÷Æ® ¹øÈ£¸¦ ã¾Æ À̸¦ ¼ÒÄÏ¿¡ ÀÚµ¿À¸·Î ¹ÙÀεå ÇØÁØ´Ù. ¸®½¼ ¼ÒÄÏ ÇÔ¼ö´Â ¼ÒÄÏÀÇ »óŸ¦ TCP_LISTENÀ¸·Î ¹Ù²Ù°í µé¾î¿À´Â Á¢¼ÓÀ» Çã°¡Çϴµ¥ ÇÊ¿äÇÑ ³×Æ®¿öÅ© Ư¼ö ÀÛ¾÷µéÀ» ÇÑ´Ù.

UDP ¼ÒÄÏ¿¡ À־´Â ¼ÒÄÏÀÇ »óŸ¦ ¹Ù²Ù´Â °ÍÀ¸·Îµµ ÃæºÐÇÏÁö¸¸, TCP´Â ¼ÒÄÏÀÇ sock ÀÚ ·á±¸Á¶¸¦ µÎ°³ÀÇ Çؽà Å×ÀÌºí¿¡ Ãß°¡ÇÏ¿© È°¼ºÈ­µÇµµ·Ï ÇÑ´Ù. ÀÌ µÎ °³ÀÇ Çؽà Å×À̺íÀº tcp_bound_hash¿Í tcp_listening_hash Å×À̺íÀÌ´Ù. µÑ ´Ù IP Æ÷Æ® ¹øÈ£¿¡ ±â¹ÝÇÑ ÇØ ½Ã ÇÔ¼ö¸¦ ÅëÇÏ¿© À妽ºµÇ¾î ÀÖ´Ù.

È°¼ºÈ­µÈ ¸®½¼ ¼ÒÄÏ¿¡ ´ëÇØ TCP Á¢¼Ó ¿ä±¸°¡ µé¾î¿À¸é, TCP´Â À̸¦ ³ªÅ¸³»±â À§ÇØ »õ·Î¿î sock ÀڷᱸÁ¶¸¦ ¸¸µç´Ù. ÀÌ sock ÀڷᱸÁ¶´Â ÀÌ TCP Á¢¼ÓÀÌ °á±¹ ¹Þ¾Æµé¿©Áø´Ù¸é TCP Á¢¼ÓÀÇ ÇϹݺΰ¡ µÈ´Ù. ¶ÇÇÑ Á¢¼Ó ¿ä±¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â µé¾î¿Â sk_buff¸¦ º¹»çÇÏ¿©, ±â´Ù ¸®´Â sock ÀڷᱸÁ¶ÀÇ receive_queueÀÇ µÚ¿¡ À̸¦ Ãß°¡ÇÑ´Ù. º¹»çÇÑ sk_buff´Â »õ·Î ¸¸µç sock ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °®´Â´Ù.


10.4.5 Á¢¼Ó ¿ä±¸ Çã°¡Çϱâ(accepting)

UDP´Â Á¢¼ÓÀ̶ó´Â °³³äÀ» Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î, INET ¼ÒÄÏ Á¢¼ÓÀ» Çã¶ôÇÏ´Â °ÍÀº TCP ÇÁ·Î ÅäÄÝ¿¡¸¸ Àû¿ëÀÌ µÇ¸ç, Á¢¼ÓÀ» ±â´Ù¸®´Â ¼ÒÄÏ¿¡¼­ Á¢¼ÓÀ» Çã¶ôÇÏ´Â °ÍÀº ¿ø·¡ÀÇ ±â´Ù¸®´Â ¼ÒÄÏ¿¡¼­ socket ÀڷᱸÁ¶¸¦ º¹»çÇÏ¿© »õ·Î¿î socketÀ» ¸¸µç´Ù. Çã°¡ ÀÛ¾÷Àº ÀÚ½ÅÀ» Áö ¿øÇÏ´Â ÇÁ·ÎÅäÄÝ °èÃþ, ÀÌ °æ¿ì INET °èÃþÀ¸·Î ³Ñ¾î°¡¼­ µé¾î¿À´Â ¾î¶² Á¢¼Ó ¿ä±¸¸¦ ¹Þ¾Æ µéÀ̶ó°í ÇÑ´Ù. ¸¸¾à ¾Æ·¡ °èÃþÀÇ ÇÁ·ÎÅäÄÝÀÌ UDP°°ÀÌ Á¢¼ÓÀ» Áö¿øÇÏÁö ¾Ê´Â °ÍÀ̶ó¸é ÀÌ Á¢¼Ó Çã°¡ °úÁ¤Àº ½ÇÆÐÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é Á¢¼Ó Çã°¡ °úÁ¤Àº ½ÇÁ¦ ÇÁ·ÎÅäÄÝ, ÀÌ °æ¿ì TCP ·Î Àü´ÞµÈ´Ù. ÀÌ Á¢¼Ó Çã°¡ ÀÛ¾÷Àº ºí·°Å· ¸ðµåÀϼöµµ, ºí·°Å· ¸ðµå°¡ ¾Æ´Ò¼öµµ ÀÖ´Ù. ºí·° Å· ¸ðµå°¡ ¾Æ´Ñ °æ¿ì, ¸¸¾à ¾Æ¹«·± µé¾î¿À´Â Á¢¼ÓÀÌ ¾øÀ¸¸é, ÀÌ Á¢¼Ó ÀÛ¾÷Àº ½ÇÆÐÇÏ°í, »õ·Î ¸¸µé¾îÁø socket ÀڷᱸÁ¶´Â ¹ö·ÁÁú °ÍÀÌ´Ù. ºí·°Å· ¸ðµåÀÎ °æ¿ì, Á¢¼Ó Çã°¡¸¦ ÇÏ´Â ³×Æ® ¿öÅ© ÀÀ¿ëÇÁ·Î±×·¥Àº ´ë±â Å¥¿¡ µé¾î°¡°í TCP Á¢¼Ó ¿ä±¸¸¦ ¹ÞÀ» ¶§±îÁö ÁߴܵȴÙ. Á¢¼Ó ¿ä ±¸°¡ µé¾î¿À¸é, ±× ¿ä±¸¸¦ °®°í ÀÖ´Â sk_buff´Â ¹«½ÃµÇ°í, sock ÀڷᱸÁ¶´Â ÀÌÀü¿¡ ¸¸µç »õ socket ÀڷᱸÁ¶¿Í ¿¬°áµÇ¾î ÀÖ´Â INET ¼ÒÄÏ °èÃþÀ¸·Î µÇµ¹¾Æ°£´Ù. ³×Æ®¿öÅ© ÀÀ¿ëÇÁ·Î ±×·¥¿¡ »õ·Î ¸¸µé¾îÁø ¼ÒÄÏÀÇ ÆÄÀÏ ±â¼úÀÚ(fd)¸¦ µ¹·ÁÁÖ°í, ÀÀ¿ë ÇÁ·Î±×·¥Àº »õ·Î ¸¸µé¾îÁø BSD ¼ÒÄÏÀ» °¡Áö°í ¼ÒÄÏ ÀÛ¾÷À» Çϴµ¥ ÀÌ ÆÄÀÏ ±â¼úÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.


10.5 IP °èÃþ

±×¸² 10.4 : ¼ÒÄÏ ¹öÆÛ (sk_buff)

10.5.1 ¼ÒÄÏ ¹öÆÛ(Socket Buffer)

¸¹Àº ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ °èÃþÀ» °¡Áö°í, °¢°¢ÀÌ ´Ù¸¥ °ÍÀÇ ¼­ºñ½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÇ ¹®Á¦ ÁßÀÇ Çϳª´Â, °¢ ÇÁ·ÎÅäÄÝÀÌ Àü¼ÛÇÏ´Â µ¥ÀÌÅÍ¿¡ ÇÁ·ÎÅäÄÝ Çì´õ¿Í ²¿¸®¸¦ ºÙÀÌ°í, ¹ÞÀº µ¥ÀÌ Å͸¦ ó¸®ÇÒ ¶§ À̸¦ Á¦°ÅÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÌ´Â °¢ ÇÁ·ÎÅäÄÝ °èÃþ¸¶´Ù Ưº°ÇÑ ÇÁ·ÎÅäÄÝ Çì´õ¿Í ²¿¸®¸¦ ã¾Æ¾ß ÇϹǷΠÇÁ·ÎÅäÄÝ »çÀÌ¿¡ µ¥ÀÌÅÍ ¹öÆÛ¸¦ Àü´ÞÇÏ´Â °ÍÀ» ¾î·Æ°Ô ¸¸µç´Ù. ¹æ¹ýÁßÀÇ Çϳª´Â °¢ °èÃþ¸¶´Ù ¹öÆÛ¸¦ º¹»çÇÏ´Â °ÍÀÌÁö¸¸, ÀÌ´Â ¸Å¿ì ºñÈ¿À²ÀûÀÌ´Ù. ´ë½Å ¸® ´ª½º´Â ÇÁ·ÎÅäÄÝ °èÃþ »çÀÌ¿Í ³×Æ®¿öÅ© µð¹ÙÀ̽º µå¶óÀ̹ö °£¿¡ µ¥ÀÌÅ͸¦ Àü´ÞÇϱâ À§ÇØ sk_buffs¶ó´Â ¼ÒÄÏ ¹öÆÛ¸¦ »ç¿ëÇÑ´Ù. sk_buffs´Â Æ÷ÀÎÅÍ¿Í ±æÀÌ Ç׸ñÀ» °¡Áö°í À־ °¢ ÇÁ·ÎÅäÄÝ °èÃþÀÌ Ç¥ÁØ ÇÔ¼ö¸¦ ÅëÇØ ÀÀ¿ëÇÁ·Î±×·¥ µ¥ÀÌÅ͸¦ ´Ù·ê ¼ö ÀÖ°Ô ÇÑ´Ù.

±×¸² 10.4´Â sk_buff ÀڷᱸÁ¶¸¦ º¸¿©ÁØ´Ù. °¢ sk_buff´Â ÀڽŰú ¿¬°üµÈ µ¥ÀÌÅÍ ºí·°À» °¡Áö°í ÀÖ´Ù. sk_buff´Â ³×°³ÀÇ µ¥ÀÌÅÍ Æ÷ÀÎÅ͸¦ °¡Áö°í Àִµ¥, À̵éÀº ¼ÒÄÏ ¹öÆÛ µ¥ÀÌÅÍ ¸¦ ´Ù·ç°í °ü¸®Çϴµ¥ »ç¿ëµÈ´Ù.

±æÀ̸¦ ³ªÅ¸³»´Â Ç׸ñÀ¸·Î´Â len°ú truesize µÎ°³°¡ ÀÖÀ¸¸ç, À̵éÀº °¢°¢ ÇöÀç ÇÁ·ÎÅäÄÝ ÆÐŶÀÇ ±æÀÌ¿Í, »ó´ëÀûÀÎ µ¥ÀÌÅÍ ¹öÆÛÀÇ Àüü Å©±â¸¦ ³ªÅ¸³½´Ù. sk_buff¸¦ ´Ù·ç´Â ÄÚµå´Â ÀÀ¿ëÇÁ·Î±×·¥ µ¥ÀÌÅÍ¿¡ ÇÁ·ÎÅäÄÝ Çì´õ¿Í ²¿¸®¸¦ ºÙÀÌ°í Á¦°ÅÇϴ ǥÁØÀûÀÎ ¹æ¹ýµéÀ» Á¦°øÇÑ ´Ù. À̵éÀº ¾ÈÀüÇÏ°Ô sk_buff¿¡ ÀÖ´Â data, tail, ±×¸®°í len Ç׸ñµéÀ» ´Ù·é´Ù.

sk_buff ÀڷᱸÁ¶´Â ¶ÇÇÑ Ã³¸®µµÁß¿¡ sk_buff ÀÇ ÀÌÁß ¿øÇü ¿¬°á ¸®½ºÆ®¿¡ ÀúÀåÇϴµ¥ »ç¿ëÇÏ´Â Æ÷ÀÎÅ͵éÀ» °¡Áö°í ÀÖ´Ù. ±×¸®°í sk_buffs¸¦ ÀÌµé ¸®½ºÆ®ÀÇ ¾ÕÀ̳ª µÚ¿¡ Ãß°¡ÇÏ °í Á¦°ÅÇϴµ¥ »ç¿ëÇÏ´Â ÀϹÝÀûÀÎ sk_buff ·çƾµéµµ ÀÖ´Ù.


10.5.2 IP ÆÐŶ ¼ö½ÅÇϱâ

Ä¿³Î¿¡¼­ ¸®´ª½º µå¶óÀ̹öµéÀÌ ¾î¶»°Ô ¸¸µé¾îÁö°í ÃʱâÈ­µÇ´ÂÁö´Â 8Àå¿¡¼­ ¼³¸íÇß´Ù. ÀÌ ÃÊ ±âÈ­ÀÇ °á°ú´Â dev_base ¸®½ºÆ®¿¡¼­ ¼­·Î ¿¬°áµÇ¾î ÀÖ´Â ÀÏ·ÃÀÇ device ÀڷᱸÁ¶ÀÌ´Ù. °¢ device ÀڷᱸÁ¶´Â ÀåÄ¡¸¦ ¼­¼úÇÏ°í, ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ °èÃþ¿¡¼­ ³×Æ®¿öÅ© µå¶óÀ̹ö°¡ ¾î¶² ÀÏÀ» ¼öÇàÇØ¾ß ÇÒ ¶§ ºÎ¸¦ ¼ö ÀÖ´Â ÄÝ¹é ·çƾ ¼¼Æ®¸¦ Á¦°øÇÑ´Ù. À̵é ÇÔ¼öµéÀº ´ëºÎºÐ µ¥ÀÌÅÍ Àü¼Û°ú ³×Æ®¿öÅ© ÀåÄ¡ÀÇ ÁÖ¼Ò¿¡ °ü·ÃµÇ¾î ÀÖ´Ù. ³×Æ®¿öÅ© ÀåÄ¡°¡ ³×Æ®¿öÅ©·ÎºÎÅÍ ÆРŶÀ» ¼ö½ÅÇϸé ÀÌ ¼ö½ÅÇÑ µ¥ÀÌÅ͸¦ sk_buff ÀڷᱸÁ¶·Î ¹Ù²Ù¾î¾ß ÇÑ´Ù. ³×Æ®¿öÅ© µå¶óÀ̹ö ´Â À̵éÀ» ¼ö½ÅÇÒ ¶§¸¶´Ù backlog Å¥¿¡ ¼ö½ÅÇÑ sk_buffµéÀ» Ãß°¡ÇÑ´Ù. ¸¸¾à backlog Å¥°¡ ³Ê¹« Ä¿Áö¸é, ¼ö½ÅÇÑ sk_buff µéÀº ¹«½ÃµÈ´Ù. ÀÌÁ¦ ÇØ¾ß ÇÒ ÀÏÀÌ ÀÖÀ¸¹Ç·Î ½ÇÇàÇÒ ÁØ ºñ°¡ µÇ¾ú´Ù°í ³×Æ®¿öÅ© ÇϹݺÎ(bottom half)¿¡ Ç¥½ÃÇÑ´Ù.

½ºÄÉÁÙ·¯°¡ ³×Æ®¿öÅ© ÇϹݺΠÇڵ鷯¸¦ ½ÇÇàÇϸé, ÀÌ´Âsk_buffÀÇ backlog Å¥¸¦ ó¸®Çϱâ ÀÌÀü¿¡ ¼ö½ÅÇÑ ÆÐŶÀ» ¾î¶² ÇÁ·ÎÅäÄÝ °èÃþÀ¸·Î Àü´ÞÇÒÁö¸¦ °áÁ¤Çϸç Àü¼ÛµÇ±æ ±â´Ù¸®°í ÀÖ ´Â ³×Æ®¿öÅ© ÆÐŶµéÀ» ó¸®ÇÑ´Ù. ¸®´ª½º ³×Æ®¿öÅ· °èÃþÀ» ÃʱâÈ­ÇÒ ¶§ °¢ ÇÁ·ÎÅäÄÝÀº packet_type ÀڷᱸÁ¶¸¦ ptype_all ¸®½ºÆ®³ª ptype_base ÇؽÃÅ×ÀÌºí¿¡ Ãß°¡ÇÔÀ¸·Î¼­ ÀڽŵéÀ» µî·ÏÇß´Ù. packet_type ÀڷᱸÁ¶´Â ÇÁ·ÎÅäÄÝ Å¸ÀÔ°ú ³×Æ®¿öÅ© ÀåÄ¡¿¡ ´ëÇÑ Æ÷ÀÎ ÅÍ, ÇÁ·ÎÅäÄÝÀÇ ¼ö½Å µ¥ÀÌÅÍ Ã³¸® ·çƾ, ±×¸®°í ¸¶Áö¸·À¸·Î ¸®½ºÆ®³ª Çؽà °í¸®¿¡ ÀÖ´Â ´ÙÀ½ packet_type ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ´Ù. ptype_all °í¸®´Â ¾î¶² ³×Æ®¿öÅ© ÀåÄ¡À̵çÁöºÎÅÍ ¼ö½ÅµÇ´Â ¸ðµç ÆÐŶµéÀ» ¿³º¸´Âµ¥(snoop) »ç¿ëµÇÁö¸¸ Àß »ç¿ëµÇÁö ¾Ê´Â´Ù. ptype_base Çؽà Å×À̺íÀº ÇÁ·ÎÅäÄÝ ½Äº°ÀÚ·Î ÇؽõǾî ÀÖÀ¸¸ç, µé¾î¿À´Â ³×Æ®¿öÅ© ÆÐŶ À» ¾î¶² ÇÁ·ÎÅäÄÝÀÌ ¹ÞÀ» °ÍÀÎÁö °áÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. ³×Æ®¿öÅ© ÇϹݺδ µé¾î¿À´Â sk_buffÀÇ ÇÁ·ÎÅäÄÝ Å¸ÀÔ°ú °¢ Å×ÀÌºí¿¡ ÀÖ´Â Çϳª ÀÌ»óÀÇ packet_type ¿£Æ®¸®¿Í ¸ÅÄ¡ ½ÃŲ´Ù. ÇÁ·ÎÅäÄÝÀº Çϳª ÀÌ»óÀÇ ¿£Æ®¸®¿Í ¸ÅÄ¡µÉ ¼ö Àִµ¥, ¿¹¸¦ µé¾î ¸ðµç ³×Æ®¿öÅ© Æ®·¡ ÇÈÀ» ¿³º¼ ¶§ °°Àº °æ¿ìÀ̸ç, ÀÌ °æ¿ì sk_buff´Â º¹Á¦°¡ µÈ´Ù. sk_buff´Â ¸ÅÄ¡µÇ´Â ÇÁ·Î ÅäÄÝ Ã³¸® ·çƾÀ¸·Î Àü´ÞµÈ´Ù.


10.5.3 IP ÆÐŶ Àü¼ÛÇϱâ

ÆÐŶÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ ±³È¯Çϰųª, ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀÌ ÀÌ¹Ì ¸¸µé¾îÁø ¿¬°áÀ̳ª ¸¸µé¾îÁö´Â ¿¬°áÀ» Áö¿øÇÒ ¶§ ¸¸µé¾îÁ®¼­ º¸³»Áø´Ù. ¾î¶² ¹æ¹ýÀ¸·Î µ¥ÀÌÅÍ°¡ ¸¸µé¾îÁ³´øÁö °£¿¡ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â sk_buff°¡ ¸¸µé¾îÁö°í, °¢ ÇÁ·ÎÅäÄÝ °èÃþÀ» Åë°úÇϸ鼭 ÇÁ ·ÎÅäÄÝ °èÃþÀÌ ´Ù¾çÇÑ Çì´õ¸¦ ºÙÀδÙ.

sk_buff´Â Àü¼ÛÇÒ ³×Æ®¿öÅ© ÀåÄ¡·Î Àü´ÞµÇ¾î¾ß ÇÑ´Ù. ¸ÕÀú IP °°Àº ÇÁ·ÎÅäÄÝÀÌ¶óµµ ¾î¶² ³×Æ®¿öÅ© ÀåÄ¡¸¦ »ç¿ëÇÒÁö¸¦ °áÁ¤ÇØ¾ß ÇÑ´Ù. ÀÌ´Â ÆÐŶ¿¡ °¡Àå ¸Â´Â ·çÆ®¿¡ µû¶ó ´Ù¸£´Ù. PPP ÇÁ·ÎÅäÄÝ°°Àº °ÍÀ» ÅëÇØ ¸ðµ©À¸·Î ÇϳªÀÇ ³×Æ®¿öÅ©¿¡ ¿¬°áµÈ ÄÄÇ»ÅÍ¿¡ À־´Â ÀÌ ·ç Æ®¸¦ ¼±ÅÃÇÏ´Â °ÍÀº ½±´Ù. ÆÐŶÀº ·çÇÁ¹é ÀåÄ¡¸¦ ÅëÇØ ·ÎÄÃÈ£½ºÆ®³ª, PPP ¸ðµ© ¿¬°áÀÇ ³¡¿¡ ÀÖ´Â °ÔÀÌÆ®¿þÀÌ µÑ Áß Çϳª·Î Àü¼ÛµÉ °ÍÀÌ´Ù. ÀÌ´õ³ÝÀ¸·Î ¿¬°áµÇ¾î ÀÖ´Â ÄÄÇ»ÅÍ¿¡ À־ ´Â, ³×Æ®¿öÅ©¿¡ ¸¹Àº ÄÄÇ»ÅÍ°¡ ¿¬°áµÇ¾î ÀÖÀ¸¹Ç·Î ÀÌ ¼±ÅÃÀº ´õ ¾î·Æ´Ù.

IP ÆÐŶÀ» Àü¼ÛÇÒ ¶§ Ç×»ó IP´Â µµ´ÞÇÒ IP ÁÖ¼Ò·Î °¡´Â ·çÆ®(route)¸¦ ÇØ°áÇϱâ À§ÇØ ¶ó¿ìÆà Å×À̺í(routing table)À» »ç¿ëÇÑ´Ù. °¢ IP ¸ñÀûÁö´Â ¶ó¿ìÆà Å×ÀÌºí¿¡¼­ ¼º°øÀûÀ¸·Î ã°Ô µÇ¾î, »ç¿ëÇÒ ·çÆ®¸¦ ±â¼úÇÏ´Â rtable ÀڷᱸÁ¶¸¦ µ¹·ÁÁØ´Ù. ÀÌ´Â »ç¿ëÇÒ Ãâ¹ßÁö IP ÁÖ¼Ò¿Í, ³×Æ® ¿öÅ© device ÀڷᱸÁ¶ÀÇ ÁÖ¼Ò, ¶§¶§·Î ¹Ì¸® ¸¸µé¾îÁø Çϵå¿þ¾î Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ ÇÏµå ¿þ¾î Çì´õ´Â ³×Æ®¿öÅ© ÀåÄ¡¸¶´Ù ´Ù¸¥ °ÍÀ¸·Î¼­ Ãâ¹ßÁö¿Í µµÂøÁöÀÇ Çϵå¿þ¾î ÁÖ¼Ò¿Í, ¸Å°³Ã¼ º°·Î ´Ù¸¥ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. ¸¸¾à ³×Æ®¿öÅ© ÀåÄ¡°¡ ÀÌ´õ³Ý ÀåÄ¡À̶ó¸é, Çϵå¿þ¾î Çì´õ´Â ±×¸² 10.1¿¡¼­ º¸´Â ¹Ù¿Í °°À» °ÍÀ̸ç, Ãâ¹ßÁö¿Í µµÂøÁö ÁÖ¼Ò´Â ¹°¸®ÀûÀÎ ÀÌ´õ³Ý ÁÖ¼ÒÀÏ °Í ÀÌ´Ù. Çϵå¿þ¾î Çì´õ´Â ·çÆ®¿Í ÇÔ²² ij½ÃµÇ´Âµ¥, ÀÌ´Â ÀÌ Çϵå¿þ¾î Çì´õ°¡ ÀÌ ·çÆ®¸¦ ÅëÇÏ¿© Àü¼ÛÇÏ´Â ¸ðµç IP ÆÐŶ¿¡ Ãß°¡µÇ¾î¾ß Çϴµ¥, À̸¦ ´Ù½Ã ¸¸µå´Â °ÍÀº ½Ã°£ÀÌ °É¸®±â ¶§¹®ÀÌ ´Ù. Çϵå¿þ¾î Çì´õ´Â ARP ÇÁ·ÎÅäÄÝ·Î ÇØ°áµÇ¾î¾ß ÇÏ´Â ¹°¸®ÀûÀÎ ÁÖ¼Ò¸¦ °¡Áú ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì ¹ÛÀ¸·Î ³ª°¡´Â ÆÐŶÀº ÁÖ¼Ò°¡ ÇØ°áµÉ ¶§±îÁö ²Ä¦¸øÇÏ°í ±â´Ù¸®°í ÀÖ¾î¾ß ÇÑ´Ù. Çѹø ÁÖ¼Ò°¡ ÇØ°áµÇ°í ³ª¸é, Çϵå¿þ¾î Çì´õ°¡ ¸¸µé¾îÁö°í, ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ´Â IP ÆÐŶÀÌ ´Ù½Ã ARP¸¦ ÇÒ ÇÊ¿ä°¡ ¾øµµ·Ï ÀÌ Çϵå¿þ¾î Çì´õ¸¦ ij½ÃÇÑ´Ù.


10.5.4 µ¥ÀÌÅÍ Á¶°¢³»±â (data fragmentation)

¸ðµç ³×Æ®¿öÅ© ÀåÄ¡´Â ÃÖ´ë ÆÐŶ Å©±â¸¦ °¡Áö°í ÀÖÀ¸¸ç, À̺¸´Ù Å« Å©±âÀÇ µ¥ÀÌÅ͸¦ º¸³»°Å ³ª ¹ÞÀ» ¼ö ¾ø´Ù. IP ÇÁ·ÎÅäÄÝÀº ÀÌ·± °æ¿ì¸¦ Çã¿ëÇÏ¿© µ¥ÀÌÅ͸¦ ³×Æ®¿öÅ© ÀåÄ¡°¡ ó¸®ÇÒ ¼ö ÀÖ´Â ÆÐŶ Å©±â·Î µ¥ÀÌÅ͸¦ Àß°Ô ÂÉ°µ´Ù. IP ÇÁ·ÎÅäÄÝ Çì´õ´Â Ç÷¡±×¿Í ÀÌ Á¶°¢ÀÇ ¿É¼ÂÀ» ´ã Àº Á¶°¢ Ç׸ñÀ» °¡Áö°í ÀÖ´Ù.

IP ÆÐŶÀÌ Àü¼ÛÇÒ Áغñ°¡ µÇ¸é, IP´Â IP ÆÐŶÀ» ¹ÛÀ¸·Î º¸³¾ ³×Æ®¿öÅ© ÀåÄ¡¸¦ ã´Â´Ù. ÀåÄ¡ ´Â IP ¶ó¿ìÆà Å×ÀÌºí¿¡¼­ ã°Ô µÈ´Ù. °¢ device´Â ÃÖ´ë Àü¼Û ´ÜÀ§¸¦ ³ªÅ¸³»´Â Ç׸ñÀ¸·Î °¡ Áö°í Àִµ¥ (¹ÙÀÌÆ® ´ÜÀ§), ÀÌ´Â mtu Ç׸ñÀÌ´Ù. ¸¸¾à ÀåÄ¡ÀÇ mtu°¡ Àü¼ÛÇÏ·Á´Â IP ÆÐŶÀÇ Å©±âº¸´Ù ÀÛÀ¸¸é, IP ÆÐŶÀº Á» ´õ ÀÛÀº Å©±â(mtu Å©±â)ÀÇ Á¶°¢À¸·Î ÂÉ°³Á®¾ß ÇÑ´Ù. °¢ Á¶°¢ Àº sk_buff·Î Ç¥ÇöµÈ´Ù. IP Çì´õ¿¡´Â ÀÌ°ÍÀÌ Á¶°¢À̸ç, ÀÌ ÆÐŶÀÌ µ¥ÀÌÅÍÀÇ ¾î¶² ¿É¼ÂºÎÅÍ °¡Áö°í ÀÖ´ÂÁö Ç¥½ÃµÈ´Ù. ¸¶Áö¸· ÆÐŶÀº ¸¶Áö¸· IP Á¶°¢À̶ó°í Ç¥½ÃµÈ´Ù. ¸¸¾à, ÀÌ ÂÉ°³´Â µµÁß¿¡ IP°¡ sk_buff¸¦ ÇÒ´ç¹ÞÁö ¸øÇÑ´Ù¸é Àü¼ÛÀ» ½ÇÆÐÇÏ°Ô µÈ´Ù.

IP Á¶°¢À» ¼ö½ÅÇÏ´Â °ÍÀº Àü¼ÛÇÏ´Â °Íº¸´Ù ´õ ¾î·Á¿îµ¥, ÀÌ´Â IP Á¶°¢ÀÌ ¾Æ¹«·± ¼ø¼­·Î³ª µµÂøÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¸ðµÎ ¼ö½Å¹Þ¾Æ¾ß ÀçÁ¶¸³ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. IP ÆÐŶÀ» ¼ö½ÅÇÒ ¶§¸¶´Ù ÀÌ°ÍÀÌ IP Á¶°¢ÀÎÁö °Ë»çÇÑ´Ù. ¸Þ½ÃÁö Á¶°¢ÀÌ Ã³À½ µµÂøÇϸé, IP´Â »õ ipq ÀڷᱸÁ¶¸¦ ¸¸µé °í, À̸¦ ÀçÁ¶¸³À» ±â´Ù¸®´Â IP Á¶°¢ÀÇ ¸®½ºÆ®ÀÎ ipqueue¿¡ ¿¬°áÇÑ´Ù. IP Á¶°¢ÀÌ °è¼Ó ¼ö½Å µÇ¸é ¸Â´Â ipq ÀڷᱸÁ¶¸¦ ã¾Æ ÀÌ Á¶°¢À» ³ªÅ¸³¾ ipfrag ÀڷᱸÁ¶¸¦ »õ·Î ¸¸µç´Ù. °¢ ipq ÀڷᱸÁ¶´Â Á¶°¢³­ IP ¼ö½Å ÇÁ·¹ÀÓÀ» Ãâ¹ßÁö¿Í µµÂøÁö IP ÁÖ¼Ò¿Í ÇÔ²² À¯ÀÏÇÏ°Ô ±â¼ú Çϸç, À§ °èÃþ ÇÁ·ÎÅäÄÝ ½Äº°ÀÚ¿Í ÀÌ IP ÇÁ·¹ÀÓÀÇ ½Äº°ÀÚ¸¦ ±â¼úÇÑ´Ù. ¸ðµç Á¶°¢ÀÌ µµÂøÇϸé, À̵éÀº ÇϳªÀÇ sk_buff·Î ÇÕÃÄÁö°í ó¸®ÇÒ ´ÙÀ½ ÇÁ·ÎÅäÄÝ °èÃþÀ¸·Î Àü´ÞµÈ´Ù. °¢ ipq´Â Á¦´ë·Î µÈ Á¶°¢ÀÌ µµÂøÇÒ ¶§¸¶´Ù ´Ù½Ã ½ÃÀ۵Ǵ ŸÀ̸Ӹ¦ °¡Áö°í ÀÖ´Ù. ¸¸¾à ÀÌ Å¸À̸Ӱ¡ ¸¸·áµÇ¸é, ipq ÀڷᱸÁ¶¿Í ÀÌ°ÍÀÇ ipfragµéÀº ¼Ò¸êµÇ¸ç, ¸Þ½ÃÁö´Â Àü¼Û Áß¿¡ »ç¶óÁø °ÍÀ¸ ·Î °£ÁֵȴÙ. ÀÌ ¸Þ½ÃÁö¸¦ ´Ù½Ã Àü¼ÛÇÏ´Â °ÍÀº ´õ À­ ·¹º§ÀÇ ÇÁ·ÎÅäÄÝÀÌ ´ã´çÇÏ´Â ¹®Á¦ÀÌ´Ù.


10.6 ÁÖ¼Ò °áÁ¤ ÇÁ·ÎÅäÄÝ(Address Resolution Protocol, ARP)

ÁÖ¼Ò °áÁ¤ ÇÁ·ÎÅäÄÝÀÇ ¿ªÇÒÀº IP ÁÖ¼Ò¿¡¼­ ÀÌ´õ³Ý ÁÖ¼Ò¿Í °°Àº ¹°¸®Àû Çϵå¿þ¾î ÁÖ¼Ò·ÎÀÇ º¯È¯À» Á¦°øÇÏ´Â °ÍÀÌ´Ù. IP´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ µð¹ÙÀ̽º µå¶óÀ̹ö¿¡°Ô Àü´ÞÇϱâ (sk_buff ÀÇ ÇüÅ·Î) ¹Ù·Î Àü¿¡ ÀÌ·± º¯È¯À» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ´Â ÀÌ ÀåÄ¡°¡ Çϵå¿þ¾î Çì´õ¸¦ ÇÊ¿ä·Î ÇÏ´ÂÁö, ¸¸¾à ±×·¸´Ù¸é ÀÌ ÆÐŶ¿ëÀ¸·Î Çϵå¿þ¾î Çì´õ¸¦ ´Ù½Ã ¸¸µé¾î¾ß ÇÏ´ÂÁö ¾Ë±â À§ÇØ ¿© ·¯°¡Áö °Ë»ç¸¦ ¼öÇàÇÑ´Ù. ¸®´ª½º´Â Çϵå¿þ¾î Çì´õ¸¦ ÀÚÁÖ ´Ù½Ã ¸¸µéÁö ¾Êµµ·Ï À̸¦ ij½ÃÇÑ ´Ù. ¸¸¾à Çϵå¿þ¾î Çì´õ¸¦ ´Ù½Ã ¸¸µé ÇÊ¿ä°¡ ÀÖ´Ù¸é, ÀåÄ¡ °íÀ¯ÀÇ Çϵå¿þ¾î Çì´õ ÀçÁ¦ÀÛ ·ç ƾÀ» È£ÃâÇÑ´Ù. ¸ðµç ÀÌ´õ³Ý ÀåÄ¡´Â ¶È°°Àº ÀϹÝÀûÀÎ Çì´õ ÀçÁ¦ÀÛ ·çƾÀ» »ç¿ëÇϸç, ÀÌ ·çƾ Àº ¸ñÀûÁö IP ÁÖ¼Ò¸¦ ¹°¸®ÀûÀÎ ÁÖ¼Ò·Î ¹Ù²Ù±â À§ÇØ Â÷·Ê·Î ARP ¼­ºñ½º¸¦ »ç¿ëÇÑ´Ù.

ARP ÇÁ·ÎÅäÄÝ ±× ÀÚü´Â ¸Å¿ì ´Ü¼øÇϸç, ARP ¿ä±¸¿Í ARP ÀÀ´ä µÎ°¡Áö ¸Þ½ÃÁö ÇüÅ·ΠÀÌ·ç ¾îÁ® ÀÖ´Ù. ARP ¿ä±¸´Â º¯È¯À» ÇÊ¿ä·Î ÇÏ´Â IP ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ°í, ÀÀ´äÀº (¹Ù¶ó°Çµ¥) º¯È¯ µÈ IP ÁÖ¼ÒÀÎ Çϵå¿þ¾î ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´Ù. ARP ¿ä±¸´Â ³×Æ®¿öÅ©¿¡ ¿¬°áµÈ ¸ðµç È£½ºÆ®·Î ¹æ¼Û(ºê·Îµåij½ºÆ®) µÇ¹Ç·Î, ÀÌ´õ³Ý ³×Æ®¿öÅ©¿¡¼­´Â ÀÌ´õ³Ý¿¡ ¿¬°áµÈ ¸ðµç ±â°èµéÀÌ ÀÌ ARP ¿ä±¸¸¦ ¹Þ°Ô µÈ´Ù. ÀÌ ¿ä±¸¿¡ ÀÖ´Â IP ÁÖ¼Ò¸¦ ¼ÒÀ¯ÇÏ°í ÀÖ´Â ±â°è´Â ÀÌ ARP ¿ä±¸¿¡ ÀÀ´äÇÏ ¿© ÀÚ½ÅÀÇ ¹°¸®ÀûÀÎ ÁÖ¼Ò¸¦ ´ã°í ÀÖ´Â ARP ÀÀ´äÀ¸·Î ´äÇÏ°Ô µÈ´Ù.

¸®´ª½º¿¡¼­ ARP ÇÁ·ÎÅäÄÝ °èÃþÀº °¢°¢ IP¿¡¼­ ¹°¸®ÁÖ¼Ò·ÎÀÇ º¯È¯À» ³ªÅ¸³»´Â arp_table ÀڷᱸÁ¶ÀÇ Å×À̺íÀ» °¡Áö°í ÀÌ·ç¾îÁ® ÀÖ´Ù. ÀÌµé ¿£Æ®¸®µéÀº IPÁÖ¼Ò°¡ º¯È¯µÉ ÇÊ¿ä°¡ ÀÖÀ» ¶§ ¸¸µé¾îÁö°í, ½Ã°£ÀÌ Áö³ª ³°¾ÆÁö¸é Á¦°ÅµÈ´Ù. °¢ arp_table ÀڷᱸÁ¶´Â ´ÙÀ½°ú °°Àº Ç× ¸ñµéÀ» °¡Áø´Ù :

¸¶Áö¸· »ç¿ë(last used)	    ARP ¿£Æ®¸®°¡ ¸¶Áö¸·À¸·Î »ç¿ëµÈ ½Ã°£
¸¶Áö¸· °»½Å(last updated)   ARP ¿£Æ®¸®°¡ ¸¶Áö¸·À¸·Î °»½ÅµÈ ½Ã°£
Ç÷¡±×(flags)		    ¿£Æ®¸®°¡ ¿Ï·áµÇ¾ú´ÂÁö °°Àº ¿£Æ®¸®ÀÇ »óŸ¦ ³ªÅ¸³½´Ù.
IP ÁÖ¼Ò 		    ¿£Æ®¸®°¡ ³ªÅ¸³»´Â IP ÁÖ¼Ò
Çϵå¿þ¾î ÁÖ¼Ò		    º¯È¯µÈ Çϵå¿þ¾î ÁÖ¼Ò
Çϵå¿þ¾î Çì´õ		    ij½ÃµÈ Çϵå¿þ¾î Çì´õ¿¡ ´ëÇÑ Æ÷ÀÎÅÍ
ŸÀ̸Ó(timer)		    ÀÀ´äÇÏÁö ¾Ê´ÂARP ¿ä±¸¸¦ ŸÀӾƿô ½ÃÅ°´Âµ¥ »ç¿ëÇÏ´Â
			    timer_list ¿£Æ®¸®
Àç½Ãµµ(retries) 	    ÀÌ ARP ¿ä±¸¸¦ Àç½ÃµµÇÑ È½¼ö
sk_buff Å¥		    ÀÌ IP ÁÖ¼Ò¸¦ ÇØ°áÇϱ⠱â´Ù¸®´Â sk_buff ¿£Æ®¸®ÀÇ ¸®½ºÆ®

ARP Å×À̺íÀº arp_table ¿£Æ®¸®µéÀ» ÀÕ±â À§ÇØ Æ÷ÀÎÅÍÀÇ Å×À̺í·Î µÇ¾î ÀÖ´Ù (arp_tables º¤ÅÍ). ¿£Æ®¸®µéÀº À̵鿡 ´ëÇÑ Á¢±Ù ¼Óµµ¸¦ ³ôÀ̱â À§ÇØ Ä³½ÃµÇ¸ç, °¢ ¿£Æ® ¸®´Â IP ÁÖ¼ÒÀÇ ³¡ µÎ ¹ÙÀÌÆ®¸¦ °¡Á®¿Í Å×ÀÌºí¿¡ ´ëÇÑ À妽º¸¦ °è»êÇÏ°í, ¿øÇÏ´Â °ÍÀ» ã À» ¶§±îÁö Çؽà Å×ÀÌºí¿¡¼­ ¿£Æ®¸®ÀÇ °í¸®¸¦ µû¶ó°¡ ã°Ô µÈ´Ù. ¸®´ª½º´Â ¶ÇÇÑ ¹Ì¸® ¸¸µé¾î Áø Çϵå¿þ¾î Çì´õ¸¦ hh_cache ÀڷᱸÁ¶ ÇüÅ·Πarp_table ¿£Æ®¸®¿¡ ij½Ã½ÃŲ´Ù.

IP ÁÖ¼Òº¯È¯À» ¿ä±¸Çߴµ¥ ÀÏÄ¡ÇÏ´Â arp_table ¿£Æ®¸®°¡ ¾øÀ» °æ¿ì, ARP´Â ARP ¿ä±¸ ¸Þ ½ÃÁö¸¦ º¸³»¾ß ÇÑ´Ù. ARP´Â arp_table¿¡¼­ »õ arp_table ¿£Æ®¸®¸¦ ¸¸µé°í, ÁÖ¼Ò º¯È¯À» ÇÊ¿ä·Î ÇÏ´Â ÆÐŶµéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â sk_buff¸¦ »õ·Î ¸¸µé¾îÁø ¿£Æ®¸®ÀÇ sk_buff Å¥¿¡ Å¥½ÃŲ´Ù. ARP´Â ARP ¿ä±¸¸¦ º¸³»°í ARP ¸¸·á ŸÀ̸Ӹ¦ ½ÇÇàÇÑ´Ù. ¾Æ¹«·± ÀÀ´äÀÌ ¾ø´Ù¸é ARP´Â ¿©·¯¹ø Àç½Ãµµ¸¦ ÇÏ°í, ¿©ÀüÈ÷ ÀÀ´äÀÌ ¾ø´Ù¸é ARP´Â arp_table ¿£Æ®¸®¸¦ Á¦°ÅÇÑ ´Ù. IP ÁÖ¼Ò°¡ º¯È¯µÇ±â¸¦ ±â´Ù·Á Å¥µÇ¾î ÀÖ´Â ¾î¶² sk_buff ÀڷᱸÁ¶ÀÌµç °£¿¡ ÅëÁö¸¦ ¹Þ °Ô µÇ°í, ÀÌ·± ½ÇÆÐ¿Í ÇùÁ¶ÇÏ´Â °ÍÀº À̵éÀ» Àü¼ÛÇÏ·Á´Â ÇÁ·ÎÅäÄÝ °èÃþÀÇ ¸òÀÌ´Ù. UDP´Â ÀÒ ¾î¹ö¸° ÆÐŶ¿¡ ´ëÇؼ­ ½Å°æÀ» ¾²Áö ¾ÊÁö¸¸, TCP´Â ¼º¸³µÈ TCP ¸µÅ©¸¦ ÅëÇÏ¿© ÀçÀü¼ÛÇÏ·Á°í ½ÃµµÇÒ °ÍÀÌ´Ù. ¸¸¾à IP ÁÖ¼ÒÀÇ ¼ÒÀ¯ÀÚ°¡ Çϵå¿þ¾î ÁÖ¼Ò¸¦ µ¹·ÁÁÖ¸ç ÀÀ´äÇÑ´Ù¸é, arp_table ¿£Æ®¸®´Â ¿Ï·áµÈ °ÍÀ¸·Î Ç¥½ÃµÇ°í, Å¥µÇ¾î ÀÖ´Â ¸ðµç sk_buffµéÀº Å¥¿¡¼­ Àç °ÅµÇ°í Àü¼ÛµÉ °ÍÀÌ´Ù. Çϵå¿þ¾î ÁÖ¼Ò´Â °¢ sk_buffÀÇ Çϵå¿þ¾î Çì´õ¿¡ ±â·ÏµÈ´Ù.

ARP ÇÁ·ÎÅäÄÝ °èÃþÀº ÀÚ½ÅÀÇ IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ°í ÀÖ´Â ARP ¿ä±¸¿¡ ¹Ýµå½Ã ÀÀ´äÇØ¾ß ÇÑ´Ù. ÀÌ °èÃþÀº ÀÚ½ÅÀÇ ÇÁ·ÎÅäÄÝ Å¸ÀÔ (ETH_P_ARP)¸¦ µî·ÏÇÏ°í, packet_type ÀڷᱸÁ¶¸¦ »ý¼º ÇÑ´Ù. ÀÌ´Â ³×Æ®¿öÅ© ÀåÄ¡°¡ ¼ö½ÅÇÑ ¸ðµç ARP ÆÐŶÀ» Àü´Þ¹Þ°Ô µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ´Â ARP ÀÀ´ä»Ó¸¸ ¾Æ´Ï¶ó ARP ¿ä±¸µµ Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ¼ö½ÅÇÑ ÀåÄ¡ÀÇ device ÀڷᱸÁ¶¿¡ ÀúÀå µÇ¾î ÀÖ´Â Çϵå¿þ¾î ÁÖ¼Ò¸¦ »ç¿ëÇÏ¿© ARP ÀÀ´äÀ» ¸¸µç´Ù.

³×Æ®¿öÅ© ±¸¼ºÀº ½Ã°£ÀÌ Áö³ª¸é¼­ º¯ÇÒ ¼ö ÀÖÀ¸¸ç, IP ÁÖ¼Ò´Â ´Ù¸¥ Çϵå¿þ¾î ÁÖ¼Ò·Î ´Ù½Ã ÇÒ ´çµÉ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, ¾î¶² ÀüÈ­Á¢¼Ó ¼­ºñ½º´Â ¿¬°áÀÌ µÉ ¶§¸¶´Ù °¢°¢ ´Ù¸¥ IP ÁÖ¼Ò¸¦ ¹èÁ¤ÇÑ´Ù. ARP Å×À̺íÀÌ °¡Àå ÃÖ±ÙÀÇ ¿£Æ®¸®¸¦ °¡Áú ¼ö ÀÖµµ·Ï, ARP´Â Á¤±âÀûÀΠŸÀ̸Ӹ¦ µ¹·Á¼­ ¸ðµç arp_table ¿£Æ®¸®µéÀÌ Å¸ÀӾƿôÀÌ µÇÁö ¾Ê¾Ò´ÂÁö »ìÆ캻´Ù. ÀÌ´Â Çϳª ÀÌ»ó ÀÇ Ä³½ÃµÈ Çϵå¿þ¾î Çì´õ¸¦ °®°í ÀÖ´Â ¿£Æ®¸®µéÀ» Á¦°ÅÇÏÁö ¾Êµµ·Ï ¸Å¿ì Á¶½ÉÇÑ´Ù. ÀÌµé ¿£ Æ®¸®¸¦ Áö¿ì´Â °ÍÀº ´Ù¸¥ ÀڷᱸÁ¶µéÀÌ ÀÌ¿¡ ÀÇÁ¸ÇÏ°í ÀÖÀ¸¹Ç·Î ¸Å¿ì À§ÇèÇÏ´Ù. ¾î¶² arp_table ¿£Æ®¸®µéÀº ¿µ±¸ÀûÀ̸ç, À̵éÀº ÇÒ´çÀÌ ÇØÁ¦µÇÁö ¾Êµµ·Ï Ç¥½Ã°¡ µÈ´Ù. ARP Å× À̺íÀº ³Ê¹« Ä¿Áö¸é ¾ÈµÈ´Ù. °¢ arp_table ¿£Æ®¸®´Â ¾î´ÀÁ¤µµ Ä¿³Î ¸Þ¸ð¸®¸¦ Àâ¾Æ¸Ô±â ¶§ ¹®ÀÌ´Ù. »õ ¿£Æ®¸®°¡ ÇÒ´çµÇ¾î¾ß ÇÏ°í ARP Å×À̺íÀÌ ÃÖ´ë Å©±â¿¡ µµ´ÞÇÒ ¶§¸¶´Ù, Å×À̺íÀº °¡Àå ¿À·¡µÈ ¿£Æ®¸®µéÀ» ã¾Æ À̸¦ Á¦°ÅÇÑ´Ù.


10.7 IP ¶ó¿ìÆÃ(routing)

IP ¶ó¿ìÆà ÇÔ¼ö´Â ƯÁ¤ IP ÁÖ¼Ò¸¦ ¸ñÀûÁö·Î °¡Áø IP ÆÐŶÀ» ¾îµð·Î º¸³¾Áö¸¦ °áÁ¤ÇÑ´Ù. IP ÆÐŶÀ» Àü¼ÛÇÒ ¶§ ¸¹Àº ¼±ÅÃÀ» ÇÒ ¼ö ÀÖ´Ù. ¸ñÀûÁö¿¡ °á±¹ µµÂøÇÒ ¼ö ÀÖÀ»±î? ¸¸¾à µµÂøÇÒ ¼ö ÀÖ´Ù¸é, Àü¼ÛÇϴµ¥ ¾î¶² ³×Æ®¿öÅ© ÀåÄ¡¸¦ »ç¿ëÇÒ °ÍÀΰ¡? ¸ñÀûÁö¿¡ µµÂøÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© ÀåÄ¡°¡ Çϳª ÀÌ»ó ÀÖ´Ù¸é, ¾î¶² °ÍÀÌ ´õ ÁÁÀº °ÍÀΰ¡? IP ¶ó¿ìÆà µ¥ÀÌÅͺ£ À̽º´Â À̵é Áú¹®¿¡ ´ë´äÇÒ ¼ö ÀÖ´Â Á¤º¸¸¦ °ü¸®ÇÑ´Ù. ¿©±â¿¡ µÎ°¡Áö µ¥ÀÌÅͺ£À̽º°¡ ÀÖ´Â µ¥, °¡Àå Áß¿äÇÑ °ÍÀº Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º(Forwarding Information Database)ÀÌ´Ù. ÀÌ°ÍÀº IP ÁÖ¼Ò¿Í °¡Àå ÁÁÀº ±æ¿¡ ´ëÇؼ­ ¾Ë·ÁÁø °ÍµéÀÇ ¼Ò¸ðÀûÀÎ ¸ñ·ÏÀÌ´Ù. IP ¸ñÀûÁö·ÎÀÇ ±æÀ» »¡ ¸® ã±â À§ÇØ, ´õ ÀÛ°í ´õ ºü¸¥ µ¥ÀÌÅͺ£À̽ºÀÎ ·çÆ® ij½Ã(route cache)°¡ »ç¿ëµÈ´Ù. ´Ù¸¥ ¸ð µç ij½Ãó·³ ÀÌ´Â ÀÚÁÖ Á¢±ÙÇÏ´Â ±æµé¿¡ ´ëÇؼ­¸¸ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù; ÀÌ°ÍÀÇ ³»¿ëÀº Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º¿¡¼­ °¡Á®¿Â °ÍÀÌ´Ù.

·çÆ®´Â BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º·Î IOCTL ¿ä±¸¸¦ º¸³¿À¸·Î½á Ãß°¡µÇ°Å³ª »èÁ¦µÈ´Ù. À̵éÀº ÇÁ ·ÎÅäÄÝ¿¡¼­ ÇÁ·Î¼¼½º·Î Àü´ÞµÈ´Ù. INET ÇÁ·ÎÅäÄÝ °èÃþÀº IP ·çÆ®¸¦ Ãß°¡Çϰųª »èÁ¦Çϴµ¥ ½´ÆÛÀ¯Àú ±ÇȯÀ» °¡Áø ÇÁ·Î¼¼½º¸¸À» Çã°¡ÇÑ´Ù. ÀÌµé ·çÆ®µéÀº °íÁ¤µÉ ¼öµµ ÀÖ°í, ½Ã°£ÀÌ Áö ³ª¸é¼­ µ¿ÀûÀ¸·Î º¯ÇÒ ¼öµµ ÀÖ´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛÀº ¶ó¿ìÅÍ°¡ ¾Æ´Ï¶ó¸é °íÁ¤µÈ ·çÆ®¸¦ »ç ¿ëÇÑ´Ù. ¶ó¿ìÅÍ´Â Áö¼ÓÀûÀ¸·Î ¸ðµç ¾Ë·ÁÁø IP ¸ñÀûÁö·Î °¡´Â ±æµéÀÇ À¯È¿¼ºÀ» °Ë»çÇÏ´Â ¶ó ¿ìÆà ÇÁ·ÎÅäÄÝÀ» ½ÇÇàÇÑ´Ù. ¶ó¿ìÅÍ°¡ ¾Æ´Ñ ½Ã½ºÅÛµéÀº ´Ü¸» ½Ã½ºÅÛÀ̶ó°í ÇÑ´Ù. ¶ó¿ìÆà ÇÁ·Î ÅäÄÝÀº GATED°°Àº µ¥¸óÀ¸·Î ±¸ÇöµÇ¾î ÀÖÀ¸¸ç, ¸¶Âù°¡Áö·Î IOCTL BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇÏ¿© ·çÆ®¸¦ Ãß°¡Çϰųª »èÁ¦ÇÑ´Ù.


10.7.1 ·çÆ® ij½Ã(Route Cache)

IP ·çÆ®¸¦ Á¶È¸Çϸé ÀÏÄ¡ÇÏ´Â ·çÆ®¸¦ ã±â À§ÇØ ·çÆ® ij½Ã¸¦ ¸ÕÀú °Ë»çÇÑ´Ù. ·çÆ® ij½Ã¿¡ ÀÏÄ¡ÇÏ´Â ·çÆ®°¡ ¾ø´Ù¸é Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º¿¡¼­ ·çÆ®¸¦ ã´Â´Ù. ¸¸¾à ¾Æ¹«·± ·çÆ®µµ ãÀ» ¼ö ¾ø´Ù¸é, IP ÆÐŶÀº Àü¼Û¿¡ ½ÇÆÐÇÏ°í À̸¦ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¾Ë¸°´Ù. ¸¸¾à ·çÆ®°¡ Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ°í ·çÆ® ij½Ã¿¡ ¾ø´Ù¸é, ÀÌ ·çÆ®¿¡ ÇØ´çÇÏ´Â »õ ¿£Æ®¸®¸¦ ¸¸µé¾î ·ç Æ® ij½Ã¿¡ Ãß°¡ÇÑ´Ù. ·çÆ® ij½Ã´Â rtable ÀڷᱸÁ¶ÀÇ ¿¬°á°í¸®¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ ´Â Å×À̺í(ip_rt_hash_table)ÀÌ´Ù. ·çÆ® Å×ÀÌºí¿¡¼­ÀÇ À妽º´Â IP ÁÖ¼ÒÀÇ ÇÏ´Ü µÎ ¹ÙÀÌ Æ®¿¡ ±â¹ÝÇÑ ÇؽÃÇÔ¼öÀÌ´Ù. ÀÌµé µÎ ¹ÙÀÌÆ®´Â ¸ñÀûÁö¸¶´Ù °¡Àå ´Þ¶ó¼­ ÇؽðªÀ» °¡Àå Àß ºÐ »ê½ÃÄÑ ÁÙ ¼ö ÀÖ´Â °ÍÀÌ´Ù. °¢ rtable ¿£Æ®¸®´Â ·çÆ®¿¡ ´ëÇÑ Á¤º¸ - ¸ñÀû IP ÁÖ¼Ò¿Í ÀÌ IP ÁÖ¼Ò¿¡ µµ´ÞÇϴµ¥ »ç¿ëÇÒ ³×Æ®¿öÅ© device, »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ½ÃÁöÀÇ ÃÖ´ë Å©±â µîµî - ¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ´Â ¶ÇÇÑ ÂüÁ¶È½¼öµµ °¡Áö°í Àִµ¥, ÀÌ´Â »ç¿ëȽ¼ö¿Í ÀÌ°ÍÀÌ »ç¿ëµÈ ¸¶Áö ¸· ½Ã°£ÀÇ Å¸ÀÓ½ºÅÆÇÁ¸¦ °¡Áö°í ÀÖ´Ù (jiffies °ªÀ¸·Î). ÂüÁ¶È½¼ö´Â ÀÌ ·çÆ®°¡ »ç¿ëµÉ ¶§ ¸¶´Ù Áõ°¡ÇÏ¿©, ÀÌ ·çÆ®¸¦ »ç¿ëÇÏ´Â ³×Æ®¿öÅ© ¿¬°áÀÇ ¼ýÀÚ¸¦ º¸¿©ÁØ´Ù. ÀÌ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÌ ·çÆ®¸¦ »ç¿ëÇϱ⸦ ±×¸¸µÎ¸é °¨¼ÒÇÑ´Ù. »ç¿ëȽ¼ö´Â ÀÌ ·çÆ®¸¦ ã¾ÒÀ» ¶§¸¶´Ù Áõ°¡Çϸç, rtable Çؽà °í¸®¿¡¼­ ÀÌ ¿£Æ®¸®ÀÇ ¼ø¼­¸¦ °áÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. ·çÆ® ij½Ã¿¡ ÀÖ´Â ¸ðµç ¿£Æ®¸®¿¡ ÀÖ´Â ¸¶Áö¸· »ç¿ëÇÑ Å¸ÀÓ½ºÅÆÇÁ¸¦ Á¤±âÀûÀ¸·Î °Ë»çÇÏ¿© rtableÀÌ ³Ê¹« ¿À·¡µÇÁö ¾Ê¾Ò´ÂÁö »ìÇÉ´Ù. ¸¸¾à ·çÆ®°¡ ÃÖ±Ù¿¡ »ç¿ëµÇÁö ¾Ê¾Ò´Ù¸é ·çÆ® ij½Ã¿¡¼­ ºüÁö°Ô µÈ´Ù. ¸¸¾à ·çÆ®°¡ ·çÆ® ij½Ã¿¡ ÀÖ´Ù¸é, ÀÌ ·çÆ®´Â °¡Àå ¸¹ÀÌ »ç¿ëÇÑ ¿£Æ®¸®°¡ Çؽà °í¸®ÀÇ ¸Ç ¾Õ¿¡ ¿À µµ·Ï ¹èÄ¡µÈ´Ù. ÀÌ´Â ·çÆ®¸¦ Á¶È¸ÇÒ ¶§ »¡¸® ã°Ô µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.


±×¸² 10.5 : Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º

10.7.2 Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º(Forwarding Information Database)

Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º(±×¸² 10.5¿¡¼­ º¸¿©ÁÖ°í ÀÖ´Ù)´Â ¾î¶² ½Ã°£¿¡ ½Ã½ºÅÛ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ·çÆ®µéÀ» IP °üÁ¡¿¡¼­ °¡Áö°í ÀÖ´Ù. ÀÌ´Â ¸Å¿ì º¹ÀâÇÑ ÀڷᱸÁ¶À̸ç, »ó´çÈ÷ È¿°úÀû À¸·Î ¹èÄ¡µÇ¾î ÀÖÁö¸¸, Âü°íÇϱ⿡ ºü¸¥ µ¥ÀÌÅͺ£À̽º´Â ¾Æ´Ï´Ù. ƯÈ÷, Àü¼ÛÇÏ´Â ¸ðµç IP ÆРŶ¸¶´Ù ¸ñÀûÁö¸¦ ÀÌ µ¥ÀÌÅͺ£À̽º¿¡¼­ ã°Ô µÈ´Ù¸é ¸Å¿ì ´À¸± °ÍÀÌ´Ù. ÀÌ´Â ·çÆ® ij½Ã°¡ ÀÖ ´Â ÀÌÀ¯À̱⵵ ÇÏ´Ù - ¾Ë°í ÀÖ´Â ÁÁÀº ·çÆ®¸¦ »ç¿ëÇÏ¿© IP ÆÐŶ Àü¼ÛÇÏ´Â °ÍÀ» ´õ ºü¸£°Ô Çϱâ. ·çÆ® ij½Ã´Â Àü´Þ Á¤º¸ µ¥ÀÌÅͺ£À̽º¿¡¼­ ÆÄ»ýµÈ °ÍÀ¸·Î ÀÚÁÖ »ç¿ëÇÏ´Â ¿£Æ®¸®µéÀ» ´ëÇ¥ÇÑ´Ù.

°¢ IP ¼­ºê³ÝÀº fib_zone ÀڷᱸÁ¶·Î Ç¥ÇöÇÑ´Ù. ÀÌµé ¸ðµÎ´Â fib_zones Çؽà Å×ÀÌºí¿¡¼­ °¡¸®Å°°í ÀÖ´Ù. Çؽà À妽º´Â IP ¼­ºê³Ý ¸Å½ºÅ©¿¡¼­ ¸¸µé¾îÁø´Ù. ¶È°°Àº ¼­ºê³ÝÀ¸·ÎÀÇ ¸ðµç ·çÆ®µéÀº fib_nodeÀÇ ½ÖÀ¸·Î ³ªÅ¸³»Áö¸ç, fib_info ÀڷᱸÁ¶´Â °¢ fib_zone ÀڷᱸÁ¶ ÀÇ fz_list·Î Å¥µÈ´Ù. ¸¸¾à ÀÌ ¼­ºê³Ý¿¡ ÀÖ´Â ·çÆ®ÀÇ ¼ýÀÚ°¡ Ä¿Áö¸é, fib_node ÀڷᱸÁ¶ ¸¦ ½±°Ô ã±â À§ÇØ ÇؽÃÅ×À̺íÀÌ ¸¸µé¾îÁø´Ù.

¶È°°Àº IP ¼­ºê³Ý¿¡ ¿©·¯°³ÀÇ ·çÆ®°¡ ÀÖÀ» ¼ö ÀÖÀ¸¸ç, ÀÌµé ·çÆ®µéÀº ¿©·¯ °ÔÀÌÆ®¿þÀÌ ÁßÀÇ Çϳª¸¦ ÅëÇÏ°Ô µÈ´Ù. IP ¶ó¿ìÆà °èÃþÀº ¶È°°Àº °ÔÀÌÆ®¿þÀ̸¦ »ç¿ëÇÏ¿© ÇϳªÀÇ ¼­ºê³ÝÀ¸·Î ¿© ·¯ °³ÀÇ ·çÆ®°¡ ÀÖ´Â °ÍÀ» Çã°¡ÇÏÁö ¾Ê´Â´Ù. ´Ù¸£°Ô ¸»Çϸé, ¼­ºê³ÝÀ¸·Î °¡´Â ·çÆ®°¡ ¿©·¯ °³°¡ ÀÖ´Ù¸é, °¢ ·çÆ®´Â ´Ù¸¥ °ÔÀÌÆ®¿þÀ̸¦ »ç¿ëÇϵµ·Ï ÇÏ¿©¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. °¢ ·çÆ®¿Í ¿¬ °üµÇ¾î ÀÖ´Â °ÍÀº ±×°ÍÀÇ °Å¸®(metric)ÀÌ´Ù. ÀÌ°ÍÀº ÀÌ °æ·Î°¡ ¾ó¸¶³ª À¯¸®ÇÑÁö¸¦ ÃøÁ¤ÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ÇÑ ·çÆ®ÀÇ °Å¸®´Â º»ÁúÀûÀ¸·Î ¸ñÀûÇÏ´Â ¼­ºê³Ý¿¡ µµÂøÇϱâ±îÁö °ÅÃÄ¾ß ÇÏ´Â IP ¼­ºê³ÝÀÇ ¼öÀÌ´Ù. ÀÌ °ªÀÌ ´õ Ŭ ¼ö·Ï ´õ ÁÁÁö ¾ÊÀº ·çÆ®ÀÌ´Ù.


¹ø¿ª : ±è¼º·æ, ÀÌÈ£, È«°æ¼±
Á¤¸® : ½É¸¶·Î, ÀÌÈ£


¿ªÁÖ 1) °¡Àå ³Î¸® »ç¿ëµÇ´Â À¥ ¼­¹öÀÎ ¾ÆÆÄÄ¡ÀÇ Àý¹Ý ÀÌ»óÀÌ ¸®´ª½º¿¡¼­ µ¿ÀÛÁßÀÌ´Ù. (½É¸¶ ·Î)

2) ±¹¸³ °úÇÐ Àç´Ü(National Science Foundation)

¿ªÁÖ 3) ÀÌ´õ³ÝÀº ¹æ¼Û ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ°í, ÀÌ ¶§¹®¿¡ º¸¾È¼ºÀÌ ¶³¾îÁö´Â Ãø¸éÀÌ ÀÖ´Ù (½É ¸¶·Î)

4) µ¿±âÀû Àбâ Àü¿ë ¸Þ¸ð¸®(Synchronous Read Only Memory)