jhwannabe 2023. 8. 5. 14:42

TCP / IP 프로토콜의 개념

TCP / IP(Transmission Contraol Protocol / Internet Protocol)

  • 인터넷에 연결된 서로 다른 기종의 컴퓨터 간에 데이터 송수신이 가능하도록 도와주는 표준 프로토콜
  • TCP 프로토콜과 IP 프로토콜의 결합적 의미로서 TCP가 IP보다 상위층에 존재함
  • 접속형 서비스, 전이중 전송 서비스, 신뢰성 서비스를 제공함
  • 네트워크 환경에 따라 여러 개의 프로토콜을 허용함
  • TCP 프로토콜의 기본 헤더 크기는 20 byte이고 60 byte까지 확장 가능함
  • OSI 표준 프로토콜과 가까운 네트워크 구조를 가짐

TCP (Transmission Control Protocol)

  • OSI 7계층의 전송 계층의 역할을 수행함
  • 서비스 처리를 위해 Multiplexing과 De-Multiplexing을 이용함
  • 전이중 서비스와 스트림 데이터 서비스를 제공함

IP (Internet Protocol)

  • OSI 7계층의 네트워크 계층에 해당하며 비신뢰성 서비스를 제공함
  • 신뢰성이 부족한 비연결형 서비스를 제공하기 때문에 상위 프로토콜에서 이러한 단점을 보완해야 함

IP 프로토콜에서 사용하는 필드

  • Header Length(4bit) : IP 헤더 뒷부분에 옵션 필드가 여럿 붙을 수 있어 길이는 가변적임
  • Total Packet Length(16bit) : 전체 패킷의 길이를 바이트 단위로 표시함, 길이는 헤더와 데이터(페이로드)를 더한 것. IP 헤더 및 데이터를 포함한 IP 패킷 전체의 길이를 바이트 단위로 표시함. 최대 값은 65535임
  • Time To Live(8bit) : 패킷을 전달할 수 있는 횟수 제한을 나타냄

 

TCP / IP의 구조

링크 계층 (Link Layer)

  • 프레임을 송수신함
  • 프로토콜 종류 : Ethernet, IEEE802, HDLC, X.25, RS-232C 등

인터넷 계층 (Internet Layer)

  • 주소 지정, 경로 설정을 제공함
  • 네트워크 계층이라고도 함
  • 프로토콜 종류 : IP, ICMP, IGMP, ARP, RARP 등
IP
(Internet Protocol)
- 비 연결형 및 비신뢰성 전송 서비스를 제공함
- 라우팅과 단편화 기능을 수행함
- 데이터그램(Datagram)이라는 데이터 전송 형식을 가짐
- 각 데이터그램이 독립적으로 처리되고 목적지까지 다른 경로를 통해 전송될 수 있어 데이터그램은 전송 순서와 도착 순서가 다를 수 있음
- 비연결성이기 때문에 송신지가 여러 개인 데이터그램을 보내면서 순서가 뒤바뀌어 도달할 수 있으며 IP 프로토콜의 헤더 길이는 최소 20~60 byte임
ICMP
(Internet Control
Message Protocol)
- IP 프로토콜에서는 오류 보고와 수정을 위한 메커니즘이 없기 때문에 이름 보완하기 위해 설계된 프로토콜임
- 메시지는 크게 오류 보고(Error-Reporting) 메세지와 질의(Query) 메시지로 나눌 수 있음
- 메시지 형식은 8 byte의 헤더와 가변 길이의 데이터 영역으로 분리됨
- 에코 메시지는 호스트가 정상적으로 동작하는지를 결정하는데 사용할 수 있음
IGMP
(Internet Group
Management Protocol)
- 시작지 호스트에서 여러 목적지 호스트로 데이터를 전송할 때 사용되는 프로토콜
- 멀티캐스트 그룹에 가입한 네트워크 내의 호스트를 관리함
ARP
(Address Resolution Protocol)
- 논리 주소(IP 주소)를 물리 주소(MAC 주소)로 변환하는 프로토콜
-네트워크에서 두 호스트가 성공적으로 통신하기 위하여 각 하드웨어의 물리적인 주소 문제를 해결해 줄 수 있음
RARP
(Reverse Address
Resolution Protocol)
- 호스트의 물리 주소(MAC 주소)로부터 논리 주소(IP 주소)를 구하는 프로토콜
- IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우, 서버에게 IP 주소를 요청하기 위해 사용됨

전송 계층 (Transport Layer)

  • 호스트 간 신뢰성 있는 통신을 제공함
  • 프로토콜 종류 : TCP, UDP
TCP
(Transmission
Control Protocol)
- 신뢰성 있는 연결 지향형 전달 서비스를 제공함
- 순서 제어, 에러 제어, 흐름 제어 기능을 제공함
- 전이중 서비스와 스트림 데이터 서비스를 제공함
- 메시지를 캡슐화(Encapsulation)와 역캡슐화(Decapsulation)함
- 서비스 처리를 위해 다중화(Multiplexing)와 역다중화(Demultiplexing)를 이용함
UDP
(User Datagram
Protocol)
- 비연결형 및 비신뢰성 전송 서비스를 제공함
- 흐름제어나 순서 제어가 없어 전송 속도가 빠름
- 수신된 데이터의 순서 재조정 기능을 지원하지 않음
- 복구 기능을 제공하지 않음

응용 계층 (Application Layer)

  • 응용 프로그램 간의 데이터 송수신을 제공함
  • 프로토콜 종류 : FTP, SMTP, SNMP, Telnet 등
728x90