IP 패킷 흐름을 이해하려고 노력 중입니다.

IP 패킷 흐름을 이해하려고 노력 중입니다.

그래서 패킷이 한 시스템에서 다른 시스템으로 이동하는 방식을 이해하는 데 어려움을 겪고 있습니다. 아래에는 컴퓨터 1이 컴퓨터 2에 연결을 시도하는 예가 나와 있습니다.

Computer 1  
IP: 192.168.1.11  
Subnet: 255.255.255.0  
Default Gateway: 192.168.1.1  
MAC: 00:00:00:00:00:aa

Router 1  
IP: 192.168.1.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:bb  

Router 2  
IP: 192.168.2.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:cc  

Computer 2   
IP: 192.168.2.1  
Subnet: 255.255.255.0  
Default Gateway: 192.168.2.12  
MAC: 00:00:00:00:00:dd

컴퓨터 1에서 컴퓨터 2로 연결하고 패킷의 흐름을 따른다면 라우터 2에서 정보가 나가는 소스 주소는 192.168.1.2이고 소스 MAC 주소는 00:00:00:00:00이 될 것입니다. :cc. 내 이해에 따르면 대상은 동일하게 유지되지만 경로를 통과할 때 소스가 업데이트됩니다. 이것이 맞습니까, 아니면 내가 놓친 것입니까?

답변1

아휴. 귀하의 시나리오에 따라 이것은 약간 까다로운 것입니다.

먼저, 라우터 2는 클라이언트 측 인터페이스에도 있는 라우터 1과 인터페이스를 공유해서는 안 됩니다.

귀하의 예에서 4개의 장치는 모두 동일한 LAN 세그먼트를 공유하며, 이는 별도로 192.168.xy 제품군에 대해 라우팅할 수 없는(편집: "인터넷"을 통해) IP 주소 범위에 있습니다.

더 좋은 방법은 다음과 같이 생각하는 것입니다.

Computer 1
IP: 192.168.1.100
Subnet: 255.255.255.0
Default Gateway: 192.168.1.1
MAC: 03:00:00:00:00:11

Router 1
IP: 192.168.1.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:22
IP: 192.168.12.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:33

Router 2
IP: 192.168.12.2
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:44
IP: 192.168.2.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:55

Computer 2
IP: 192.168.2.200
Subnet: 255.255.255.0
Default Gateway: 192.168.2.1
MAC: 03:00:00:00:00:66

MAC의 리드에 03 16진수 문자가 있다는 사실은 무시하세요. 이는 단지 네트워크 속물에 대한 정확성을 위한 것입니다. [편집] 로컬로 할당되고 전역적으로 고유하도록 0x03으로 수정해야 했습니다.

여기서 일어나는 일은 다음과 같습니다. 컴퓨터 1의 케이블이 라우터 1에 연결되어 있습니다. 이 두 케이블은 192.168.1.x 네트워크를 공유합니다. 라우터 1에서 라우터 2로 연결되는 케이블이 있습니다. 이들은 192.168.12.x 네트워크를 공유합니다. 라우터 2에서 컴퓨터 2로 연결되는 케이블이 있습니다. 이들은 192.168.2.x 네트워크를 공유합니다.

원본 글에서는 작동하려면 4개의 장치를 모두 동일한 스위치에 연결해야 했습니다. 그런 경우 컴퓨터 1은 컴퓨터 2와 직접 통신했을 것입니다. 참고: 참고: 네트워크 마법사가 있습니다. 정적 라우팅을 수행하여 원래 네트워크 구성이 작동하도록 할 수 있다는 것을 알고 있지만 이는 이 사용자가 요구하는 것이 아닙니다....

이제 구체적인 질문을 살펴보겠습니다.

당신은 반만 맞았습니다. 컴퓨터 2가 보는 MAC 주소는 라우터 2의 MAC 주소입니다. 제 예에서는 MAC 03:00:00:00:00:55입니다. 그러나 표시되는 IP 주소는 컴퓨터 1의 것입니다. 이것이 바로 컴퓨터 2가 컴퓨터 1에 다시 응답할 수 있는 방법입니다. IP 주소는 이론적으로 "보편적으로 고유"합니다.

