오늘은 OSI 2계층인 데이터 링크 계층을 알아보자.
0. 데이터 링크 계층이 뭘까
데이터 링크 계층은 OSI 모델의 아래에서 두 번째 계층이다. 노드 간 데이터 전달을 담당한다. 주요 역할은 오류 없는 정보 전송을 보장하는 것이다. 또한 송신 및 수신 데이터를 인코딩, 디코딩 및 구성하는 역할을 한다.
이것은 모든 복잡한 하드웨어를 가려주기 때문에 OSI 모델에서 가장 복잡한 계층으로 여겨진다.
1. 데이터 링크 계층의 하위 계층
데이터 링크 계층은 두 개의 하위 계층으로 나뉜다.
논리적 링크 제어(Logical Link Control, LLC)
이 하위 계층은 멀티플렉싱, 어플리케이션과 다른 서비스 간의 데이터 흐름을 처리한다. 그리고 이에 대한 오류 메시지와 확인도 제공해야한다.
미디어 접근 제어(Media Access Control, MAC)
이 하위 계층은 장치의 상호작용을 관리하고, 프레임 주소 지정을 담당하며, 물리적 미디어 액세스도 제어한다.
데이터 링크 계층은 네트워크 계층으로부터 패킷 형태로 정보를 받고 패킷을 프레임 단위로 나누며, 물리 계층을 통해 프레임을 비트 단위로 전송한다.
2. 데이터 링크 계층의 기능
프레이밍
네트워크 계층에서 수신한 패킷은 데이터 링크 계층에서 프레임이 된다. 데이터 링크 계층은 네트워크 계층에서 패킷을 받아서 작은 프레임으로 나눈 다음, 각 프레임을 비트 단위로 물리 계층에 전송한다. 또한 헤더와 프레임 끝에 일부 특수 비트(오류 제어 및 주소 지정용)를 첨부한다. 수신측의 데이터 링크 계층은 물리 계층에서 받은 비트를 프레임으로 구성한 다음 네트워크 계층으로 전송한다.
주소 지정
데이터 링크 계층은 각 프레임의 헤더에 출발지 및 목적지의 MAC주소를 캡슐화하여 노드 간 전달을 보장한다. MAC 주소는 제조 중에 디바이스에 할당되는 고유한 하드웨어 주소다.
오류 제어
데이터는 노이즈, 감쇠 등 다양한 이유로 손상될 수 있다. 데이터 링크 계층은 전송된 데이터의 오류를 감지하고 수정하는 역할을 한다. 데이터 링크 계층은 프레임 헤더에 오류 감지 비트를 추가하여 수신된 데이터가 올바른지 확인할 수 있도록 한다. 손상되거나 손실된 프레임을 감지하고 재전송하는 메커니즘을 추가하여 물리적 계층에 안정성을 더한다.
(오류 감지 기법에 대한 글)
https://www.geeksforgeeks.org/error-detection-in-computer-networks/
흐름 제어
수신자의 수신 속도가 송신자의 전송 속도보다 낮으면 수신자의 버퍼에 오버플로우가 발생하고, 일부 프레임이 손실될 수 있다. 데이터 링크 계층은 송신자와 수신자의 속도를 동기화하고 두 사람 사이에 흐름을 제어한다.
접근 제어
여러 장치가 동일한 통신 채널을 공유하는 경우 충돌 가능성이 높으므로 데이터 링크 계층은 채널을 제어하는 장치가 무엇인지 확인해야 한다. <- 통신 채널이라는게 어떤 개념인지 잘 모르겠다.
(CSMA/CD에 관한 글)
https://www.geeksforgeeks.org/collision-detection-csmacd/
(CSMA/CD와 CSMA/CA에 관한 글)
https://www.geeksforgeeks.org/difference-between-csma-ca-and-csma-cd/
3. 데이터 링크 계층의 프로토콜
- 동기 데이터 링크 프로토콜(SDLC)
- 고수준 데이터 링크 프로토콜(HDLC)
- 인코딩을 위한 SLIP(Serial Line Interface Protocol)
- 지점 간 프로토콜(PPP)
- 링크 액세스 절차(LAP)
- 링크 제어 프로토콜(LCP)
- 네트워크 제어 프로토콜(NCP)
4. 요약
데이터 링크 계층은 네트워크에서 데이터가 안정적이고 정확하게 전송되도록 하는 데 필수적이다. 오류 감지 및 수정을 하고, 데이터 프레임 시퀀싱을 관리하며, 물리적 네트워크에 대한 액세스를 제공한다. 데이터를 프레임으로 구성하고 네트워크의 장치가 통신하는 방식을 제어함으로써 데이터 링크 계층은 원활하고 효율적인 네트워크 운영을 유지하는 데 중요한 역할을 한다.
참고: https://www.geeksforgeeks.org/data-link-layer/
'일기' 카테고리의 다른 글
OSI 3계층: 네트워크 계층 (0) | 2024.12.13 |
---|---|
(JavaScript) 햄버거 만들기 (0) | 2024.12.13 |
(JavaScript) 둘만의 암호 (0) | 2024.12.12 |
OSI 1계층 : 물리 계층 (0) | 2024.12.11 |
(JavaScript) 대충 만든 자판 (0) | 2024.12.11 |