<개인공부>/[데이터 통신]

[데통] Port 번호 에 대해서

BlockDMask 2017. 10. 20. 19:25
반응형

안녕하세요. BlockDMask 입니다.

오늘은 Port 번호 (Port number)에 대해 알아보겠습니다.


> Port Number 란?

  • 이전까지 학습한 내용을 살펴보면,
    TCP/IP 5 계층 중 1~2 계층(물리, 데이터링크)에서는 MAC address로 호스트의 NIC을 판별하고,
    3 계층(네트워크)에서는 IP address로 호스트를 판별합니다. 

    이렇게 MAC address 와 IP address 를 통해서 데이터를 전송할 상대 컴퓨터까지 도달했습니다.

    그러면 데이터를 받을 프로세스(process)가 어떤 것인지를 알아야 데이터가 제대로 전송이 되겠죠?

    이때 사용하는 식별자를 Port Number(포트 번호)라 합니다.

  • 예를 들면, 우리가 물건(데이터)를 어떤 사람에게 전달해준다고 합시다. 그럼 우리가 그사람의 집주소(MAC address)와 이름(IP address)를 알고있습니다. 하지만 그 사람이 그 집의 어떤 방에 있는지 모릅니다. 화장실로 전달해 달라하는건지 배란다 까지인지를 알려주는것을 (Port Number) 라 합니다. (아 예시가 조금 적절하지 않지만,,,)

  • Port 번호는 16bit로 이루어져있습니다.

  • 2^16 이므로 총 65536개의 port number가 존재 할 수 있습니다.

  • Port 번호를 나누어서 관리를 합니다.
    0       ~ 1023 번 - Well Known Port (IANA에서 할당한 TCP, UDP 포트) : 유명한 서버, 특정 서버들.
    1024 ~ 49151 번 - Registered Port (기관이나 사업자들을 위해 IANA에서 관리하는 포트)
    49152 ~ 65535 번 - Dynamic Port (일반 사용자들이 자유롭게 사용할 수있는 포트)

  • Port 번호는 일반적으로 IP address 뒤에 콜론(:)을 이용하여 표기합니다.
    ex) 182.143.421.211:443 (포트번호 443)

  • 잘 알려진 포트의 몇가지는 이러합니다.
    20 - FTP(data) <TCP>
    21 - FTP(제어) <TCP>
    22 - SSH <TCP>
    23 - Telnet <TCP> 
    25 - SMTP <TCP>
    53 - DNS <TCP, UDP>
    80 - HTTP <TCP, UDP>
    110 - POP3 <TCP>
    443 - HTTPS <TCP>
  • 본인의 생각......

    - 전송계층의 역할 : 보내는 곳의 응용 계층의 데이터를 받아서 목적지의 응용 계층까지 전달해 주는 역할 입니다.
    - 보낼때 : 전송계층은 그 하단 계층인 네트워크 계층에 자신의 데이터인 세그먼트를 묶어서 내리면, 알아서 하단 계층들을 통과(Encapsultation)을 하여 다시 하단 계층부터 (decapsultation)을 통해 목적지의 전송계층 까지 도달하게 됩니다. 하단의 계층들이 전송계층까지 전달해주면 전송계층은 본인의 데이터에서 Port Number를 찾아서 응용계층에 전달하여 프로세스를 찾게 됩니다.

<참고>

https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)

반응형