6 데이터 링크 계층
오류 제어, 흐름 제어의 원리와 동작 방식을 이해한다. 통신 프로토콜에서 윈도우의 개념과 동작 방식을 이해한다. 양방향 통신을 지원하는 슬라이딩 윈도우 프로토콜을 알아본다. HDLC 프로토콜을 통해 프로토콜을 구현하는 원리를 이해한다.
1절. 프로토콜의 기초 데이터 링크 계층은 두 호스트를 1:1로 연결하기 위한 점대점 방식을 지원 연결 구성도 점대점: 주소 개념 불필요 [그림 6-1(a)] 멀티 드롭: 주소 개념 필요 [그림 6-1(b)] 물리 계층의 전송 오류는 재전송 기법으로 복구
1절. 프로토콜의 기초 프레임의 종류 정보 프레임: I 프레임 긍정 응답 프레임: ACK 프레임 상위 계층이 전송 요구한 데이터를 송신하는 용도 순서번호, 송수신 호스트 정보 등이 포함됨 긍정 응답 프레임: ACK 프레임 전송 데이터가 올바르게 도착했음을 회신하는 용도 데이터를 수신한 호스트가 데이터를 송신한 호스트에게 전송 부정 응답 프레임: NAK 프레임 전송 데이터가 깨져서 도착했음을 회신하는 용도 데이터를 송신한 호스트는 원래의 데이터를 재전송하여 오류 복구
1절. 프로토콜의 기초 오류, 흐름 제어가 없는 프로토콜 가정 단순 프로토콜 단방향 통신: 송신 호스트에서 수신 호스트 한쪽 방향으로만 데이터 전송 전송 오류가 없는 물리 매체: 어떠한 전송 오류도 발생하지 않음 무한 개의 수신 버퍼: 흐름 제어 기능이 필요 없음 단순 프로토콜 송신 호스트는 원하는 만큼 자유롭게 프레임을 전송할 수 있음 오류 제어: 프레임 분실/변형 오류가 발생하지 않음 흐름 제어: 수신 버퍼가 무한개므로 분실 오류 없음
1절. 프로토콜의 기초 오류, 흐름 제어가 없는 프로토콜 단순 프로토콜 [그림 6-2] 순서 번호 기능 불필요 (그림에서는 이해 편의를 위해 순서 번호 표기)
1절. 프로토콜의 기초 오류 제어가 없는 프로토콜 가정 정지-대기 프로토콜 1 단방향 통신: 송신 호스트에서 수신 호스트 한쪽 방향으로만 데이터 전송 전송 오류가 없는 물리 매체: 어떠한 전송 오류도 발생하지 않음 정지-대기 프로토콜 1 수신 버퍼의 개수가 유한하므로 흐름 제어 필요 수신 호스트가 송신 호스트의 전송 시점을 지정하기 위한 ACK 프레임 필요 데이터의 중복 수신 우려가 있으며 순서 번호 기능 필요
1절. 프로토콜의 기초 오류 제어가 없는 프로토콜 정지-대기 프로토콜 1 [그림 6-3] 송신 호스트는 ACK 프레임을 회신 받은 경우에만 다음 데이터 전송 가능
1절. 프로토콜의 기초 단방향 프로토콜 가정 오류 제어와 흐름 제어가 모두 필요 단방향 통신: 송신 호스트에서 수신 호스트 한쪽 방향으로만 데이터 전송 오류 제어와 흐름 제어가 모두 필요 프레임 변형 오류를 해결하기 위한 수신 호스트의 NAK 기능 필요 프레임 분실 오류를 해결하기 위한 송신 호스트의 타임아웃 기능 필요
1절. 프로토콜의 기초 단방향 프로토콜 NAK가 없는 경우
1절. 프로토콜의 기초 단방향 프로토콜 NAK가 없는 경우 ACK 프레임 분실: 송신 호스트의 타임아웃 기능으로 오류 복구 [그림 6-4(b)]
1절. 프로토콜의 기초 단방향 프로토콜 NAK가 없는 경우 정보 프레임 변형: 송신 호스트의 타임아웃 기능으로 오류 복구 [그림 6-5]
1절. 프로토콜의 기초 단방향 프로토콜 NAK가 있는 경우 정보 프레임 변형: 수신 호스트의 NAK 프레임 응답으로 오류 복구 [그림 6-6(a)]
1절. 프로토콜의 기초 단방향 프로토콜 NAK가 있는 경우 정보 프레임 분실: 송신 호스트의 타임아웃 기능으로 오류 복구 [그림 6-6(b)]
2절. 슬라이딩 윈도우 프로토콜 기본 절차 양방향 통신을 지원 오류 제어와 흐름 제어 기능을 모두 지원 송신 호스트는 정보 프레임(전송 데이터 + 순서 번호 + 오류 검출 코드)을 순서 번호에 따라 순차적으로 전송함 정보 프레임을 수신한 수신 호스트가 응답하는 순서 번호는 정상적으로 수신한 번호가 아닌 다음에 수신하기를 기대하는 번호를 회신하는 것이 일반적임 송신 호스트가 관리하는 송신 윈도우는 전송은 되었지만 긍정 응답이 회신되지 않은 프레임을 보관함 수신 호스트가 관리하는 수신 윈도우는 프로토콜의 동작 방식에 따라 크기가 다름 선택적 재전송 방식에서는 송신 윈도우 크기와 같음 고백 N 방식에서는 크기가 1 임
2절. 슬라이딩 윈도우 프로토콜 흐름 제어 순서 번호 윈도우 크기 프레임 별로 부여되는 일련 번호 0 부터 임의의 최댓값까지 순환 방식으로 사용 일반적으로 순서 번호의 최댓값이 송신 윈도우 크기보다 커야 함 프레임에서 순서 번호의 공간 크기 = n 비트: 순서 번호의 범위는 0 ~ 2n – 1 윈도우 크기 긍정 응답 프레임을 받지 않고 연속으로 전송할 수 있는 프레임의 최대 개수
2절. 슬라이딩 윈도우 프로토콜 흐름 제어 윈도우 크기 송신 윈도우 크기 = 3인 경우 [그림 6-7]
2절. 슬라이딩 윈도우 프로토콜 흐름 제어 윈도우 크기 송신 윈도우 크기 = 3인 경우 [그림 6-8]
2절. 슬라이딩 윈도우 프로토콜 연속형 전송 정지-대기 프로토콜은 송신 윈도우 크기가 1인 경우 연속형 정지: ACK 프레임을 받지 않고 여러 프레임을 연속으로 전송 장점: 오류 가능성이 적은 환경에서 효율적 오류 해결 방법 선택적 재전송: 오류가 발생한 프레임만 재전송 고백 N: 오류가 발생한 프레임 이후의 모든 프레임을 재전송 예 [그림 6-9, 6-10] 윈도우 크기 = 8 10 번 ~ 17 번 프레임을 연속 전송 12 번 프레임만 전송 오류 발생
2절. 슬라이딩 윈도우 프로토콜 연속형 전송 고백 N 방식 [그림 6-9]
2절. 슬라이딩 윈도우 프로토콜 연속형 전송 선택적 재전송 방식 [그림 6-10]
2절. 슬라이딩 윈도우 프로토콜 피기배킹 정보 프레임이 응답 프레임의 기능까지 수행 정보 프레임 = 정보 프레임 + 응답 프레임 2 개의 순서 번호: 전송 데이터용 순서 번호, 응답용 순서 번호 장점: 응답 프레임의 전송 회수가 줄어 전송 효율이 좋아짐 표기 방법: I(m, n) m: 정보 프레임에서 사용하는 전송 데이터의 순서 번호 n: 응답 프레임에서 사용하는 응답 순서 번호
2절. 슬라이딩 윈도우 프로토콜 피기배킹 피기배킹을 사용하지 않는 경우 [그림 6-11(a)]
2절. 슬라이딩 윈도우 프로토콜 피기배킹 피기배킹을 사용하는 경우 [그림 6-11(b)]
3절. HDLC 프로토콜 호스트의 종류 기본 동작 원리 일대일, 일대다 연결 환경을 지원 주국: 명령을 전송하는 호스트 종국: 명령에 대한 응답을 회신하는 호스트 혼합국: 주국과 종국 기능을 모두 지닌 호스트 기본 동작 원리 주국이 종국에게 명령을 전송하고 종국은 주국에게 응답을 회신함
3절. HDLC 프로토콜 프레임 구조 [그림 6-12] 비트 프레임: 프레임의 시작과 끝에 플래그(01111110) 사용 Address: 일대다 환경을 지원 Control: 프레임 종류를 구분 Checksum: CRC-CCITT 생성 다항식 사용
3절. HDLC 프로토콜 프레임 종류 정보 프레임 3 비트 크기의 순서 번호: 0 ~ 7 Seq: 정보 프레임의 순서 번호 Next: 피기배킹 목적의 응답용 순서 번호
3절. HDLC 프로토콜 프레임 종류 감독 프레임 [그림 6-13] Type 0: 긍정 응답 프레임
3절. HDLC 프로토콜 프레임 종류 비번호 프레임 순서 번호가 없는 프레임을 의미 SABM(Set ABM): 비동기 균형 모드의 연결 설정을 요구 SNRM(Set NRM): 정규 응답 모드의 연결 설정을 요구 SARM(Set ARM): 비동기 응답 모드의 연결 설정을 요구 DISC: 연결 해제를 요구 RSET: 리셋 기능을 수행 FRMR: 프레임 수신을 거부 UA: 비번호 프레임에 대한 응답 기능을 수행
3절. HDLC 프로토콜 프레임 종류 비번호 프레임 연결 설정 모드의 종류: NRM, ABM, ARM 정규 응답(NRM) 불균형 모드를 의미하므로, 호스트 하나는 주국이고 다른 하나는 종국 종국에서 데이터를 전송하려면 주국의 허락이 필요 비동기 균형(ABM) 두 호스트 모두 혼합국으로 동작 양쪽에서 명령과 응답을 전송할 수 있음 비동기 응답(ARM) 불균형 모드 주국의 허락 없이 종국에서 데이터를 전송할 수 있음
3절. HDLC 프로토콜 LAP 비동기 응답 모드인 ARM으로 동작 주국에서 SARM 명령을 전송하여 연결을 설정하는 경우 [그림 6-14(a)]
3절. HDLC 프로토콜 LAP 종국에서 SARM 응답을 전송하여 연결을 설정하는 경우 [그림 6-14(b)]
3절. HDLC 프로토콜 LAPB [그림 6-15] 양쪽 호스트가 혼합국으로 동작