Data Link Layer

2022. 10. 5. 19:58[컴퓨터네트워크]

Data-Link Layer
- 두 노드(Hosts 와 Routers) 에 대한 통신 과정을 다루는 계층

데이터링크 계층에선 데이터를 전송할 때 데이터 앞 에 필요한 정보를 붙여 단위를 만든다. 여기서 앞에 붙인 단위를 Header ,  이 헤더를 붙이는 과정을 Encapsulation 이라고 한다. 

 

Encapsulation (캡슐화)  - 송신측 

그림과 같이 대략적인 과정을 설명하자면 , 송신측에서 각 데이터에 헤더를 붙여 캡슐화한 데이터를 수신측에 보내면 수신측에선 헤더를 하나씩 제거(Decapsulation - 수신측) 하여 메세지로 만들어낸다고 보면 된다.

 

물리계층에서 데이터링크 계층으로 온 비트스트림인 오류가 존재하는데 이때의 오류감지 , 오류정정 또한 데이터링크의 역할이다. 또한 , 송 수신측의 균형을 맞추기 위해 흐름제어(Flow control) 을 한다.

 

Flow control 은 송신자가 메세지를 전송한 후 수신자로부터 확인 응답을 받기 전까진 전송 가능한 데이터의 양을 제한하는 것이다. 이것을 하는 이유는 만약, 보내는쪽이 너무 빠르면 받는쪽에서 감당이 불가능해 딜레이를 두어서 순차적으로 수신해야하기 때문이다.

 

오류 정정(Error correction)

-오류를 감지하면 정정하여 (복구) 전송한다. 

-에러가 많이 발생하는 채널에 적합하다.(무선)

 

오류감지(Error detection)

-오류를 감지하면 재전송 한다. 

-오류가 적게 발생하는 곳에서 좋다.

-EDC : 데이터링크 계층에서 오류를 감지하기 위해 사용한다.

원래의 데이터에 EDC 를 추가로 붙여 송/수신 한다.

Error Detection 의 종류

 

1. Single bit parity (홀수 패러티 검사)

- 매우 간단한 방법이지만, 모든 오류를 발견하기는 불가능하다.

- 추가 비트를 끝쪽에 붙여 전체 비트 내의 1의 개수를 홀수로 만드는 것이다.

- 1 을 붙여 보냈는데 수신측에서 받은 비트의 1의 개수가 짝수면 오류가 발생한 것이다.

- 한계 : 만약, 한 개의 비트가 잘못되면 오류 검출이 가능하지만, 짝수개의 오류가 생기면 결과적으로 1의 홀짝 여부는 같기에 오류 검출이 불가능하다.

 

2. Two-dimensional bit parity

-1번의 방법을 보완한 것이다. 보내는 비트를 행렬로 구현하여 행과 열을 모두 패러티체크 진행한다.

 

3. Checksum

-데이터를 보낼때 합을 함께 보낸다.

0x84 = 132
0xF2 = 242
0x10 = 16
0x55 = 85
합 : 475 = 0x1DB

-> 송신측에서 보낸 데이터

[송신측]

  • 데이터를 모두 더한 후 캐리니블을 버린다.  => 0x1DB = 0001 1101 1011 => 1101 1011
  • 2의 보수를 하여 체크섬을 만든다. -> 0010 0100(1의보수) = > 0010 0101(2의 보수) = 0x25

[수신측]

  • 모든 데이터와 체크섬을 더한다. => 0x1DB + 0x25 = 0x200
  • 캐리니블을 버린다. => 0x200 = 0010 0000 0000 => 0000 0000
  • 결과가 0x00 이므로 오류는 없다.

4. CRC

  • 나눈 나머지를 다시 붙여 계산했을때 나머지가 0이 나오면 오류가 없는 것이다. (이건 그림으로 이해하는게 더 쉬우니 설명 생략)

 

데이터링크 계층의 통신방식

1. Point-to-Point (점대점) - 이더넷과 스위치 사이의 링크

2. Brodcast - 자신의 호스트가 속해있는 네트워크 전체를 대상으로 패킷을 전송하는 일대 다 통신방식 - 컨트롤이 필요하다.

 

Multiple access protocols 의 종류

-Random-access protocols
Slotted AVOHA 
- 모두 같은 크기의 프레임이다.
- 시간이 슬롯과 같은 크기로 나눠진다.
- 노드는 슬롯의 시작 경계에서 전송을 시작한다.
- 2개 이상의 frame 이 완전히 겹치는 slot 에선 충돌이 발생한다. -> 랜덤 시간만큼 기다렸다가 다시 time slot에 맞춰 packet 을 보낸다.

-Controlled-access protocls

-Channelization protocols
FDMA : 주파수 분할 다중접속 -> 주어진 대역폭을 일정한 크기로 나누고 각 대역폭 당 하나의 가입자를 할당하여 동시에 여러 가입자가 통화할 수 있도록 하는 방식

'[컴퓨터네트워크]' 카테고리의 다른 글

TCP / IP Protocol Suite (Physical layer)  (1) 2022.10.03