본문 바로가기

CS/컴퓨터 네트워크

실습 3-1. 소켓에 할당되는 IP주소와 PORT 번호

* 인터넷 주소

- 인터넷 상에서 컴퓨터를 구분하는 목적으로 사용되는 주소

- 4바이트 주소체계인 IPv4와 16바이트 주소체계인 IPv6가 존재

- 소켓을 생성할 때 기본적인 프로토콜을 지정해야 함

- 네트워크 주소와 호스트 주소로 나뉨

 

* 클래스별 네트워크 주소와 호스트 주소의 경계

- 하나의 네트워크를 묶어둔 것이라고 보면 됨, 각 크기별로 다름 A가 제일크고 아래로 내려갈수록 작아짐

- 크기가 크다는 것은 호스트 개수가 많다는 것을 의미

- 클래스 A : 0~127, 클래스 A의 첫번째 비트는 항상 0으로 시작

- 클래스 B : 128~191, 클래스 B의 첫번째 비트는 항상 10으로 시작

- 클래스 C : 192~223, 클래스 C의 첫번째 비트는 항상 110으로 시작

-> 첫번째 바이트 정보만 참조해도 IP주소의 클래스 구분이 가능하고, 네트워크 주소와 호스트 주소의 경계 구분 가능

 

* 소켓 구분에 활용되는 PORT 번호

- IP는 컴퓨터를 구분하는 용도로 사용되며 PORT번호는 소켓을 구분하는 용도로 사용

- 하나의 프로그램 내에서는 둘 이상의 소켓이 존재할 수 있으므로 둘 이상의 PORT가 하나의 프로그램에 의해 할당 될 수 있다.

- PORT번호는 16비트로 표현, 0이상 65535 이하

- 0~1023은 이미 잘 알려진 PORT라서 이미 용도가 결정되어 있음

 

- 유튜브 시청과 서핑을 동시에 하려면 유튜브 보는 소켓과 서핑을 하는 소켓 두개가 필요

   NIC가 데이터 송수신을 위해 달려있는데, 내부로 전송된 데이터를 적합한 소켓에 보내는 걸 운영체제가 함

   운영체제가 알맞는 소켓을 찾아서 보낼 때 PORT 번호를 사용

   -> 하나의 운영체제에 대해 같은 PORT 번호를 다른 소켓에 부여할 수 없음