프로토콜 개념에 대해서 이야기해봅시다.
프로토콜 개념에 대한 설명
프로토콜 개념(Protocol)은 통신을 하기 위한 약속입니다.
프로토콜은 데이터나 음성과 같은 정보를 원활하게 송수신하기 위해서 통신기기와 통신기기 사이에서 진행하는 절차입니다.
프로토콜이 규정하는 내용에는 송신자와 수신자에 대한 정보와 데이터 형식, 송신과 수신의 절차 등이 포함됩니다. 데이터 형식의 경우 어디에 어떤 데이터를 작성하는지에 대한 형식을 의미합니다.
프로토콜은 국제 표준으로도 규정되어 있습니다.
프로토콜은 네트워크에 접속한 단말기끼리 통신하기 위해서는 통신 규약입니다. 프로토콜의 기본 개념에는 7개의 계층으로 분류하는 OSI 참조 모델이 있습니다. 인터넷에서는 TCP/IP라고 하는 4개의 계층으로 분류하는 프로토콜이 있습니다. OSI 7 계층 모델에서는 각 계층에서 수행되는 프로토콜이 서로 독립적이라고 간주하며 계층 내에서 계층 간 통신할 수 있는 프로토콜이 존재합니다.
규정이 다를 경우에는 단말기 간 통신할 수 없기 때문에 프로토콜을 이용하여 규정이 같도록 함으로써 단말기 간 원활한 통신이 가능해집니다.
OSI 참조 모델은 이상적이지만 현실적인 프로토콜은 TCP/IP입니다.
프로토콜 개념에 대한 이해
프로토콜 개념(Protocol)은 정보를 송수신 하기 위해서 필요한 데이터 형식이나 통신 절차를 규정한 것을 의미합니다.
프로토콜을 쉽게 이해하기 위해서는 우편물을 생각할 수 있습니다. 우편물에도 받는 사람의 주소와 보내는 사람의 주소가 적혀 있고 우편물 봉투에는 주소를 작성하는 방식과 운송 수단과 같은 약속들이 있습니다. 디지털 세상에서도 마찬가지로 이와 같은 약속들이 있는 것입니다. 그리고 이를 프로토콜이라고 합니다.
프로토콜은 IP(Internet Protocol), TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등 다양하고 방대한 수의 프로토콜이 존재합니다. 프로토콜은 상대방도 같은 규칙을 사용하였을 때 비로소 이용이 가능해집니다. 통신의 특성 상 이제는 전세계에서 통신이 이루어지기 때문에 전 세계가 합의하지 않으면 의미가 없어집니다. 따라서 대부분의 프로토콜은 국제 표준으로 규정되어 있습니다.
방대한 수의 프로토콜들은 그 역할에 따라서 물리층, 네트워크층과 같이 여러 개의 계층(레이어)로 나누어져 있습니다.각 계층에서는 처리 역할을 분담함으로써 각각의 처리 내용을 단순화시킬 수 있고 통신 내용에 맞춰서 앱이 프로토콜의 조합을 선택할 수 있도록 할 수 있습니다. 상위 계층은 하위 계층에 데이터의 송신을 의뢰하고 하위 계층은 상위 계층에 수신 데이터를 건내 주는 방식으로 분업화 할 수 있습니다.
TCP와 IP와 같은 프로토콜을 사용하는 구성을 TCP/IP라고 부릅니다. TCP/IP에서는 4개 계층에서 역할을 분담함으로써 효율적으로 구성되는데 인터넷 상에서의 가장 현실적인 사양으로 평가 받습니다.
인터넷(Internet) 상에서 복수의 네트워크를 접속할 때는 경로 선택과 패킷의 분할과 재구축을 수행해야 합니다. 네트워크 사이에 통신 방법을 규정하고 있는 인터넷 프로토콜을 IP 라고 합니다. SOAP(Simple Object Access Protocol)의 경우 웹 서비스 간 데이터를 교환하기 위해서 구성하는 프로토콜입니다.
OSI(Open System Interconnection) 7계층은 네트워크 통신 사이에서 발생할 수 있는 여러 가지 불일치나 충돌 문제를 해결하기 위해서 국제표준기구인 ISO에서 표준화된 네트워크 구조를 제시한 프로토콜의 가장 기본적인 모델입니다. 통신 기능을 7개의 수직 계층으로 분할하고 각 계층 마다 다른 계층과는 무관하게 자신 만의 독립적인 기능을 지원하도록 구성하는 개념입니다. OSI 7계층은 네트워크 지원 계층, 전송층, 사용자 지원 계층으로 분류하고 다시 물리층, 데이터링크층, 네트워크층, 전송층, 세션층, 표현층, 응용층의 7개의 계층으로 분류합니다.
[OSI 7계층 구분]
번호 | 명칭 | 영문명 | 상위 계층 |
1 | 물리층 | Physical Layer | 네트워크 지원계층 |
2 | 데이터링크층 | Data Link Layer | 네트워크 지원계층 |
3 | 네트워크층 | Network Layer | 네트워크 지원계층 |
4 | 전송층 | Transport Layer | 전송층 |
5 | 세션층 | Session Layer | 사용자 지원계층 |
6 | 표현층 | Presentation Layer | 사용자 지원계층 |
7 | 응용층 | Application Layer | 사용자 지원계층 |