프로토콜은 네트워크 통신을 위한 규칙과 약속을 의미한다.
OSI 7계층 또는 TCP/IP 4계층 모델에 따라 분류할 수 있다.
| 계층 | 프로토콜 |
|---|---|
| 응용 | HTTP/HTTPS, FTP, Telnet, SMTP, SSH |
| 표현 | ASCII, MPEG, |
| 세션 | NetBIOS, SAP, SDP, NWLink |
| 전송 | TCP, UDP, SPX |
| 네트워크 | IP, IPX |
| 데이터 링크 | Ethernet, Token Ring, FDDI, Apple Talk |
| 물리 | 없음 |
| 계층 | 프로토콜 |
|---|---|
| 응용 | HTTP/HTTPS, FTP, Telnet, SMTP, SSH |
| 전송 | TCP, UDP |
| 인터넷 | IP, ICMP, ARP |
| 네트워크 액세스 | Ethernet, WiFi |
이 중 몇가지의 프로토콜 종류만 살펴보도록 하자.
HTTP
포트번호: 80
packet 사용 (header와 body로 구성)
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다.
주로 W3 상에서 정보를 주고받을 수 있는 프로토콜이다.
주로 HTML 문서를 주고받는 데에 쓰인다.
예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다.
이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다.
HTTPS
포트번호: 443
월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 개발된 웹 프로토콜이며, 전자 상거래에서 널리 쓰인다.
HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다.
FTP(File Transfer Protocol)
포트번호: 21
TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다. 파일 전송 프로토콜은 TCP/IP 프로토콜 테이블의 응용 계층에 속하며, 역사는 오래 되었지만 지금도 인터넷에서 자주 사용된다. 수많은 FTP 클라이언트 및 오토메이션 유틸리티들이 데스크톱, 서버, 모바일 장치, 하드웨어용으로 개발되고 있으며, FTP는 웹 페이지 편집기와 같은 생산성 응용 프로그램들에 통합되고 있다.
SFTP(Secure File Transfer Protocol)
포트번호: 22
신뢰할 수 있는 데이터 스트림을 통해 파일 접근/전송/관리를 제공하는 네트워크 프로토콜이다. 이 프로토콜은 SSH와 같은 보안 채널을 통해 수행되는데, 이 말은 서버가 이미 클라이언트와 인증이 되어 있으면서, 클라이언트 사용자 증명을 프로토콜에 이용할 수 있는 상태여야 한다는 것을 뜻한다.
SSH(Secure Socket Layer)
포트번호: 22
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다.
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.
TCP (Transmission Control Protocol)
신뢰성 있는 연결이 특징이다.
사용예시:
UDP (User Datagram Protocol)
빠르지만 불안정하다는 특징이 있다.
사용 예시:
네트워크 통신 구조를 설명하는 대표적인 모델로 TCP/IP 4계층과 OSI 7계층이 있다.
TCP/IP 4계층은 실제 인터넷에서 사용되는 실무 중심 모델이다. 응용 계층, 전송 계층, 인터넷 계층, 네트워크 액세스 계층 총 4개로 구성된다.
응용 계층에서는 HTTP, FTP, DNS 같은 사용자 프로그램이 동작하고, 전송 계층에서는 TCP와 UDP가 데이터 전송 방식을 결정한다. 인터넷 계층은 IP를 통해 데이터의 목적지와 경로를 설정하며, 네트워크 액세스 계층에서 실제 물리적 전송이 이루어진다.
1980년대 국제표준화기구(ISO)에서 만든 이론적 표준 모델이다. 응용 계층, 표현 계층, 세션 계층, 전송 계층, 네트워크 계층, 데이터링크 계층, 물리 계층으로 더욱 세분화되어 있다. TCP/IP 모델의 응용 계층을 응용-표현-세션 3개 계층으로 나누고, 네트워크 인터페이스 계층을 데이터링크-물리 2개 계층으로 구분한 형태다.
두 모델의 가장 큰 차이는 목적에 있다. TCP/IP는 실제 인터넷 통신을 구현하기 위해 만들어져 현재도 실무에서 광범위하게 사용되는 반면, OSI 모델은 네트워크 통신을 체계적으로 이해하고 설명하기 위한 교육용 참조 모델로 주로 활용된다. 실무에서는 TCP/IP 4계층을 기준으로 작업하지만, 네트워크 문제를 진단하거나 개념을 설명할 때는 OSI 7계층의 세분화된 구조가 유용하게 쓰인다.
프로토콜이란 네트워크 통신을 위한 규약이다. TCP/IP 4계층 모델에 따라 응용 계층에는 사용자 프로그램과 관련된 HTTP, FTP, DNS가 있고, 전송 계층에는 TCP와 UDP가 데이터 전송 방식을 결정한다. 인터넷 계층은 IP를 통해 데이터의 목적지와 경로를 설정하고, 네트워크 액세스 계층에는 Ethernet, WiFi처럼 물리적 전송을 할 수 있는 프로토콜이 있다. 응용 계층 - 사용자 애플리케이션 (HTTP, FTP)
표현 계층 - 데이터 형식 변환, 암호화 (ASCII 문자를 숫자로 변환하는 코드 체계)
세션 계층 - 연결 세션 관리 (SDP 블루투스 기기가 제공하는 서비스 찾는, SAP 서비스 광고)
전송 계층 - 신뢰성 있는 전송 (TCP, UDP)
네트워크 계층 - 경로 설정, 라우팅 (IP)
데이터링크 계층 - 물리적 주소 지정 (MAC)
물리 계층 - 전기 신호, 케이블