· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
NAT

NAT

NATÀÇ Çʿ伺

NATÀº ´ÙÀ½°ú °°Àº ¿ä±¸»çÇ×À» ÃæÁ·Çϱâ À§Çؼ­ ź»ýÇÏ¿´½À´Ï´Ù.

  • °øÀÎ IPÀÇ ºÎÁ·
    NATÇÏÀ§¿¡¼­´Â »ç¼³ IP¸¦ »ç¿ëÇÏ°í, ¿ÜºÎ InternetÁÖ¼Ò·Î Á¢¼Ó½Ã »ç¼³ IP¸¦ °øÀÎ IPÁÖ¼Ò·Î º¯È¯Çϵµ·Ï ÇÔÀ¸·Î½á °øÀÎ IPÁÖ¼ÒÀÇ ºÎÁ·¹®Á¦¸¦ ÇØ°áÇÕ´Ï´Ù.

  • NATÇÏÀ§ÀÇ ³×Æ®¿÷À» ¿ÜºÎ·ÎºÎÅÍ º¸È£
    Á÷Á¢ÀûÀ¸·Î ¿ÜºÎ·ÎºÎÅÍ NATÀÇ ³»ºÎ·Î Á¢±ÙÀÌ Á¦ÇÑµÇ¸ç ³»ºÎ »ç¼³ IP´ë¿ªÀÇ Æ®·¡ÇÈÀÌ ¿ÜºÎ InternetÀ¸·Î Á¢¼ÓÇÏ·Á´Â °æ¿ì°¡ ¾Æ´Ï¸é ±âº»ÀûÀ¸·Î RoutingµÇÁö ¾ÊÀ¸¹Ç·Î ¿ÜºÎ·ÎºÎÅÍ º¸È£µË´Ï´Ù.

NATÀÇ Á¾·ù

ÀϹÝÀûÀ¸·Î NATÀº ÁÖ¼Òº¯È¯À» Çϱâ À§ÇÏ¿© PacketÀÇ ´ÙÀ½»çÇ×À» Á¶Á¤ÇÕ´Ï´Ù.

  1. IP headerÀÇ IP addressºÎºÐ
  2. UDP headerÀÇ portºÎºÐ
  3. TCP headerÀÇ portºÎºÐ

´ÙÀ½Àº InternalÀ§Ä¡¿¡¼­ OutputBound½Ã¿¡ ¾î¶»°Ô ExternalÀ§Ä¡·Î ¹Ù²î´Â°¡ÀÇ ÁÖ¼Òº¯È¯±ÔÄ¢¿¡ ÀÇ°ÅÇÑ ºÐ·ù¿¡ ÀÇÇÑ ¸íĪÀÔ´Ï´Ù.

  • Full Cone
    InternalÀ§Ä¡¿¡¼­ UDP packetÀ» ¸ñÀûÁö·Î º¸³¾¶§ NAT¿¡¼­´Â ÇØ´ç Interal IP¿Í Port¸¦ ÀϽÃÀûÀ¸·Î ±â¾ïÇÏ°í NATÀÇ Port¿Í mappingÇÏ¿© ÁÖ¸ç ÇØ´ç Port·Î Data°¡ µé¾î¿À¸é Ãâ¹ßÁö¸¦ »ó°üÇÏÁö ¾Ê°í ±â¾ïÇÏ¿´´ø InternalÀ§Ä¡·Î forwardÇØÁÝ´Ï´Ù.

  • Port Restricted Cone
    InternalÀ§Ä¡¿¡¼­ UDP packetÀ» ¸ñÀûÁö·Î º¸³¾¶§ NAT¿¡¼­´Â ÇØ´ç Interal IP¿Í Port, ±×¸®°í ¸ñÀûÁö IP¿Í Port¸¦ ÀϽÃÀûÀ¸·Î ±â¾ïÇÏ°í NATÀÇ Port¿Í mappingÇÏ¿© ÁÖ¸ç ÇØ´ç Port·Î Data°¡ µé¾î¿À¸é Ãâ¹ßÁöIP ¹× Port¿Í ±â¾ïÇÏ°í ÀÖ´Â ¸ñÀûÁö IP ¹× Port°¡ °°À»¶§ ÇØ´ç InternalÀ§Ä¡·Î forwardÇØÁÝ´Ï´Ù.

  • Restrict Cone
    InternalÀ§Ä¡¿¡¼­ UDP packetÀ» ¸ñÀûÁö·Î º¸³¾¶§ NAT¿¡¼­´Â ÇØ´ç Interal IP¿Í Port, ±×¸®°í ¸ñÀûÁö IP¸¦ ÀϽÃÀûÀ¸·Î ±â¾ïÇÏ°í NATÀÇ Port¿Í mappingÇÏ¿© ÁÖ¸ç ÇØ´ç Port·Î Data°¡ µé¾î¿À¸é Ãâ¹ßÁöIP¿Í ±â¾ïÇÏ°í ÀÖ´Â ¸ñÀûÁö IP°¡ °°À»¶§ ÇØ´ç InternalÀ§Ä¡·Î forwardÇØÁÝ´Ï´Ù.

  • Symmetric Cone
    InternalÀ§Ä¡¿¡¼­ UDP packetÀ» ¸ñÀûÁö·Î º¸³¾¶§ NAT¿¡¼­´Â ÇØ´ç Interal IP¿Í Port, ±×¸®°í ¸ñÀûÁö IP¿Í Port¸¦ ÀϽÃÀûÀ¸·Î ±â¾ïÇÏ°í NATÀÇ Port¿Í mappingÇÏ¿© Áִµ¥ ¸ñÀûÁö Port°¡ ¹Ù²î¸é ¿ª½Ã »õ·Î¿î Port·Î mappingÇÕ´Ï´Ù. ÇØ´ç Port·Î Data°¡ µé¾î¿À¸é Ãâ¹ßÁöIP ¹× Port¿Í ±â¾ïÇÏ°í ÀÖ´Â ¸ñÀûÁö IP ¹× Port°¡ °°À»¶§ ÇØ´ç InternalÀ§Ä¡·Î forwardÇØÁÝ´Ï´Ù.

