패킷 통신이란?
- 데이터를 패킷이라고하는 작은 단위로 나누어 전송하는 방식을 의미합니다.
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계층 간단 비교
- OSI 7계층은, 컴퓨터와 간 패킷 통신을 위해 거쳐야하는 7개의 계층을 의미합니다.
- TCP/IP 4계층은, TCP/IP 프로토콜 통신 과정에 초점을 맞추어, OSI 7계층을 좀 더 단순화 시킨 계층을 의미합니다.
- 이러한 계층적인 구조는 아래와 같은 특징을 가지고 있습니다.
- 각 계층별 처리 역할이 다르기 때문에, 계층별 간섭을 최소화할 수 있습니다.
- 특정 계층에서 문제가 생기면, 해당 계층을 살펴보면 되기 때문에, 유지 보수가 편리합니다.
- 다른 계층끼리는 데이터의 전달 과정을 구체적으로 알 필요가 없기 때문에, 데이터의 캡슐화와 은닉이 가능합니다.
TCP/IP 4계층의 캡슐화, 역캡슐화
- TCP/IP 4계층은, 위 그림과 같이 애플리케이션 계층, 전송 계층, 인터넷 계층, 네트워크 접근 계층으로 이루어져 있습니다.
- 데이터 전송 시, 데이터는 상위 계층에서 하위 계층으로 이동하고, 계층 이동 마다 필요한 정보(헤더)가 추가됩니다.
- 이를, 캡슐화라고 합니다.
- 데이터 수신 시, 데이터는 하위 계층에서 상위 계층으로 이동하고, 계층 이동 마다 추가된 헤더를 읽고 알맞은 행동을 취한 후, 헤더를 제거합니다.
- 이를, 역캡슐화라고 합니다.
-
계층 별로 추가되는 헤더는 아래와 같습니다.
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
서브목차