1. 프로토콜이란?
- 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉
통신 규약 및 약속이다.
1.1 프로토콜 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
- 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
1.2 프로토콜의 기능
- 단편화(Fragmentation)와 재합성(Assembly)
- 단편화 : 송신 측에서는 긴 데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록으로 나누어 전송
- 재합성 : 수신 측에서 쪼개진 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
- 캡슐화(Encapsulation)
- 각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것
- 플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능
- 연결 제어(Connection Control)
- 비연결 데이터 전송(데이터그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설·유지·종결하는 기능
- 흐름 제어(Flow Control)
- 데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
- 오류 제어(Error Control)
- 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
- 순서 결정(Sequencing)
- 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
- 주소 설정(Addressing)
- 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
- 동기화(Synchronization)
- 두 통신 객체의 상태(시작, 종류, 검사 등)를 일치시키는 기능
- 다중화(Multiplexing)
- 하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사할 수 있도록 하는 기능
- 전송 서비스(Transmission Service)
- 통신 객체를 사용하기 쉽도록 별도로 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능
2. TCP/IP 5계층이란?
OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것이다.
하지만 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있다.
인터넷 개발 이후 꾸준히 표준이 갱신되면서 하위 레이어가 다시 세분화되었고, 오른쪽의 TCP/IP Updated 모델이 탄생했다. TCP/IP Updated의 5계층 모델은 Link를 다시 두 레이어로 세분화하고, Internet 명칭을 Network로 다시 변경했다는 차이가 있다. TCP/IP Updated 모델은 현재 전 세계 표준으로 적용되고 있다.

1. 물리 계층 (Physical Layer)
- 역할: 데이터가 전기적 신호, 광신호, 혹은 무선 신호로 변환되어 실제 전송되는 물리적인 부분을 담당합니다. 이 계층은 데이터가 통신 매체(케이블, 무선 등)를 통해 전송되도록 물리적인 연결을 관리합니다. 비트 스트림 형태로 데이터를 전달하며, 매체의 전기적 특성, 신호의 주파수, 전압 수준 등을 정의합니다.
- 세부사항:
- 데이터 단위: 비트(Bit)
- 주요 기능: 전기적/광학적 신호로 변환, 신호 전송, 신호 수신
- 장치: 네트워크 어댑터, 리피터, 허브, 케이블(UTP, 광섬유 등), 무선 송수신기
- 예시: 이더넷 케이블, 무선 신호(Wi-Fi), 블루투스, 전기 신호 변환
2. 데이터 링크 계층 (Data Link Layer)
- 역할: 물리 계층에서 받은 비트들을 프레임(Frame) 단위로 나눠 전송하고, 오류 검출 및 수정, 흐름 제어를 담당합니다. 동일 네트워크(로컬 네트워크) 상에서 장치 간의 데이터 전송을 다룹니다. 또한, 물리 계층에서 발생할 수 있는 오류를 감지하고, 프레임의 재전송 등의 기능을 수행합니다.
- 세부사항:
- 데이터 단위: 프레임(Frame)
- 주요 기능: MAC 주소를 이용한 데이터 전송, 오류 검출 (CRC), 프레임 재전송, 흐름 제어
- 장치: 스위치, 브리지, 네트워크 인터페이스 카드(NIC)
- 프로토콜: Ethernet, PPP(Point-to-Point Protocol), HDLC
- 예시: MAC 주소 기반 통신, 스위치에서 데이터 패킷 전달, CRC 오류 체크
3. 네트워크 계층 (Network Layer)
- 역할: 데이터를 패킷(Packet) 단위로 분리하고, IP 주소를 사용해 여러 네트워크 간의 데이터 전송을 담당합니다. 가장 중요한 역할은 라우팅(Routing)으로, 여러 네트워크를 경유해 목적지까지 데이터를 전달하는 최적의 경로를 설정합니다. 네트워크 계층은 장치 간의 논리적인 주소(IP 주소)를 사용하여 통신하고, 패킷이 목적지까지 도달하는 동안의 경로 설정과 데이터 패킷의 흐름을 관리합니다.
- 세부사항:
- 데이터 단위: 패킷(Packet)
- 주요 기능: 라우팅, IP 주소 할당 및 관리, 패킷 전달, 네트워크 간의 경로 설정, 흐름 제어
- 장치: 라우터, Layer 3 스위치
- 프로토콜: IP(IPv4, IPv6), ICMP, ARP(Address Resolution Protocol), RIP, OSPF
- 예시: 라우터를 통한 IP 주소 기반 패킷 전달, ICMP를 통한 네트워크 오류 검출(ping), IP 주소와 MAC 주소 변환 (ARP)
4. 전송 계층 (Transport Layer)
- 역할: 데이터 전송의 신뢰성, 흐름 제어, 오류 검출 및 수정, 연결 제어 등을 담당합니다. TCP와 UDP가 대표적인 프로토콜로, TCP는 연결 지향적이며 신뢰성 있는 데이터 전송을 보장하고, UDP는 비연결 지향적이며 빠른 전송을 우선시합니다. 포트 번호를 사용하여 응용 계층의 특정 프로세스 간에 데이터가 올바르게 전송되도록 돕습니다.
- 세부사항:
- 데이터 단위: 세그먼트(Segment, TCP) 또는 데이터그램(Datagram, UDP)
- 주요 기능: 신뢰성 있는 데이터 전송 (TCP), 비신뢰성 전송 (UDP), 흐름 제어, 세그먼트화 및 재조립, 오류 검출 및 수정
- 장치: 호스트 시스템, 게이트웨이
- 프로토콜: TCP, UDP
- 예시: 웹 브라우저와 서버 간의 연결 설정(TCP 3-way handshake), 스트리밍 서비스(UDP 기반)
5. 응용 계층 (Application Layer)
- 역할: 최종 사용자가 네트워크 서비스를 이용할 수 있게 해주는 계층입니다. 응용 계층은 여러 응용 프로그램이 네트워크를 통해 데이터를 주고받을 수 있도록 지원하며, 전송 계층이 제공하는 기능을 활용해 사용자와 네트워크 사이에서 직접적인 인터페이스를 제공합니다. 다양한 네트워크 서비스, 프로토콜을 통해 사용자 요구를 처리하고, 데이터의 형식화, 변환, 관리 등을 수행합니다.
- 세부사항:
- 데이터 단위: 메시지(Message) 또는 데이터(Data)
- 주요 기능: 응용 프로그램의 네트워크 접근, 데이터 변환, 형식화, 메시지 처리, 네트워크 서비스 제공
- 프로토콜: HTTP, FTP, SMTP, DNS, Telnet, SSH, POP3, IMAP
- 예시: 웹 페이지 접속(HTTP), 파일 전송(FTP), 이메일 송수신(SMTP, IMAP)