-
TCP / IPStudy/TCP-IP 2024. 12. 25.
[ TCP/IP ]
인터넷과 네트워크에서 사용되는 프로토콜 스택으로, 데이터가 신뢰성 있고 효율적으로 전송되도록 설계된 표준 규칙들의 집합
TCP : Transmission Control Protcol
- 데이터가 신뢰성 있게 전달되도록 보장
- 데이터 손실 여부 확인 및 재전송, 데이터 순서 보장, 흐름 제어 등을 담당
IP : Internet Protocol
- 데이터가 어디로 가야하는지를 결정
- 주소 지정과 라우팅을 담당하며, 출발지와 목적지의 IP 주소를 포함한 패킷을 생성
IP는 데이터를 목적지로 라우팅하고, TCP는 데이터를 신뢰성 있게 전송
이 두 프로토콜이 결합하여 인터넷과 네트워크 통신을 가능하게 만든다.
** TCP/IP 는 사실 네트워크 통신을 위한 여러 프로토콜의 집합(스택) 이다. **
ex. HTTP, FTP, SMTP, UDP, ARP, ICMP 등
[ TCP/IP 의 주요 계층 ]
TCP/IP는 계층화된 구조를 가지고 있으며, 각 계층은 독립적으로 동작하면서 데이터 송수신을 처리
1. 응용 계층 (Application Layer)
- 사용자가 직접 사용하는 애플리케이션과 연결된 계층으로, 데이터를 주고받기 위한 프로토콜을 제공
ex. HTTP, FTP, SMTP, DNS
2. 전송 계층 (Transport Layer)
- 데이터를 분할하고, 신뢰성을 보장하며, 송수신 사이의 논리적 연결을 설정
- TCP : 연결 기반, 신뢰성 보장
- UDP : 연결 없음, 빠르고 간단한 전송
3. 인터넷 계층 (Internet Layer)
- 데이터가 IP 주소를 기반으로 목적지까지 전달
- IP : 패킷 주소 지정 및 경로 설정(라우팅)
- 기타 : ICMP(에러 메시지), ARP(주소 변환)
4. 네트워크 인터페이스 계층 (Link Layer)
- 물리적 네트워크 연결(ex. 이더넷, wi-fi)을 통해 데이터를 전송
[ TCP/IP 통신 과정 ]
1. 데이터 캡슐화 (송신 측)
데이터가 각 계층을 거치면서 헤더가 추가된다.
- 응용 계층 : 사용자가 요청한 데이터를 생성 (ex. HTTP 요청)
- 전송 계층 : 데이터 분할, TCP 헤더 추가 (포트 정보 포함)
- 인터넷 계층 : IP 헤더 추가 (출발지/목적지 IP 주소 포함)
- 네트워크 계층 : 데이터에 물리적 주소(MAC) 추가 및 전송
2. 데이터 전송
패킷이 네트워크를 통해 라우팅되어 목적지로 전송
3. 데이터 디캡슐화 (수신 측)
수신 측에서 데이터를 역으로 계층별로 처리하여 최종적으로 원본 데이터를 응용 계층에 전달
[ TCP 통신의 특징 ]
TCP는 신뢰성을 보장하는 연결 기반 프로토콜로, 데이터 전송 과정에서 다음을 수행
1. 3-Way Handshake (연결 설정)
- SYN -> SYN-ACK -> ACK 과정을 통해 논리적 연결을 설정
2. 데이터 전송
- 데이터 손실 방지를 위해 수신 확인(ACK) 및 재전송
- 데이터가 순서대로 도착하도록 보장
3. 4-Way Handshake (연결 종료)
- FIN -> ACK -> FIN -> ACK
'Study > TCP-IP' 카테고리의 다른 글
[Spring Integration] CachingClientConnectionFactory - singleUse (0) 2025.02.03 로컬 주소는 Timeout 시간 설정이 되지 않는다?? (0) 2024.12.31 Java Socket vs Spring Integration vs Netty (0) 2024.12.29 TCP/IP 4계층 vs OSI 7계층 (1) 2024.12.26