대상으로 전송된 호스트 IP 패킷이 여러 라우터를 통해 전달되면 대상 IP 주소는 변경되지 않습니다.
IP 패킷이 라우팅을 통해 전달되면 원본 IP와 대상 IP가 변경되나요?
이 질문은 최근 네트워크 전문가와의 인터뷰에서 자주 묻는 질문입니다. *NAT 변환을 수행하지 않는 한 답변을 변경할 수 없습니다. (추천 학습: 웹 프론트엔드 영상 튜토리얼)
단, MAC 주소가 변경되는데, 송신측에서는 처음에는 대상 호스트의 Mac 주소를 모르기 때문에 MAC 주소를 통과할 때마다 Mac 주소가 변경됩니다. 라우터.
대상 Mac 주소를 얻는 방법은 무엇입니까?
TCP/IP는 ARP 프로토콜을 사용합니다. 예를 들어 새로운 인트라넷이 생성된 경우 A 머신이 B 머신을 찾고 있다면 FRAME(OSI의 두 번째 계층에서 사용하는 데이터 형식)을 캡슐화할 때 처음에는 상대방의 MAC을 캡슐화하지 않아야 합니다. B의 MAC은 알고 있지만 IP만 알고 있습니다. ARP 패킷을 보내고 소스 IP는 자신의 것이고 대상 IP는 B의 것이며 소스 MAC은 자신의 것이며 대상 MAC은 브로드캐스트됩니다.
그런 다음 이 요청 패킷은 인트라넷 내에서 브로드캐스팅됩니다. 다른 컴퓨터가 이 패킷을 받으면 대상 IP와 자신의 IP를 비교합니다. B는 이를 수신한 후 IP가 자신의 IP와 동일하다는 것을 확인하고 패킷 요청에 동의하고 자신의 MAC을 A에게 보냈습니다. B가 다른 서브넷에 있는 시스템인 경우 라우터는 B가 다른 서브넷에 있다고 판단한 다음 라우터는 MAC를 A에 반환합니다. A가 나중에 B에 패킷을 보낼 때 대상 MAC는 다음과 같이 캡슐화됩니다. 라우터.
라우팅 및 전달 프로세스:
호스트 A에서 호스트 B로 전송된 데이터 흐름이 네트워크 계층에서 IP 데이터 패킷으로 캡슐화되면 IP 데이터 패킷의 헤더에는 소스 주소와 대상 주소가 포함됩니다. 호스트 A는 이 시스템에 구성된 24비트 IP 네트워크 마스크 255.255.255.0을 사용하여 대상 주소와 AND 연산을 수행하여 대상 네트워크 주소와 이 시스템의 네트워크 주소가 동일한 네트워크 세그먼트에 있는지 확인합니다. 그렇지 않은 경우 IP 패킷을 게이트웨이로 전달합니다.
호스트 A는 게이트웨이로 보내기 전에 ARP 요청을 통해 기본 게이트웨이의 MAC 주소도 얻습니다. 호스트 A의 데이터 링크 계층에 있는 IP 데이터 패킷은 이더넷 데이터 프레임으로 캡슐화되어 라우터의 포트인 게이트웨이로 전송됩니다.
게이트웨이 라우터가 이더넷 데이터 프레임을 수신하고 데이터 프레임의 대상 MAC 주소가 자체 포트 중 하나의 물리적 주소임을 발견하면 라우터는 이더넷 데이터 프레임의 캡슐화를 제거합니다. 라우터는 이 IP 패킷이 자신을 통해 전달될 것이라고 생각하고 라우팅 테이블과 일치합니다. 라우팅 항목을 일치시킨 후 다음 주소로 패킷을 보냅니다.
이것은 라우터가 데이터 패킷을 전달하는 방식이므로 IP 주소는 절대 변경되지 않습니다. MAC만 변경합니다.
라우터에 데이터 패킷이 전송되면 라우터는 먼저 대상 주소를 라우팅 테이블과 비교합니다. 로컬 네트워크인 경우 외부 네트워크로 전달하지 않고 직접 전달합니다. 네트워크의 대상 호스트입니다. 그러나 대상 주소가 라우팅 테이블과 비교되어 이 네트워크에 없는 것으로 확인되면 NAT가 있는 경우 소스 주소의 IP가 변경됩니다. 원래 소스 주소의 IP 주소는 라우터의 IP 주소로 변경됩니다.) 라우터는 통신을 위해 해당 포트로 데이터 패킷을 전달합니다.
위 내용은 목적지로 보낸 호스트 IP 패킷이 여러 라우터를 통해 전달되면 목적지 IP가 변경되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!