IP 즉, 인터넷 프로토콜은 신뢰할 수 없는 프로토콜이자 비연결형 프로토콜이다. 패킷이 수신지까지 제대로 전송되었다는 보장을 하지 않는 특징이 있으며 (최선형 전달), 송수신 호스트 간에 사전 연결 수립 작업을 거치지 않는 특징이 있다.
→ 이는 성능적인 이유가 있다. 대부분의 경우 빠른 송수신이 필요한 데이터기 때문에, 패킷 손실을 감수하더라도 빠른 전송을 우선시 하기 위함이다.
패킷의 최종 수신 대상은 특정 어플리케이션 프로세스이므로 패킷은 호스트의 주소 이후에도 전송이 되어야 할 곳이 존재한다. 이 때 프로세스는 실행 중인 프로그램을 의미한다. 특정 어플리케이션을 식별할 수 있는 정보를 포트라고 한다.
전송 계층에서는 포트 번호를 통해 특정 어플리케이션을 식별한다. 포트의 수는 2의 16승 개로 포트 번호는 범위에 따라 세 종류로 나뉜다.
0 ~ 1023번은 잘 알려진 포트다. 시스템 포트라고 불리기도 한다.
20, 21 - FTP, 22 - SSH, 23 - TELNET, 53 - DNS, 67, 68 - DHCP, 80 - HTTP, 443 - HTTPS 등이 있다.
1024 ~ 49151번은 등록된 포트다. 애플리케이션 프로토콜에 할당하기 위해 사용된다. 8080 - HTTP 대체 등이 있다.
49152 ~ 65535번은 동적 포트, 사설 포트, 임시 포트라고 불리는 포트다. 자유롭게 사용이 가능하다.
위를 이용하여 ip주소와 포트 번호에 대한 정보가 주어지면 특정 호스트에서 실행 중인 특정 애플리케이션 프로세스를 식별할 수 있다. 일반적으로 IP 주소 : 포트번호 형식으로 주어진다.
그리하여 전송 계층은 TCP를 통해 네트워크 계층의 한계를 보완할 수 있고, 포트를 통해 응용 계층의 애플리케이션을 식별함으로써 응용 계층과의 연결 다리 역할을 수행한다.
NAT란 IP 주소를 변환하는 기술로, 주로 네트워크 내부에서 사용되는 주소와 외부에서 사용되는 주소를 서로 변환하는 데에 사용된다. 이 때 NAT 변환 테이블이 사용된다.
NAT 변환 테이블은 네트워크 내 외부의 주소 쌍이 명시되어 있다. 일대일 대응도 가능하지만 여러 호스트가 적은 수의 공인 IP 주소를 공유하기도 한다. 이 때 포트가 사용된다.
NAPT(Network Address Port Translation)는 포트 기반의 NAT다. APT(Address Port Translation)라고 부르기도 한다. 이는 포트를 활용해 하나의 공인 주소를 여러 사설 주소가 공유할 수 있도록 하는 NAT의 종류다.
포트 포워딩이란 네트워크 내 특정 호스트에 IP 주소와 포트 번호를 미리 할당하고 이를 IP주소:포트번호로써 해당 호스트에게 패킷을 전달하는 기능이다. 이를 통해 외부에서 해당 포트를 가진 호스트와 통신이 가능하다.
ICMP(Internet Control Message Protocol)은 IP 패킷의 전송 과정에 대한 피드백 메시지를 얻기 위해 사용하는 프로토콜이다. 네트워크 계층의 프로토콜이다. 메시지 종류로는 1. 전송 과정에서 발생한 문제 상황에 대한 오류 보고와 2. 네트워크에 대한 진단 정보가 있다.
메시지는 타입과 코드로 정의되는데, 헤더의 타입 필드에는 ICMP 메시지의 유형이 번호로 명시되고, 코드에는 구체적인 메시지 내용이 번호로 명시된다.
문제 1. 인터넷 프로토콜, 즉 IP는 신뢰할 수 없는 프로토콜이자 비연결형 프로토콜이다. 이 때 비신뢰성과 비연결형에 대하여 설명하시오.
→ 비신뢰성은 패킷이 최종 목적지까지 잘 전달이 되는지 보장하지 않는 것을 뜻하며, 비연결형은 두 호스트의 연결을 사전에 작업하지 않는다는 것을 뜻한다.
문제 2. NAT의 네트워크 외부와 내부 1:N 변환 방법을 설명하시오.
→ 포트를 사용한다. NAPT(Network Address Port Translation)의 포트 기반 NAT를 사용하여 하나의 공인 주소를 여러 사설 주소가 공유할 수 있도록 해준다.
댓글