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


20

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은 일반적으로 사용되지 않습니다.


나는 당신이 IANA에게 그들이 자원을 통제하는 이러한 질문을 할 필요가 있다고 생각합니다. 이해가 잘못 된 것처럼 TCP / IP 가이드 도 읽어야한다고 생각합니다 .
user9517은 GoFundMonica 지원

1
그래, 알았어 나는 내가 이해 한대로 말하려고 노력했지만 당신이 볼 수 있듯이 모든 것을 이해하지 못합니다.
trysis

7
이 질문에 대한 주제가 무엇입니까? 궁금해
trysis

1
또한이 사이트에서 질문을 포기했습니다. 요즘 모든 것이 주제에 맞지 않는 것 같습니다 ...
Nuno

IPv6은 컴퓨터에 사용할 주소의 / 64를 제공하여 포트 제한을 약화시킵니다.
J.Money

답변:


28

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

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

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


3
항상 이전 버전과의 호환성으로 이어지지 않습니까? 왜 더 많은 IP 주소를 허용하는 IPv6로 변경할 수 있습니까?하지만 몇 개의 포트를 더 가질 수 없습니까? 이것이 나의 주요 성가심입니다.
trysis

2
@trysis-IPv4에서 IPv6으로 이동하는 것은 포트 헤더에 비트가 더 많은 TCP 버전과 UDP 버전으로 이동하는 것과 비교할 때 좋은 비교입니다. 또한 눈치 채지 못한 경우 전 세계 IPv6 배포를 현재 위치 (전 세계 트래픽의 1-2 % 사용)까지 구현하는 것은 느리고 고통스러운 과정이었습니다. IPv4의 경우 주소 소진이 필요합니다. 반면에 이러한 프로토콜의 포트 공간이 부족한 것은 일반적인 문제가 아니므로이를 수행하는 데 필요한 대규모 변경을 수행 할 필요가 없습니다.
Shane Madden

아, 더 이해가 되네요 감사. 언젠가 우리는 그 필요성을 느낄 것입니다. 그러나 나는 당신이 그 필요가 지금 없다고 생각합니다.
trysis

우리가 그 모든 문제를 겪으면 정수 기반 포트 주소 지정보다 더 나은 것을 얻을 수 있기를 바랍니다. UUID 기반 포트와 같은 것이 좋습니다. 또는 실제 네임 스페이스는 훨씬 더 설명 적이며 응용 프로그램 간의 충돌 가능성을 제거합니다. "com.windows.local.yourdomain.server001"네임 스페이스 또는 이와 유사한 이름으로 포트 포워드를 설정한다고 가정하십시오.
njbair

따라서 두 PC가 함께 65,535 개의 연결을 만들거나 NAT 외부의 PC 커플과 유사한 경우 다른 PC 중 어느 것도 itnernet에 액세스 할 수 없습니다. 제가 맞습니까?
Denis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.