본문 바로가기
source-code/network

네트워크 기초 정리 - SW 개발자 관점의 Port 번호

by mattew4483 2024. 1. 30.
728x90
반응형

Port 번호란?

2024.01.02 - [source-code/network] - 네트워크 기초 정리

이전에 학습한 것과 같이

Process가 kernal의 구성 요소를 애플리케이션 수준으로 추상화할 때 File 형태의 interface를 사용하며

이때 추상화 대상이 TCP/IP와 관련된 경우, 해당 File을 Soket이라 부릅니다.

→ Port 번호는 이러한 TCP Socket에 attach되는 정보 중 하나입니다!

 

Port 번호

Port 번호는 기본적으로 16bit로 구성됩니다.

→ 0~65535(2의 16제곱)이 가능한데, 이 중 0과 65535는 사용하지 않습니다.

 

Process 식별자로써의 Port 번호

IP가 192.168.0.1인 host의 경우

해당 host에서 실행된 process a, process b는 동일한 port 번호를 가질 수 없습니다.

(외부 접속을 위해 Socket을 생성할 경우 대부분 OS가 가용한 번호를 port로 지정(보통 순차적으로 증가)합니다)

→ SW 개발에서의 port 번호란, process 식별자 로 이해할 수 있는 것이죠!

 

네트워크와 데이터

네트워크에서 수신한 정보(Packet)를 조합해 해당 정보를 받을 process를 결정할 때,

OS는 port 번호를 사용해 각 process를 식별합니다.

 

OS 수준에서는 각 process를 PID(process ID)로 식별하는데

이때 PID가 주민등록번호와 같이 process에 대한 속성 정보를 포함한다면,

port 번호는 process가 활용하는 데이터에 대한 식별 정보에 불과하는 차이가 존재합니다.

 

Port 번호의 또 다른 정의

  • 네트워크 전문가 → Service 식별자
  • 인프라(H/W) 전문가 → Interface 번호

 

728x90
반응형