TCP/IP 개요 및 인터넷 계층 프로토콜

TCP/IP 개요

TCP/IP (Transmission Control Protocol / Internet Protocol)는 인터넷에서 사용하는 표준 프로토콜들의 집합(Protocol suite)을 대표하는 이름입니다. OSI 7layer 모델보다 먼저 미 국방성(Department of Defence)에서 실질적인 필요에 의해 개발되었으며, 현재 인터넷 통신의 핵심적인 역할을 수행하고 있습니다.


TCP/IP 계층 구조

TCP/IP는 전통적으로 4개의 계층으로 설명되지만, OSI 모델과의 비교를 통해 5개 계층으로 표현되기도 합니다. 각 계층은 특정 기능을 수행하며, 데이터 통신을 위해 상호 협력합니다.

TCP/IP 계층 OSI 모델 대응 (참고) 주요 프로토콜 예시
네트워크 접속 계층 (Network Access Layer) 물리 계층, 데이터 링크 계층 Ethernet, Wi-Fi, PPP (LAN/WAN 기술들)
인터넷 계층 (Internet Layer) 네트워크 계층 IP (IPv4, IPv6), ICMP, ARP, RARP, IGMP
전송 계층 (Transport Layer) 전송 계층 TCP, UDP
응용 계층 (Application Layer) 세션 계층, 표현 계층, 응용 계층 HTTP, FTP, SMTP, DNS, TELNET, SNMP, NFS, TFTP, RPC

주소 지정 (Addressing)

인터넷 통신에서는 데이터를 정확한 목적지로 전달하기 위해 다음과 같은 세 가지 주요 주소 유형이 사용됩니다.

주소 유형 사용 계층 대표 주소 주요 특징
물리 주소 (Physical Address) 2계층 (데이터 링크) MAC 주소 (48비트 이더넷 주소) - LAN 카드에 부여된 고유 식별자
- 동일 네트워크 내에서 직접 통신 시 사용
- 라우터를 통과할 때마다 변경됨 (편지의 우체국 주소 비유)
논리 주소 (Logical Address) 3계층 (인터넷) IP 주소 (IPv4: 32비트, IPv6: 128비트)[5] - 전 세계적으로 유일하게 할당되는 주소
- 최종 목적지까지 변하지 않음 (편지의 집 주소 비유)
- 네트워크 간 라우팅에 사용
포트 주소 (Port Address/Number) 4계층 (전송) 포트 번호 (16비트) - 동일 호스트 내에서 실행 중인 특정 응용 프로그램(프로세스) 식별
- 잘 알려진 포트(Well-known ports)와 동적 포트 존재 (편지의 수신인 이름 비유)

네트워크 접속 계층 (Network Access Layer)

TCP/IP 프로토콜 슈트에서 이 계층은 특정 프로토콜을 정의하기보다는, 이더넷이나 Wi-Fi와 같은 다양한 표준 네트워크 기술들을 수용하여 물리적인 데이터 전송을 담당합니다.


인터넷 계층 프로토콜 (Internet Layer Protocols)

OSI 모델의 네트워크 계층에 해당하며, 데이터 패킷을 발신지에서 목적지까지 전달하는 경로를 설정(라우팅)하는 것이 주요 기능입니다. 주요 프로토콜은 다음과 같습니다.

프로토콜 설명
IP (Internet Protocol) 데이터그램의 주소 지정 및 라우팅을 담당하는 핵심 프로토콜 (IPv4, IPv6).
ICMP (Internet Control Message Protocol) IP 통신 중 발생하는 오류를 보고하고, 네트워크 상태 진단 메시지(예: Ping)를 전송.
ARP (Address Resolution Protocol) 논리적 IP 주소를 해당 네트워크 인터페이스의 물리적 MAC 주소로 변환.
RARP (Reverse Address Resolution Protocol) 물리적 MAC 주소를 IP 주소로 변환 (초기 부팅 시 사용되었으나, 현재는 DHCP 등으로 대체).
IGMP (Internet Group Management Protocol) 하나의 송신자가 다수의 특정 수신자에게 데이터를 전송하는 멀티캐스트 그룹 관리를 위한 프로토콜.

