7. 통신 규약과 프로토콜
프로토콜이란?
지켜야할 절차나 규약을 말한다. 사전에 약속하여 통신을 원활하기 위한 목적으로 사용한다.
프로토콜은 눈에 보이지 않는다
프로토콜은 통신 과정의 절차나 규약에 대한 사양서에 지나지 않는다. 하지만 프로토콜에 따라 동작하도록 만들어진 프로그램, 통신 장비, 데이터 포맷이 존재한다. 이것들이 약속된 대로 정상적으로 동작할 때 통신이 원활하게 이루어진다.
프로토콜 조합하기
시리즈의 앞 글에서 웹페이지를 요청하고 응답받는 과정으로 4개 계층의 동작 방식에 대해 알아보았다. 이 과정에서 사용되는 프로토콜은 무엇일까?
- 애플리케이션 계층 - HTTP
웹브라우저와 웹 서버는 HTTP 프로토콜에 따라 동작하도록 만들어져있다
- 트랜스포트 계층 - TCP
데이터를 확실히 전달하기 위한 프로토콜이다
- 인터넷 계층 - IP
일반적인 통신에 사용하는 프로토콜로, 패킷을 목적지까지 전달하기위한 프로토콜이다.
- 네트워크 인터페이스 계층 & 하드웨어 - 이더넷
유선 LAN으로 데이터를 전송하기위한 프로토콜이다.
인터넷으로 전화를 거는 경우는?
- 애플리케이션 계층 - VoIP
전화 애플리케이션을 위한 프로토콜이다
- 트랜스포트 계층 - UDP
데이터를 확실히 전달하는 것을 보장하지 않지만, 고속 전송이 가능한 프로토콜이다.
- 인터넷 계층 - IP
- 네트워크 인터페이스 계층 & 하드웨어 - IEEE802.11
무선 LAN으로 데이터를 전송하기 위한 규격
위와 같이 프로토콜은 소속된 각 계층에 맞게 그 역할이 전문화, 세분화 되어있다. 통신이 성공하기 위해서는 위와 같이 각 계층의, 역할에 맞는 프로토콜들을 잘 조합하여 사용해야한다.
시리즈의 앞 글에서 각 계층을 통과할 때의 데이터의 형태를 배웠다. 그때는 계층별 역할의 측면에서 원래 데이터에 무슨 헤더, 트레일러가 붙는지를 봤다면, 이번 글을 통해서는 계층별 프로토콜의 측면에서 각 계층에서 데이터에 붙는 추가 데이터를 볼 수 있다.
- 웹페이지를 보는 경우
이더넷 헤더+IP 헤더+TCP 헤더+HTTP 데이터+...
- 인터넷을 통해 전화를 하는 경우
IEEE 802.11 헤더+IP 헤더+UDP 헤더+VoIP 데이터+...