프로그래밍의 기초/TCP | IP

socket에 할당하는 IP주소와 PORT번호

Kim나현 2022. 1. 6. 16:24
반응형

IP: internet protocol의 약자로 인터넷 상에서 데이터를 송수신할 목적으로 컴퓨터에게 부여하는 값

PORT번호: 프로그램 상에서 생성되는 socket을 구분하기 위해 socket에게 부여되는 번호

 

  • 인터넷 주소 

- IPv4(internet protocol version 4): 4바이트 주소 체계

(xxx.xxx.xxx.xxx형태이며 2진수로 표기 시 32bits)

- IPv6(internet protocol version 6): 16바이트 주소 체계

  • IPv4 기준 네트워크 주소, 호스트(컴퓨터) 주소로 구분되고 주소의 형태에 따라 A, B, C, D, E 클래스로 분류

IPv4 주소 체계, E 클래스는 예약되어 있는 주소체계므로 생략

- 네크워크 주소: 라우터를 거치지 않고 내부적으로 통신이 가능한 영역이며 브로드캐스트가 적용되는 영역

- 호스트 주소: 특정한 한 네트워크 내에서 서로를 구분하기 위한 주소

데이터 전송 과정

IP주소 중 네트워크 주소를 통해 네트워크를 구성하는 라우터 또는 스위치로 데이터가 전송되고 라우터에서 데이터에 적힌 호스트 주소를 참조하여 호스트에 데이터 전송

 

  • PORT 번호

- IP는 PORT번호가 포함된 데이터를 NIC를 통해 컴퓨터 내부로 전송하고 운영체제는 PORT번호를 이용해 전송된 데이터를 적절히 socket에 분배

- 따라서 하나의 운영체제 내에서 동일한 PORT번호를 둘 이상의 socket에 할당 할 수 없음

- 16bits (0~65535)

- (0 ~ 1023): well-known PORT로 특정 프로그램에 할당하도록 되어있으므로 다른 값 할당

- TCP socket, UDP socket은  PORT 번호를 공유하지 않기 때문에 중복 가능

 

반응형