School Lecture Study/컴퓨터 통신

6. 프레이밍 (Framing)

vㅔ로 2022. 10. 25. 03:27
728x90

프레이밍(Framing) : 개요

  • 패킷 네트워크에서는 데이터를 끝없이 보낼 수는 없다. 각 데이터를 구별할 줄 알아야 하기 때문
  • 문제점
    • bit 들의 연속을 하나의 묶음 (프레임 : frame)으로 자르는 것
    • 수신 쪽이 프레임을 인식할 수 있도록 봉투를 씌워 묶는 것
    • 프레임의 처음과 끝을 인식
  • 전형적으로 네트워크 어댑터 (NIC)에서 구현된다.
  • 어댑터는 호스트 메모리로부터 프레임 (데이터 + 헤더 일부분)을 메모리에서 가져온다.

바이트 중심 프로토콜 (Byte-Oriented Protocols)

  • 보초 방법 (Sentinel Approach)
    • BISYNC
    •  
      • header와 data의 경계에 보조문자를 삽입한다.
      • header는 가변 길이를 갖는다.
      • IMP-IMP, PPP
      • 문제점: 프레임의 데이터 부분에서 ETX 문자가 나오는 경우 header를 잘못 인식할 수 있다.
      • 해결 : 확장 문자 (escaping character)를 사용한다.
        • BISYNC의 경우 DLE (Delete Character) 문자를 ETX 문자 앞에 부착한다.
        • IMP-IMP의 경우에는 DLE 문자 앞에 DLE 문자를 부착한다.
  • 바이트 수 방법 (Byte Counting) - DDCMP
    • count에 body의 length가 주어진다. header는 42로 고정길이를 갖는다.
    • BISYNC와 달리 보조 문자가 필요 없다.
    • 문제 : 개수 (Count) 항이 잘못된 경우 framing error가 생긴다.
    • 해결 : 순회중복검사 (CRC)가 실패하므로 오류를 검출할 수 있다.
  • 통신 중 오류는 bit 오류 뿐만 아니라 수신 쪽에서 아예 받을 수 없게 되는 경우도 있다. frame을 catch하지 못할 가능성도 고려해야 한다.
  • peer-to-peer interface의 실체 : frame message format 메시지를 어떻게 만들 것인가. peer간 자신이 붙일 헤더, 데이터에 대한 약속을 의미한다.

비트 중심 프로토콜 (Bit-Oriented Protocols)

  • HDLC : High-Level Data Link Control (also SDLC and PPP)
    • 특별한 bit-sequence를 프레임의 앞과 뒤에 붙여 프레임을 구분한다. (01111110)
    • 헤더는 고정 길이를 갖는다.
    • 모든 링크 프로토콜의 뿌리가 되었다.
  • 비트 삽입 (bit stuffing)
    • 도입 이유: 특수 bit가 body에 나오는 경우를 방지하기 위함이다.
    • 송신자 : 메세지의 중간에 연속되는 5개의 1이 나오면 0을 삽입한다.
    • 수신자: 1을 연속해서 5개 받았을 때 다음 비트를 확인한다.
      • 다음 비트가 0이라면 삽입된 비트이므로 그 비트를 삭제한다.
      • 다음 비트가 10이라면 프레임의 끝임을 알 수 있다. (01111110 이기 때문)
      • 다음비트가 11이라면 오류이다.
    •  
728x90