예전에 2cpu에서 본 김윤술님의 글 중에서 '무작위 세션 UDP를 처리할 수 있는 NAT 칩은 존재하지 않는다'는 이야기를 봤는데, 그 이유가 궁금합니다.
NAT는 IP레이어에서 동작하면서 지나다니는 패킷의 Src Addr, Dst Addr, Port를 덮어씌워주고, 경우에 따라 ALG를 수행하면 되는 거 아닌가요? 굳이 UDP라고 해서 차별할 이유는 없어 보입니다. 프로토콜 스펙 때문에 Seq number등을 조작해줘야하는 TCP가 구현상으로 더 복잡하면 복잡했지..
UDP ¸¦ ó¸®ÇÒ¼ö ÀÖ´Â ¿ë·®Àº Á¦ÇÑÀûÀÔ´Ï´Ù. Áï UDP ÆÐŶÀº ´Ü¼øÇÑ ÀÎÁõÀ̳ª ÅؽºÆ® ±â¹Ý µ¥ÀÌÅ͸¸À» »ç¿ëÇϴ°ÍÀÌ ¸Þ´º¾óÀε¥ TCP¿¡ ¼ÓµµÁ» ³ô¿©º¸°Ú´Ù°í UDP ÆÐŶÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥µéÀÌ ¸¹Àº°Ì´Ï´Ù. UDP´Â ¹Þ¾ÆÁÙ¼ö Àִ ij½¬°ªÀÌ ÀÖ½À´Ï´Ù. ±×°É ¿À¹ÙÇÏ¸é ³×Æ®¿öÅ©´Ü¿¡ ij½¬°¡ ¿À¹öÇ® µÇ¼ ºÎÇÏ°¡ °É¸®°Ô µÇ°í ½ÇÁ¦ µ¥ÀÌÅ͸¦ ¹ÞÁö ¾Ê´Âµ¥ ¹«ÀÛÀ§·Î ³¯·ÁÁÖ´Ù º¸´Ï ±×³É »¸´Â Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù.
Çѹø ³×Æ®¿öÅ© ´Ü¿¡¼ ±×¸®µå ´Ù¿î·Îµå¸¦ TCP¸¸ »ç¿ëÇϴ°Ŷû UDP¸¸ »ç¿ëÇϴ°Ŷû Å×½ºÆ®¸¦ Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù. ÇÎÀÌ ¾ÆÁÖ µé¾¦³¯¾¦ ²÷±â°í ³¸®³ª´Â°Ô UDP ¶§¹®ÀÌ°í TCP¸¸ »ç¿ëÇßÀ»¶§´Â ¾Æ¹«¸® °í¿ë·®À» ºÙ°í ¼¼¼ÇÀÌ ¸¹ÀÌ ºÙ´õ¶óµµ ³×Æ®¿öÅ©¿¡ Å©°Ô ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.
Áï °øÀ¯±â NAT·Î´Â ÀÌ°É Ã³¸®ÇØÁÙ¼ö ÀÖ´Â°Ô °ÅÀÌ ¾ø´Ù´Â°Ô Áö±ÝÀÇ Çö½ÇÀÔ´Ï´Ù. °ÔÀÌÆ®¿þÀÌ Àåºñ°¡ ¾Æ¹«¸® ÁÁ´Ù°í Çصµ ½ºÀ§Ä¡´Ü¿¡¼ ¾Æ¿¹ ¸ÔÅëÀÌ µÇ´Â°æ¿ìµµ °£È¤ ÀÖ½À´Ï´Ù.
¾Æ½Ã´Ù½ÃÇÇ UDP´Â Çڵ彦ÀÌÅ©¾øÀÌ ³¯¸± ¼ö Àֱ⠶§¹®¿¡, ³×Æ®¿÷ÀÇ ´ë¿ªÆøÀÌ Çã¶ôÇÏ´Â ¸¸Å ³¯¸± ¼ö ÀÖ°í ±×°É ´Ù ¹Þ¾Æ¼ ó¸®Çϱâ¶õ ºÒ°¡´ÉÇÏÁö´Â ¾ÊÁö¸¸, ÀϾÁöµµ ¾Ê´Â(Á¤È®È÷´Â ÀϾÁö ¾Ê±â¸¦ ¹Ù¶ó´Â) ÀÏÀ» ¿°µÎ¿¡ µÎ°í °í°¡ÀÇ Àåºñ¸¦ °³¹ßÇϱâ´Â ä»ê¼ºÀÌ ¸ÂÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
UDP FloodingÀº °¡Àå ´Ü¼øÇϸ鼵µ È¿°úÀûÀ̾ú´ø DoS, dDoS°ø°Ý¹æ¹ýÀ̾ú°í, ´ëºÎºÐÀÇ Åë½Å»ç¿¡¼ UDP¸¦ Â÷´ÜÇϱâ´Â ÇÏÁö¸¸... ¾ÆÁ÷±îÁöµµ È¿°úÀûÀÎ ¹æ¹ýÀÇ Çϳª ÀÔ´Ï´Ù.
¸»¾¸ÇϽŴë·Î, ÇÁ·ÎÅäÄÝ ½ºÆå»ó TCPÀÇ ±¸ÇöÀÌ ´õ¿í º¹ÀâÇÏ°í, ±× º¹À⼺ ¶§¹®¿¡ ¾ç³¡´ÜÀÇ ´Ü¸»¿¡¼ ¾à°£ÀÇ Áö¿¬(??)ÀÌ ¹ß»ýÇϸç, ¾î´ÀÁ¤µµ ¿¹ÃøÇÒ ¼ö ÀÖ´Â ¼öÁØÀÇ Æ®·¡ÇÈÀÌ ¹ß»ýÇϹǷΠ±× ¼öÁØ¿¡ ¸Â´Â Àåºñ¸¦ °³¹ßÇϱⰡ(Á¤È®È÷´Â ¼º´ÉÀÇ ÃÖ´ëÄ¡ »êÁ¤) ¼ö¿ùÇÕ´Ï´Ù. ¹Ý´ë·Î UDPÀÇ °æ¿ì¿¡´Â Å©±â°¡ ÀÛÀº ÆÐŶÀ» µ¿ÀÏ ½Ã°£¿¡ ÈÎ~~~¾À ¸¹ÀÌ ¹ß»ý½Ãų ¼ö Àֱ⠶§¹®¿¡ TCP¸¦ ±âÁØÀ¸·Î °³¹ßµÈ NATÀåºñ°¡ ÀÚ½ÅÀÌ Ã³¸®ÇÒ ¼ö ÀÖ´Â ÇÑ°èÄ¡¸¦ ³Ñ¾î¹ö¸®°Ô µË´Ï´Ù.
¹¹... µ·¿¡ ½Å°æ¾²Áö¸»°í °³¹ßÇ϶ó¸é °³¹ßÀÌ¾ß ÇÏ°ÚÁö¸¸, ½ÃÀå¿¡ ³»´ÙÆÈ ¼öµµ ¾ø´Â ºñ½ÑÀåºñ´Â ȸ»çÃø¸é¿¡¼ ºÃÀ»¶§ ¾Æ¹« ¼Ò¿ëÀÌ ¾ø´Â ¹°°ÇÀÌ µÇ°ÚÁö¿ä..
nat°¡ tcp±âÁØÀ¸·Î °³¹ßµÇ¾î¼ udp¸¦ ó¸®Çϱ⿡ ¼º´ÉÀÌ ³·´Ù±âº¸´Ù´Â Á¤È®È÷ ¸»Çϸé tcp°Ç udp°Ç ¹«°üÇÏ°Ô line rateÀÇ ¼Óµµ·Î ÆÐŶÀ» Æ÷¿öµùÇÒ ¼º´ÉÀÌ ¾ÈµÅ¼ ±×·± °ÍÀÔ´Ï´Ù. ¶È°°ÀÌ 1000Mbps¸¦ Àü´ÞÇÑ´Ù°í Çصµ 64¹ÙÀÌÆ® ÆÐŶÀÌ ³Ñ¾î¿Ã ¶§¶û 1500¹ÙÀÌÆ® ÆÐŶÀÌ ³Ñ¾î¿Ã ¶§¶ûÀº ±× ÆÐŶ ¼ö°¡ ´Ù¸¨´Ï´Ù. ´ç¿¬È÷ ÀüÀÚ°¡ ´õ ³ôÀº ¼º´ÉÀ» ¿ä±¸ÇÏ´Â °ÍÀÌ°í¿ä.
ÇÏÁö¸¸ tcp´Â mtu·ÎºÎÅÍ mss¸¦ °è»êÇؼ ÃÖ´ë ÆÐŶ Å©±â·Î Àü¼ÛÇÏ·Á°í ÇÕ´Ï´Ù. µû¶ó¼ À¢¸¸Çϸé ipÇì´õ Å©±â¸¦ Æ÷ÇÔÇؼ 1500¹ÙÀÌÆ®ÀÇ ÆÐŶÀ¸·Î º¸³»·Á°í ÇÏ°ÚÁö¸¸ udp´Â ±× Å©±âµµ ¸¶À½´ë·Î Àß¶ó¼ º¸³¾ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
´Ù½Ã ¸»Çؼ µüÈ÷ udp°¡ Ư¼öÇÑ °Ô ¾Æ´Ï¶ó ±×³É tcp udp ¹«½¼ ÇÁ·ÎÅäÄÝÀÌ°Ç ¹«°üÇÏ°Ô nat³ª ¶ó¿ìÅÍÀÇ pps ´É·ÂÀÌ ³·¾Æ¼ ±×·± °Í»ÓÀÔ´Ï´Ù.