NATÀÇ ±¸Çö¹æ¹ý¿¡ µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ ºÐ·ùµË´Ï´Ù. NATÀº Exclude => Redirect => Reverse => Normal ÀÇ ¼ø¼­·Î Àû¿ëµÇµµ·Ï ±¸ÇöÇϴ°ÍÀÌ ÀϹÝÀûÀ̸ç Àû¿ë¼ø¼­°¡ ´Ù¸¥ °æ¿ì Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾ÊÀ»¼öµµ ÀÖ½À´Ï´Ù.

  • Normal NAT
    »ç¼³ IP¸¦ 1°³ÀÇ °øÀÎ IP·Î ¹Ù²Ù´Â ÇüÅ·Πµ¿½Ã¿¡ SessionÀ» ¾à 50000~65535°³Á¤µµ±îÁö¸¸ ó¸®ÇÒ¼ö Àִ°ÍÀÌ º¸ÅëÀ̸ç ÀÌ°ÍÀº ´õÀÌ»ó Port¸¦ ÇÒ´çÇÒ¼ö ¾ø±â ¶§¹®¿¡ ¹ß»ýÇÏ´Â Á¦¾à»çÇ×ÀÔ´Ï´Ù. ±×·¯³ª ÀÌ °æ¿ì °øÀÎIP¸¦ 2°³ÀÌ»óÀ» ¹­¾î¼­ ±¸ÇöÇÏ°Ô µÇ¸é ±× ¸¸Å­ µ¿½Ãó¸® Session À» ¿¬ÀåÇÒ¼ö Àֱ⵵ ÇÕ´Ï´Ù.

  • Reverse NAT
    Normal NAT¿¡¼­ ¼³Á¤µÈ °øÀÎ IP·ÎºÎÅÍ ³»ºÎ »ç¼³¸ÁÀ¸·Î Á¢¼Ó¿ä±¸¸¦ ¹Þ´Â °æ¿ì ¿©·¯°³ÀÇ »ç¼³ IPÁß¿¡¼­ ¾î¶² IP·Î º¯È¯ÇØ¾ß ÇÏ´ÂÁö ¾Ë¼ö ¾ø°Ô µË´Ï´Ù. ÀÌ °æ¿ì¿¡ ÁÖ¼Òº¯È¯¿¡ ´ëÇÑ ¼³Á¤ÀÌ µû·Î ÀÖ¾î¾ß ÇÕ´Ï´Ù. À̶§ ¼³Á¤À» Reverse NAT·Î 1:1 Mapping ¶Ç´Â Static mappingÀ̶ó°í ºÎ¸£±âµµ ÇÕ´Ï´Ù.

  • Redirect NAT
    ¸ñÀûÁö ÁÖ¼Ò¸¦ ÀçÁöÇâ(º¯È¯)Çϴ°ÍÀ» ¸»ÇÕ´Ï´Ù.

  • Exclude NAT
    NAT°ú Router»çÀÌ¿¡ ¼­¹ö°¡ ÀÖ°í ³»ºÎ »ç¼³IP»ç¿ëÀÚ°¡ ÀÌ ¼­¹ö·Î Á¢¼ÓÀ» ÇÒ¼ö ÀÖµµ·Î Çϱâ À§Çؼ­ Normal NATÀÇ Àû¿ëÀ» ¹ÞÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.

