
나는 우연히 발견했다이 기사내가 읽은 모호한 기사와는 달리
"컴퓨터 뒷면에 있는 연필처럼 얇은 네트워크 케이블(또는 무선 네트워크 어댑터) 내부에는 65,536개의 미세한 경로가 있습니다."
저는 항상 포트는 서로 다른 가상 연결을 구별하는 데 사용되는 숫자(선이 아님)일 뿐이라는 말을 들어왔습니다.이 두 가지 설명이 어떻게 공존할 수 있습니까??
- 또한 이는 포트가 사용되지 않을 때 일부 네트워크 케이블이 신호를 전송하는 데 사용되지 않는다는 의미는 아닙니다.
기사에도 그런 말이 있었는데
패킷은 각 네트워크 노드에서 중지되어야 하며 다음을 수행해야 합니다.
- 열려 있는 포트를 찾아보세요.
- 해당 포트를 통과할 수 있도록 하는 식별 테스트를 통과하고 그렇지 않은 경우
- 다음 항구로 이동하여 통행료 통과가 허용될 때까지 다시 시도하세요.
- 패킷에 특정 대상 포트가 포함되어 있다고 생각했는데 왜 새로운 열린 포트를 검색할까요?
- 마지막으로 신원 확인 테스트를 통과하려면 무엇이 필요합니까?
답변1
포트는 서로 다른 가상 연결을 구별하는 데 사용되는 숫자(선이 아님)일 뿐이라는 말을 항상 들어왔는데, 이 두 가지 설명이 어떻게 공존할 수 있습니까?
당신이 인용한 단락은 무겁습니다은유. 전송 계층에서 포트~이다패킷의 숫자만; 그것들은 육체적이지 않습니다.
물리적 또는 '링크' 계층은 알지 못합니다.아무것TCP/UDP 포트나 IP 주소에 관한 정보 – 한쪽 끝에서 다른 쪽 끝으로 일련의 비트만 전송합니다.
또한 이는 포트가 사용되지 않을 때 일부 네트워크 케이블이 신호를 전송하는 데 사용되지 않는다는 의미는 아닙니다.
아니요. 연결이 1개이든 20개든 관계없이 케이블은 정확히 동일한 방식으로 사용됩니다. 유선 이더넷 네트워크에는 전선이 4쌍만 있습니다. 기존 케이블에는 2쌍이 있습니다. 확실히 65536은 아닙니다. 모두 동시에 사용됩니다.
기사에도 <...> 이라고 적혀 있었습니다. 패킷에 특정 대상 포트가 포함되어 있다고 생각했는데 왜 새로운 열린 포트를 검색할까요?
이 시점에서 해당 기사는 '은유'와 '강세 ' '말도 안 되는' 사이의 경계를 천천히 넘나들고 있습니다 .
TCP 포트 번호는 연결이 이루어질 때 할당되며 해당 연결의 두 끝에서만 사용됩니다. 한편 라우팅은 '인터넷' 계층에서 발생하며 IP 주소만 사용하고 IP 패킷에 포함된 데이터에 주의를 기울이거나 어떤 방식으로든 이를 수정하지 않습니다.
(유일한 예외는 여러 대의 컴퓨터가 단일 IP 주소를 공유하도록 홈 라우터 등에서 NAPT를 수행하는 경우입니다. 이 경우 컴퓨터에서 수신한 패킷에는 원래 전송된 것과 다른 TCP 또는 UDP 포트 번호가 포함될 수 있습니다. .)
식별 테스트는 네트워크 방화벽에 대한 참조일 수 있습니다. 하지만 방화벽 규칙에 의해 차단된 패킷은~ 아니다"다음 포트를 찾으러 갑니다"; 그들은 단순히 폐기될 것입니다.
답변2
그 기사는 끔찍하게 쓰여졌습니다. 네트워킹 개념을 설명하기 위해 은유적 언어와 "대중 지식"을 사용하고 있습니다. 주소 지정이 가능한 포트는 65,536개이지만 물리적 광섬유 가닥이나 기사에서 설명하려는 내용으로는 존재하지 않습니다. 사용 가능한 포트 수는 다소 임의로 파생되었으며(당시에는 16비트 정수가 의미가 있었을 것임) 아마도 RFC에서 표준화되었을 것입니다.
저는 네트워킹 전문가는 아니지만 네트워크 하드웨어(스위치 등)가 방화벽 유형 규칙을 사용하여 특정 포트의 트래픽이 회선을 따라 전달되어야 하는지 여부를 결정한다고 확신합니다(예를 들어 ISP가 트래픽을 차단할 수 있음). Bittorrent가 사용하는 포트에 있거나 홈 라우터가 핑을 위해 포트를 차단할 수 있습니다).
답변3
"컴퓨터 뒷면에 있는 연필처럼 얇은 네트워크 케이블(또는 무선 네트워크 어댑터) 내부에는 65,536개의 미세한 경로가 있습니다."
TCP는 양쪽 끝의 포트별로 트래픽을 분리하고 직렬 매체에서 다중화된 여러 "연결" 중 하나의 개념을 부분적으로 추상화하는 역할을 담당합니다. TCP는 소스 IP+포트와 대상 IP+포트인 "소켓" 개념을 사용합니다. 동일한 매체에 여러 개의 소켓이 존재할 수 있지만 반대쪽 끝에 있는 TCP/IP 스택이 이를 정렬하므로 두 소켓의 트래픽이 서로 섞이지 않습니다. 그래서 그것은 어떤 의미에서 통로입니다.
TCP와 UDP는 포트와 소켓 개념을 사용합니다. 하위 수준 IP와 같은 다른 프로토콜은 그렇지 않습니다. 네트워크 인터페이스에서 나가는 모든 것이 TCP나 UDP일 필요는 없습니다.
패킷은 각 네트워크 노드에서 중지되어야 하며 다음을 수행해야 합니다.
개방된 항구를 찾아 해당 항구를 통과할 수 있는 식별 테스트를 통과하고, 그렇지 않은 경우 통행료 통과가 허용될 때까지 다음 항구로 이동하여 다시 시도하십시오.
이것은 나에게 이해가 되지 않습니다. 일반적으로 애플리케이션이 소켓을 열 때 포트를 지정하거나(포트가 사용 중인 경우 소켓 열기 시도가 실패함) 커널에서 할당한 포트를 사용할 수 있습니다(서버는 일반적으로 포트 번호를 지정하고 서버에 대한 클라이언트는 일반적으로 포트 번호를 지정합니다). 임의의 커널 할당 포트).
아마도 위의 내용은 상위 계층 프로토콜의 일부를 설명하는 것일 수 있습니다. 위의 진술을 완전히 이해하려면 더 많은 맥락이 필요합니다.