네트워크 기본 지식: TCP/IP와 계층 모델 이해하기

코-드 텐카이·2025년 3월 4일

Computer Network

목록 보기
4/5

이번엔 네트워크의 기본 개념 중 TCP/IP와 관련된 내용을 이해해 보고자 하였습니다. 특히 TCP/IP 프로토콜 스위트에 포함된 다양한 프로토콜들과 계층 구조에 대해 알아보겠습니다. 네트워크를 잘 모르는 와타시가 이해하기 쉽게 작성하려고 해보았으니 차근차근 읽어보세요.

TCP/IP란 무엇인가?

TCP/IP(Transmission Control Protocol/Internet Protocol)는 인터넷에서 데이터를 주고받는 데 사용되는 통신 프로토콜 집합입니다. 인터넷의 근간을 이루는 핵심 기술로, 전 세계 모든 네트워크 통신의 표준이라고 볼 수 있습니다.

TCP/IP에서:

  • TCP는 데이터 전송의 신뢰성을 담당합니다
  • IP는 데이터 패킷의 주소 지정과 라우팅을 담당합니다

중요한 점은 TCP/IP라는 용어가 두 가지 의미로 사용된다는 것입니다:
1. 좁은 의미: TCP와 IP 두 프로토콜의 조합
2. 넓은 의미: TCP, UDP, IP, ICMP, ARP 등 다양한 프로토콜을 포함하는 전체 인터넷 프로토콜 집합(스위트)

IP는 내가 아는 그 IP인가? : yes

현대 인터넷에서 사용되는 모든 전송 계층 프로토콜은 IP(Internet Protocol)를 기반으로 합니다. TCP, UDP, SCTP, DCCP, QUIC 등 모든 전송 계층 프로토콜은 IP 위에서 동작합니다. 그래서 사실 TCP/IP 뿐 아니라 UDP/IP, SCTP/IP 등 /IP는 인터넷 프로토콜 모두에게 해당할 수 있는 표현이라고 합니다.

주요 전송 계층 프로토콜들을 잠시 나열하면 다음과 같습니다:

  • TCP(Transmission Control Protocol) - 연결 지향적, 신뢰성 있는 데이터 전송
  • UDP(User Datagram Protocol) - 비연결성, 빠른 전송
  • SCTP(Stream Control Transmission Protocol) - 멀티스트리밍과 멀티호밍 지원
  • DCCP(Datagram Congestion Control Protocol) - UDP에 혼잡 제어 기능 추가
  • QUIC(Quick UDP Internet Connections) - Google이 개발한 UDP 기반 프로토콜(HTTP/3의 기반)
  • RUDP(Reliable User Datagram Protocol) - UDP에 신뢰성 기능 추가
  • IL(Internet Link Protocol) - 네트워크 계층에 신뢰성 추가

하지만 실제 인터넷 트래픽의 대부분(약 95% 이상)은 TCP와 UDP를 통해 전송됩니다. 다른 프로토콜들은 특수한 용도나 환경에서 제한적으로 사용됩니다.

TCP/IP 계층 모델

TCP/IP 계층 모델은 네트워크 통신을 여러 계층으로 나누어 복잡한 네트워크 프로세스를 단순화한 모델입니다. 흥미롭게도, 이 모델은 여러 가지 방식으로 해석되고 있어 여러 버전이 존재합니다.

일반적인 5계층 모델

가장 흔히 볼 수 있는 TCP/IP 5계층 모델은 다음과 같습니다:

  1. 물리 계층(Physical Layer)

    • 비트 단위의 데이터 전송을 담당
    • 케이블, 스위치, 허브 등의 물리적 장비
    • 전기 신호, 광신호 등의 전송 매체 관련 규격
  2. 데이터 링크 계층(Data Link Layer)

    • 프레임 단위로 데이터 전송
    • MAC 주소를 사용하여 근거리 통신
    • 이더넷, Wi-Fi 등의 프로토콜
    • 오류 검출 및 흐름 제어
  3. 네트워크 계층(Network Layer)

    • 패킷 단위로 데이터 전송
    • IP 주소를 사용한 라우팅
    • IP(v4, v6), ICMP, IGMP, ARP, RARP 등의 프로토콜
    • 서로 다른 네트워크 간의 통신 담당
  4. 전송 계층(Transport Layer)

    • 종단간(end-to-end) 통신 제공
    • TCP(신뢰성 있는 연결 지향적 통신)
    • UDP(비연결성, 낮은 오버헤드 통신)
    • 포트 번호를 사용하여 애플리케이션 식별
  5. 응용 계층(Application Layer)

    • 사용자와 가장 가까운 계층
    • HTTP, SMTP, FTP, DNS, SSH 등의 프로토콜
    • 실제 응용 프로그램이 사용하는 데이터 형식 정의

