■ NAT
NAT(Network Address Translation)은 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다.
패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 Checksum도 다시 계산되어 재기록해야 한다.
NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 하지만 꼭 사설 IP를 공인 IP로 변환하는데에만 사용하는 기술은 아니다.
사설 IP 대역들이 통신할 때 공유기에 할당된 공인 IP로 변경되어 통신한다.
하지만 바깥 네트워크에서는 공유기가 통신하는 것처럼 보인다. 하지만 공유기 안의 NAT 테이블에는 통신한 기록들이 저장되어 있다.
■ 포트포워딩
포트포워딩 또는 포트 매핑은 패킷이 라우터나 방화벽과 같은 네트워크 장비를 가로지르는 동안 특정 IP 주소와 포트 번호의 통신 요청을 특정 다른 IP와 포트 번호로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다.
이 기법은 게이트웨이(외부망)의 반대쪽에 위치한 사설네트워크에 상주하는 호스트에 대한 서비스를 생성하기 위해 흔히 사용된다.
사설 IP 대역의 컴퓨터가 보이지 않는 네트워크 대역의 컴퓨터와 통신하고 싶다면, 포트 포워딩을 이용한다.
직접 그 컴퓨터의 IP를 입력하는게 아니라 공유기의 공인 IP로 보낸다. 그리고 공유기에 포트 포워딩 설정을 해야한다. 목적지 IP주소를 공인IP주소로 전달해야한다.
특정 포트로 들어온 요청을 내부 네트워크 대역 중 특정 IP의 특정 포트로 전송한다.
'프로그래밍 > 네트워크' 카테고리의 다른 글
[네트워크] OSI 모델 7계층_HTTP 프로토콜 (0) | 2024.06.25 |
---|---|
[네트워크] OSI 4계층 모델_TCP 프로토콜 (0) | 2024.06.24 |
[네트워크] OSI 4계층 모델_TCP, UDP 프로토콜 (0) | 2024.06.24 |
[네트워크] OSI 모델 3계층_IP 프로토콜 (0) | 2024.06.24 |
[네트워크] OSI 모델 3계층_ARP 프로토콜 (0) | 2024.06.24 |