지난 번에, 물리와 논리 포트 개념을 구분해서 설명했습니다.

 

  # 물리/논리 포트 설명 링크

 

    물리/논리 포트(Port) 개념

 

 

 

이번에는 MAC, IP, Port 주소가 포함된 헤더 위치와 Port에 대해 조금 더 상세한 내용을 설명하겠습니다.

 

 

 

 

MAC / IP / Port 주소 헤더 위치

 

 

MAC, IP, Port 주소가 포함된 헤더 위치는 위의 그림과 같습니다.

 

각 헤더에 다른 내용들도 포함되어 있지만, 주소 위주로만 정리했으니 참고하시기 바랍니다.

 

MAC 주소는 Ethernet 헤더에 위치해 있고

IP 주소는 IP 헤더에 위치해 있으며,

Port 주소는 TCP 또는 UDP 헤더에 위치하고 있습니다.

 

이 내용을 통해, 주소들을 계층별로 구분한 것을 유추할 수 있네요.

 

 

 

Socket Address(소켓 주소)

 

어느 계층에서 혹은 어떤 프로토콜에서 개발/분석하냐에 따라 다를텐데, 각 주소의 조합에 따라 데이터를 구분할 수 있습니다.

 

소켓 주소는 IP 주소와 Port 주소의 조합으로서, Layer 4 이상의 계층에서 데이터를 구분하기 위한 용도임을 유추할 수 있습니다.

 

- Socket Address = IP Address + Port Address 조합

 

 

 

Port Address 길이

 

Port Address 16bit 길이를 가집니다.

 

즉, 2^16 = 65,536(0~65,535)개입니다.

 

 

 

Port Address 전달

 

Port Address TCP UDP 헤더에 포함되어 전달됩니다.

 

전달 주체에 따라 TCP 소켓, UDP 소켓으로 다르게 식별기도 합니다.

 

따라서, 같은 포트 번호일지라도 TCP UDP 따라 식별됩니다.

(개인적으로 실험해본 것은 아니지만, 여러 자료조사에 따르면 이렇다고 합니다.)

 

 

 

Port 분류

Well-Known Port

 

널리 알려진(Well-known) Port 번호라는 의미입니다.

 

포트 개념에서 널리 알려졌다는 의미는 대부분 이렇게 활용하지만, 경우에 따라서 다르게 활용해도 된다는 의미이기도 합니다.

 

Well-Known Port 범위는 1~1023 이며, IANA에서 관리하고 있습니다.

 

 

프로토콜 포트 번호
DHCP Src.: 67, Dest.: 68
DNS 53
FTP Control: 20, Data: 1
SMTP 25
SSH 22
HTTP 80
HTTP 443

 

 

 

Registered Port

 

IANA 등록한 포트 번호입니다.

 

Registered Port 범위는 1024~49151 입니다.

 

 

프로토콜 프로세스         포트 번호
Tomcat, HTTP 대체 8080
오라클 1521
MySQL 3306
MsSQL 1433
원격데스크톱 3389

 

 

Dynamic Port

 

임시 포트 번호, 임의의 프로세스들에게 임의로 사용이 가능합니다.

 

  # IANA에서 관리하고 있는 Port 주소

 

    https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

 

 

 

IP주소와 IANA

 

IANA에 관리하고 있는 IP 주소이며, 참고하시기 바랍니다.

 

  # IANA에서 관리하고 있는 IP 주소

 

    https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

 

프로토콜 프로토콜 번호
ICMP 1
IGMP 2
TCP 6
UDP 17
HTTP 80