ARP를 별도 계층으로 구분한 5계층 모델

일부 교육 자료나 참고서에서는 ARP(Address Resolution Protocol)의 중요성을 강조하여 별도의 계층으로 구분하기도 합니다:

  1. 네트워크 인터페이스 계층

    • 물리적 연결과 데이터 링크를 담당
    • 이더넷, MAC 프로토콜 등
  2. ARP 계층

    • IP 주소(논리 주소)와 MAC 주소(물리 주소) 간의 변환
    • ARP, RARP 프로토콜
  3. 인터넷 계층

    • IP 프로토콜이 작동하는 계층
    • IP, ICMP 등
  4. 전송 계층

    • 종단간 통신 제공
    • TCP, UDP 등
  5. 응용 계층

    • 사용자 애플리케이션
    • HTTP, FTP, DNS 등

ARP(Address Resolution Protocol)의 역할

ARP는 TCP/IP 네트워크에서 매우 중요한 역할을 하는 프로토콜입니다. IP 주소(네트워크 계층)를 MAC 주소(데이터 링크 계층)로 변환하는 기능을 제공합니다.

예를 들어, 같은 네트워크 내에서 컴퓨터 A가 컴퓨터 B에게 데이터를 보내려면:
1. A는 B의 IP 주소는 알고 있지만 MAC 주소는 모릅니다
2. A는 네트워크에 ARP 요청을 브로드캐스트합니다 ("IP 주소가 X.X.X.X인 장치의 MAC 주소는?")
3. B는 자신의 MAC 주소를 A에게 응답합니다
4. A는 이 정보를 ARP 캐시에 저장하고 이후 통신에 사용합니다

ARP의 위치에 대해서는 다양한 해석이 있습니다:

  • 네트워크 계층(3계층)의 프로토콜로 보는 관점
  • 데이터 링크 계층(2계층)의 프로토콜로 보는 관점
  • 네트워크 계층과 데이터 링크 계층 사이의 중간 프로토콜로 보는 관점
  • 별도의 계층으로 분리하는 관점

실무적으로는 ARP를 네트워크 계층의 프로토콜로 분류하는 경우가 많지만, 교육 목적에 따라 다르게 분류할 수도 있습니다.

TCP/IP 모델의 다양한 해석

TCP/IP 모델은 OSI 7계층 모델과 달리 국제 표준화 기구에서 엄격하게 정의된 모델이 아니라, 실제 인터넷의 작동 방식을 설명하기 위해 발전한 모델입니다. 따라서 다양한 해석과 분류가 존재합니다.

주요 분류 방식들을 보면:

  1. 전통적인 TCP/IP 4계층 모델:

    • 네트워크 인터페이스 계층
    • 인터넷 계층 (IP)
    • 전송 계층 (TCP/UDP)
    • 응용 계층
  2. 확장된 5계층 모델 (가장 흔한 방식):

    • 물리 계층
    • 데이터 링크 계층
    • 네트워크 계층 (IP)
    • 전송 계층 (TCP/UDP)
    • 응용 계층
  3. ARP를 별도 계층으로 구분한 5계층 모델:

    • 네트워크 인터페이스 계층
    • ARP 계층
    • 인터넷 계층
    • 전송 계층
    • 응용 계층

이런 다양한 분류가 존재하지만, 중요한 것은 각 계층의 역할과 계층 간의 상호작용을 이해하는 것입니다. 특정 분류 방식을 암기하는 것보다 네트워크 통신의 원리를 이해하는 것이 더 중요합니다.

TCP/IP 프로토콜 스위트의 다양한 프로토콜들

TCP/IP 프로토콜 스위트는 단순히 TCP와 IP 두 개의 프로토콜만을 의미하는 것이 아니라, 인터넷과 대부분의 사설 네트워크에서 사용되는 수많은 프로토콜의 집합을 의미합니다. 이 프로토콜들은 각 계층에서 서로 다른 역할을 수행합니다.

응용 계층 프로토콜 (Application Layer)

