Port 란?

 

 Port ( 포트 ) 

본래의 의미로 직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야에서의 의미로는 운영 체제 통신에서의 종단점을 뜻한다.

 

  • 하드웨어적 의미 : 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로)
  • 소프트웨어적 의미 : 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로)

이 글에서는 소프트웨어적 의미로 Port에 대해서 알아보도록 한다.

 

어떠한 데이터가 송수신을 할 때

 Datalink 계층에서는 호스트의 NIC로 MAC Address를 판별하고 

 Network 계층에서는 IP Address로 목적지를 판별한다.

이렇게 MAC Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는

 어떤 Process(프로세스)에서 데이터를 받을 것인지 를 알아야 하는데 이 때 쓰이는 것이

 Port Number(포트 번호)다.

 

 

Port에 대한 정확한 개념은 다음과 같다.

 

  •  OSI 7 Layer의 Transport 계층에서 동작하는 TCP / UDP 프로토콜에서 application이 상호구분을 위해 사용하는 번호
  •  IP 내에서 프로세스 구분을 하기 위해 사용하며, 각 프로토콜의 데이터가 컴퓨터 내부의 논리적 통로를 따라 흐른다.
  •  네트워크를 통해 데이터를 주고받는 프로세스를 식별하기 위해 호스트 내부적으로 프로세스가 할당받는 고유한 값

 

 Port Number ( 포트 번호 ) 

  • Port Number는 16bits로 이루어져 있다.
  • 2^16이므로 총 65536개의 Port Number가 존재할 수 있다.
  • Port Number 크게 3가지로 분류한다.

 

 

1) Well-Known Ports ( 잘 알려진 포트 ) : 0번 ~ 1023번

 

 

2) Registered Ports ( 등록된 포트 ) : 1024번 ~ 49151번

 

3) Dynamic Ports ( 동적 포트 ) : 49152번 ~ 65535번

 

  • 사용자가 임의로 사용가능한 포트 번호

 

 

 Port Number 사용법 

  • 일반적으로 IP Address 뒤에 콜론(:) 표시를 하여 표기한다.
    • Ex) 192.168.100.1:3053

 

 

 Port Forwarding ( 포트 포워딩 ) 

외부에서 공유기 내의 특정한 장치로 접속하기 위해서는 IP Address를 알아야 하지만

공유기 내부의 IP는 사설 IP로 이루어져 있어 외부에서 IP만으로 특정 PC를 지정할 수 없다.

따라서 공유기의 공인 IP로 접속한 후 특정한 PC로 연결되도록 포트 넘버를 공유기에서 정의해주는 작업이 필요하다.

이러한 과정을 Port Forwarding 이라 한다.

 

Port Forwarding 설정을 통해 외부에서 내부 장치로 연결 가능

 

 

 

 

참고:

http://ccnastudyhelp.blogspot.com/

https://blockdmask.tistory.com/

[사진]https://medium.com/datadriveninvestor/port-forwarding-for-beginners-11355d000867 

 

'Network' 카테고리의 다른 글

WAN 과 LAN  (0) 2019.07.27
네트워크 전송에서의 Get / Post 방식  (0) 2019.07.25
사설 IP vs 공인 IP, NAT 방식  (0) 2019.07.15