Next hop IP addr ↔ L2 MAC addr 관계를 Mapping 해주는 게 ARP.
hosts and routers → node
wired links, wireless links → link
layer-2 packet → frame
data-link layer의 목표는 layer 3가 있는 다음 인접 노드까지 datagram을 전달해주는 것.
encapsulate datagram into frame, adding header (src/dst MAC addr), trailer
channel access if shared medium
flow control, error detection, error correction
link layer implemented in "adaptor" (Network Interface Card)
link의 한 쪽 끝에 src, 한 쪽 끝에 dest가 있는 구조.
Ex. ADSL, VDSL, Ethernet switch and host
(switch와 hub의 차이는 buffer의 유무, buffer가 없는 hub는 input을 flooding, link당 속도가 같음)
동일한 하나의 공유된 채널에 다수의 노드들이 연결. link가 연결된 모든 노드가 receive
Ex. Wifi, HFC
→ interference, collision 발생, Media Access Control이 필요.
다수의 송수신 노드들이 공유되는 broadcast채널로의 접속을 조정하는 문제
모든 노드들이 프레임을 전송할 수 있으므로, 2개 이상의 노드가 동시에 프레임을 전송하면 모든 노드는 동시에 여러 개의 프레임을 받게 된다. 즉, 프레임들이 각 receiver에서 충돌하는 것이다.
TDMA, FDMA, CDMA
충돌이 검출 되었을 때 전송을 중단.
Hidden node problem: In wireless environments, there is a case in which two senders A and B cannot sense each other, but they can reach a common Wi-Fi access pointer (C). Therefore, A and B may send a packet to C at the same time which causes collision.
link 계층 주소를 가진 것은 host나 router가 아닌 Network Interface Card(어댑터)이다.
다수의 NIC를 갖고있는 host나 router는 여러 개의 링크 계층 주소를 갖게 된다.
그러나 링크 계층 스위치는 host나 router를 연결해 주는 인터페이스에 링크 계층 주소를 할당 받지 않는다.
IP주소는 알지만 MAC주소는 모르는 상태, MAC주소를 알아야 dest의 2계층까지 가져다 줌.
ARP msg를 보내어 각 host와 router들은 IP에 따른 MAC주소를(broadcast로 요청) ARP table에 keep.
IP주소와 MAC주소 간에 변환이 필요하다.ARP는 IP주소를 MAC주소로 변환해준다.
DNS와 비슷하지만, DNS는 인터넷의 임의의 장소에 있는 호스트 네임을 IP주소로 변환해 주는 반면,
ARP는 동일한 subnet 상에 있는 host나 router의 IP주소 만을 변환해준다.
IP datagram의 헤더에 있는 dest IP주소는 도착할 때까지 바뀌지 않는 반면, Layer2 frame 헤더에 있는 MAC 주소는 1 hop delivery 시마다 주소가 바뀐다.
-- "link layer address to identify a receiver of datagram" and
-- "media access control (MAC)
--- to avoid collision among multiple senders and
--- to decide who can send now?"
--- In wireless environments, there is a case in which two senders A and B cannot sense each other, but they can reach a common Wi-Fi access pointer (C). Therefore, A and B may send a packet to C at the same time which causes collision. This is called the Hidden node problem.
It is called ARP (Address Resolution Protocol)
-- DHCP -> ARP (for going H's gateway router) -> DNS -> TCP -> HTTP
--- No ARP is required durning DHCP, since IP and MAC addresses in DHCP messages are all broadcast address.
--- The original ARP done by the host H during DNS is stored at its ARP table and will be reused later when sending TCP and HTTP messages to H's gateway router.