도입
Internet
- 인터넷은 라우터나 스위치와 같은 장치들로 연결되는 네트워크 조합이다.
- 만약 패킷이 호스트에서 다른 호스트로 전달되면, 이러한 네트워크들을 통과하는 경로가 필요하다.

노드와 링크
- 한 호스트의 프레임은 다른 지점에 도달하기 위해 LAN과 WAN과 같은 많은 네트워크를 통해 전달된다.
- 호스트와 라우터를 노드
- 그 사이의 네트워크를 링크
- data-link layer에서의 통신은 node-to-node로 이루어진다.
- network layer에서의 통신은 end-to-end

서비스
data-link layer가 제공하는 서비스
- Framing : frame에 datagrame을 encapsulation
- Flow Control : 소비되는 frame의 속도에 따라 생산되는 frame 속도 제어
- 네트워크마다 다른 속도를 파악해서 데이터를 보내는 속도 조절
- Error Control : error 발생 여부를 알아내고 폐기(discard)하거나 재전송(retransmit)
- Congestion Control : 링크가 frame에 의해 혼잡해 질 수 있다. 이를 제어
- 대부분의 data-link layer에서는 congestion control을 직접 사용하지 않음

링크의 두 가지 유형
- Point to Point Link : 서로 연결된 2개의 장치가 전용으로 사용

- Broadcast Link : 링크의 용량 중 일부만을 사용

1) bus형 - 케이블을 공유해서 사용
- Tap : 데이터를 보내주고 받음, transeive라고도 부름
2) star형 : 허브에 연결
3) 기지국 : 무선으로 연결
Data-Link Layer의 두 부계층
- Data Link Control(DLC)
- Media Access Control(MAC) : broadcast에서만 필요

Data-Link Layer의 Addressing

IP와 link-layer address
- frame이 한 link에서 다른 link로 갈때마다 link layer의 주소가 변경된다.

- 주소 순서
- IP 주소 : 송신측-수신측
- link-layer 주소 : 수신측-송신측
주소의 세가지 유형
link-layer 프로토콜은 3가지 유형의 주소를 정의한다.
1) Unicast Address : one-to-one 통신
- 2번쨰 자리가 짝수
- 라우터의 각 호스트 또는 각 인터페이스에는 unicast 주소가 할당됨

2) Multicast Address : one-to-many 통신 (group)

3) Broadcast Address : one-to-all 통신
- 48비트의 모든자리가 1
- frame은 link 내에 모든 entity에게 전달된다.

Address Resolution Protoccol (ARP)
- IP 주소는 frame을 다음 link로 이동하는데 도움이되지 않는다.
- 다음 노드에 link-layer 주소가 필요하다.

- Address Resolution Protocol
- 중간 노드의 link-layer의 주소를 알려준다.
- ARP는 IP 주소를 해당 link-layer의 주소로 매핑하여 data-link layer에 전달
- network layer에 속한다.


-
Request
- A는 B의 ip주소를 알고 있음
- link-layer의 주소를 알아내야함
- 누군지 모르니 broadcast를 함
-
Reply
- B의 link-layer 주소를 unicast로 답변
-
ARP packet : 28 바이트

- ARP packet은 data-link layer에서 frame으로 encapsulation된다.
- Eternet frame
- Eternet frame 길이는 64 바이트 (512 bit)
- 데이터에 최소 길이는 46바이트, 최대 1500바이트
- 만약 데이터가 46바이트보다 작으면 0을 채워줌

ARP requst와 response message 예시
- A host
- Ip 주소 N1
- physical MAC 주소 L1
- B host
- IP 주소 N2
- physical MAC 주소 L2 (A host는 모름)


- ARP caching
- A가 ARP를 사용하여 시스템 B의 link-layer 주소를 얻으면, A는 해당 주소를 캐시 메모리에 저장한다.
- A의 ARP 캐시에는 20분 동안 저장된다.
- A는 이 캐시 정보를 사용하여 B에게 프레임을 보낸다.
통신 예제
- data-link lyaer에서 어떻게 통신이 일어나고, 어떻게 link-layer 주소를 찾는가?

1) Alice → R1

- forwarding table을 조사해서 다음 목적지의 IP 주소를 찾음
- 해당 IP 주소를 통해 ARP를 가지고 다음 목적지의 MAC 주소를 받아옴
2) R1 → R2

3) R2 → Bob

4) Bob
