프로토콜(Protocol)
서로가 이해할 수 있는 수행 절차가 있을 때 커뮤니케이션이 더욱 원활하고 효과적으로 이루어질 수 있는 것처럼,
컴퓨터와 컴퓨터가 통신할 때도 이와 같은 방식을 사용하는데, 이 때 지켜야 할 절차나 규악을 프로토콜(protocol)이라고 한다.
</프로토콜,>
프로토콜은 물리적 형태가 있는 것이 아닌 통신 과정의 절차나 규칙이 기술된 문서에 불과하지만,프로토콜에 맞게 동작하도록 만들어진 프로그램, 통신 장비, 데이터 포맷이 존재하고,이들이 서로 약속된 방식으로 잘 동작해 줄 때에야 비로소 원활한 통신이 가능해진다.
Ex)<클라이언트 PC>애플리케이션 계층 - HTTP라는 프로토콜에 따라 동작하도록 만들어진 웹 브라우저 (Chrome, Internet Explorer)트랜스포트, 인터넷 계층 - TCP/IP라는 프로토콜에 따라 동작하도록 만들어진 OS 내장 통신 프로그램(Windows, Mac)네트워크 인터페이스 계층 - 이더넷이라는 프로토콜에 따라 동작하도록 만들어진 네트워크 어댑터용 디바이스 드라이버 (Device Driver)하드웨어 - 이더넷이라는 프로토콜에 따라 동작하도록 만들어진 LAN 케이블과 네트워크 허브 (LAN 케이블)▲
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
|통신|통신
|통신|통신|통신|통신|통신|
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
<웹 서버 컴퓨터>
하드웨어 - 이더넷이라는 프로토콜에 따라 동작하도록 만들어진 LAN 케이블과 네트워크 허브
네트워크 인터페이스 계층 - 이더넷이라는 프로토콜에 따라 동작하도록 만들어진 네트워크 어댑터용 디바이스 드라이버 (Device Driver)
트랜스포트, 인터넷 계층 - TCP/IP라는 프로토콜에 따라 동작하도록 만들어진 OS 내장 통신 프로그램(Linux)
애플리케이션 계층 - HTTP라는 프로토콜에 따라 동작하도록 만들어진 웹 서버 (Apache)
프로토콜(Protocol) 조합하기
전체적인 하나의 통신을 성공하기 위해서는 앞서 언급한 각 계층들의 각 프로토콜을 잘 조합하여 사용해야 한다.
ex) 웹 페이지의 경우, [이너넷 헤더][IP 헤더][TCP 헤더][HTTP 데이터][ ]
대표적인 프로토콜
계층 | 프로토콜 이름 | 동작 방식 |
애플리케이션 계층 | HTTP | 웹 페이지 데이터를 주고받음 |
HTTPS | 보안을 위해 웹 페이지 데이터를 주고받는 과정을 암호화함 | |
POP3 | 서버에 보관된 수신 메일을 꺼내옴 | |
SMTP | 메일을 송신함 | |
FTP | 파일을 전송함 | |
Telnet | 컴퓨터를 원격에서 제어함 | |
SSH | 보안을 위해 컴퓨터를 원격에서 제어하는 과정을 암호화함 | |
SMB | 윈도우 컴퓨터와 파일을 공유함 | |
DHCP | 컴퓨터에게 프라이빗 IP를 동적으로 할당함 | |
DNS | 도메인 이름과 IP 어드레스를 서로 변환함 | |
SSL | 보안을 위해 통신 과정에서 주고받는 데이터를 암호화함 | |
트랜스포트 계층 | TCP | 애플리케이션의 데이터를 송수신하되 데이터의 정확한 전달을 중시함 |
UDP | 애플리케이션의 데이터를 송수신하되 데이터의 전송 속도를 중시함 | |
인터넷 계층 | IP | 패킷을 목적지까지 전달함 |
ICMP | IP의 통신 오류를 전달함 | |
IPsec | 패킷을 암호화하여 전달함 | |
ARP | 네트워크 장비의 MAC 어드레스를 알아냄 | |
네트워크 인터페이스 계층 | 이더넷 | 일반 금속 케이블이나 광 케이블을 통해 데이터를 전달함 |
PPP | 사용자 인증 후에 원격지의 장비와 통신함 |
TCP/IP
TCP/IP는 하나의 프로토콜을 지칭하는 말이 아니라, 인터넷에서 사용되는 [각종 표준 프로토콜들의 집합]을 일컫는 말이다.
이를 TCP/IP라고 지칭하는 이유는, TCP와 IP가 이들 프로토콜 중 가장 대표적인 프로토콜이기 때문이다.