지식 의도 수준에 따라 네트워크가 작동하는 방식은 계층 2(데이터 링크/MAC 계층 - 모든 이더넷/IPv4 환경에서) 주소가 HOP별로 변경된다는 것입니다. PER HOP는 '모든 레이어 3 처리 장치를 전송하는 것'으로 정의됩니다. 라우터와 컴퓨터는 거의 항상 레이어 3을 처리합니다. 스위치는 레이어 3을 처리할 수 있지만 그대로 두는 경향이 있습니다.

따라서 메시지가 컴퓨터 1에서 컴퓨터 2로 이동하는 경우 흐름은 다음과 같습니다.

AT HOP 1 - 컴퓨터 1과 라우터 1 사이

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:11 (Computer 1)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:22 (Router 1 - Interface facing Computer 1)

AT HOP 2 - 라우터 사이

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:33 (Router 1 - Interface facing Router 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:44 (Router 2 - Interface facing Router 1)

AT HOP 3 - 라우터 2와 컴퓨터 2 사이

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:55 (Router 2 - Interface facing Computer 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:66 (Computer 2)

따라서 IP 주소 계층(계층 3) 주소는 전체 통신에서 동일하게 유지되지만 데이터 링크 계층(계층 2) 주소는 계층 3 주소를 처리하는 다른 장치가 포함될 때마다 변경됩니다.

이게 도움이 되길 바란다. 여전히 혼란스러우면 언제든지 답장을 보내주세요. 어려운 부분에 대해 설명해 드리겠습니다.

답변2

귀하의 예에는 결함이 있습니다. (수정하신 걸 봤는데 아직 결함이 있네요.)

귀하의 예에서 라우터 1과 2는 동일한 서브넷에 있습니다(즉, 동일한 서브넷 마스크를 가짐). 따라서 컴퓨터 1은 기본 게이트웨이에서 아무 것도 보내지 않고 단순히 NIC에서 패킷을 버리고 스위치나 매체가 이를 컴퓨터 2로 가져올 것으로 예상합니다.

이제 라우터 2와 컴퓨터 2를 다음과 같이 변경하면:

Router 2
IP: 192.168.2.2

그리고

Computer 2
IP: 192.168.2.12

[굵게 표시된 닉네임으로 편집] 그러면 라우터 2와 컴퓨터 2가 켜집니다(자신의 별도 서브넷, 아니다:)별도의 서브넷, 그리고 예제가 더 이해되기 시작할 것입니다.

그러나 여기서는 다이어그램을 제공하지 않았으므로 트래픽이 다음과 같이 이동하기를 원한다고 가정합니다.

컴퓨터 1 <-> 라우터 1 <-> 라우터 2 <-> 컴퓨터 2

이 작업이 수행되려면 라우터 1과 라우터 2가 동일한 서브넷에 있을 수 없습니다. 실제로 그들 사이에는 트래픽을 거래하는 세 번째 네트워크가 있습니다. (기본 경로가 개인 네트워크를 참조하는 것도 약간 이상합니다. 일반적으로 "인터넷"을 의미하지만 확실히 가능합니다.)

당신이 하려고 하는 것이 다음과 같습니다. 사진이 너무 투박한 점에 대해 사과드립니다. 여기에 이미지 설명을 입력하세요

MAC 주소는 라우터 외부로 전파되지 않습니다. 컴퓨터 1은 컴퓨터 2에 패킷을 보내려고 합니다. 컴퓨터 2는 동일한 서브넷에 있지 않으므로 컴퓨터 1은 패킷을 기본 게이트웨이로 보냅니다.

이는 결국 컴퓨터 1의 MAC에서 라우터 1의 MAC로 전송되는 프레임이 됩니다.

라우터는 패킷을 전달하며 전달은 다른 인터페이스에서 복사하는 것을 의미합니다. 따라서 라우터 1은 컴퓨터 1에서 얻은 패킷의 목적지가 컴퓨터 2로 향한다는 것을 알게 됩니다. (이와 같은 상황에서 이를 알기 위해서는 고정 경로로 프로그래밍하거나 RIP/OSPF와 같은 프로토콜을 사용해야 했습니다. .)

그러면 IP 패킷에는 이제 라우터 1의 두 번째 NIC의 소스 MAC과 라우터 2의 첫 번째 NIC의 대상 MAC이 있습니다. 그리고 컴퓨터 2에 도달할 때까지 계속됩니다.

답변3

MAC 주소는 각 홉마다 변경되지만 NAT/PAT 기술이 인라인으로 있거나 애플리케이션 프록시가 사용되지 않는 한 연결의 IP 주소는 변경되지 않는다는 점에서 절반은 맞습니다.

참고로 나는 컴퓨터2의 주소가 1.12가 아닌 192.168.2.12와 같아야 한다고 생각합니다. 이는 귀하의 패킷이 router2를 전혀 통과하지 않는다는 것을 의미합니다. 나는 당신이 다음과 같은 것을 찾고 있다고 믿습니다.

Computer 1  
IP: 192.168.1.11  
Subnet: 255.255.255.0  
Default Gateway: 192.168.1.1  
MAC: 00:00:00:00:00:aa

Router 1  
LAN IP: 192.168.1.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:bb  

WAN IP: 192.168.3.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:b1  

Router 2  
LAN IP: 192.168.2.2  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:cc  

WAN IP: 192.168.3.2  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:c1 

Computer 2   
IP: 192.168.2.12  
Subnet: 255.255.255.0  
Default Gateway: 192.168.2.2  
MAC: 00:00:00:00:00:dd

따라서 세 개의 네트워크가 있습니다. LAN 컴퓨터1은 (.1.X)에 있고, 두 라우터 사이의 네트워크는 (.3.X), 그리고 컴퓨터2가 있는 LAN은 (.2.X)입니다.

MAC 주소는 프레임 주소 지정을 위한 것이므로 각 LAN 구현과 연결되어 있습니다. MAC 주소 ::aa를 사용하여 Computer1과 Router1이 연결된 네트워크를 통해 프레임을 보낼 수 있지만, 이 LAN에서 ::dd로 프레임을 보내려고 하면 대상에 도달하지 못합니다. 따라서 Mac 주소는 해당 MAC이 있는 장치를 보유하는 네트워크에서만 유효합니다.

그러나 IP 주소는 네트워크 간에 전달되므로 일정하게 유지됩니다. 패킷은 라우터를 통과할 때마다 새 프레임에 다시 캡슐화되지만 IP 패킷 자체는 변경되지 않습니다. 이는 중요합니다. 시나리오에서 Computer2가 MAC ::cc를 사용하여 192.168.1.1에서 패킷을 수신한 경우 해당 패킷이 라우터에서 온 것이 아니라는 것을 알 수 없고, Computer2가 응답할 때 router2는 전혀 알 수 없기 때문입니다. 누구에게 응답하고 있는지.

따라서 컴퓨터2가 수신하는 패킷의 소스 IP는 192.168.1.11이지만 MAC 주소는 ::cc입니다.

NAT/PAT는 소스/대상 결정을 내리기 위해 더 많은 정보가 필요하다는 점에서 이를 좀 더 혼란스럽게 만듭니다. 따라서 실제 홈 라우터를 사용한 시나리오가 조금 더 완성되었다는 점을 기억하세요.

답변4

아야. 라우터에는 IP가 하나만 있는 것은 아닙니다. 웬델 오돔이 쓴 '네트워킹 첫걸음'을 제안합니다.

당신은 "내 이해에 따르면 목적지는 동일하게 유지되지만 소스는 경로를 통과하면서 업데이트될 것입니다."라고 썼습니다.

무슨 말을 하는지 명확하지 않습니다. 당신은 글을 많이 쓰지 않았고 당신이 쓴 글도 모호했습니다. 명확하게 글을 쓸 수 없다면 명확하게 이해하지 못할 것입니다.

단지 "출처", "목적지"라고 말하지 마세요. 소스 IP 주소, 소스 MAC 주소, 대상 IP 주소 또는 대상 MAC 주소를 의미하는 경우 구체적으로 말하세요.

소스와 대상 IP는 동일하게 유지됩니다. (NAT나 매우 특이한 것이 있고 그런 것이 없는 경우는 제외)

MAC 주소(소스 및 대상)는 변경될 수 있습니다. 라우터는 MAC 주소를 다시 씁니다. 라우터가 실제로 올바르게 설정되지는 않았지만. 라우터가 자체 서브넷에 자체 IP를 가진 여러 NIC를 갖는 방법은 ultra의 그림을 참조하세요.

관련 정보