응용 계층에는 다양한 서비스와 애플리케이션을 지원하는 많은 프로토콜이 있습니다:

  • HTTP/HTTPS: 웹 페이지 전송 프로토콜
  • FTP: 파일 전송 프로토콜
  • SMTP, POP3, IMAP: 이메일 관련 프로토콜
  • DNS: 도메인 이름을 IP 주소로 변환하는 프로토콜
  • SSH: 보안 원격 로그인 및 명령 실행
  • SNMP: 네트워크 관리 프로토콜
  • Telnet: 원격 터미널 접속 프로토콜
  • IRC: 인터넷 채팅 프로토콜
  • BitTorrent: P2P 파일 공유 프로토콜
  • SIP: 음성 및 화상 통화를 위한 시그널링 프로토콜
  • TFTP: 간단한 파일 전송 프로토콜

이 모든 프로토콜은 TCP/IP 스위트의 일부이며, 대부분은 전송 계층의 TCP나 UDP 위에서 동작합니다.

전송 계층 프로토콜 (Transport Layer)

전송 계층에는 TCP와 UDP 외에도 여러 프로토콜이 있습니다:

  • TCP (Transmission Control Protocol): 연결 지향적이고 신뢰성 있는 데이터 전송
  • UDP (User Datagram Protocol): 비연결성, 빠른 데이터그램 전송
  • SCTP (Stream Control Transmission Protocol): 멀티호밍과 멀티스트리밍을 지원하는 신뢰성 있는 전송 프로토콜
  • DCCP (Datagram Congestion Control Protocol): 혼잡 제어 기능이 있는 비연결성 프로토콜
  • IL (Internet Link Protocol): 네트워크 계층에 신뢰성 추가
  • RUDP (Reliable User Datagram Protocol): UDP에 신뢰성을 추가한 프로토콜

이 중 TCP와 UDP가 가장 널리 사용되며, 다른 프로토콜들은 특수한 용도나 환경에서 사용됩니다.

네트워크 계층 프로토콜 (Network Layer)

네트워크 계층의 주요 프로토콜:

  • IP (IPv4, IPv6): 인터넷 프로토콜
  • ICMP: 오류 보고 및 네트워크 진단
  • IGMP: 멀티캐스트 그룹 관리
  • IPsec: IP 통신의 보안을 위한 프로토콜 집합

보안 계층 프로토콜

TCP/IP 스택에는 다양한 계층에 걸쳐 동작하는 보안 프로토콜도 포함됩니다:

  • TLS/SSL: 전송 계층 보안/보안 소켓 계층, HTTP와 함께 사용되어 HTTPS를 구성
  • IPsec: 네트워크 계층에서 작동하는 보안 프로토콜 스위트

실시간 통신 프로토콜

멀티미디어 스트리밍이나 실시간 통신을 위한 프로토콜도 포함됩니다:

  • RTP (Real-time Transport Protocol): 오디오 및 비디오 스트리밍을 위한 프로토콜
  • RTCP (RTP Control Protocol): RTP의 품질 제어 및 모니터링

TCP/IP 스위트는 왜 이렇게 많은 프로토콜을 포함하나요?

인터넷과 네트워크 통신은 단순한 데이터 전송만이 아닌 다양한 서비스와 기능을 제공해야 합니다. 각 프로토콜은 특정 용도나 문제를 해결하기 위해 설계되었습니다:

  1. 다양한 응용 서비스 지원: 웹, 이메일, 파일 전송, 원격 로그인 등
  2. 다양한 통신 요구사항 충족: 신뢰성 있는 통신과 빠른 통신 등
  3. 보안 요구사항 처리: 암호화, 인증, 무결성 검증
  4. 특수한 네트워크 환경 지원: 고속 네트워크, 저지연 통신, 멀티미디어 스트리밍

따라서 TCP/IP라고 할 때는 단순히 TCP와 IP 두 프로토콜만이 아니라, 인터넷과 대부분의 네트워크 통신에서 사용되는 광범위한 프로토콜 집합을 의미합니다. 이 모든 프로토콜은 함께 작동하여 현대 네트워크 통신의 풍부한 기능을 제공합니다.

일단 마치겠습니다

TCP/IP는 인터넷의 근간을 이루는 방대한 프로토콜 집합으로, 네트워크 통신의 기본적인 개념을 이해하는 데 중요한 역할을 합니다. 계층 모델을 통해 복잡한 네트워크 통신을 단순화하여 이해할 수 있으며, 다양한 해석과 분류가 존재하지만 핵심 원리는 동일합니다.

네트워크를 공부하실 때는 특정 모델에 집착하기보다는 각 계층의 역할과 프로토콜의 기능을 이해하는 것이 중요합니다. 이론과 실제 적용 사이의 간극을 이해하고, 다양한 관점에서 네트워크를 바라볼 수 있다면 더욱 깊이 있는 이해가 가능할 것입니다.

너무 많으니까 오늘은 여기까지만 살펴보겠습니다!

0개의 댓글