Network addess translate - symmetric

minseok·2023년 6월 25일
0

기본적으로 NAT mapping table에 데이터가 있어야 inbound 요청에 대하여 라우팅을 해준다.

Symmentric 방식
Gateway port + destination ip + port를 사용하여 연결시킨다.

  1. 사설 ip를 가진 host(network에 연결된 컴퓨터)가 인터넷의 다른 host에 TCP기반 요청을 할 때 패킷을 만든다.

  2. 해당 패킷은 NAT gateway를 만나기 전에 패킷(L3)의 source ip에는 사설ip +port 가 적혀있다.

3.NAT gateway에 도착하면 패킷의 내용이 바뀐다. Source ip가 사설 host ip에서 gateway ip + port로 변경되며 기존 값은 NAT mapping table에 기입됩니다.(outbound인 경우에만 적용, inbound는 적용이 안된다.)

  1. 목적지 프로세스에 도착하고 다시 응답을 보낼 때 NAT gateway에서 변경해준 곳으로 응답을 보냄

5.NAT gateway는 응답의 source ip, port, destination port를 보고 라우팅 위치를 결정합니다.
(직접적인 연결이 아닌데도 두 process는 연결이 되었다고 생각, 그래서 TCP를 연결 지향형이라고 함(+ *way handshake같은 것 들까지 생각해보면))

  1. NAT gateway에서 사설 host로 패킷을 전송할 때는 host 입장에서 destination ip port를 변조하여 보냅니다.
    (두 process는 서로 통신을 한다고 착각)

Full cone 방식
사설 host ip+ port를 gateway port와 연결, inbound 요청에서 port만 동일하면 모두 통신이 가능하므로 보안에 취약

Restricted cone 방식
사설 host ip, port와 gateway port 그리고 외부 ip를 연결시킨다.
최소한 한 번 통신한 호스트만이 연결할 수 있음(포트는 무관)

profile
즐겁게 개발하기

0개의 댓글