[컴퓨터네트워크] 데이터 링크 제어 프로토콜(HDLC & SDLC & BSC & PPP)

[컴퓨터네트워크] 데이터 링크 제어 프로토콜(HDLC & SDLC & BSC & PPP)

HDLC(High - Level Data Link Control)

비트(Bit) 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 검출할 수 있는 비트 열을 삽입하여 전송한다.(비트 하나하나에 의미가 있다.)
  • 포린트 투 포인트(Point to Point) 및 멀티 포인트(Multi-Point), 루프(Loop) 등 다양한 데이터 링크 형태에 동일하게 적용이 가능하다.
  • 단방향, 반이중, 전이중 통신을 모두 지원하며, 동기식 전송 방식을 사용한다.
  • 오류 제어를 위해 Go-Back-N과 선택적 재전송(Selective Repeat) ARQ를 사용한다.
  • 흐름 제어를 위해 슬라이딩 윈도우 방식을 사용한다.
  • 전송 제어상의 제한을 받지 않고 자유로이 비트 정보를 전송할 수 있다.(비트 투과성)
  • 전송 효울과 신뢰성이 높다.

비트 투과성(Bit Transparency)은 프레임에 임의의 비트를 삽입하여 데이터의 자유로운 전송을 보장하는 기능으로, 프레임 내의 플래그(Flag) 비트와 다른 비트를 구분하여 기본적인 오류를 검출한다.
  • 비트 투과성을 위해 플래그(Flag) 비트를 제외한 모든 비트는 '1'이 6개 이상 연속되지 않도록 한다. 
  • '1'이 연속적으로 5개가 입력되면 그 다음 6번째에는 '0'을 강제로 추가하여 송신한다.
  • 프레임 내에 '1'이 연속해서 6개가 입력되면 플래그(Flag), 7개 이상 연속해서 입력되면 오류 프레임으로 인식하여 오류를 검출한다.
플래그(Flag)의 역할
  • 프레임의 시작과 끝을 구분
  • 동기 유지(통화로의 혼선을 방지하기 위해)
  • 비트 투과성을 이용한 기본적인 오류 검출

프레임 구조


  • 플래그(Flag) 
    • 프레임의 시작과 끝을 나타내는 고유한 비트 배턴(01111110)
  • 주소부(Address Field)
    • 송/수신국을 식벽하기 위해 사용.
    • 불특정 다수에게 전송하는 방송용(Broadcast)은 '11111111' 사용
    • 시스템에 의해 임의로 수신국이 지정되는 시험용(No Station)은 '00000000' 사용
  • 제어부(Control Field)
    • 프레임의 종류를 식별하기 위해 사용
    • 제어부의 첫 번째, 두번째 비트를 사용하여 다음과 같이 프레임의 종류를 구별한다.

  • 정보부(Information Field)
    • 실제 정보 메시지가 들어 있는 부분으로, 송/수신 측 간의 협의에 따라 길이와 구성이 정해진다.
  • FCS(Frame Check Sequence Field, 프레임 검사 순서 필드)
    • 프레임 내용에 대한 오류 검출을 위해 사용되는 부분으로, 일반적으로 CRC 코드가 사용된다.

  • HDLC의 국(Station)
    • 주국
      • 종속된 단말기를 제어하거나 정보를 제공해 주는 컴퓨터로, 주 스테이션, 1차국, 서버라고도 한다.
    • 종국
      • 주국으로부터 제어를 받고 정보를 제공받는 컴퓨터로, 부 스테이션, 2차국, 클라이언트라고도 한다.
    • 혼합국
      • 상대국 컴퓨터의 제어를 받기도 하고 제어를 하기도 하는 동등한 위상을 가진 컴퓨터로, 복합국이라고도 한다.
  • CRC(순환 중복 검사)
    • Cyclic Redundancy Check
    • 프레임 단위 데이터의 오류를 검출할 수 있으나 교정은 불가능하다.
    • 다양한 코드를 사용하여 오류를 검출하는 방식으로, 집단 오류를 검출할 수도 있고 검출율이 높으므로  가장 많이 사용되는 오류 검출 기법




데이터 전송 모드

데이터 전송 모드는 제어부에서 관리되는 U 프레임에 의해 설정되며 다음과 같이 세 가지로 구분된다.
  • 불균형 링크 
    • 주국과 종국 사이의 통신 
  • 균형 링크 
    • 모든 국의 동등한 혼합국끼리의 통신


