NakedFlower 님의 블로그

전송 계층, NAT 본문

CS/네트워크

전송 계층, NAT

nakedflower 2025. 10. 2. 20:41

 

 

전송 계층의 역할 

  • IP 한계 보완 : 신뢰할 수 있는 통신과 연결형 통신 제공
  • 응용 계층의 프로세스 식별 : 포트 번호 활용

 

 

 

 

 

 

프로세스란 사용자가 실행 중인 프로그램

 

IP 프로토콜의 특징
1. 신뢰할 수 없는 프로토콜
2. 비연결형 프로토콜

 

IP 패킷의 전달 = 신뢰성이 없는 통신 + 비연결형 통신

  • 신뢰할 수 없는 통신이란
    -> 패킷이 수신지까지 제대로 전송되었다는 보장을 하지 않음
    (최선형 전달이라고도 표현)
  • 비연결형 통신이란
    -> 송수신 호스트 간에 사전 연결 수립 작업을 거치지 않음
    -> 그저 수신지를 향해 패킷을 보내기만 할 뿐

 

IP는 왜 신뢰할 수 없는, 비연결형 통신을 할까

  • 주된 이유는 성능!
    신뢰할 수 있는 연결형 통신은 성능에 악영향
    신뢰성 있는 전송이 모든 경우에 필요한 것은 아니기 때문

 

IP 한계를 보완하는 전송 계층

  • TCP
    • 연결형 통신을 가능하게 함
      • 송수신하는 동안에는 연결을 유지하고, 송수신이 끝나면 연결을 종료
    • 신뢰성 있는 통신을 가능하게 함
      • 재전송을 통한 오류 제어, 흐름 제어, 혼잡 제어 등 다양한 기능들을 제공
  • UDP
    • 신뢰할 수 없는 통신, 비연결형 통신을 가능하게 함
    • TCP보다는 비교적 빠른 전송이 가능

 

응용 계층을 식별하는 전송 계층

  • 포트를 활용한 애플리케이션 식별
    -> 포트 : 네트워크 상의 애플리케이션 식별 정보

 

패킷이 최종적으로 향해야 할 곳은 특정 컴퓨터가 실행하는 특정 프로세스다!
그리고 이때 포트는 특정 프로세스를 식별하는 정보다.

 

포트의 분류

- 패킷 내 수신지 포트와 송신지 포트를 통해 송수신지 호스트의 애플리케이션을 식별

- 16비트로 표현 가능: 사용 가능한 포트의 수는 (65536)개

할당 가능한 포트 번호: 0번~65535번

 

 

 

송신지 포트나 수신지 포트를 통해서 어떤 프로그램이 이 패킷을 보냈는지 또 어떤 프로그램이 이 패킷을 받아야 했는지를 명시할 수 있음

 

 

 

포트의 분류(포트 번호 범위를 통해서 구분)

  • 잘 알려진 포트 (well-known port)
  • 등록된 포트(registered port)
  • 동적 포트(dynamic port)

 

 

 

 

잘 알려진 포트(well known port)

  • 0번부터 1023번까지의 포트
  • 시스템 포트(system port)
  • 범용적으로 사용되는 애플리케이션 프로토콜이 일반적으로 사용하는 포트 번호를 의미

 

 

 

등록된 포트(registered port)

  • 포트 번호 1024번부터 49151번까지
  • 잘 알려진 포트에 비해서는 덜 범용적
  • 흔히 사용되는 애플리케이션 프로토콜에 할당하기 위해 사용

 

 

동적 포트, 사설 포트, 임시 포트

  • 특별히 관리되지 않는 포트 번호 범위. 자유롭게 사용 가능
  • 서버는 대부분 잘 알려진 포트와 등록된 포트 사용
  • 클라이언트는 대부분 동적 포트 사용

 

 

 

특정 호스트에서 실행중인 특정 애플리케이션 프로세스 식별  -> [ IP주소 : 포트번호 ] 형식

 


 

NAT : IP 를 변환하는 기술 

NAT 변환 테이블 : 변환의 대상이 되는 IP 주소 쌍

 

 

  • 사설 IP 주소 하나당 공인 IP 주소 하나가 대응: 많은 사설 IP 주소를 변환하기에는 무리가 있음
  • 공인 IP 주소의 낭비: 사설 IP 주소의 수만큼 공인 IP 주소가 필요

 

이를 극복하기 위해서 포트 기반의 NAP인 NAPT를 활용 (N:1로 변환할 수 있다는데에 의의가 있는 기술)

 

포트 기반의 NAT, NAPT

  • NAPT(Network Address Port Translation) 또는 APT(Address Port Translation)
  • NAPT는 NAT 테이블에 변환할 IP 주소 쌍과 더불어 포트 번호도 함께 기록하고, 변환
  • 하나의 공인 IP 주소(1)를 여러 사설 IP 주소(N)가 공유 가능
    • 사설 IP 주소:공인 IP 주소를 N:1로 변환
    • 공인 IP 주소 수 부족 문제를 개선한 기술

NAT 변환 테이블 예시

네트워크 외부 네트워크 내부
1.2.3.4:b200 192.168.0.5:1025
1.2.3.4:b201 192.168.0.6:1026
... ...

 

'CS > 네트워크' 카테고리의 다른 글

오류 제어, 흐름 제어, 혼잡 제어  (0) 2025.10.03
TCP, UDP, 포트 포워딩  (0) 2025.10.02
라우팅에 대하여  (0) 2025.10.01
IP의 핵심 기능  (0) 2025.10.01
네트워크 계층의 기능, 존재 목적, IP 패킷 그리고 ARP  (0) 2025.10.01