패킷 통신이란?

  • 데이터를 패킷이라고하는 작은 단위로 나누어 전송하는 방식을 의미합니다.

IP (Internet Protocol) 란?

  • IP는, 패킷 데이터들을 최대한 빨리 특정 목적지 주소로 보내는 프로토콜입니다.
    • 빨리 보내는게 목적이기 때문에,
    • 패킷 전달 여부를 보증하지 않으며, 패킷을 보낸 순서와 받는 순서가 다를 수 있습니다.

TCP (Transmission Control Protocol) 란?

  • 패킷 통신은, 데이터를 작은 단위로 나누어 전송하기 때문에, 순서가 뒤섞이거나 내용이 유실될 수 있다는 단점이 있습니다.
  • 따라서, 이러한 문제를 해결하기 위해 TCP 라는 프로토콜이 존재합니다.
  • TCP는, 패킷을 정상적으로 받을 수 있도록 하는 프로토콜입니다.
    • 꼼꼼하게 보내는게 목적이기 때문에, IP 보다 패킷 전송 속도는 느리지만,
    • 패킷 전달 여부를 보증하고, 패킷을 송신 순서대로 받게 해줍니다.
    • 즉, 목적지에 도착한 패킷들을 순서대로 정렬하고, 손상되거나 손실된 패킷이 있다면, 출발지에 재요청하는 방식으로 진행됩니다.

TCP/IP 란?

  • TCP/IP는 IP(인터넷 프로토콜)와 TCP(전송 조절 프로토콜)의 묶음을 의미합니다.
  • 즉, 두 가지 프로토콜 방식을 조합하여 인터넷 통신하는 것을 TCP/IP 라고 부르는 것입니다.
    • 송신자가 수신자에게 IP 를 사용하여 최대한 빠르게 패킷을 전송하면
    • TCP 를 활용해 패킷을 정상적으로 수신 받습니다.
  • 이렇게 복수의 프로토콜 집합을 프로토콜 스택(Protocol Stack), 혹은 프로토콜 스위트(Protocol Suite)라고 부르며, 서로 다른 프로토콜 스택끼리는 통신 할 수 없습니다.

OSI 7계층과 TCP/IP 4계층 간단 비교

https://blog.kakaocdn.net/dn/YOqHr/btrEumwLV72/v3utDz5FvFpvMy6wqZdk30/img.png

  • OSI 7계층은, 컴퓨터와 간 패킷 통신을 위해 거쳐야하는 7개의 계층을 의미합니다.
  • TCP/IP 4계층은, TCP/IP 프로토콜 통신 과정에 초점을 맞추어, OSI 7계층을 좀 더 단순화 시킨 계층을 의미합니다.
  • 이러한 계층적인 구조는 아래와 같은 특징을 가지고 있습니다.
    • 각 계층별 처리 역할이 다르기 때문에, 계층별 간섭을 최소화할 수 있습니다.
    • 특정 계층에서 문제가 생기면, 해당 계층을 살펴보면 되기 때문에, 유지 보수가 편리합니다.
    • 다른 계층끼리는 데이터의 전달 과정을 구체적으로 알 필요가 없기 때문에, 데이터의 캡슐화와 은닉이 가능합니다.

TCP/IP 4계층의 캡슐화, 역캡슐화

https://blog.kakaocdn.net/dn/V3PaG/btrEtMCw2da/Ki1cjiSeJkaHoQUNtrA2G0/img.png

  • TCP/IP 4계층은, 위 그림과 같이 애플리케이션 계층, 전송 계층, 인터넷 계층, 네트워크 접근 계층으로 이루어져 있습니다.
  • 데이터 전송 시, 데이터는 상위 계층에서 하위 계층으로 이동하고, 계층 이동 마다 필요한 정보(헤더)가 추가됩니다.
    • 이를, 캡슐화라고 합니다.
  • 데이터 수신 시, 데이터는 하위 계층에서 상위 계층으로 이동하고, 계층 이동 마다 추가된 헤더를 읽고 알맞은 행동을 취한 후, 헤더를 제거합니다.
    • 이를, 역캡슐화라고 합니다.
  • 계층 별로 추가되는 헤더는 아래와 같습니다.

    https://blog.kakaocdn.net/dn/ezkpmB/btrEuQjONvp/mc7GW3SNxmypplWwn0zqLK/img.png

4계층 : 애플리케이션 계층(Application Layer)

  • 사용자와 가장 가까운 계층으로, 사용자-소프트웨어 간 소통을 담당하는 계층입니다.
  • 애플리케이션을 실행하기 위한 데이터 형식이 작성됩니다.
  • 프로토콜로는 HTTP, HTTPS, FTP, SSH, Telnet, DNS, SMTP 가 있습니다.

3계층 : 전송 계층(Transport Layer)

  • 통신 노드 간 신뢰성 있는 데이터 전송을 보장하는 계층입니다.
  • 역캡슐화 과정에서, 포트 번호를 사용해 데이터를 정확한 애플리케이션에 전달하는 역할도 합니다.
    • 네트워크 액세스 계층과 인터넷 계층을 통해, 데이터가 목적지 기기까지 정상적으로 도착했다면,
    • 전송 계층은 포트 번호를 사용해, 데이터를 목적지 기기 내 적절한 에플리케이션으로 전달합니다.
  • 프로토콜로는 TCP, UDP, RTP, RTCP 가 있습니다.

2계층 : 인터넷 계층(Internet Layer)

  • 패킷을 최종 목적지까지 라우팅하는 계층입니다.
  • 프로토콜로는 IP, ARP, ICMP, RARP, OSPF 가 사용됩니다.

1계층 : 네트워크 액세스 계층(Network Access Layer or Network Interface Layer)

  • 데이터를 전기신호로 변환한 뒤, 물리적 주소인 MAC 주소를 사용해, 알맞은 기기로 데이터를 전달하는 계층입니다.
  • 프로토콜로는 Ethernet, Wi-Fi, PPP, Token Ring 과 같은 프로토콜이 사용됩니다.

출처) https://wooono.tistory.com/507

서브목차