1. Data Link Layer의 두 개의 sublayers: LLC & MAC
Data Link Layer는 두 개의 sublayers로 나눠져 있다. Data Link Control(Logical Link Control)과 Media Access Control로 나뉘며 각각 DLC(LLC), MAC이라고 불린다.
1.1. NIC (Network Interface Card)
NIC는 Data link layer와 physical Layer에 모두 관여하는 중요한 물리적 장치이다.
- Controller: 컨트롤러는 데이터를 언제 어떻게 보낼지를 결정하고 오류를 감지하고 복구하는 역할을 한다.
- Transceiver: 트랜시버는 데이터를 신호로 변환하여 송신(Tx)하고, 수신된 신호를 데이터로 다시 수신(Rx)하는 역할을 한다.
1.2. MAC (Media Access Control, 미디어 접근 제어)
- 프레이밍 (Framing): MAC의 주요 기능 중 하나인 프레이밍은 데이터를 개별적인 프레임 단위로 캡슐화하는 과정을 의미한다. 프레임화는 데이터를 명확하게 식별할 수 있도록 하며, 오류 검출(Error Detection)과 흐름 제어(Flow Control)를 돕는다.
- 충돌 방지: 물리적 매체에 대한 접근 제어를 통해 여러 장치가 동일 매체를 사용할 때 충돌 방지를 한다.
2. Flow Control과 Error Control
Flow Control과 Error Control은 Data Link Layer에서 데이터를 안정적으로 전송하기 위한 메커니즘이다.
2.1. Flow Control
- Flow control은 송신자와 수신자 간의 데이터 전송 속도 차이를 조정하는 과정이다.
- 수신자가 데이터를 너무 빠르게 받아 데이터를 제때 처리하지 못한 상황에서 추가적인 데이터가 도착하면 버퍼 오버플로우나 데이터 손실이 발생할 수 있다.
- 송신자의 전송 속도를 조절하여 안정적인 데이터 통신을 가능하게 한다.
2.2.Error Control
- Error control은 데이터 전송 중 발생할 수 있는 오류를 처리하는 과정이다.
- 오류 제어 방식에는 Error Detection과 Error Correction이 있으며 실제 네트워크 환경에서는 Error Detection 후 재전송 요청(ARQ) 방식이 더 일반적으로 사용된다.
- 오류가 감지되면 송신자에게 잘못된 데이터를 재전송하도록 요청하여 데이터의 무결성을 보장한다.
3. DLC (Data Link Control) Protocol
DLC 프로토콜은 Flow Control과 Error Control 기능을 동시에 수행하며 상황에 따라 여러 방식으로 구현된다.
3.1. For noiseless channel (무잡음 채널)
이론적으로 잡음이 없는 완벽한 채널에서는 flow control만 필요하다. 여기서는 두 가지 방식이 사용된다.
- Simplest Protocol
- 가장 기본적인 방식으로 송신자가 데이터를 보내기만 하면 되는 간단한 방식이다.
- 수신자가 송신자의 모든 신호를 받을 수 있다는 가정이 성립한다.
- Stop-and-Wait
- 송신자가 이전 데이터를 수신자가 처리하지 못했을 경우를 대비한 경우이다.
- 수신자가 아직 전에 받은 데이터를 처리하지 않았는데 데이터를 받아버린 경우 데이터를 저장한 버퍼에 기존 데이터가 없어지는 문제가 발생할 수 있다.
- 송신자는 한 번에 한 프레임만 보내고 수신자로부터 하나의 frame을 잘 받았다는 응답인 ACK가 올 때까지 기다린다.
- 그 전까지는 다음 프레임을 보낼 수 없으며 이는 비효율적이다.
3.2. For noisy channel (잡음 채널)
실제 상황에서는 잡음과 같은 오류 요인이 존재하기 때문에 데이터 전송 시 Error Control도 검증해야 한다.
- Stop-and-Wait ARQ
송신자는 프레임을 하나 보내고, 오류 검출을 위한 ACK를 기다린다.
만약 ACK가 일정 시간 내에 도착하지 않으면 송신자는 프레임을 재전송한다.
- Go-Back-N ARQ
송신자는 여러 프레임을 연속적으로 전송할 수 있지만, 오류가 발생하면 오류가 발생한 프레임부터 그 이후의 모든 프레임을 다시 보내야 한다. 이는 비효율적인 측면이 있다.
- Selective Repeat ARQ
이 방식은 오류가 발생한 프레임만 재전송한다. Go-Back-N보다 더 효율적이지만, 구현이 더 복잡하다. 이 방법은 전체 데이터 전송의 효율성을 높이는 데 기여한다.
'학부 수업 내용 정리 > 컴퓨터네트워크' 카테고리의 다른 글
#5 Controlled Access (0) | 2024.12.17 |
---|---|
#6 Wired and Wireless LANs (0) | 2024.12.06 |
#4 Lan Card, NIC의 마지막 세 번째 기능: MAC (0) | 2024.10.17 |
#2 Error Detection and Correction (0) | 2024.10.08 |
#1 데이터는 어떻게 전송할 수 있을까요?: OSI 모델과 이번에는 L3 (0) | 2024.09.10 |