공부한 기록/네트워크 통신

네트워크(3) - 데이터 링크 제어 DLC (데이터링크층)

YongE 2023. 4. 20. 19:11

DLC

 


 

데이터 링크 제어 서비스에는 여러가지가 있다.

  • 프레임짜기

비트들을 프레임으로 만들어서 각 프레임을 다른 프레임과 구분 짓게 한다.

프레임은 고정 길이와 가변 길이로 구분되는데 고정 길이는 ATM광역네트워크의 셀과 같다. 가변 길이는 주로 LAN에서 사용하는데 프레임이 끝나는 곳과 다음 프레임이 시작하는 곳을 지정한다.

가변 길이 프레임은 또 문자 중심과 비트 중심으로 나뉜다.

 

- 문자 중심 프레임 짜기 : ASCII와 같은 부호화 시스템의 8비트 문자를 사용한다. 시작과 마지막에 8비트 플래그를 추가시켜 길이를 정한다.

      - 바이트 채우기와 빼기 : 정보 내 플래그로 사용되는 패턴이 있을 경우 이를 플래그로 오인하지 않게 하기 위한 것이다. 플래그나 ESC문자가 있을 때 1바이트를 추가함으로써 구분한다.

- 비트 중심 프레임 짜기 : 프레임의 데이터 부분을 전부 bit열로 인식하는 것이다. 8비트 패턴의 플래그를 사용한다. byte보다 효율적이다.

      - 비트 채우기와 빼기 : 데이터 속의 비트를 플래그로 오인하지 않도록 한다. 0뒤에 1이 5번 연속 있으면 0을 추가로 채운다. 011111 -> 0111110

 

 

  • 흐름 제어와 오류 제어
    • 흐름제어 flow control : 수신자로부터 어느정도 양의 데이터를 받을 수 있는지 알려주는 일련의 절차다. 다시 말해, 흐름을 제어한다. 도로 위에서 차를 몰았을 때, 계속해서 높은 속력을 유지하면 기름이 많이 소모되니 여러 모로 불이익이 있다. 이러한 것을 예방하기 위한 차원이다. 메모리에 자리가 나면 얼마나 남았는지 송신자에게 확인응답으로 보낸다.
    • 오류제어 error control : 손상된 패킷을 수신하는 것을 방지하기 위한 제어다. 뒤에서 설명할 제어 기술이 자동반복요구ARQ다.

 

프로토콜(데이터 링크층)

 


 

프로토콜이란, 한 노드에서 다른 노드로 데이터를 보낼 때, 프레임을 짜거나 오류와 흐름을 제어하는 규칙이다. 보통 프로그래밍 언어를 사용해 소프트웨어로 구현한다.

데이터 링크층의 프로토콜에는 잡음 없는 채널과 잡음 있는 채널로 나뉜다.

 

  • 잡음 없는 채널 : 프레임 손실이나 중복, 손상이 없는 채널. 오류제어가 필요 없다.
    • 단순 프로토콜
    • 정지 후 대기 프로토콜 stop and wait protocol
  • 잡음 있는 채널 : 오류 제어를 사용하는 프로토콜이다. 전부 ARQ 자동반복요구 프로토콜이다.
    • 정지 후 대기 ARQ
    • N-복귀 ARQ (가장 효율적인 프로토콜)
    • 선택적 반복 ARQ

 

잡음이 없는 채널

 

  • 단순 프로토콜 : 흐름이나 오류 제어를 하지 않고 단지 송신자가 수신자에게 보내는 프로토콜
  • 정지 후 대기 프로토콜 Stop and Wait : 송신자가 프레임을 하나 전송한 후에 수신자로부터 확인응답 ACK를 받을 때까지 기다린 후에 다음 프레임을 전달하는 프로토콜

 

 

잡음이 있는 채널

 

  • 정지 후 대기 ARQ : 데이터 전송 후에 멈췄다가 확인응답을 받고 나서 다음을 전송한다. 순서 번호는 프레임에 부여하고, 확인응답 번호는 다음에 받을 프레임의 번호에 기반한다. 오류 제어는 전송된 프레임의 사본을 보관하고 있다가 타이머가 만료되면(타임아웃) 해당 프레임을 다시 전달하는 것이다.
  • N-복귀 ARQ : 전송효율을 높이기 위해 확인응답을 기다리는 동안 여러 개의 프레임을 전송하는 방식이다. 여러 개를 보내기 때문에 이들 모두를 처리하기 위해 순서번호를 부여한다.
    • 미닫이창 sliding window : 송수신자에게 필요한 순서번호의 범위를 지정하는 추상적인 개념이다. 송신 수신으로 나뉜다.
      • 송신 미닫이창 : 송신자에게 필요한 순서번호의 범위. 세 개의 변수를 갖는 2^m - 1의 크기의 가상의 상자. 아래 그림은 15개의 프레임을 연달아 보낼 수 있음을 의미한다. 0~6에서 확인응답을 받으면 확인응답을 받은 만큼 미닫이창을 밀어내서 공간을 확보한다.
      • 수신 미닫이창 : 데이터 프레임이 정확하게 수신됐고, 정확한 확인응답을 전송했는지 확인할 수 있다. 맨아래 그림을 보면 받아야 할 수신 창 외에 모두 무시한다. 받고 나면 응답을 보낸다.

송신 미닫이창
수신 미닫이창

 

 

  • 선택적반복 ARQ : 전체 n개의 프레임을 전달하는 대신 손상된 프레임만 전송하는 방식이다. 잡음이 많은 태널에서 효율적이지만 수신자 측에서 처리절차가 복잡해진다. 아래 그림을 보면, 3,4번의 프레임이 손실되었다. 앞에서 잘 전달된 만큼 미루고 손실된 프레임에서부터 시작한다.

선택적 반복 ARQ의 확인응답을 받기 전후

 

  • 피기백킹 piggybacking : 양방향 프로토콜의 효율을 높이기 위해 데이터 프레임에 제어정보를 포함해서 보내는 기술이다. 예를 들어, 프레임 0-2까지 보냈다면 ACK2를 보내 2번가지 받았다는 의미를 전달한다.

 

  • 점대점 프로토콜 PPP : 점 대 점 접속을 위한 가장 널리 사용되는 프로토콜이다. 데이터 전송을 제어하고 관리하기 위한 데이터 링크층에서 필요하다.
    • 제공하는 서비스 => 장치들 사이에서 교환될 프레임의 형식 정의, 두 장치가 어떻게 링크 설정을 교섭하고 데이터를 교환할지 정의
    • 제공하지 않는 서비스 => 흐름 제어와 오류제를 제공하지 않음, 송신자는 수신자를 생각지 않고 프레임을 계속 전송,

 

728x90
반응형