IP 주소 비교: IPv4 vs IPv6

인터넷의 폭발적인 성장으로 IPv4 주소 고갈 문제가 대두되면서, IPv6가 등장했습니다.

특징 IPv4 (Internet Protocol version 4) IPv6 (Internet Protocol version 6)
주소 길이 32비트 128비트
주소 개수 약 43억 (232) 약 3.4 x 1038 (2128, 사실상 무한대)
주소 표기법 10진수 점 표기법 (Dotted Decimal Notation, 예: 192.168.1.1) 16진수 콜론 표기법 (Hexadecimal Colon Notation, 예: 2001:0db8::8a2e:0370:7334)
헤더 크기 가변 (20 ~ 60 바이트) 고정 (40 바이트) + 확장 헤더
보안 IPSec 선택 사항 IPSec 향상 및 권장 (기본 기능으로 통합 용이)
QoS 지원 ToS (Type of Service) 필드, 제한적 플로우 레이블(Flow Label) 및 트래픽 클래스(Traffic Class) 필드를 통해 향상된 QoS 제공
주소 자동 설정 수동 또는 DHCP 사용 SLAAC (Stateless Address Autoconfiguration), DHCPv6 등 간편한 자동 설정
브로드캐스트 지원 Anycast로 대체 (브로드캐스트 없음)

IPv5는 실험적인 프로토콜이었으며, 널리 사용되지 않고 폐기되었습니다. IPv4에서 IPv6로의 전환은 이중 스택(Dual Stack), 터널링(Tunneling), 주소 변환(NAT64/DNS64 등)과 같은 다양한 전략을 통해 점진적으로 이루어지고 있습니다.


TCP/IP 전송 계층 프로토콜 및 응용 계층 프로토콜

계층별 데이터 전달 형태

데이터는 각 계층을 통과하면서 헤더 정보가 추가(캡슐화)되거나 제거(역캡슐화)되며, 계층별로 다른 이름으로 불립니다.

계층 전달 단위 (PDU) 전달 범위 사용 주소
데이터 링크 계층 프레임 (Frame) Node-to-Node (이웃 노드 간) 물리 주소 (MAC 주소)
인터넷 계층 패킷 (Packet) / 데이터그램 (Datagram) Host-to-Host (발신지-목적지 호스트 간) 논리 주소 (IP 주소)
전송 계층 세그먼트 (Segment - TCP)
데이터그램 (Datagram - UDP)
Process-to-Process (응용 프로세스 간) 포트 주소 (Port Number)
응용 계층 메시지 (Message) / 데이터 (Data) User-to-User (사용자 응용 간) (필요시) 특정 응용 주소

전송 계층 프로토콜 비교: TCP vs UDP

전송 계층은 응용 프로그램 간의 논리적인 통신을 제공하며, TCP와 UDP가 대표적인 프로토콜입니다.

특징 TCP (Transmission Control Protocol) UDP (User Datagram Protocol)
연결 설정 방식 연결 지향 (Connection-oriented) 비연결형 (Connectionless)
신뢰성 높음 (Reliable) - 데이터 순서 보장, 오류 제어, 흐름 제어 낮음 (Unreliable) - 최선 노력 (Best-effort) 전달
데이터 순서 보장 (순서 번호 사용) 보장 안 함
오류 제어 ACK (긍정 응답), 재전송 Checksum (헤더 및 데이터 일부 오류 검사, 선택적)
흐름 제어 슬라이딩 윈도우 (Sliding Window) 없음
속도 상대적으로 느림 (제어 정보 오버헤드) 상대적으로 빠름 (오버헤드 적음)
헤더 크기 최소 20 바이트 (가변) 8 바이트 (고정)
주요 사용 사례 웹(HTTP/HTTPS), 파일 전송(FTP), 이메일(SMTP), 원격 접속(SSH) 등 신뢰성이 중요한 서비스 DNS, DHCP, 실시간 스트리밍(RTP), 온라인 게임, VoIP 등 속도가 중요하고 약간의 데이터 손실을 감내할 수 있는 서비스

