[운영체제] 통신 프로토콜
통신 프로토콜의 개념 = Communication
: 개인-개인, 개인-다수, 다수-개인, 단체-단체 등 모든 분야에서 의사를 전달하는데 사용
대화에는 일반적으로 송신자, 수신자 그리고 메시지(대화 내용)가 포함
1) 컴퓨터 통신
: 네트워크가 필요
전달되는 데이터는 최종적으로 0과1로 구성
데이터의 정상적인 전송 및 처리를 위해서는 서로간 약속(규칙)이 필요
기본 구성
송신자, 수진자, 메세지
2) 통신 프로토콜
: 네트워크를 구성하는 객체간 데이터를 주고 받기 위해 미리 약속한 전송(통신) 규약(규칙)을 의미
프로토콜의 기본요소
1) 구문 = 문법
: 데이터의 형식, 부호화(신호 방식 및 정의 포함) 등을 포함하여 노드 간 데이터의 내용을 구분하기 위한 문장의 구조
2) 의미 =단어
: 구문에 의해 분석된 데이터(토큰, token)를 기반으로 행동(action)을 취하기 위한 방법
3) 타이밍 = 논말의 빠르기와 응답 예상시간
: 메시지의 송/수신을 위한 서로간의 시간적인 약속을 의미
통신 프로토콜의 발전
: 1960년대부터 사용
1964 | 1968 | 1973 | 1974 | 1976 이후 |
STR | BSC | SDLC | HDLC | X.25 OSI 7 계층 TCP/IP |
ISO(International Organization for Standardization)
: 1946년 설립된 표준화 정의를 위한 국제위원회 => 다양한 분야(상품 및 서비스)에서 서로 호환되기 위한 표준을 정의
CCITT: 국제 전신 전화 위원회(ISO의 전화관련 국제 자문 위원회)'
OSI(Open System Interconnection)
: 1983년도 ISO에서 데이터통신에 대한 모델을 규정 => 7개의 계층으로 이루어진 모델
: 개방형 시스템
- 서로 다른 컴퓨터 및 기타 단말기(스마트폰 포함), 데이터통신 네트워크와
또 다른 네트워크 시스템에 대해 OSI 참조모델을 적용
- 이식이 가능한 경우 상호 데이터통신을 가능하게 함
OSI 7계층 모델
응용 계층 (Application Layer) | <-> | 응용 계층 (Application Layer) |
표현 계층 (Presentation Layer) | <-> | 표현 계층 (Presentation Layer) |
세션 계층 (Session Layer) | <-> | 세션 계층 (Session Layer) |
전송 계층 (Transport Layer) | <-> | 전송 계층 (Transport Layer) |
네트워크 계층 (Network Layer) | <->네트워크 계층 (Network Layer)<-> | 네트워크 계층 (Network Layer) |
데이터 링크 계층 (Data-Link Layer) | <->데이터 링크 계층 (Data-Link Layer)<-> | 데이터 링크 계층 (Data-Link Layer) |
물리 계층 (Physical Layer) | <->물리 계층 (Physical Layer)<-> | 물리 계층 (Physical Layer) |
OSI 7계층 상호 간의 데이터 전달 원리
: 최상위 계층(7계층 : 응용 계층)에서 발생한 데이터를 하위 계층으로 차례로 전달
각 계층에서 헤더 정보를 추가하여 하위 계층으로 전달
: 최하위 계층(1계층 : 물리 계층)에 도달
각 계층에서 헤더에 해당되는 부분을 벗긴 후 최상위 계층으로 순차적으로 전달
OSI 7계층의 주요 기능
계층 | 기능 | 데이터 단위 | ||
상위 | 7 | 응용 계층 | 응용프로그램 | 메시지/데이터 (message/data) |
6 | 표현 계층 | 데이터 재구성, 코드 변환, 암호화 등 | ||
5 | 세션 계층 | 연결 접속, 세션(로그인)관리 | ||
하위 | 4 | 전송 계층 | 오류 복구, 종점 간 데이터 전송, 흐 전송 계층 름 제어 | 세그먼트 (segment) |
3 | 네트워크 계층 | 목적지 노드 간 데이터 전송 | 패킷/데이터그램 (packet/datagram) |
|
2 | 데이터링크 계층 | 접속 방식, 오류 검출, 흐름 제어, 프 레임 동기화 | 프레임(frame) | |
1 | 물리 계층 | 전송 매체, 전송 방식, 신호 형식 결 물리 계층 정 | 비트(bit) |
통신 프로토콜의 구조
1. 모델화를 위한 네 가지 기본요소
1) 응용 객체
상호 간의 정보를 교환하는 주체
응용 프로그램, 단말 장치의 운영자
2) 개방형 시스템
응용 프로세서 간에 통신이 가능하도록 통신 기능
호스트 컴퓨터, 단말 장치, 통신 제어장치, 단말 제어장치
3) 물리 매체
정보와 신호를 교환해 주는 전기적 매체
통신회선, 채널
4) 접속 또는 연결
응용 객체 사이를 논리적으로 연결해 주는 통신회선
2. 계층적 구조의 구성요소
1) 계층(Layer)
: 개방형 시스템(Open System)을 위한 여러 부시스템(Sub-systems)이 논리적으로 구성 되어 있는 것
개방형 시스템
표준을 기본으로 서로 다른 시스템 사이에서도 통신이 가능하도록 해 주는 것
부시스템
: 계층화된 순서로 정의
2) 프로토콜(Protocol)
: 자신과 동일한 계층에서 주고받는 통신
3) 인터페이스(Interface)
: 상위 계층과 하위 계층 사이를 연결해 주는 기능
4) 객체(Entity)
:시스템에서 각 계층의 일을 수행하는 기능 모듈의 실체
[계층형 구조의 데이터 단위]
1) 프로토콜 데이터 단위(PDU: Protocol Data Uniyt) => PCI+SDU
: 동일 프로토콜 계층간 사용되는 데이터 단위
2) 프로토콜 제어 정보(PCI: Protocol Control Information)
: PDU중 프로토콜의 제어를 위한 헤더(또는 테일) 부분
3) 서비스 데이터 단위(SDU: Service Data Unit)
: 상위계층으로 전달 되는 데이터 단위
포로토콜의 기능
1. 단편화(fragmentation)
: 송신 측에서 긴 데이터 블록을 전송할 수 있도록 작은 블록으로 나누어 전송
=> 크기가 똑같은 작은 블록으로 나누어 전송
2. 재합성(re-assembly)
: 수신 측에서 쪼개진 작은 데이터 블록을 재합성
=>원래의 메시지로 복원하는 기능
3. 캡슐화(Encapsulation)
: 각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가 하는 것
=> 플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능
4. 디캡슐화(Decapsulation)
: 헤더를 벗기는 과정
5. 연결 제어
: 비연결 데이터 전송과 연결 위주 데이터 전송을 위한 통신로를 개설·유지·종결하는 기능
: TCP 접속 구조
6. 흐름 제어
: 데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
7. 오류 제어
: 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
8. 순서 결정
: 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기 능
9. 주소 설정
: 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
10. 동기화
: 두 통신 객체의 상태(시작, 종료, 준비 등)를 일치시키는 기능
11, 다중화
: 하나의 통신로를 여러 개로 나눔
: 다수의 가입자가 동시에 사용