< Computer Science >/컴퓨터통신

Chapter 7. Data Link Control Protocols

Chipmunks 2018. 12. 18.
728x90

Chapter 7. Data Link Control Protocols

Data Link Control Protocols

Q. DLC 에 대해 설명하시오.

DLC (Data Link Control) 은 OSI (Open Systems Interconnection) 모델 중 데이터 링크 계층의 기능이다.
데이터 링크 계층은 신뢰할 수 있는 데이터를 물리 계층과 네트워크 계층 사이에 제공해야 한다.
( 이 외에, 프레임을 정의하고 오류 검출과 프레임 사이에 ECC (Error Correcting Code)를 집어넣고, 흐름 제어를 해야 한다. )



데이터 링크 제어는 수신과 송신 사이에 효율적인 데이터 통신을 위해 다음과 같은 목표가 있다.


  • 프레임 동기화 (Frame synchronizaiton) : 데이터는 프레임이라고 불리는 블록 형태로 보내진다. 프레임의 시작과 끝을 알아야만 한다.
  • 흐름 제어 (Flow control) : 수신자가 받아들일 수 있는 속도보다 프레임들을 빠르게 보내서는 안된다.
  • 오류 제어 (Error control) : 전송 시스템에서 생기는 비트 오류를 고쳐야만 한다.
  • Addressing : LAN (local area network)처럼 같은 link 상에서는 통신에 참여하는 두 지점이 명시되어야 한다.
  • Control and data on same link : 제어 정보와 데이터는 별도로 두지 않고 같은 link 에서 처리한다. 수신자는 제어 정보와 데이터를 구분할 수 있어야 한다.
  • Link management : 지점들간의 지속적인 데이터 교환을 위해 링크 관리가 필요하다.

Flow Control

Q. Flow Control  을 설명하시오.

흐름 제어는 수신자가 수용할 수 있는 데이터 속도를 초과하지 않도록 조절해주는 기술이다.
만약 흐름 제어가 없다면, 수신자의 버퍼가 작업되는 동안, 넘치는 overflow 현상이 벌어질 것이다.

흐름 제어의 카테고리는 다음 두 종류가 있다.
  1. Stop and wait : 한 번에 한 프레임만 보낸다.
  2. Sliding window : 한 번에 여러 프레임을 보낸다.

1. Stop-and-Wait Flow Control

Stop-and-Wait 흐름 제어는 가장 간단한 형태다. 메시지는 여러 프레임으로 쪼개진다.
송신자는 한 번에 한 프레임을 보내며, 수신자가 데이터를 처리하여 ACK 메시지를 보낼 때 까지 대기한다.

전송이 길어질 수록, 오류가 발생할 가능성도 높다. 한 프레임이나 ACK가 손실된다면, 송신자가 다시 전송해야 한다. 이 작업을 ARQ (Atuomatic Repeat reQuest) 라고 한다.

장점 : 간단함
단점 :
1. 모든 프레임을 전송할 때 마다 ACK 메시지를 기다려야 한다. 만약, 전송 시간이 길다면 매우 비효율적이다.
2. 전송이 길어질 때, 비효율적이다. 전송이 길어지면 오류가 날 확률도 높다. 전송이 짧다면, 오류를 일찍 발견할 수 있다.

2. Sliding Windows Flow Control

수신자의 윈도우가 꽉 찰 때 까지, 데이터를 전송하는 방법이다. 만약, 윈도우가 꽉 찼다면 수신자가 더 큰 윈도우가 있다고 알릴 때 까지 전송을 중단해야 한다.


슬라이딩 윈도우 흐름 제어는 버퍼 크기가 제한되어 있을 때 효과적이다.

수신자가 n 개의 프레임을 받을 수 있는 버퍼 공간이 있을 때, 송신자는 수신자가 n 개의 프레임을 버퍼에 넣을 때까지 ACK 메시지를 받지 않더라도 보낼 수 있다.


ACK 를 받은 프레임들을 쫓을 수 있도록, 순차적으로 전송된 프레임들은 넘버링된다.




Error Control Techniques

Q. 데이터 링크 흐름 제어에서 발생할 수 있는 오류들을 설명하시오.

프레임들을 전송할 때, 다음 두 종류의 오류가 발생할 수 있다.
  1. 손실 프레임 (Lost frame) : 다른 쪽으로 프레임 전달이 실패할 수 있다. 네트워크 상황이 좋지 않아 실패하거나, 노이즈가 심하게 일어나 전송됐다는 사실을 수신자가 알 수 없을 때 실패한다.
  2. 훼손 프레임 (Damaged frame) : 도착한 프레임을 인식할 순 있지만, 몇 개의 비트가 전송 도중에 변경되어 오류가 발생했을 때를 뜻한다.

Q. 데이터 링크에서 오류 제어 기법들을 설명하시오.

  1. 오류 검출 (Error detection) : 목적지에서 앞서 배운 방법들로 프레임들이 오류가 있는지 검사한다. 그리고 해당 프레임들을 버린다.
  2. Positive acknowledgement : 목적지에서 오류가 없다면, 성공적으로 받았다는 Positive ACK 메시지를 전송한다.
  3. Retransmission after timeout : ACK를 받지 못하고 미리 설정된 타임아웃을 넘어가면, 다시 프레임을 전송한다.
  4. Negative acknowledgement and retransmission : 목적지에서 오류가 검출되어 Negative ACK 메시지를 받았다면, 다시 해당 프레임들을 재전송한다.

Q. Automatic repeat request (ARQ) 의 종류를 설명하시오.

ARQ는 오류 제어 기법들을 의미한다. ARQ의 목적은 신뢰할 수 없는 데이터를 신뢰할 수 있게 만들어 주는 것이다.
ARQ의 종류는 다음과 같다.




  1. Stop and wait ARQ
  2. Sldiing window ARQ
    1. Go-back-N
    2. Selective reject

1. Stop and Wait ARQ

이 에러 제어는 Stop-and-wait 흐름 제어 기법에서 기반된다. 근원지에서는 하나의 프레임을 보낸 다음 ACK를 기다려야 한다.
timeout 시간 동안 ACK 메시지가 오지 않는다면, 같은 프레임을 다시 보낸다.


2. Go-Back-N ARQ

이 에러 제어는 Sliding-window 흐름 제어에 기반한다.

송신자는 수신자의 ACK 없이, 미리 정의된 윈도우 크기 만큼 프레임들을 보낸다.

만약 오류가 없다면, 수신자는 다음 프레임들을 처리할 준비를 한다.

만약 프레임에 오류가 검출된다면, Negative ACK 를 송신자에게 보낸다. 그리고 그 이후의 프레임까지 버려진다.

송신자는 오류가 발생한 프레임부터 끝까지 다시 재전송한다.



3. Selective-Reject ARQ

전송 방법은 Go-Back-N ARQ 형식과 동일하다. 차이점은 다음과 같다.

수신자가 한 프레임만 거절했다면, 그 프레임만 재전송한다.

수신자는 순서가 어긋난 프레임들을 버퍼에 담아야 한다. 따라서, 다시 재전송될 때 까지 그 이전 순서의 프레임들을 저장할 충분히 큰 버퍼가 필요하다.


장점 : 재전송 수를 줄여준다.

단점 : 송신자 또한 순서에 어긋난 프레임들을 보내는, 더 복잡한 로직이 필요하다.



댓글