왜 65,535 개의 포트만 있고 더 많은 포트가 있습니까? [닫은]

IP 주소 당 65,535 개의 포트가 있다는 원래의 추론을 이해합니다. 이것은 16 비트 또는 2 바이트 숫자로 표현할 수있는 가장 높은 숫자이며 컴퓨터가 더 많은 여유를 가질 수는 없었습니다. 포트와 같이 사소한 것 또는 그와 비슷한 것보다. 각 포트는 개방, 차단, “스텔스”또는 기타 포트가 될 수 있으므로 포트는 실제로 각각 1 비트 이상이 필요할 수 있지만, 어떤 이유로 사람들은 항상 포트가 16 비트 숫자로 작동한다고 말합니다. 내가 잘못한 부분이 있으면 꼭 말해줘.

그러나 대부분의 컴퓨터가 32 비트이고 몇 개의 포트를 추가하기에 충분한 메모리 / 공간이있는 세계에서 왜이 포트가 많은가? 우리는 HTML5, HTTP2.0, IPv6 및 다른 확실히 다른 버전으로 이동하는 과정에 있습니다. 포트와 같은 이유는 무엇입니까? 이들 중 다수는 16 비트 이상을 허용합니다. 실제로 IPv6은 16 바이트를 허용 합니다 ! 나는 이것들 중 몇 년이 수십 년 떨어져 있다고 생각하지만 왜 업그레이드에 대한 모든 대화가 더 많은 포트 (아마추어, 내가 들어 본 것)에 대해 들여다 보지 않는 이유는 무엇입니까?

65,535 포트를 유지해야하는 2 가지 이유는 대기업이 기존의 레거시 시스템을 유지할 수있게 해주었 기 때문에 그다지 좋은 이유는 아니며 임베디드 시스템의 증가는 작은 공간, 메모리 등으로 아주 작습니다. 사물 인터넷의 일부로 곧 인터넷에 등장합니다. 이러한 임베디드 시스템을 사용하면 포트 수를 줄일 수 있으며 대형 데스크탑 컴퓨터가 하나의 포트에 연결하려고 할 때 베이비 임베디드 시스템은 ~ 65,000 포트만 사용할 수 있으므로 부드럽게 들릴 수 있습니다.

반면에 포트가 더 많은 몇 가지 이유를 생각할 수 있는데, 대부분 NAT와 같은 개인 IP 주소가 동일한 공용 IP 주소를 사용하여 나머지 인터넷과 통신해야하는 다른 시스템과 관련이 있습니다. 동일한 컴퓨터에서 VM이 증가하는 것처럼 모두 동일한 IP 주소를 사용합니다. 기술적으로 각 VM IP 주소에는 65,535 개의 포트가 있지만 실제로는 모두 호스트의 포트를 사용합니다. 이와 같은 경우 이러한 시스템에는 포트가 상당히 부족할 수 있습니다. 또 하나의 구체적인 사례는 통신 사업자 급 NAT로, 하나의 공개 IP 주소가 여러 개인 IP 주소로 변환되고 이러한 개인 주소 중 하나 이상이 더 많은 개인 주소 집합으로 변환됩니다. 다시 말하지만, 각 개인 IP 주소에는 기술적으로 자체 65,535 포트 세트가 있지만 이것은 환상입니다. 데이터가 퍼블릭 인터넷으로 나올 때 퍼블릭 IP의 포트를 사용하고 있습니다. NAT 자체가 반드시 필요한지는 확실하지 않지만 IPv6이 제공하는 엄청난 양의 주소를 보존하기 위해서는 NAT와 같은 것이 필요합니다. 이와 같은 사례가있을 때 65,535 개 이상의 포트를 가질 여유가 없습니까?

그렇다면 왜 여전히 65,535 개의 포트가 있고 더 많은 포트를 허용 할 계획이 있습니까?

추신 : IP 주소 당 기술적으로 65,536 개의 포트가 있지만 포트 0은 일반적으로 사용되지 않습니다.



답변

포트는 사용중인 계층 4 프로토콜의 일부입니다 ( TCP 또는 UDP ). 실제 컴퓨터의 메모리 주소 지정과 관련이 없으므로 최신 운영 체제의 32 또는 64 비트 메모리 주소 지정과 혼동하지 마십시오.

이 계층 4 프로토콜의 헤더에는 구체적으로 정의 된 구조 가 있으며, 소스 및 대상 포트에 정확히 16 비트가 사용됩니다. 전체 인터넷이 의존하는 계층 4 프로토콜의 호환성을 획기적으로 변경하지 않으면 포트 수를 변경할 수 없습니다. 최신 SCTP 조차도 포트에 대한 16 비트 제약 조건이 있습니다.

이러한 프로토콜은 수신 포트뿐만 아니라 수신 IP와 송신 포트 및 IP를 기준으로 트래픽을 식별합니다. 청취 TCP 포트는 65535로 제한되어 있지만 (많은 것은 없지만) 특정 원격 시스템의 특정 서비스에 대한 65535 연결로 제한됩니다 (실제로는 임시 포트 참조 ). 시스템이 특정 원격 시스템에 대한 많은 연결을 작성하지 않는 한 이러한 프로토콜의 한계에 도달합니다.