프로토콜(Protocol)이란?
프로토콜은 서로 다른 시스템 및 기기 간 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다. 기기 간 통신은 교환되는 데이터 형식에 대해 상호 협의를 요구하기 때문에 프로토콜이 필요한 것이며, 공통의 데이터 교환 방법이나 순서에 대해 정의한 약속, 규칙 체계를 의미한다. 따라서 동일한 프로토콜을 사용하면 기종 및 프로그램이 다르더라도 컴퓨터간 상호 통신이 가능하다. 따라서 정보 통신을 하기 위해 표준 프로토콜을 채택하여 통신망을 구축해야 한다.
-> 각각의 프로그램, DB, 파일 서비스 등을 가지고 있는 컴퓨터 네트워크가 데이터를 주고 받기 위해 지켜야 하는 약속을 공식화 한 것
예)
손님이 주문을 받는 사람에게 외계어로 주문을 할 수 없다.
주문을 하기 위해 지켜야 하는 몇가지 약속들이 프로토콜 규칙.
주문을 하기 위해 직원에게 직접 주문, 앱에서 주문, 키오스크 주문 등 방법이 여러가지인데 이러한 방법 하나하나를 전부 프로토콜이라고 할 수 있음
프로토콜의 기본 구성요소
1. 구문 요소: 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
2. 의미 요소: 오류 제어, 동기 제어, 흐름 제어 같은 각종 제어 절차에 관한 제어 정보 규정
3. 타이밍 요소: 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
프로토콜의 특징
1. 단편화와 재결합
송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 작업을 다편화라 하고, 수신 측에서 단편화 된 블록을 원래의 데이터로 모으는 것을 재결합이라 한다. 데이터를 단편화하여 전송하면 전송 시간이 빠르고, 통신중에 오류를 효과적으로 제어할 수 있다.
2. 캡슐화
캡슐화는 단편화된 데이터에 송수신지 주소, 오류 검출 코드, 프로토콜 기능을 구현하기 위한 프로토콜 제어 정보 등의 정보를 부가하는 것이다.
3. 흐름 제어
흐름 제어는 수신 측의 처리 능력에 따라 송신 측에서 송신하는 데이터의 전송량이나 전송 속도를 조절하는 기능이다.
4. 오류 제어
오류 제어는 전송중에 발생하는 오류를 검출하고 정정하여 데이터나 제어 정보의 파손에 대비하는 기능이다.
5. 동기화
동기화는 송수신측이 같은 상태를 유지하도록 타이밍을 맞추는 기능이다.
6. 순서 제어
순서 제어는 전송되는 데이터 블록(PDU)에 전송 순서를 부여하는 기능으로, 연결 위주의 데이터 전송 방식에만 사용된다.
송신 데이터들이 순서적으로 전송되도록 함으로써 흐름 제어 및 오류 제어를 용이하게 하는 기능이다.
7. 주소 지정
주소 지정은 데이터가 목적지까지 정확하게 전송될 수 있도록 목적지 이름, 주소, 경로를 부여하는 기능이다.
8. 다중화
다중화는 한 개의 통신 회선을 여러 가입자들이 동시에 사용하도록 하는 기능이다.
9. 경로 제어
경로 제어는 송수신 측 간의 송신 경로 중에서 최적의 패킷 교환 경로를 설정하는 기능이다.
10. 전송 서비스
우선순위 결정, 서비스 등급과 보안 요구 등을 제어하는 별도의 부가 서비스이다.
프로토콜 계층 구성
프로토콜 계층은 기본적으로 데이터 전송제어에 관한 계층, 통신 처리에 관한 계층으로 나뉜다. 세계적으로 프로토콜 표준화가 시도됐고, 가장 대표적인 것은 국제표준화기구 ISO에서 정한 OSI 7계층이다.
1. 물리 계층 - Physical layer
물리 계층은 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한 계층이다. 물리 계층의 프로토콜 데이터 단위는 비트이다. 관련된 장비로는 리피터, 허브가 있다.
2. 데이터 링크 계층(Data Link Layer)
데이터 링크 계층은 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 하는 계층이다. 데이터 링크 계층의 주요 기능으로는 흐름 제어, 프레임 동기화, 오류 제어, 순서 제어가 있다. 데이터 링크 계층의 프로토콜 데이터 단위는 프레임이다. 관련된 장비로는 랜카드, 브리지, 스위치가 있다.
3. 네트워크 계층(Network Layer)
네트워크 계층은 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 하는 계층이다. 네트워크 링크 계층의 주요 기능으로는 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송이 있다. 네트워크 계층의 프로토콜 데이터 단위는 패킷이다. 관련된 장비로는 라우터가 있다.
4. 전송 계층(Transport Layer)
전송 계층은 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 하는 계층이다. 전송 계층의 주요 기능으로는 주소 설정, 다중화, 오류 제어, 흐름 제어가 있다. 전송 계층의 프로토콜 데이터 단위는 세그먼트이다. 관련된 장비로는 게이트웨이가 있다.
5. 세션 계층(Session Layer)
세션 계층은 송·수신 측 간의 관련성을 유지하고 대화 제어를 담당하는 계층이다. 세션 계층의 주요 기능으로는 대화 구성 및 동기 제어, 데이터 교환 관리 기능이 있다. 세션 계층의 프로토콜 데이터 단위는 메시지이다.
6. 표현 계층(Presentation Layer)
표현 계층은 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 담당하는 계층이다. 표현 계층의 주요 기능으로는 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 기능이 있다. 표현 계층의 프로토콜 데이터 단위는 세션 계층과 동일하게 메시지이다.
7. 응용 계층(Application Layer)
응용 계층은 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공하는 계층이다. 간단히 말해서 우리는 카카오톡을 이용해 상대방에게 메시지를 보낼 때 이 메시지가 어떻게 전송되는지는 알 필요가 없이 그냥 서비스를 사용하면 된다. 응용 계층의 주요 기능으로는 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 기능을 제공한다. 응용 계층의 프로토콜 데이터 단위는 역시 동일하게 메시지이다.
OSI 7계층 추가설명
참고:
'Computer Science' 카테고리의 다른 글
네트워크 라우터 개념(Router) (0) | 2023.01.03 |
---|---|
동기와 비동기 개념과 장단점 (0) | 2022.12.30 |
OSI 7 Layer 디테일 정리(+ TCP/IP 4계층) (2) | 2022.12.30 |
마이크로서비스 아키텍처(MSA)란? (0) | 2022.12.29 |
객체지향 / 절차지향 프로그래밍이란? (0) | 2022.12.27 |