네트워크 기술에서 포트에는 몇 가지 의미가 있습니다. 허브, 스위치 및 라우터의 포트는 RJ-45 포트 및 직렬 포트와 같은 다른 네트워크 장치를 연결하는 인터페이스입니다. 여기서 말하는 포트는 물리적 포트가 아니라 TCP/IP 프로토콜의 포트이며 논리적 포트입니다.
그렇다면 TCP/IP 프로토콜의 포트는 무엇을 의미합니까? IP 주소를 집에 비유하면 포트는 집의 문이다. 실제 집에는 몇 개의 문만 있지만 하나의 IP 주소에는 최대 65536 개의 포트 (예: 256×256) 가 있을 수 있습니다! 포트는 0 에서 65535(256×256- 1) 사이의 정수인 포트 번호로 표시됩니다.
인터넷에서 호스트는 TCP/ip 프로토콜을 통해 패킷을 보내고 받으며, 각 패킷은 대상 호스트의 IP 주소를 기준으로 인터넷을 통해 라우팅됩니다. 패킷을 대상 호스트로 원활하게 전송하는 것은 문제가 없음을 알 수 있습니다. 무슨 문제가 있습니까? 대부분의 운영 체제에서 여러 프로그램 (프로세스) 을 동시에 실행할 수 있다는 것을 알고 있습니다. 그러면 대상 호스트는 수신된 패킷을 어떤 프로세스로 보내야 합니까? 분명히, 이 문제는 해결되어야 하기 때문에 포트 메커니즘이 도입되었다.
로컬 운영 체제는 프로토콜 포트를 필요한 프로세스에 할당합니다. 각 프로토콜 포트는 양의 정수로 식별됩니다 (예: 80,139,445 등). 대상 호스트가 패킷을 수신하면 패킷 헤더의 대상 포트 번호에 따라 해당 포트로 데이터가 전송되고 해당 프로세스는 다음 데이터 세트가 도착할 때까지 데이터를 수신합니다. 말하자면, 항구라는 개념은 여전히 비교적 추상적으로 보이는데, 계속 나를 따라오고, 떠나지 마라.
포트는 실제로 대기열입니다. 운영 체제는 각 프로세스에 서로 다른 대기열을 할당합니다. 패킷은 대상 포트에 따라 해당 대기열로 푸시되어 프로세스에 의해 액세스될 때까지 기다립니다. 매우 특수한 경우 이 대기열은 넘칠 수 있지만 운영 체제를 통해 각 프로세스에서 고유한 대기열 크기를 지정하고 조정할 수 있습니다.
패킷을 받는 프로세스는 자체 포트를 열어야 할 뿐만 아니라 패킷을 보내는 프로세스도 포트를 열어야 합니다. 이렇게 하면 패킷에서 활성 포트가 식별되어 수신자가 패킷을 이 포트로 성공적으로 반환할 수 있습니다.
8080 은 월드 와이드 웹의 포트입니다.