ABOUT ME

네트워크 개발자

Today
Yesterday
Total
  • NAT-1
    개발공부/네트워크 2025. 1. 5. 21:21

    출처 : https://www.netmanias.com/ko/post/blog/5833/nat-network-protocol/nat-behavior-requirements-for-unicast-udp-rfc-4787-part-1-mapping-behavior

    , gpt

     

     

    NAT?

    • 라우터에서 ip를 변환하는 기술
    • ip 헤더를 수정하여 동작
    • static nat = 내부 네트워크 사설 ip를 고정
    • dynamic nat = 동적으로 매핑

    STUN

    • 프로토콜임
    • nat 를 통해 p2p 통신을 하기 위함
    • stun 서버 <--> stun 클라이언트 사이 통신에서
      • 내가 사설망에 있는지 (nat 사용 하는지)
      • nat 동작이 어떻게 되는지
      • nat에 의해 변경되는 ip, 포트는 어떻게 되는지
    • 를 기술함

     


    NAT 동작

    (1) (2)

    1.1.1.1:10 ====> NAT(5.5.5.5):50 ====> 2.2.2.2:20

    라 가정하면

    • (1) 에서
      • src ip = 1.1.1.1 (=internal ip)
      • src port = 10 (internal port)
      • dst ip = 2.2.2.2
      • dst port = 20
    • (2) 에서
      • src ip = 5.5.5.5 (=external ip)
      • src port = 50 (external port)
      • dst ip = 2.2.2.2
      • dst port = 20

    Address, port mapping

    Endpoint independent mapping

    • 송신하는 패킷의 src ip, port 가 동일하다면
      • external ip, 포트가 동일
    • Endpoint 에 영향 안받음

    Address Dependent Mapping

    • 송신하는 패킷의 src ip, port 가 동일, dst ip 가 동일하다면
      • external ip, 포트가 동일
    • endpoint 의 ip 주소가 다르면 다른 포트 사용

    Address and Port dependent mapping

    • src ip 와 포트, dst ip 와 포트 모두 동일해야
      • external ip, 포트가 동일

    IP Address Pooling

    Arbitrary

    • 하나의 internal endpoint가 보내는 패킷이지만 session 이 다르면 다른 external ip로

    Paired

    • 하나의 internal endpoint 가 session이 달라도 같은 external ip 로
    • rfc 4787에서 paired사용을 권고

    Port Assignment

     

    Port Preservation

    • internal endpoint가 보낸 source port값이 external 에서도 같음

    Port Preservation

    • nat 장비가 임의의 포트로 변경

    Port Overloading

    • 포트 충돌(할당 범위 초과 등) 이 나오면 entry를 새것으로 덮어씌워버림
      • ex) ~5까지 인데 192.168.1.6 이 들어오면 external 에서 그냥 ~.5로 새 entry
        • 이전 통신(.5배정) 통신 불가능

    No Port Overloading

    • 충돌시 internal 포트 와 다른 포트를 할당
      • ex) ~5까지 인데 192.168.1.6 이 들어오면 external port를 다른포트로 변환

    Mapping Timer

    • mapping timer 시간 후 엔트리 삭제
      • 짧을 경우 nat session을 유지하기 위해 keep alive 을 자주보내야함
      • 2분내로 expire 시키진 않도록..

    '개발공부 > 네트워크' 카테고리의 다른 글

    포트포워딩  (1) 2024.10.27
    iptables(부제: 방화벽)  (0) 2024.09.14
    스위치 (netgear switch), VLAN  (7) 2024.09.01
Designed by Tistory.