TCP 세그먼트 포맷 주요 필드

TCP는 신뢰성 있는 데이터 전송을 위해 다양한 제어 정보를 포함하는 헤더를 사용합니다.

필드명 크기 (비트) 주요 기능 및 설명
Source Port (송신 포트) 16 송신 측 응용 프로세스의 포트 번호
Destination Port (목적지 포트) 16 수신 측 응용 프로세스의 포트 번호
Sequence Number (순서 번호) 32 세그먼트에 포함된 데이터의 첫 번째 바이트에 부여되는 고유 번호. 데이터의 순서 유지 및 재조립에 사용.
Acknowledgment Number (확인 응답 번호) 32 수신하기를 기대하는 다음 바이트의 순서 번호. ACK 플래그가 1일 때 유효하며, 성공적인 수신을 알림.
Header Length (헤더 길이 / Data Offset) 4 TCP 헤더의 길이를 32비트 워드(4바이트) 단위로 표시. (최소값 5는 20바이트 의미)
Reserved (예약 필드) 6 미래 사용을 위해 예약된 비트들 (현재는 0으로 설정).
Control Flags (제어 플래그) 6 (각 1비트) URG(긴급), ACK(확인응답), PSH(밀어넣기), RST(리셋), SYN(동기화), FIN(종료) 등의 연결 및 데이터 전송 제어.
Window Size (윈도우 크기) 16 수신 측이 한 번에 받을 수 있는 데이터 양(버퍼 크기)을 바이트 단위로 알림. 흐름 제어에 사용.
Checksum (검사합) 16 TCP 헤더와 데이터 전체의 오류 검출을 위해 사용.
Urgent Pointer (긴급 포인터) 16 URG 플래그가 1일 때, 긴급 데이터의 위치를 나타내는 오프셋.
Options (옵션, 선택 사항) 가변 (최대 40바이트) 최대 세그먼트 크기(MSS), 윈도우 스케일 팩터 등 추가 기능 정의.

정리

  • TCP/IP 모델은 인터넷 통신의 핵심 프로토콜 스위트로, 4계층 또는 5계층으로 설명됩니다. 각 계층은 고유한 역할을 수행하며 데이터를 처리합니다.
  • 주소 지정은 통신의 기본 요소로, 물리적 전달을 위한 MAC 주소 (2계층), 네트워크 간 경로 설정을 위한 IP 주소 (3계층), 특정 응용 프로그램 식별을 위한 포트 번호 (4계층)가 사용됩니다.
  • 인터넷 계층의 핵심 프로토콜은 IP이며, IPv4의 주소 고갈 문제로 인해 128비트 주소 체계를 사용하는 IPv6가 도입되어 점차 확산되고 있습니다. ICMP, ARP, IGMP 등은 IP의 기능을 보조합니다.
  • 전송 계층은 응용 프로그램 간의 논리적 통신을 담당하며, 신뢰성 높은 연결 지향형 프로토콜인 TCP와 빠르고 간편한 비연결형 프로토콜인 UDP가 주로 사용됩니다. 서비스 특성에 따라 적합한 프로토콜을 선택합니다.
  • TCP는 순서 번호, 확인 응답 번호, 제어 플래그 등을 포함하는 정교한 헤더를 사용하여 연결 설정, 데이터 분할 및 재조립, 오류 제어, 흐름 제어 등을 수행하여 신뢰성 있는 데이터 전송을 보장합니다.
728x90

'데이터통신' 카테고리의 다른 글

인터넷이란?  (0) 2025.06.06
WAN 기술  (1) 2025.06.05
LAN 기술  (1) 2025.06.04
데이터링크 프로토콜이란?  (0) 2025.06.03
데이터통신 핵심내용 - 1  (1) 2025.05.15