ping을 보냈을때의 과정 PC0 --> PC8
우선 ping을 칠 경우 PC0은 ICMP패킷을 생성한다.
이때 L3, L2의 src와 dst주소가 필요하다.
PC0은 ARP테이블을 확인 한 뒤 PC8의 MAC주소가 없다면 ARP패킷을 보내게 된다.
임의로 ARP테이블을 arp -d a.b.c.d로 초기화 한 뒤 ping을 치면 다음과 같이 arp패킷을 확인 가능하다.
arp패킷 요청
arp패킷 응답
R1 MAC Address
R2 MAC Address
arp패킷을 전송하여 스위치에 프래임이 들어가면 스위치에서 Mac테이블을 확인하여 learning과 floodin/forwading이 이루어질 것이다.
만약 src주소를 모른다면 learning이 이루어질 것이고, dst주소를 알면 forwading, 모르면 flooding이 이루어질 것이다.
forwading/flooding을 통해 R1으로 패킷이 전송이 되고, R1은 인터페이스에서 들어온 NI와 Dst의 NI를 비교 하게 된다.
이때의 Dst주소가 다르다면 라우터는 들어온 패킷에 대해서 Arp 리플라이를 보내준다. 이때의 mac주소 정보는 라우터 자신의 정보를 주게 된다. 즉, 리플라이 패킷의 Src주소는 라우터의 mac주소가 되게된다. 이것을 프록시 ARP라고 부른다.
이제 다시 응답이 스위치로 가게 되면 Dst mac주소를 알고있으므로 포워딩 하게 된다. pc0은 게이트웨이 ip와 mac주소를 arp 테이블에 저장하게 된다. 이제 PC0은 ICMP패킷에서 Dst mac 주소를 라우터의 mac주소로 하여 패킷을 전송하게 된다.
ICMP 전송 패킷 (PC0 --> R1)
위의 사진을 통해 Dst MAC주소가 R1의 것임을 알 수 있다.
라우터는 ICMP 패킷의 NI를 보고 자신의 라우팅 테이블에 있다면 포워딩을 하지만 만약 NI가 테이블에 없다면 drop하게 된다.
하지만 이미 static으로 라우팅 테이블의 각각의 NI를 등록하여 주었으므로 포워딩을 한다.
다만 R1에서 R2로 포워딩 될 때 ICMP패킷을 보면 src/dst주소가 각각 R1과 R2의 MAC주소인것을 확인 할 수 있다.
ICMP 요청 패킷 (R1 --> R2)
이후 다시 R2에서 R1으로 ICMP 응답패킷을 확인 할 경우 위와는 반대로 src/des mac주소가 R2와 R1임을 확인 가능하다
ICMP 응답 패킷 (R2 --> R1)
'네트워크 및 서버 > 네트워크' 카테고리의 다른 글
2개의 포트로 네트워크 구축, Ring Topology 네트워크 구축 (0) | 2024.07.16 |
---|---|
다수의 PC와 네트워크 구축(static) (0) | 2024.07.11 |
다른 네트워크의 PC연결(Static) (0) | 2024.07.10 |
다른 IP와 통신 (0) | 2024.07.09 |
OSI 7 Layer;L2(Data Link) (2) (0) | 2024.07.05 |