네트워크에서 통신할 때의 규약.
프로토콜이라는 것이 자연어와 마찬가지로 사용되면 이해하기 쉬울 텐데 한정된 자원으로 통신을 수행해야 하다 보니 최대한 적은 데이터를 이용해 효율적인 프로토콜을 정의하고 사용해야 했음
- → 대부분의 프로토콜이 문자 기반이 아닌 2진수 비트 기반으로 만들어짐
- 최소한의 비트로 내용을 전송하기 위해서는 매우 치밀하게 서로 간의 약속을 정의해야 함(몇 번째 전기 신호는 받는 사람의 주소, 몇 번째는 상위 프로토콜 지시자 등)
- 어플리케이션 레벨의 프로토콜은 비트 기반이 아닌 문자 기반(HTTP, SMTP)
- 일반적으로 TCP/IP는 프로토콜이라고 부르지 않고 프로토콜 스택이라고 부름
- 프로토콜 스택 ? = TCP와 IP는 별도 계층에서 동작하는 프로토콜이지만 함께 사용하고 있는데 이런 프로토콜 묶음을 프로토콜 스택이라 함
- TCP/IP 프로토콜 스택에는 UDP, ICMP, ARP, HTTP, SMTP FTP와 같은 매우 다양한 어플리케이션 레이어 프로토콜들이 있음
- TCP/IP 프로토콜 스택은 총 4개 부분으로 나뉨
- 물리 부분인 이더넷(데이터링크 계층, 피지컬 계층)
- 이더넷에서 쓰이는 주소인 맥주소를 알아내기 위한 프로토콜 ARP → ARP(Mac주소 알기위해 사용하는 프로토콜)
- 데이터가 목적지를 찾아가게 해주는 네트워크 계층
- 잘린 패킷을 데이터 형태로 잘 조합하도록 도와주는 전송 계층
- 애플리케이션 계층
- 네트워크 프로토콜은 크게 두 가지로 나눌 수 있음
- 실제로 데이터를 실어나르는 데이터 프로토콜
- 데이터 프로토콜이 잘 동작하도록 도와주는 컨트롤 프로토콜
- ARP, ICMP, DNS 등이 있음
OSI 7 Layer
TCP/IP 프로토콜 스택
- 현대 네트워크는 대부분 TCP/IP와 이더넷으로 이루어져 있음. 일부 특수한 환경에서는 다른 프로토콜이 사용되기도 하지만 주로 이를 사용함