본문 바로가기

Studying/Network

SW 개발자 입장에서 Port번호 이해하기 - 네트워크 기초 이론 (5/38)

Port번호

-> SW 개발자 입장에서 Port번호란 Process 식별자

OSI 7 Layer에서 kernal mode의 kernal 수준으로 되어 있는 TCP/IP에 user mode application이 접근할 수 있도록 interface가 제공됨
기본적으로 본질은 File이나, protocol을 추상화 했기 때문에 File이라 하지 않고 Socket이라 함


- Socket을 생성할 때, TCP Socket인 경우, Socket에 부여(Binding)되는 정보 중 하나가 Port번호
- Port번호는 16bit => 가능한 경우의 수는 2^16가지(0~65535)
- 0과 65535는 사용하지 않는, 사용하면 안 되는 번호 => 2^16-2가지(1~65534)의 Port번호 존재

e.g., IP가 192.168.0.10인 Host에서 2개의 프로그램을 동시에 사용하는 경우, 개별 프로그램에서 인터넷에 접속하기 위해 생성된 Sokect에 각기 다른 Port번호 부여
프로그램 Edge Chrome
Port번호 30000 30001

=> Port번호는 SW 개발자 입장에서 명백히 Process 식별자

Packet

-> 네트워크가 전달하는 데이터의 단위

- NIC(1계층) -> Driver(2계층) -> ... -> Process(7계층)
- 4계층에서 어떤 프로세스로 갈 것인지 Port번호를 기준으로 결정



출처: https://youtu.be/INamKzKzbPc