■ 통신 프로토콜의 구성 요소
1. 구문(syntax): 무엇을 전송할 것인가? (데이터의 형식(format), 부호화 및 신호의 크기 등)
2. 의미(semantics): 데이터를 어떻게 해석할 것인가? (전송의 조정 및 오류 처리를 위한 제어 정보)
3. 타이밍(timing): 데이터를 언제 전송할 것인가? 얼마나 빠른 속도로 전송할 것인가?
■ 통신 프로토콜의 기능
1. 단편화(Segmentation) 및 재조립(Reassembly)
- 단편화: 주어진 데이터를 일정한 크기의 작은 데이터 블록으로 나누어 전송하는 것
- 재조립: 분리된 데이터를 수신층에서 재구성하여 원래의 데이터로 복원하는 것(최종적으로 사용자가 이해할 수 있는 형태로 만듦)
- 정보 전송 시 오류를 줄이거나 전송 효율을 증가시키기 위하여 사용
- 일반적인 패킷 망에서 사용
2. 캡슐화(Encapsulation)
- 데이터의 앞부분과 뒷부분에 헤더(header)와 트레일러(trailer)를 첨가하는 과정
- 송신기에서 발생된 정보의 정확한 전송을 위함
- 단편화된 작은 블록의 데이터에 flag-bit, 주소 bit, 제어 bit, error 검출 bit 등과 같은 각종 제어 정보를 덧붙임
3. 연결 제어(Connection Control)
- 데이터를 전송하기 위한 과정: node 간의 연결 확립, 데이터 전송, 연결 해제의 3단계 과정
- 패킷 통신에서 네트워크 상의 연결 제어 방법
- 비접속형 방식: 논리적 연결(가상 연결) 없이 바로 데이터를 전송하는 방식
- 접속형 방식: 데이터를 교환하기 전에 논리적으로 연결하는 방식(다량의 데이터를 전송할 때 사용)
4. 흐름 제어(Flow Control)
- 발신측에서 오는 데이터의 양과 속도를 수신측에서 제한하는 기능
- 통신망에 흐르는 패킷의 수를 적절히 조절하여, 시스템 전체의 안정성을 유지하고 서비스 품질의 저하를 방지함
- 가상 회선 방식의 슬라이딩 윈도(sliding-window) 방식, 데이터그램 방식의 정지-대기(stop-and-wait) 방식
1. 가상 회선(Virtual Circuit) 방식 : 접속형(연결형) 방식
- 패킷이 전송되기 전에 송신지와 수신지 간의 논리적인 경로가 미리 설정됨
- 패킷이 사전 설정된 경로를 따라 순서대로 전송됨
- 전송되는 패킷의 순서가 송신측과 수신측이 동일함 (패킷 정렬 불필요)
2. 데이터그램(Datagram) 방식 : 비접속형(비연결형) 방식
- 패킷마다 개별적으로 경로가 정해짐
- 수신지가 같은 패킷이라도 서로 다른 경로를 통하여 전송될 수 있음
- 전송되는 패킷의 순서가 송신측과 수신측에서 서로 다를 수 있음(수신측 패킷 정렬 필요)
5. 오류 제어(Error Contorol)
- 전송 도중에 발생 가능한 오류들을 검출하여 정정하는 기능
- 전진 오류 수정(FEC: Forward Error Correcting): 오류 수정을 위한 bit를 데이터에 부가하여 전송하고, 수신측에서는 오류 발생을 검출하고 수정하는 방식
- 자동 반복 요청(ARQ: Automatic Repeat Request): 오류 검출을 위한 bit를 데이터에 부가하여 전송하고, 수신측에서는 오류 검출 시에 오류 수정 없이 송신측에 재전송을 요구하는 방식
- 오류 제어에 사용하는 코드
- 오류 검출 코드인 패리티 체크(Parity Checking)
- 순환 중복 검사(CRC: Cyclic Redundancy Checks)
- 오류 검출 및 정정: 블록 합(Block Sum), 해밍 코드(Hamming Code)
6. 동기화(Synchronization)
- 정보를 전송하기 위하여 송수신기 사이에 같은 상태를 유지하도록 하는 것
- 통신하는 두 실체 간에 초기화 상태, 검사 전 상태, 종료 상태 등과 같은 명확히 정의된 상태를 둠으로써 통신의 개시, 중간의 체크 기능, 통신의 종료 등을 수행
- 동기화를 위한 전송 방식: 비동기 전송(Asynchronous Transmission), 동기 전송(Synchronous Transmission)
7. 순서 지정(Sequencing)
- 패킷 교환망에서, 패킷 단위로 분할 전송할 때 패킷에 순서를 지정하는 것
- 송신측에서 전송한 패킷의 순서와 수신된 패킷의 순서가 반드시 일치하는 것은 아님
- 수신측에서는 수신된 패킷을 지정 순서에 따라 재조립
8. 주소 지정(Addressing)
- 네트워크에서 통신을 하기 위해 송수신측 간에 인식이 가능하도록 하는 역할
- 네트워크에 있는 각 station은 자신의 고유 주소가 지정되어 있어야 함
- 데이터 전송을 하기 위해서는 데이터와 함께 지정된 주소 정보도 보내야 함
9. 다중화(Multiplexing)
- 한정된 통신 link를 다수의 사용자가 공유할 수 있도록 하는 전송 방식
- 송신측에서 다수의 채널을 다중화하여, 하나의 link를 통해 정보를 수신측에 전달함
- 수신측에서는 이를 역다중화(Demultiplexing)하여 다수의 채널로 나눔
- 다중화 방법
- 주파수 분할 다중화(FDM): 여러 개의 아날로그 신호를 하나의 아날로그 회선으로 전송하기 위한 다중화 방식
- 시분할 다중화(TDM): 전송 회선의 데이터 전송 시간을 time slot이라는 일정한 시간폭으로 나누고, 이들의 크기를 frame으로 묶어서 channel별로 특정 시간대에 해당하는 slot에 배정하는 방식
☞ 동기식 시분할 다중화(STDM), 비동기식 시분할 다중화(ATDM)
《 참고 도서 》
'Computer Science > 통신 & 네트워크' 카테고리의 다른 글
[모바일 네트워크] 무선통신의 종류 (0) | 2022.10.27 |
---|---|
[모바일 네트워크] TCP/IP Model (0) | 2022.10.27 |
[모바일 네트워크] OSI 7 Layer Model (0) | 2022.10.27 |
[모바일 네트워크] 네트워크의 분류 (0) | 2022.10.26 |
[컴퓨터공학개론 과제] 데이터 통신망 기술 (0) | 2022.10.03 |