링크 계층은 한 노드에서 인접한 다른 노드로 링크를 통해 데이터그램을 전송하는 링크이다.
라우터가 중간에 없는, 물리적으로 가까운 두 노드 간 데이터그램 전송을 보장한다.
용어 설명
Node : 호스트 또는 라우터.
Link : 경로를 따라 인접한 두 노드를 연결하는 채널로 wired link와 wireless wireless link 두 가지가 존재한다.
Frame : 캡슐화된 datagram으로, 링크 계층의 패킷이라고 이해하면 된다.
이렇게 사진을 보면 직접적으로 연결된 링크도 있고, 무선으로 연결된 링크도 존재한다. 유선은 이더넷, 무선은 와이파이가 대표적이다. 전파로 송수신하는 부분, 노드끼리 이어진 빨간 줄로 표시된 링크들이 링크 계층이 관할하는 부분이다.
실제 네트워크는 Wi-fi, Ethernet, Optical network 등이 있는데, 와이파이는 무선 AP에 대한 호스트로, 여기서 AP란 Access Point의 약자로, 무선 LAN에서 기지국 역할을 하는 소출력 무선기기를 의미한다.
이더넷은 스위치를 통해 유선으로 직접 연결할 수도 있고, AP에서 첫 라우터까지 연결하는 역할을 하기도 한다.
Optical Network는 광 네트워크를 의미한다.
프로토콜 802.1.1은 무선랜, 와이파이를 담당하는 프로토콜이고, 802.3은 유선랜, 이더넷을 담당하는 프로토콜이다.
Ethernet
이더넷은 가장 많이 사용하는 유선랜으로, 간단하고 가격이 낮아 첫 번째로 전파된 LAN 기술이다. 보통 10Mbps에서 10Gbps의 속도를 가진다. 이더넷은 버스형과 스타형의 두 가지 방식이 있다.
90년대 중반까지 자주 사용되는 버스형은 스위치 없이 호스트끼리 연결된 구조로, 중재자가 없어 데이터를 동시에 전송하려고 하면 충돌이 발생하여 전송률이 낮아지는 문제가 발생하였다.
그래서 도입된 것이 바로 스타형이며, 지금까지도 사용 중이다. 중재자인 스위치가 있어 스위치가 호스트를 연결하므로 충돌이 발생하지 않는다.
여기서 스위치란, 호스트를 연결하며 유사한 기능을 수행하는 규모가 작은 라우터와 같다.
라우터가 우체국이라면, 스위치는 학교 내에서 정보를 전달하는 것이라고 비유해 이해하면 편하다.
앞서 말한 버스형과 스타형의 구조는 위와 같이 생겼다.
이더넷은 다음과 같은 두 가지 특성을 가진다.
Connectionless : 송/수신 네트워크 인터페이스 카드(NIC) 사이에 handshaking을 하지 않아 에러가 발생했을 때, 삭제를 할 뿐 추가적인 처리를 하지 않는다.
Unreliable: 수신 NIC는 데이터가 정상적으로 도착했다고 알리는 메시지인 ACK과 그 반대인 NACK을 전송하지 않고, CRC 부분에서 에러를 감지하고 데이터를 drop시킨다. 대신, 상위 계층에서 패킷을 회복시켜준다.
Ethernet Frame
이더넷은 데이터그램에 MAC주소를 포함한 헤더를 추가해줌으로써 동작한다.
프레임의 구조는 사진과 같은데, 각각의 영역이 어떤 데이터를 담고 있는지 설명하면,
Preamble : 송/수신자 간 clock rate를 맞추기 위한 부분으로 7bytes의 크기를 가진 0과 1이 반복되는(101010...) 일정한 패턴과 마지막이 1로 끝나는 마지막 바이트로 구성되어 있다.
Address : destination/source MAC주소를 담는 공간이다. 어댑터가 목적지 주소와 일치하는 프레임을 수신하면 데이터를 네트워크 계층(상위 계층) 프로토콜로 전달시키며, 일치하지 않으면 프레임을 무시(discard)한다.Data : IP 패킷을 링크 계층이 받은 다음 프레임의 데이터에 저장한다.Type : 상위 계층 프로토콜을 나타내며, 대부분 IP 프로토콜이다.CRC : 주기적으로 중복 검사를 하는 공간으로, 오류가 확인되면 프레임을 삭제(drop)시킨다.