IP 패킷은 어떤 게이트웨이를 사용해야하는지 어떻게 알 수 있습니까? 패킷이 어떤 게이트웨이를 통해 라우팅되는지

동일한 네트워크에 두 개의 게이트웨이가 있다고 가정하십시오. 올바르게 이해하면 발신자의 컴퓨터의 IP 라우팅 테이블이 어떤 패킷이 어떤 게이트웨이를 통해 라우팅되는지 결정합니다.

IP 라우팅 테이블에는 게이트웨이의 IP 주소가 포함됩니다.

IP 패킷을 보낼 때 게이트웨이의이 IP 주소는 어떻게 사용됩니까?



답변

TL; DR : 게이트웨이 주소는 해당 TCP / IP 패킷을 보유하는 이더넷 프레임에만 저장됩니다.

서버-> 스위치-> 라우터 트래픽과 서버-> 스위치-> 서버 트래픽은 IP 주소 지정이 실제로 의미있는 역할을하지 않는 곳입니다. 기본 프로토콜, 아마도 이더넷의 세계입니다. 따라서 MAC 주소 지정에서 실행되는 세상입니다.

따라서 기본 게이트웨이가 IP 주소라는 혼동 만 해결하면됩니다. 그것은 시작에 종류의 …입니다 …하지만, 게이트웨이 IP 매개 변수가된다 단지 주변 192.168.1.1있는 사람 : 한 가지를 할 필요가, 그 요청하는 것입니다? 게이트웨이는 MAC 88 : 99 : aa : bb : cc : dd : ee : ff입니다. (두 세계 사이의 번역가 인 ARP 쿼리 / 응답입니다.) 패킷은 IP 레벨에서 다른 대상을 보유 할 수 있음에도 불구하고 이더넷 레벨에서 해당 MAC으로 이동합니다.

따라서 패킷은 이더넷 프레임의 “대상 MAC”필드에서 인코딩하여 선택한 게이트웨이로 이동하도록 표시됩니다. 이 필드는 게이트웨이가 여러 개인 경우 해당 네트워크에서 게이트웨이를 가져올 게이트웨이를 결정합니다. “프레임”은 패킷 또는 패킷의 일부를 보유하는 기본 캡슐입니다.


답변

IP 데이터 그램 헤더에는 소스 및 대상의 주소 정보 만 포함됩니다. 대상을 기반으로 라우터는 다음에 패킷을 전달할 위치를 알아야하며이 정보는 라우팅 테이블에 저장됩니다.

주소 나 서브넷에 대한 고정 경로 정보 가있을 수 있으며 나머지 에는 기본 게이트웨이 가 사용됩니다. 이는 일반적으로 로컬 네트워크의 경우입니다. 다른 로컬 네트워크로의 정적 라우팅과 나머지 (예 : 인터넷) 기본 게이트웨이가있을 수 있습니다. 여러 기본 게이트웨이,0.0.0.0또는로 라우팅되는 ::경우 활성 게이트웨이기본 설정 또는 메트릭 값에 의해 선택됩니다 .

인터넷 수준의 ISP 사이에 있으므로 대상간에 여러 경로가 있으면 상황이 더 복잡해집니다. 라우터간에 정보를 공유하는 방법에는 RIP ( Routing Information Protocol ), OSPF ( Open Shortest Path First ) 및 BGP ( Border Gateway Protocol )가 있습니다. 이 정보의 공유 방법에 관계없이 라우팅 테이블은 다음 홉을 알고 IP 패킷은 최종 대상 만 인식합니다.


답변

네트워크가 VRRP 또는 HSRP와 같은 FROP (First Hop Redundancy Protocol)로 구성되어있을 가능성이 있습니다. FHRP에는 호스트가 사용하는 가상 게이트웨이 주소가 있으며 가상 주소로 전송 된 트래픽은 물리적 라우터 중 하나에 의해 수집 된 다음 트래픽을 전달합니다. 1 차 라우터가 실패하면 2 차 라우터가이를 판별하여 패킷 전달을 인계 할 수 있습니다.