SDLC

  • Synchronous Data Link Control
  • IBM사에서 개발한 비트 방식의 프로토콜
  • BSC의 많은 제한점을 보완했으며, HDLC의 기초가 되었다
  • HDLC와 동일한 프레임 구조를 갖는다.
  • 단방향, 반이중, 전이중 전송을 모두 지원한다.
  • 포린트 투 포인트(Point-to-Point), 멀티 포인트(Multi-Point), 루프(Loop) 방식에서 모두 사용 가능하다.
  • 오류 제어를 위해 Go-Back-N ARQ를 사용한다.


BSC

  • Binary Synchronous Control
  • 프레임에 전송 제어 문자를 삽입하여 전송을 제어하는 문자 위주의 프로토콜
    • 100% 7비트로 되어 있는것이 아니라 머리부분과 본문은 제한이 없다.
특징
  • 에러제어와 흐름제어를 위해서는 정지 - 대기 ARQ 방식을 사용
  • 점-대-점(Point-to-Point), 멀티 포인트 링크와 같은 전용회선만!! 사용가능
    • 교환형, 버스형같은건 안되고 1:1형태만 가능
    • HDLC처럼 주소 부분이 없어서...
  • 같은회선만 사용가능(ex 광 케이블만 사용 or 동적 케이블만 사용)
  • 주로 동기전송을 사용하나 비동기 전송방식을 사용하기도 함
반이중 방식(주고 받고)
  • 반이중(Half Duplex)전송만 지원
    • 옛날에 사용했던 것이라서...... OTL...
    • 주고 -> 받고 하는 것 (동시에는 안됨)
  • 오류 검출이 어렵고 전송 효율이 나쁘다.
    • text를 보내기 위해서 여러가지 쓸데없는것(?)을 보냄
전송 제어 문자
  • SYN(SYNchronous idle)
    • 문자 동기 유지
  • SOH(Start Of Heading)
    • 헤딩의 시작
  • STX(Start of Text)
    • 헤딩의 종류 및 본문의 시작
  • ETX(End of Text)
    • 본문의 종료
  • ETB(End of Transmission Block)
    • 전송 블록의 종료
  • ENQ(ENQuiry)
    • 상대편의 데이터 링크 설정 및 응답 요류
  • EOT(End of Transmission)
    • 한 개 또는 그 이상의 전송 종료를 표시
  • BSC(Binary Synchronous Control)
    • 오류제어 블록으로 프레임의 오류를 검사하는 블록
  • DLE(Data Link Escape)
    • 인접하여 뒤따르는 제한된 수의 문자나 의미를 바꿈
  • ACK(ACKnowldege)
    • 수신측에서 송신측으로 긍정 응답으로 보내는 문자
  • NAK(Negative AcKnowldege)
    • 수신측에서 송신측으로 부정 응답으로 보내는 문자


PPP프로토콜

PPP는 두 대의 컴퓨터가 직렬 인터페이스를 이용하여 통신을 할 때 필요한 프로토콜로서, 특히 전화회선을 통해 서버에 연결하는 PC에서 자주 사용된다.
예를 들면, 대부분의 ISP(Internet Server Provider)들은 자신들의 가입자를 위해 인터넷 PPP 접속을 제공함으로써, 사용자의 요구에 서버가 응답하고, 그 서버를 통해 인터넷으로 나아갈 수 있도록 하며, 사용자 요구에 따른 응답을 다시 사용자에게 보내주는 등의 일을 할 수 있도록 한다.
PPP는 IP를 사용하며, 때로 TCP/IP프로토콜군의 하나로 간주된다.
PPP는 OSI참조모델과 비교하면 제 2계층에 해당하는 데이터링크 서비스를 제공한다.
본래 PPP는 컴퓨터의 TCP/IP 패킷들을 포장해서 그것들이 실제로 인터넷으로 보내어질 수 있도록 서버로 전달한다.

오류 검출 기능만 사용되며, 재전송을 통한 오류복구와 흐름제어기능은 제공하지 않는다.



댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[운영체제] 파일의 구조(순차 파일, 직접 파일, 색인 순차 파일)

[운영체제] MLQ & MFQ