UDP Hole-punching

STUN°³¿ä.png
[PNG image (47.7 KB)]


  • Client A¿Í B´Â ¸ðµÎ ÀϹÝÀûÀ¸·Î 30ÃÊ(NAT°øÀ¯±âÀÇ ¼³Á¤¿¡ ÀÇÁ¸Àû)¸¦ ³ÑÁö ¾Ê´Â °£°ÝÀ¸·Î Server¿Í UDP¼Û¼ö½ÅÀ» ¼öÇàÇÕ´Ï´Ù. À̶§ ClientA ¿Í B´Â Server·Î ¸ÕÀú UDP packetÀ» Àü¼ÛÇÏ°Ô µÇ¸ç À̶§ ¹Ýµå½Ã Server ´Â ¼ö½ÅµÈ UDP packetÀÇ Source IP¿Í Source Port·Î ÀÀ´äÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.

  • (1) : Client A¿Í B¿¡¼­ Server·Î Àü¼ÛÇÑ PacketÀº NATÀ» Åë°úÇϸ鼭 SourceIP´Â ExternalIP·Î º¯È¯µÇ¸ç SourcePort´Â ÀÓÀÇÀÇ ExternalPort·Î ÀϽÃÀûÀÎ ½Ã°£µ¿Àº MappingµÇ¾î À¯ÁöµË´Ï´Ù.
  • (2) : Server·Î µµÂøµÈ PacketÀº SourceIP:SourcePort°¡ NATÀÇ ExternalIP¿Í ÀÓÀÇ·Î MappingµÈ Port·Î ÇÏ¿© ¼ö½ÅµË´Ï´Ù.
  • (3) : Server´Â µµÂøµÈ PacketÀÇ SourceIP:SourcePort·Î ÀÀ´äÆÐŶÀ» Àü¼ÛÇÕ´Ï´Ù.
  • (4) : Server·ÎºÎÅÍ Àü¼ÛµÈ PacketÀº NAT¿¡ µµ´ÞÇϸé ÇØ´ç Port mappingÀÌ À¯È¿ÇÒ¶§ ÇØ´ç PrivateIP¿Í Port·Î º¯È¯ÇÏ¿© Client·Î Àü´ÞÇÕ´Ï´Ù. À̷νá ÇØ´ç ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ÅëÇؼ­ »óÈ£°£ ¾ç¹æÇâ Åë½ÅÀÌ °¡´ÉÇØÁý´Ï´Ù.
  • (5) : ÀÌÁ¦ Server·ÎºÎÅÍÀÇ ÀÀ´äÆÐŶ¿¡ °¢°¢ÀÇ Client´Â »ó´ë¹æ ClientÀÇ ExternalIP¿Í ExternalPort¸¦ ¼ö½ÅÇÏ¿© ÇØ´ç ÁÖ¼Ò·Î PacketÀ» Àü¼ÛÇÕ´Ï´Ù.
  • (6) : Àû¾îµµ ÇÑÂÊClientÀÇ PacketÀÌ Àü¼Û¿¡ ¼º°øÇÏ°Ô µÇ¸ç(´Ü, ¾ç´ÜÀÌ Symmetric ConeÀÎ °æ¿ì´Â ½ÇÆÐÇÒ¼ö ÀÖÀ½) ÀÌÈÄ »ó´ë¹æ Client·ÎºÎÅÍ µµÂøÇÑ PacketÀÇ SourceIP:SourcePort·Î Àü¼ÛÇÒ¼ö ÀÖ°Ô µË´Ï´Ù.
  • (7) : ¸¸¾à Client A¿Í Client B°¡ °°Àº NAT¿¡ ÀÖ´Ù¸é ¼­·Î °°Àº NAT¿¡¼­ ExternalIP·Î Àü¼ÛÇϴ°ÍÀº Àü´ÞµÇÁö ¾ÊÀ»¼ö ÀÖÀ¸¸ç ÀÌ °æ¿ì ¼­·Î BroadcastµîÀ» ÅëÇؼ­ È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.

  • Åë»óÀûÀ¸·Î ÀÌ ¹æ½ÄÀº ¾ç´ÜÀÌ µÑ´Ù Symmetric ConeÀÌ ¾Æ´Ñ °æ¿ì¿¡ ÇÑÇؼ­ ¼º°øÈ®·üÀÌ ¸Å¿ì ³ô´Ù´Âµ¥ Ä¿´Ù¶õ ÀåÁ¡ÀÌ ÀÖ´Ù. ±×·¯³ª UDP protocolÀ» »ç¿ëÇϹǷΠ¾ç´Ü°£¿¡ ½Å·Ú¼ºÀ» º¸ÀåÇÒ¼ö ÀÖ´Â ¹æ¾ÈÀÌ º¸¿ÏµÇ¾î¾ß Çϸç Àü¼ÛÈ¿À²À» À§Çؼ­ ÀçÀü¼ÛÀ» È¿À²ÀûÀ¸·Î °ü¸®Çϵµ·Ï ¼³°èÇØ¾ß ÇÑ´Ù´Â Á¡¿¡¼­ ´ÜÁ¡À̶ó¸é ´ÜÁ¡À̶ó°í ÇÒ¼ö ÀÖ´Ù.

