TCP / IP 란?
제로코딩
·2022. 6. 29. 14:32
✋ TCP / IP 란?
TCP/IP(Transmission Control Protocol/Internet Protocol)는 데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약입니다.
TCP / IP는 두가지 프로토콜로 이루어져 있으며 인터넷의 기본 통신 언어입니다.
IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있습니다(Unreliable datagram service). TCP는 IP에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해줍니다.
⚡️ TCP 란
최상위 계층인 TCP는 많은 양의 데이터를 가져 와서 패킷으로 컴파일 한 다음
동료 TCP 계층에서 수신하도록 전송하여 패킷을 유용한 정보 / 데이터로 바꾸는 역할을 합니다.
TCP는 전달받은 패킷을 재조립하고, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청하는 패킷을 전송하여 재전송 받습니다.
※ 패킷 : 데이터를 일정한 크기로 자른 단위로 인터넷에서 정보를 전달하는 단위
2022.06.29 - [CS 지식] - TCP와 UDP의 개념, 특징, 차이
⚡️ IP
IP는 Internet Protocol의 줄임말입니다.
인터넷에서 컴퓨터의 위치를 찾아서 데이터를 전송하기 위해 지켜야 할 프로토콜입니다.
전 세계 수억대의 컴퓨터가 인터넷을 하기 위해서는 서로의 정체를 알 수 있도록 특별한 주소를 부여했는데 이 주소를 IP주소라고 합니다.IP는 4개의 숫자로 구성되며 숫자의 크기에 따라 IPv4(32비트, 각 숫자는 1바이트), IPv6(128비트, 각 숫자는 4바이트)로 나뉩니다. 맨 아래 계층인 IP는 올바른 목적지를 찾는 역할을 합니다.
⚡️ TCP / IP 4계층
TCP/IP가 많이 사용되면서 OSI 7계층을 추상화 한 TCP/IP 4계층이 등장했습니다.
4계층에는 다음과 같은 4개의 층이 있습니다.
- 네트워크 엑세스 계층(물리계층, 데이터링크계층)
- 인터넷 계층
- 전송 계층
- 응용 계층
1. 네트워크 액세스 계층(Network Access Layer)
OSI의 1,2계층에 해당되며, 물리적 주소인 MAC 주소를 이용하여 패킷을 보낼 곳을 판단합니다. 여기에 사용되는 프로토콜로 ARP 등이 해당하며, 스위치와 허브 등이 이 계층에 해당됩니다. 스위치와 라우터의 차이로는 라우터는 IP를 이용한 OSI 3계층에서 동작하는 장비이고, 스위치는 MAC을 이용한 OSI 2계층에 해당하는 장비입니다.
- OSI 7계층의 물리계층과 데이터 링크 계층에 해당
- TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받음
- 네트워크 접근 방법에 대해 독립적으로 동작하도록 설계
- 물리적인 주소로 MAC을 사용
- LAN, 패킷망, 등에 사용됨
2. Internet Layer
OSI에서 3계층에 해당하며, 논리적 주소인 IP를 이용한 노드간 전송과 라우팅 기능을 처리합니다. 네트워크 상 최종 목적지까지 정확하게 연결되도록 연결성을 제공합니다. 라우터가 이 계층에 해당합니다. 인터넷 계층은 Addressing, Packaging, Routing 기능을 제공합니다. 인터넷 계층의 핵심 프로토콜은 IP, ARP, ICMP, IGMP 등입니다.
- OSI 7계층의 네트워크 계층에 해당
- 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
3. Transport Layer
OSI 7계층의 3,4계층에 해당되며, 데이터의 송수신을 담당합니다. TCP/UDP에 대한 구분을 하고 데이터에 대한 제어정보를 담당합니다. Transport 계층은 (Host-to-Host Transport Layer라고도 하는데) Application Layer에 Session과 Datagram 통신 서비스를 제공합니다. 핵심 Protocol은 TCP와 UDP(User Datagram Protocol).
4. Application Layer
OSI 7계층에서 5,6,7 계층에 해당되며, 프로그램에서 소켓을 생성하여 원하는 메시지 혹은 데이터를 전송하게 되는데, 이를 응용 계층입니다. 즉 프로그램은 소켓 생성을 운영체제에 요청하게 되고, 해당 요청을 운영체제에서 처리합니다.
애플리케이션 계층은 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공하고 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜입니다.
- TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
- 프로토콜 종류 – FTP, HTTP, SSH, SMTP, Telnet, DNS
📌 번외: 프로토콜이란?
컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신을 해야 합니다.
어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떤 언어로 이야기할지 규칙을 결정할 필요가 있습니다.
서로다른 하드웨어와 운영체제 등이 서로 통신을 하기위해 모든 요소에 규칙이 필요합니다. 이런 규칙을 프로토콜이라고 부릅니다.
📌 번외: ARP 란?
IP 패킷이 이더넷처럼 공유 액세스, 브로드캐스트 기반의 네트워크 기술로 전달된다면, IP 주소에 해당하는 MAC(Media Access Control) 주소를 반드시 알아야 합니다. ARP는 IP 주소를 그에 해당하는 MAC 주소로 변환하기 위해 사용되는 프로토콜입니다.
ARP(Address Resolution Protocol)은 Internet Layer 주소를 Network Interface Layer의 주소(하드웨어 주소와 같은)로 변환하는 역할을 담당합니다.
'Computer Science' 카테고리의 다른 글
서버 프로그램 구현에 대해 (0) | 2022.07.08 |
---|---|
HashMap, HashSet에 대하여 (0) | 2022.07.05 |
데이터 모델링 절차에 관하여 (0) | 2022.07.04 |
C언어 왜 공부해야 하는가? (0) | 2022.07.03 |
TCP와 UDP의 개념, 특징, 차이 (0) | 2022.06.29 |