어쨌든 패킷은 경로를 결정하지 않습니다. 각 패킷은 라우터의 라우팅 테이블에있는 정보를 기반으로 다른 패킷과 상관없이 개별적으로 전달되며 라우팅 테이블이 변경되면 동일한 소스에서 동일한 대상으로가는 패킷이 다른 경로를 사용할 수 있습니다.

라우터는 세 가지 방법으로 경로를 학습합니다.

  1. 직접 연결된 네트워크
  2. 정적으로 구성된 경로
  3. 동적 라우팅 프로토콜을 통해

답변

짧고 간단한 답변 : 패킷으로 인코딩되지 않거나, 어떻게 보느냐에 따라 이더넷 대상 주소입니다. IP / 이더넷 스택은 대상 IP 주소를 처리하는 게이트웨이를 확인하고 게이트웨이 IP 주소에 대한 ARP 요청을 보내 MAC 주소를 얻은 다음 게이트웨이의 MAC 주소로 패킷을 보냅니다. 그런 다음 게이트웨이는 패킷을 전달하고 동일한 작업을 다시 수행합니다. 이것은 이더넷 네트워크를 가정합니다.

나는 당신이 요구하는 것에 대답했다고 생각합니다. 나는 한 번 같은 것을 궁금해했다. 귀하의 질문은 또한 특정 라우팅 테이블이 지정된 호스트가 발신 패킷을 보낼 게이트웨이를 결정하는 방법으로 해석 될 수 있습니다.


답변

물론 살펴볼 세부 사항은 경로가 일치하는지 여부입니다. 192.0.2.55/24로 전송 중이고 10.55.0.0/16으로가는 트래픽에 경로를 사용할 수있는 경우 해당 경로는 적용되지 않기 때문에 무시됩니다.

일반적으로 보는 다음 기준은보다 일반적인 경로가 더 일반적인 경로보다 우선합니다. “특정”경로는 더 작은 서브넷을 의미합니다. 즉, / CIDR 표기법을 사용할 때는 숫자가 크고 “서브넷 마스크”표기법을 사용할 때는 서브넷 마스크가 더 큽니다. 다시 말해, 가능한 주소가 적은 대상 네트워크입니다.

따라서 “마지막 게이트웨이”라고도하는 “기본 게이트웨이”는 일반적으로 0.0.0.0/0 네트워크에 대한 모든 트래픽의 대상을 지정합니다. 더 작은 네트워크의 경로는 그보다 “더 구체적”이며 우선 순위를 갖습니다. 따라서 192.0.2.0/24가 더 우선합니다.

셋째, 경로에는 일반적으로 “메트릭”이라는 다른 필드가 있거나 때로는 “우선 순위”와 같은 다른 이름이 있습니다. 크기가 같은 네트워크가 여러 개인 경우 영향을 줄 수 있습니다.

이러한 “메트릭”값은 자동으로 생성 된 것 (예 : 더 많은 트래픽에 고속 네트워크가 사용되는 방식) 일 수 있지만 수동으로 조정할 수 있습니다.

전송되는 IP 패킷 내에서 인코딩 할 게이트웨이에 대한 정보는 어디에 있습니까?

IP 패킷에는 대상 IP 주소를 지정하는 것을 제외하고 라우팅에 대한 정보가 포함되어 있지 않습니다. 라우팅 세부 정보는 경로를 따라 라우팅을 처리하는 장비에 의해 결정되며 이러한 세부 정보는 일반적으로 IP 패킷에 배치되지 않습니다. (따라서 장비는 그러한 세부 정보를 찾지 않습니다. 장비가 없기 때문에 그러한 정보를 찾지 않기 때문에 그러한 정보를 포함시키는 것은 무의미합니다.)

RFC 791 페이지 11 은 IP 패킷에있는 정보의 “ASCII ART”스타일 표를 보여줍니다. 해당 표 다음에 해당 문서에 세부 정보가 표시됩니다 (예 : “옵션”섹션에 대한 설명은 15 페이지 참조).