TCP Hole-punching

TCPHolePunchingSequence.png
[PNG image (56.47 KB)]

  • TCPÀÇ ±âÃÊÁö½Ä »çÇ× - 3 way handshake (ÀϹÝÀûÀÎ Connection¿¡ ´ëÇÑ ÀýÂ÷)
    • A¿¡¼­ B·Î ¿¬°áÇÏ´Â °æ¿ì A´Â SYN flag°¡ ONÀÌ°í Seq°ªÀ» ÀÓÀÇ·Î ¼³Á¤ÇÑ ÆÐŶÀ» B·Î Àü¼ÛÇÕ´Ï´Ù.
      • A´Â SYN_SENT »óÅÂ
      • B´Â SYN_RECEIVED »óÅÂ
    • B´Â ACK flag¿Í SYN flag°¡ ONÀÌ°í AckSeq?´Â A·Î ºÎÅÍ ¹ÞÀº Seq¿¡ 1À» ´õÇÑ°ªÀ¸·Î ¼³Á¤ÇÏ°í Seq°ªÀ» ÀÓÀÇ·Î ¼³Á¤ÇÑ ÆÐŶÀ» A·Î Àü¼ÛÇÕ´Ï´Ù.
      • A¿Í B´Â HALF_OPEN »óÅÂ
      • ÀÌ °æ¿ì B¿¡¼­´Â HALF_OPEN»óÅ´ Backlog Queue¿¡¼­ °ü¸®µË´Ï´Ù.
    • A´Â ACK flag¸¸ ONÀÌ°í AckSeq?´Â B·ÎºÎÅÍ ¹ÞÀº Seq¿¡ 1À» ´õÇÑ°ªÀ» ¼³Á¤ÇÏ°í B·Î Àü¼ÛÇÏ¿© ¿¬°á¼º¸³À» ¿Ï¼ºÇÕ´Ï´Ù.
      • A¿Í B´Â ESTABLISHED »óÅÂ

  • TCP Hole-punchingÀÇ ±âº» ¿ø¸®´Â SYN-ACKÀÇ ÆÐŶÀ» ¹Þ¾ÆµéÀ̵µ·Ï ÇѴٴµ¥ ÀÖ´Ù.
  • Åë»óÀûÀ¸·Î ÀÌ ¹æ½ÄÀÌ ¼º°øÇϱâ´Â ¸Å¿ì ¾î·Æ´Ù. ÇÏÁö¸¸ Á¦´ë·Î ¼º°øÇÑ´Ù¸é Æ®·¡ÇÈÀÌ 100% Client¾ç´Ü°£¿¡¼­ ó¸®ÇÏ°Ô µÇ°í TCP¸¦ ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ ½Å·Ú¼ºµµ ¾î´ÀÁ¤µµ ÇýÅÃÀ» ¾òÀ»¼ö ÀÖÀ¸¸ç Æ®·¡ÇÈÀÌ Server·Î ÁýÁߵǴ °ÍÀ» ¸·À»¼ö ÀÖ´Ù.


ID
Password
Join
His heart was yours from the first moment that you met.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-02-06 16:18:42
Processing time 0.0164 sec