[개발자가 알아야 할 네트워크 기초] IP 주소, Port 번호

SungBum Park·2022년 7월 27일
1

IP 주소

  • IP(Internet Protocol) 주소: Host에 대한 식별자
  • IPv4 VS IPv6
    • 주소 길이
      • IPv4: 32bit
      • IPv6: 128bit
    • 2022년 기준, IPv4를 대부분 사용함.
    • IPv4의 전체 경우의 수는 2^32 (대략 42억)이며, 전체 Host를 모두 나타낼 수는 없으므로 IPv6 체계가 나왔다.
  • IP 주소 = Network ID + Host ID
    • Network ID를 계산하기 위해 서브넷 마스크(넷 마스크)가 존재한다.
    • Host ID 길이는 전체 길이 32bit에서 NetworkID를 제외한 길이이다.
    • 예제) IPv4: 172.20.10.2, 서브넷 마스크: 255.255.255.0
      • Network ID = 172.20.10.2 & 255.255.255.0 = 172.20.10.0

Port 번호 (개발자 관점)

  • Port 번호: Process 식별자
  • Port 번호는 프로세스와 TCP를 연결하는 소켓을 만들 때 사용하는 정보 중 하나이다.
    • TCP 요청이 들어왔을 때, 어느 소켓으로 보내야 하는 지에 대한 정보가 Port 번호이다.
    • 각 소켓은 고유한 번호가 할당되어야 한다. ( = Port 번호는 중복해서 사용할 수 없다.)

  • TCP 요청이 들어왔을 때, 크롬 프로세스로 갈지 또는 파이어폭스 프로세스로 갈지 결정하는 정보가 소켓에 할당된 Port 번호를 보고 판단한다.
  • Port 번호 크기는 16bit이다.
    • 2^16 = 0 ~ 65535
    • 0번과 65535번은 Port 번호로 사용하지 않는다. ⇒ 1 ~ 65534 사용

참고자료

profile
https://parker1609.github.io/ 블로그 이전

0개의 댓글