본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다.
ARP
- Frame을 보내기 위해서는 다음 노드의 MAC 주소를 알아야 한다. ARP table에 기록이 되어 있지 않으면, 목적지의 IP 주소를 가지고 목적지의 MAC 주소를 탐색하는 방법이다.
- ARP을 통해서 다음 목적지의 MAC address를 알아내고 ARP table을 채운 뒤, frame에 Dest MAC address를 채워서 보낸다.
- ARP의 범위는 같은 subnet 까지이다.
- 동작
* 상황 : Host A가 Gateway로 frame를 전송하고 싶을 때, 하지만 B의 MAC 주소가 없는 상황
1. A는 브로드캐스트 방식으로 ARP query를 뿌린다.
+ ARP query 상태
~ Frame의 data에 ARP query를 넣는다. 내용은 목적지의 IP 주소이다. 여기서는 1.1.1.1.
~ 목적지의 IP주소는 호스트 A의 forwarding table를 참조한다.
~ Frame의 type에는 data에 들어가는 내용물이 무엇인지 나타낸다. 여기서는 ARP query가 들어갔다고 표시 한다.
~ 목적지의 MAC 주소를 모르니 FF-FF-FF-FF-FF-FF로 설정한다.
2. Gateway router는 ARP frame을 받고 ARP query를 확인하니 자신의 IP 주소가 들어있는 것을 확인하고 호스트 A에게 MAC 주소를 보낸다.
3. 호스트 A는 cache의 ARP table에 받은 주소 값을 저장한다.
갑작스러운 질문
Forwarding table의 next hop(gateway)의 IP를 어떻게 알았을까? Host가 최초로 연결되면 DHCP protocol로 자신의 IP 주소, DNS 서버 주소, Gateway IP 주소를 가져왔다.
다른 LAN으로 라우팅
- Frame 내부의 IP PKT은 유지되고 frame 껍질만 계속 교체
- 과정
* 상황 : ARP table 작성 완료
1. Frame이 들어오면, IP PKT의 목적지 IP 주소를 확인하고, forwarding table을 참조하여 다음 목적지의 IP 주소를 확인하고 output link 결정
2. 다음 목적지 IP 주소를 확인하고, ARP table을 참조하여 다음 목적지의 MAC 주소를 확인
3. 자신의 MAC 주소와 목적지 MAC 주소으로 Frame을 생성하여 output link로 전송
'Software Courses > Network' 카테고리의 다른 글
시나리오 (0) | 2021.01.11 |
---|---|
Link layer : switch (0) | 2021.01.11 |
Link layer : ethernet (0) | 2021.01.10 |
Link layer : MAC protocol (0) | 2021.01.10 |
Link layer : overview (0) | 2021.01.10 |