1. Protocol Correctness
1) 프로토콜의 정확성
프로토콜이 갖는 불확실성에 대한 검증이 필요 → 시스템의 상태와 천이 표현
2) 기본적 검증 도구
(1) 유한 기계 상태 (Finite State Machine)
① 단순화된 go-back-n 프로토콜
② 불완전한 go-back-n 프로토콜
(2) 페트리 넷 (Petri Net)
3) 유한기계상태
(1) 기계상태 (machine state)
① 상태 : 특정 시간의 프로그램 변수들에 의해 정의, 시스템의 전개의 단계
② 유한 상태 기계 (finite state machine : 유한 상태모델)
(2) 상태천이 (State transition) : 상태의 변화를 유도하는 조건
(3) 상태천이도 (STD :state transition Diagram)
① 방향성 있는 그래프 : 정점(vertex), 변(edge)으로 구성
→ 정점 : 점이나 원으로 표현되는 하나의 상태
→ 변 : 화살표로 표현되는 상태천이
② 특정상태로 도달하게 하는 가능성과 사건들의 시퀀스를 고려한 결론 도출 기능
③ 무한 루프 (영원히 상태들을 천이), 데드록 ( 일어나지 않은 천이를 기다림)
4) 단순화된 go-back-n 프로토콜을 위한 SDT
(1) 가정 : 프레임 번호를 갖는 정지 대기 프로토콜
① 시간 만료나 전송오류가 발생하지 않고 모든 데이터가 한 방향으로 전송
② 수신측은 도착된 각 프레임에 확인신호 전송
(2) 프레임 번호에 따라 순차적 사건 발생
(3) 프레임 번호를 가진 정지 대기 프로토콜을 위한 SDT
5) 불완전한 go-back-n 프로토콜을 위한 SDT
(1) 오 동작을 할 수 있는 크기가 2인 윈도우를 가정
(2) STD를 통해 시퀀스들과의 중간상태 추적, 상태변화의 결함 유무 확인
(3) Go-back-n 을 위한 첫 개략 STD (윈도우 크기 = 2)
6) Go-back-n 프로토콜을 위한 SDT의 부분적인 상세화
(1) 윈도우 크기 = 2
(2) 설계상의 결함을 도시
(3) 실제 천이 과정 기술
7) 한 장소에서 다른 장소로 토큰이 이동하는 상태와 천이 방법 표현
(1) 구성
① 장소 (Places) : 원으로 표시, 상태의 일부를 표현
② 천이 (Transitions) : 짧은 수평선/수직선으로 표시, 장소간의 이동 표현
③ 화살표 (Arrows) : 장소와 천이 간을 연결 , 입력장소/출력장소
④ 토큰 (Tokens) : 장소 안에 진한 점으로 표시
㉠ 전체적인 시스템의 현재 상태 표시
㉡ 천이가 점화할 수 있는 규칙에 따라 장소 사이를 이동
(2) 프로토콜(모델) 내에 포함된 오류 분석 가능
① 토큰들의 전송 불가 상태 확인
(3) 토큰의 이동 규칙
① 입력 장소들이 각기 하나의 토큰을 가지고 있다면 천이가 활성화 (enable)
② 활성화된 천이는 모두 점화 (fire)
㉠ 토큰들이 각 입력 장소에서 제거, 각 출력 장소에 저장
㉡ 점화 후 입력 장소 및 출력 장소의 수에 따라 토큰의 수량이 변화 가능
㉢ 한 번에 한 개의 천이가 점화
㉣ 여러 천이가 활성화된다면 천이의 선택은 임의 발생
8) 프로토콜을 모델화하기 위한 페트리 넷 사용
(1) 페트리 넷 사용순서
① 시스템을 분할하고 각각의 상태 표시 (송신측, 수신측, 채널)
② 상태들에 대응하는 천이 발생 (입력장소, 출력장소, 시간경과 천이)
③ 송신측 윈도우 크기가 1인 go-back-n을 위한 부분 페트리 넷
(2) 프레임 및 확인응답의 정상교환을 위한 점화 순서 (경로추정)
① 패트리 넷의 변화로 시스템의 상태 표현
② 경로 (a)에서 (d)까지 천이의 연속적 점화에 해당되는 패트리 넷
2. Data Link Control
1) 데이터 링크 제어 프로토콜
(1) 스테이션 간의 프레임들의 제어관리
(2) ISO 데이터 링크계층 프로토콜
(3) 종류
① 고급 데이터제어링크 (HDLC, high-level data link control)
② 그 밖의 비트 지향 프로토콜
→ SDLC (synchronous data link control)
→ ADCCP (advanced data communications control procedure)
→ LAP (link access protocol)
→ LCC (logic link control)
③ Binary Synchronous Communications (BSC) Protocol
2) 고급 데이터 링크 제어(HDLC)
(1) 특 징
① 비트 지향 프로토콜 (bit oriented protocol)
② 반 이중 및 전 이중방식 모두 지원
③ ISO 정의 : 점대점 링크, 다지점 링크를 위한 프로토콜
④ 프레임 유형의 정의 : 데이터, 지령, 프레임 교환 수행
⑤ HDLC 프로토콜을 운영하는 스테이션 유형
→ 주 스테이션 (primary station, 호스트 스테이션, 제어 스테이션)
。다른 스테이션에 지령을 내리고, 응답에 데이터 흐름 관리
→ 보조 스테이션 (secondary station, 대상 스테이션, 게스트 스테이션)
。주 스테이션이 내린 지령에 응답
。한 번에 한 개의 주 스테이션에만 응답
→ 혼합 스테이션 (combination station)
。주 스테이션과 보조 스테이션으로 행동
。지령을 내리거나 다른 혼합 스테이션의 지령에 응답
3) HDLC를 가동하는 스테이션의 3가지 통신 모형
(1) 정상 응답 모드 (NRM, Normal response mode = SDLC)
① 주 스테이션이 통신을 제어한다.
② 점대점 링크 : 주 스테이션이 한 개의 보조 스테이션과 통신
③ 다지점 링크 (multidrop link) : 주 스테이션이 여러 보조 스테이션과 통신
(2) 비동기 응답 모드(ARM, Asynchronous response mode)
① NRM과같이 주 스테이션과 하나 이상의 보조 스테이션간의 통신에 관여, 보조 스테이션이 NRM 보다 더 독립적이다.
(3) 비동기 균형 모드(ABM, asynchronous balanced mode)
① 혼합 스테이션을 연결하는 구성에 사용된다.
② 모든 스테이션이 데이터를 전송하거나 정보나 지령을 제어할 수 있다.
■ SDLC
SDLC (Synchronous Data Link Control)
SDLC는 그 이전에 사용하던 BSC 프로토콜을 대체하기 위해, 1970년대에 IBM에 의해 개발된 전송 프로토콜이다.
SDLC는 OSI 통신 참조모델의 두 번째 계층에 해당한다. 이 계층의 프로토콜은 데이터 단위가 네트웍의 한 지점으로부터 다른 곳으로 정확하고 성공적으로 보내지도록 확인한다. SDLC는 1차 스테이션과 2차 스테이션이라는 통신 모델을 사용한다. 일반적으로 IBM 메인프레임 네트웍에서, 호스트 메인프레임은 1차 스테이션이며, 워크스테이션들과 다른 장치들은 2차 스테이션이 된다. 각 2차 스테이션은 나름대로의 주소를 가지고 있다.
일반적으로, 다중 장치들이나 2차 스테이션들은 멀티포인트 또는 멀티드롭 배열이라고 알려져 있는 공통 회선에 접속된다. SDLC는 또한 점대점 통신에서도 사용될 수 있다. SDLC는 본래, 기업의 광역통신망 상에서 원격 통신이 가능하도록 하기 위한 것이다.
SDLC는 ISO의 표준 데이터링크 프로토콜인 HDLC (High-Level Data Link Control)의 기반을 제공했으며, SDLC는 본질적으로 HDLC의 여러 가지 변종 중 하나인 NRM (normal response mode)이 되었다. SDLC (또는 NRM)가 전용회선을 이용한 폐쇄된 사설망에 효율적인 프로토콜인데 비해, HDLC의 다른 모드들은 인터넷에서 사용되는 것과 같이,공유회선 상의 패킷을 관리할 수 있는 X.25와 프레임릴레이 프로토콜을 지원한다. SDLC는 IBM의 SNA (Systems Network Architecture), 그리고 이보다 더 포괄적 시스템인 SAA (Systems Application Architecture) 및 그것의 최근 버전인 Open Blueprint의 일부가 되었다. SDLC는 아직 오늘날의 메인프레임 환경에서의 데이터링크 프로토콜로서 널리 사용되고 있다.
4) HDLC의 구성
HDLC(High-level Data Link Control)는 점대점 통신 회선을 통한 전송 제어에 사용되는 국제 표준 데이터 링크 프로토콜입니다. 많은 다른 데이터 링크 프로토콜은 HDLC 표준을 기준으로 합니다.
5) HDLC 프레임 형식
(1) 플래그 필드
① 프레임의 시작과 끝을 표시
② 특수 비트 패턴 “0111110” 을 포함
③ 비트 보충 (bit stuffing) 문제 : data내의 정보가 특수 비트 패턴과 같을 때
비트를 보충하여 이를 식별
(2) 주소 필드 : 스테이션 식별. 표준 6비트, 확장 형식 16비트
(3) 데이터 필드 : 없을 수도 있다
(4) FCS (frame check sequence) : 오류 검출용
(5) 플래그 필드 (제어 필드)
① 상태 정보나 지령 전송에 사용
② 표준 형식 8비트, 확장 형식 16비트
6) 비트 보충(bit stuffing)
(1) 1이 연속 5개인 경우
7) HDLC의 프레임 유형
(1) 정보 (데이터)프레임 : 정보를 전송
① N(R) : 수신된 프레임 번호
② N(S) : 전송하는 프레임 번호
(2) 감독 프레임 : 스테이션 상태 감독
① RR (receive ready) : 수신준비 완료
② REJ (reject) : 거절- NAK와 유사기능
③ REN (receive not ready) : 수신준비 미완 - 버퍼 오버, 오류검출
④ SREJ (selective reject) : 선택적 거절
(3) 무번호 프레임 (unnumbered frames) : 프로토콜 진행 방법 설정
(4) HDLC 무번호 프레임의 기능 (C=지령, R=응답)
SNRM : 정상 응답방식을 세트 (C )
SNRME : 확장된 정상응답 방식을 세트 (C)
SARM : 비동기 응답방식을 세트 (C)
SARME : 확장된 비동기 응답방식을 세트 (C)
SABM : 비동기 균형방식을 세트 (C)
SABME : 확장된 비동기 균형방식을 세트 (C)
DISC : 비연결을 해제 (C)
RSET : 리세트 (C)
SIM : 초기화 모드 세트 (C)
UP : Unnumbered poll (C)
UI : Unnumbered information (C 또는 R)
XID : ID를 교환 (C 또는 R)
RIM : 초기화 모드 요청 (R)
RD : 연결해제 요청 (R)
DM : 연결해제 모드 (R)
UA : 무번호 확인응답 (R)
TEST : 테스트 (C 또는 R)
FRMR : 프레임을 거절 (R)
8) HDLC의 예 -DLC를 이용한 통신
■ DLC이란?
DLC (DLC: Dynamic License Control)는 디지털 데이터의 불법 복제를 막는 기술입니다.
전송 받은 사용권 파일을 해독하여 디지털 데이터의 사용권을 결정합니다. 사용권 파일을 해독하는 과정은 DLC 서버와의 정보 교환을 통해 인증되지 않은 사용자가 디지털 데이터를 불법으로 사용하는 것을 막아줍니다.
9) 그 밖의 비트 지향 프로토콜
SDLC (synchronous data link control) : IBM 터미널 대 컴퓨터 통신에 전형적으로 사용
ADCCP (advanced data communications control procedure) : SDLC 모델의 수정판
LAP (link access protocol) : 장치들이 패킷 교환망에 연결될 수 있도록 설정
LCC (logic link control) : LAN들을 다른 LAN들이나 장거리 통신 망에 연결할 때 사용
10) BSC 프로토콜
■ Binary Synchronous Communication
■ 특징
① bisnc, 이진동기제어 프로토콜
② 반이중 통신에 사용
③ 바이트 중심 (byte oriented) : 제어 바이트와 데이터 바이트 시퀀스로 해석
④ ASCII, EBCDIC 문자 세트 사용 가능
■ 프레임 형식
① 다양한 형식 존재
② 데이터프레임 : 투명 데이터 & 불투명 데이터
③ 제어프레임
→ ACK, NAK 신호전송
→ 다른 스테이션의 확인응답 신호 요청
■ 헤더 정보 : 송/수신 스테이션의 주소 와 기타 정보 포함
■ BSC 제어 문자
ACK : ACKnowledge - 데이터 블록의 올바른 수신 여부 검증
DEL : Data Link Escape - STX 와 사용, 뒤따르는 모든 바이트를 데이터 취급
ENQ : ENQuiry - 다른 스테이션으로 부터 확인응답을 요청
EOT : End Of Transmission - 전송의 끝
ETB : End of Transmission Block - 많은 데이터 프레임에서 중간 프레임의 끝
ETX : End of TeXt - 여러 프레임에서 마지막 프레임, 단일 프레임의 끝을 표시
NAK : Negative AcKnowledgment - 잘못된 프레임 수신
NUL : NULl - 최소 프레임 길이를 맞추기 위한 보충문자
SOH : Start Of Header - 프레임 내 헤더 정보시작
STX : Start of TeXt - 프레임 내의 데이터 시작 표시
SYN : SYNchronous idle - 두 SYN 무자들은 스테이션에게 프레임 도착을 알림
11) 데이터 내의 제어 바이트
■ 프레임 데이터 내에 제어 문자 삽입 : 유실 데이터 표시
■ 바이트 층 보충 ( Byte Stuffing)
12) 프레임 교환
■ 정지 대기 흐름제어 사용
■ 반이중 프로토콜사용 : 프레임 확인응답 과정을 단순화
13) BSC 프로토콜과 HDLC 프로토콜의 비교
HDLC | BSC |
전이중 | 반이중 |
go-back-n이나 선택 반복 흐름 제어를 가진 ARQ |
정지 대기 흐름 제어로 ARQ |
비트지향 프로토콜 | 바이트지향 프로토콜 |
코드 독립적 | ASCII, EBCDIC, 또는 Transcode 요구 |
세가지 프레임 유형을 기술해주는 한가지 프레임 형식 |
여러 프레임 형식 |
비트보충을 토해 데이터 투명성을 성취 | 바이트 (DLE) 보충을 통해 데이터 투명성 성취 |
비트 플래그들이 프레임들을 구분 | SYN, ETX, 그리고 ETB 문자들이 프레임 구분 |
제어 정보를 위해 제어필드 사용 | 제어정보를 위해 프레임을 사용 |
[정리하기]
1. 통신 프로토콜의 검증에 사용될 수 있는 방법들 중 대표적인 방법이 상태 전이도와 페트리 넷을 이용하여 검증하는 것이다. 이 두 가지 방법은 그래프를 사용한다는 방식은 동일하지만 그래프 사용시 이용 방법은 상이하다.
2. HDLC는 비트 지향 프로토콜로서 여러 프레임의 유형들을 정의하고, 데이터, 지령 그리고 제어 프레임을 교환하기 위해 사용된다.
3. BSC는 바이트 지향 프로토콜로서 전형적으로 반이중 통신과 함께 사용되며, 정지 대기 프로토콜을 사용한다.
[참고자료]
http://www2.rad.com/networks/1994/hdlc/hdlc.htm
HDLC 관련 프로토콜 설명 및 정보를 알려줍니다.
http://www.petrinets.info/
페트리 넷의 의미와 기술적인 내용, 표준화, 기타 사항을 자세히 설명해주는 사이트입니다.
해당 링크를 이용하면 용어 및 각종 자료를 얻을 수 있습니다.
http://www.daimi.au.dk/PetriNets/
페트리 넷 도구와 이와 관련된 정보를 제공해주는 사이트입니다.
http://pdv.cs.tu-berlin.de/~azi/click_pn/click0.html
페트리 넷에서 가능한 전이 상태를 노란색 마킹을 통해 살펴볼 수 있는 Tokengame 입니다.
'정보과학 > 컴퓨터통신망특론' 카테고리의 다른 글
근거리 통신망(2) (1) | 2023.11.23 |
---|---|
근거리 통신망(1) (0) | 2023.11.23 |
통신 프로토콜(1) (0) | 2023.11.22 |
데이터 보안(2) (0) | 2023.11.22 |
데이터 보안(1) (0) | 2023.11.18 |