Framing

임승섭·2023년 4월 18일
0

Computer Network

목록 보기
9/27
  • bit는 연속적으로 들어오기 때문에, 들어오는 bit stream을 의미있는 block of data로 나누는 것이 가장 먼저 해야 할 일이다. Framing

Fixed-size Framing

  • Fixed number of bits. 장점이기도 하다. 모든 frame bit가 정해져있다.
  • No delimeter neccessary (이게 뭐지?..)
  • inefficeint할 수도 있다.
    • 만약 frame size를 1000bit로 주었는데, 실제로 50bit만 보낸다면, 나머지는 낭비되기 때문

Variable-size Framing

  • Each frame이 각각 다른 number of bits를 갖는다
  • Delimeter neccessary to identify frames
  • efficient. Can build frames according to the data sent
  • flag : frame의 시작과 끝을 찍는 marker
  • header : bits inserted before the data for control purposes
  • trailer : bits inserted after the data for control
  • data/payload : data to be sent

Bit Stuffing

flag에 있는게 data/payload에 있으면 안된다.

  • If the marker pattern appears in the payload, the receiver will think it as an end marker
  • 현재 flag는 '01111110'이다.
  • data에서 '11111'이 나오면, 뒤에 '0'을 붙여버린다. bit stuffing
  • receiversms '11111' 뒤의 '0'을 제거한다. stuffed bit

Byte Stuffing

  • Same purpse as bit stuffing
  • Insert a byte after a marker byte pattern
  • Used in a system that process data in unit of bytes
  • TinyOS는 센서같은 small embedded system에 사용되는 OS이다.
  • TinyOS는 7E를 start/end marker로 사용한다.
  • 만약 payload에 7E가 나오면, 7D 5E로 바꾼다.
  • 만약 payload에 7D가 나오면, 7D 5D로 바꾼다. 왜냐면 애초에 7D 5E가 있을 수도 있으니까.

00 45 28 7E 7D -> 00 45 28 7D 5E 7D 5D
45 28 36 7D 5E -> 45 18 36 7D 5D 5E

0개의 댓글