[컴퓨터네트워크] 데이터 링크 제어 프로토콜(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)
- 프레임의 시작과 끝을 나타내는 고유한 비트 배턴(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 패킷들을 포장해서 그것들이 실제로 인터넷으로 보내어질 수 있도록 서버로 전달한다.
오류 검출 기능만 사용되며, 재전송을 통한 오류복구와 흐름제어기능은 제공하지 않는다.
댓글
댓글 쓰기