고정 경로에 있는 게이트웨이의 IP 주소는 라우팅에 어떤 영향을 미칩니까?

고정 경로에 있는 게이트웨이의 IP 주소는 라우팅에 어떤 영향을 미칩니까?

저는 Windows 7 컴퓨터를 사용하여 동일한 물리적 네트워크에 있지만 다른 서브넷에 있는 Windows 10 컴퓨터에 연결했습니다. Windows 7에 고정 경로를 추가하기 전에는 모든 트래픽이 기본 라우터로 올라갔다가 다시 Windows 10으로 돌아갔습니다. 이로 인해 RDP 연결을 시작하는 데 오랜 지연이 발생했기 때문에 상단 라우터를 피하기 위해 Windows 7에 고정 경로를 추가했습니다. . 나는 실수를 저질러 결국 작동하게 되었는데, 그 이유가 무엇인지 잘 모르겠습니다.

네트워크 다이어그램

네트워크 다이어그램

Windows 7의 정적 경로

1. None
2. route add 10.1.1.0 mask 255.255.255.0 10.1.0.99
3. route add 10.1.1.0 mask 255.255.255.0 10.1.1.3
  • route 1 tracert프로그램 사용10.1.0.98 -> 10.1.0.1 -> 10.1.0.99 -> 10.1.1.4
  • route 2 tracert프로그램 사용10.1.0.98 -> 10.1.0.99 -> 10.1.1.4
  • route 3 tracert프로그램 사용10.1.0.98 -> 10.1.0.99 -> 10.1.1.4

왜 작동하는지 이해 하지만 왜 작동하는지 route 2모르겠습니다 .route 3

추신: 누구든지 더 명확한 제목을 제안할 수 있다면 그렇게 하십시오.

답변1

Route 3은 Ubuntu 컴퓨터에서 ARP 패킷을 처리하는 방식 때문에 작동합니다. 10.1.1.3에 대한 ARP 요청은 10.1.0.0/24에서 전송되고 10.1.0.99 인터페이스에서 수신됩니다. 그 컴퓨터 이후로또한10.1.1.3을 소유하고 있으며 10.1.0.99의 하드웨어 주소로 응답합니다. 나중에 Windows 7 컴퓨터가 Windows 10 컴퓨터에 RDP 연결을 시도하면 10.1.1.3 게이트웨이로 향하는 패킷을 보내지만 동일한 서브넷에 있는 컴퓨터의 MAC 주소를 전달하며 스위치는 이를 직접 전달할 수 있습니다.

그것을 시도하고 확인하려면

윈도우 7의 경우

.\Arping.exe -i 10.1.0.98 -T 10.1.1.3

우분투에서

22:19:51.275116 (Windows 7 MAC) > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.1.1.3 tell 10.1.0.98, length 46

답변2

경로 3의 마법은 부분적으로는 주소 확인 프로토콜, 부분적으로는 전달 테이블, 부분적으로는 라우팅 알고리즘으로 인해 작동합니다.

위키피디아라고:

ARP(주소 확인 프로토콜)는 특정 인터넷 계층 주소(일반적으로 IPv4 주소)와 연관된 MAC 주소와 같은 링크 계층 주소를 검색하는 데 사용되는 통신 프로토콜입니다.

많은 운영 체제는 시작 중에 불필요한 ARP를 수행합니다.. 이는 예를 들어 네트워크 카드가 최근에 변경되었고(IP 주소-MAC 주소 매핑 변경) 다른 호스트의 ARP 캐시에 여전히 이전 매핑이 있는 경우 발생할 수 있는 문제를 해결하는 데 도움이 됩니다.

따라서 Ubuntu는 시작할 때 연결된 두 서브넷, 즉 전체 네트워크에 존재와 인터페이스를 발표했습니다. Windows 10에서 수행한 유사한 알림은 해당 서브넷 내에서만 이루어졌으므로 Windows 7에는 도달하지 못했습니다. 이러한 알림이 수신되지 않은 경우에도 Windows 7은 일치하는 항목을 찾기 위해 ARP 프로토콜을 사용하여 네트워크에 브로드캐스트 패킷을 보내 질문합니다. "10.1.1.4를 가진 사람".

여기서 중요한 힌트는 tracert명령이 홉 사이에 라우터를 나열하지 않았다는 것입니다. Windows 7 10.1.1.4이 .10.1.1.4

여기서 작동 중인 것은 Windows입니다. IP 라우팅 테이블 : 경로 결정 프로세스:

  • 라우팅 테이블의 각 항목에 대해 대상 IP 주소와 네트워크 마스크 사이에 비트별 논리 AND를 수행합니다. 일치하는 항목의 네트워크 ID와 결과를 비교합니다.

  • 일치하는 경로 목록이 컴파일됩니다.가장 오랫동안 일치하는 경로(대상 IP 주소와 가장 많은 비트가 일치하는 경로)가 선택됩니다. 일치하는 가장 긴 경로가 대상 IP 주소에 대한 가장 구체적인 경로입니다. 가장 긴 일치 항목이 여러 개 발견되면(예: 동일한 네트워크 ID에 대한 여러 경로) 라우터는 가장 낮은 메트릭을 사용하여 최상의 경로를 선택합니다. 가장 긴 일치 항목과 가장 낮은 메트릭 항목이 여러 개 존재하는 경우 라우터는 사용할 라우팅 테이블 항목을 자유롭게 선택할 수 있습니다.

Windows 7 라우팅에서는 10.1.1.410.1.1.3사이 의 공통 접두사를 발견했습니다 10.1.1. 다른 가능성은 의 라우터 또는 Ubuntu였지만 10.1.0.99공통 접두사는 이므로 10.1선택되지 않았습니다.

여기에서는 라우팅 테이블 위에 구축된 전달 테이블이 작동하는 것을 볼 수 있습니다. 동안 라우팅 테이블 IP 주소를 기반으로 경로를 컴파일하면 전달 테이블에 해당 MAC 주소가 포함됩니다. 따라서 전달 테이블에는 "의 경우 10.1.1.X패킷을 Ubuntu 컴퓨터의 MAC 주소로 전달합니다" 라는 항목이 포함되어 있습니다 . 패킷이 Ubuntu 컴퓨터에 도착하면 이를 10.1.1.4.

따라서 Windows 7의 패킷이 Windows 10에서 끝나고 그 반대의 경우도 마찬가지입니다.

관련 정보