11장 데이터링크 제어 (DLC: Data Link Control)
11장 : 개요 11.1 DLC 서비스 11.2 데이터링크층 프로토콜 11.3 HDLC 11.4 PPP 11.5 요약
11.1 DLC 서비스 데이터 링크 제어(DLC) 기능 프레임 짜기 흐름 및 오류 제어
11.1.1 프레임 짜기 데이터링크층은 비트들을 프레임 안에 만들어 넣어 각 프레임이 다른 프레임과 구분 데이터링크층의 프레임 짜기로 인해 송신자와 수신자의 주소를 넣음으로써 발신지로부터 목적지로의 메시지를 분리 목적지 주소는 패킷이 가야할 곳을 규정하여 송신자는 수신자로 하여금 받았다는 것을 응답할 수 있도록 도와줌
11.1.1 프레임 짜기 프레임 짜기 고정크기 프레임: 고정 길이 또는 가변 길이 가변크기 프레임: 프레임이 끝나는 곳과 다음 프레임이 시작하는 곳 지정 문자 중심 프로토콜 전달되는 데이터는 부호화 시스템의 8비트 문자 시작과 마지막에 플래그 추가 문자 중심 프로토콜 프레임 비트 중심 프로토콜 프레임의 데이터 부분을 전부 bit 열로 인식 플래그는 “01111110”비트 패턴 사용 비트 중심 프로토콜 프레임
11.1.1 프레임 짜기 그림 11.1: 문자 중심 프로토콜의 프레임
11.1.1 프레임 짜기 그림 11.2: 바이트 채우기와 빼기
11.1.1 프레임 짜기 그림 11.3: 비트 중심 프로토콜의 프레임
11.1.1 프레임 짜기 그림 11.4: 비트 채우기와 빼기
11.1.2 흐름 및 오류 제어 흐름 제어: 송신자가 확인응답을 받기 전에 보낼 수 있는 데이터의 양을 제한하기 위해 사용하는 일련의 절차 오류 제어: 네트워크층에서 손상된 패킷을 수신 노드로 전달하는 것을 방지하기 위해 데이터링크층에서 사용하는 일련의 절차
11.1.2 흐름 및 오류 제어 그림 11.5: 데이터링크 계층에서의 흐름 제어
11.1.2 흐름 및 오류 제어 예제 11.1: 앞에서 논한 내용은 두 시점에 소비자와 생산자가 통신할 것을 요구한다. 버퍼가 가득 차 있을 때와 비어있을 때. 두 부분이 오직 한 슬롯을 가진 버퍼를 사용한다면, 통신은 더 쉽다. 각 데이터링크 계층이 프레임을 가지는데 하나의 단일 메모리 슬롯을 사용한다고 가정하자. 수신 데이터링크 계층에서 이 단일 슬롯이 비어있을 때, 그것은 다음 프레임을 보내기 위해 네트워크 계층으로 알림을 보낸다.
11.1.3 비연결 지향 및 연결 지향 DLC 프로토콜 비연결 지향 프로토콜 프레임은 프레임들 사이에 어떠한 관계도 없이 하나의 노드에서 다음 노드로 보내짐 프레임들 사이에 연결이 없다는 것을 의미 연결 지향 프로토콜 프레임은 번호 매겨져서 순서대로 보내짐 두 노드 사이에 논리적인 연결 수립(설정단계) 관련된 모든 프레임들이 전송됨(전송 단계) 논리적 연결 종료(해제 단계)
11.2 데이터링크 계층 프로토콜 흐름과 오류 제어를 다루는 데이터링크 계층의 프로토콜 단순 프로토콜 정지/대기 프로토콜 Go-Back-N 프로토콜 선택적-반복 프로토콜
11.2 데이터링크 계층 프로토콜 그림 11.6: FSM(Finite State Machine)으로 표현한 비연결 및 연결 지향 서비스
11.2.1 단순 프로토콜 단순 프로토콜 흐름 제어나 오류 제어를 하지 않음 수신자는 프레임을 수신하면 즉시 처리 수신자는 유입되는 프레임에 의해 절대로 넘쳐나지 않음 송신자와 수신자의 데이터링크층은 각자의 네트워크층에 대해 전송 서비스를 제공 송신자 쪽은 자기의 네트워크층이 전송할 메시지가 생길 때까지 프레임을 전송할 수 없음 수신자 쪽은 프레임이 도달하기 전까지는 네트워크층에 메시지를 전달할 수 없음
11.2.1 단순 프로토콜 그림 11.7: 단순 프로토콜 그림 11.8: 단순 프로토콜에 대한 FSM
11.2.1 단순 프로토콜 예제 11.2: 그림 11.9는 이 프로토콜을 사용하는 통신의 예를 보여준다. 이것은 매우 단순하다. 송신자는 수신자에 대한 어떤 생각도 없이 연이어 프레임을 보낸다.
11.2.1 단순 프로토콜 그림 11.9: 예제 11.2에 대한 흐름 다이어그램
11.2.2 정지/대기 프로토콜 정지/대기 프로토콜(Stop-and-Wait protocol) 흐름 및 오류 제어 사용 송신자는 한 번에 하나의 프레임을 보내고 다음 프레임을 보내기 전에 확인응답을 기다림 손상된 프레임을 탐지하기 위해, 각 데이터 프레임에 CRC를 추가해야 함 CRC가 맞지 않으면 프레임은 손상된 것이며 바로 폐기함 수신자의 침묵은 프레임이 손상되거나 손실되었다는 송신자를 위한 신호 매 시간 송신자는 프레임을 보내고 타이머를 시작 타이머가 종료되기 전에 확인응답이 도착하면 타이머를 멈추고 송신자는 다음 프레임을 전송 타이머가 종료되면 송신자는 이전 프레임을 재전송 매 시간 채널에는 오직 하나의 프레임과 하나의 확인응답만이 있음
11.2.2 정지/대기 프로토콜 그림 11.10: 정지/대기 프로토콜
11.2.2 정지/대기 프로토콜 그림 11.11: 정지/대기 프로토콜에 대한 FSM
11.2.2 정지/대기 프로토콜 예제 11.3: 그림 11.12는 예를 보여준다. 첫 번째 프레임이 보내지고 확인응답 된다. 두 번째 프레임이 보내지지만 손실된다. 타임아웃 후에 그것은 재전송된다. 세 번째 프레임이 보내지고 확인응답 되었지만, 확인응답이 손실되었다. 프레임은 재전송된다. 하지만, 이 전략에는 문제가 있다. 수신자 측에서 네트워크 계층은 올바르지 않은 세 번째 패킷의 두 복사본을 받는다. 다음 절에서, 순서 번호와 확인응답 번호를 사용하여 어떻게 이 문제를 바로잡는지 보일 것이다.
11.2.2 정지/대기 프로토콜 그림 11.12: 예제 11.3에 대한 흐름 다이어그램
11.2.2 정지/대기 프로토콜 예제 11.4: 그림 11.13은 어떻게 순서 번호와 확인응답 번호를 추가하는 것이 복사를 방지하는지 보여준다. 첫 번째 프레임은 보내지고 확인응답 된다. 두 번째 프레임은 보내지지만 손실된다. 타임아웃 후에 그것은 재전송된다. 세 번째 프레임은 전송되고 확인응답 된다. 하지만 확인응답은 손실된다. 그 프레임은 재전송된다.
11.2.2 정지/대기 프로토콜 그림 11.13: 예제 11.4에 대한 흐름 다이어그램
11.3 HDLC 고급 데이터링크 제어(HDLC, High-level Data Link Control) 점-대-점과 다중점 링크 위에서 통신을 위한 비트 지향 프로토콜 두 가지의 전송 모드를 제공 정규 응답 모드(NRM, normal response mode) 비동기 균형 모드(ARM, asynchronous balanced mode)
11.3.1 구성 및 전송 모드 정규 응답 모드(NRM, bormal response mode) 지국 구성이 비균형적 주국이 하나 있고 여러 개의 종국이 있음 주국은 명령을 보낼 수 있는데 종국은 단지 그에 대한 응답만 할수있음 점-대-점 및 다중점 링크에 모두 사용 그림 11.14: 정규 응답 모드
11.3.1 구성 및 전송 모드 비동기 균형 모드(ABM, asynchronous balanced mode) 구성이 균형적 링크는 점-대-점 각 지국은 주국이자 종주국 그림 11.15: 비동기 균형 모드
11.3.2 프레임 HDLC 프레임 종류 정보 프레임(I-프레임, information frames) : 네트워크층으로부터 사용자 데이터를 실어 나르기 위해 설계 감시 프레임(S-프레임, supervisory frames) : 피기배킹이 불가능하거나 부적절할 때 흐름 제어와 오류 제어를 위해 사용 무번호 프레임(U-프레임, unnumbered frames) : 서로 연결된 장치들 간에 세션관리와 제어정보를 교환하는 용도로 사용
11.3.2 프레임 HDLC 필드 종류 플래그 필드 (flag field): 프레임의 시작과 끝을 인식하고 동기화 패턴 01111110을 갖는 필드 주소 필드 (address field) : 종국의 주소를 가지고 있는 필드 제어 필드 (control field) : 흐름과 오류 제어에 사용되는 필드 정보 필드 (information field) : 네트워크 계층의 사용자 데이터를 포함하거나 관리정보를 포함하며, 필드의 길이는 네트워크마다 다를 수 있음 FCS 필드(frame check sequence field): HDLC의 오류 검출 필드이며, 2바이트나 4바이트 CRC를 포함
11.3.2 프레임 그림 11.16: HDLC 프레임
11.3.2 프레임 그림 11.16: 다양한 프레임 종류에 대한 제어 필드 형식
11.3.2 프레임 예제 11.5: 그림 11.18은 어떻게 U-프레임을 사용하여 연결 설정과 해제를 하는지를 보여준다. 노드 A가 일련의 SABM 프레임을 사용하여 설정을 요청하고 노드 B는 이에 UA 프레임을 사용하여 긍정 응답을 보내는 것에 유의하라. 이 교환 이후에 두 노드들 사이에서 데이터 교환이 일어날 수 있다(그림에는 표시되지 않음). 데이터 전달 이후에는 노드 A는 DISC 프레임을 보내 연결을 해제하며 노드 B는 UA 프레임을 보내 이에 응답한다(번호 없는 확인응답).
11.3.2 프레임 그림 11.18: 연결 및 종결 예
11.3.2 프레임 예제 11.6: 그림 11.19는 피기배킹을 사용하여 두 가지 교환을 보여준다. 첫 번째 경우는 오류가 발생하지 않을 때이다. 두 번째 경우는 오류가 발생하고 일부 프레임이 폐기되었을 때이다.
11.3.2 프레임 그림 11.19: 오류가 있고 없는 피기배킹의 예
11.4 점-대-점 프로토콜(PPP) 점-대-점 접근을 위한 가장 널리 사용되는 프로토콜 데이터 전송을 제어하고 관리하기 위해서는 데이터링크 계층에서 점-대-점 프로토콜이 필요 PPP는 현재까지 가장 널리 사용되는 프로토콜
11.4.2 프레임 문자-중심 프레임 사용 필드 종류 플래그 필드(flag field): 01111110 값을 가진 1바이트 필드 주소 필드(address field): 상수 값이고 11111111(브로드캐스트 주소)로 설정 제어 필드(control field): HDLC의 U-프레임을 본뜬 상수 값 00000011로 설정 프로토콜 필드(protocol field): 데이터 필드에 사용자 데이터 또는 다른 정보가 들어 있는 것을 정의 페이로드 필드(payload field): 사용자 데이터나 다른 정보들을 운송 FCS 프레임(frame check sequence field): 2바이트 또는 4바이트 표준 CRC
11.4.2 프레임 그림 11.20: PPP 프레임 형식
11.4.3 천이 단계 그림 11.21: 천이 단계
11.4.4 다중화 PPP가 비록 데이터링크 계층 프로토콜이지만 PPP는 링크를 수립하고 관련된 당사자를 인증하며 네트워크 계층 데이터를 옮기는 등 일련의 다른 프로토콜도 사용 링크 제어 프로토콜(LCP, Link Control Protocol): 링크의 설정, 유지, 형성과 해제를 담당 인증 프로토콜(AP, Authentication Protocol): 자원들에 접근하기를 원하는 사용자의 신원을 증명 네트워크 제어 프로토콜(NCP, Network Control Protocol): 협상 하고자 하는 네트워크 프로토콜과 링크 수립, 유지, 종료를 수행
11.4.4 다중화 그림 11.22: PPP에서의 다중화
11.4.4 다중화 그림 11.22: 프레임에 포함되는 LCP 패킷
11.4.4 다중화 표 11.1: LCP 패킷
11.4.4 다중화 표 11.2: 일반적인 선택사항
11.4.4 다중화 그림 11.24: PPP 프레임에 포함되는 PAP 패킷
11.4.4 다중화 그림 11.25: PPP 프레임에 포함되는 CHAP 패킷
11.4.4 다중화 그림 11.26: PPP 프레임에 포함되는 IPCP 패킷
11.4.4 다중화 표 11.3: IPCP 패킷의 코드 값
11.4.4 다중화 그림 11.27: PPP 프레임에 포함되는 IP 데이터그램
11.4.4 다중화 그림 11.28: 다중링크 PPP
11.4.4 다중화 예제 11.7: PPP 연결이 임의의 네트워크층 패킷을 전달할 때 겪는 상태를 예로 살펴보자. 그림 11.29는 이것의 천이단계를 보여주고 있다.
11.4.4 다중화 그림 11.29: 예제
11.5 요약 Q & A
연습문제 풀이해서 Report로 다음 주까지(일주일 후) 제출해 주세요! 알림