정보처리기사/프로그래밍 언어 활용
TCP/IP 프로토콜
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