티스토리 뷰
목차
1. TCP/IP란 무엇인가?
: TCP/IP는 인터넷을 포함한 대부분의 네크워크에서 사용되는 표준 통신 프로토콜 집합이다. 여기서 IP는 주소를 담당하고, TCP는 데이터를 안전하게 보내는 역할을 한다.
OSI 7계층은 이론적 모델이고, TCP/IP 모델은 실제 구현에 사용되는 모델이다.
✅ TCP/IP 4계층 구조
| 계층 | 설명 | 관련 프로토콜 |
| 응용 계층 | 사용자와 가장 가까운 계층(HTTP, FTP, DNS 등) | HTTP, SMTP, DNS |
| 전송 계층 | 데이터의 정확한 전송 보장 | TCP, UDP |
| 인터넷 계층 | 목적지까지의 경로 설정 및 주소 설정 | IP, ICMP |
| 네트워크 액세스 계층 | 물리적인 데이터 전송 | 이더넷, MAC, ARP |
2. TCP vs UDP - 뭐가 다를까?
| 항목 | TCP | UDP |
| 연결 방식 | 연결지향(Connection-oriented) | 비연결지향(Connectionless) |
| 신뢰성 | 높음(전송 보장, 순서 보장) | 낮음 (손실가능) |
| 속도 | 느림 | 빠름 |
| 용도 | 파일 전송, 웹 이메일 | 실시간 스트리밍, 게임, VoIP |
| 특징 | 3-Way Handshake, 흐름 제어, 오류 검출 | 단순 전송, 헤더 작음, 빠름 |
💡 언제 뭘 쓸까?
- TCP : 전송 보장이 중요할 때 -> 웹 브라우징, 파일 다운로드
- UDP : 속도가 중요하고 약간의 손실은 괜찮을 때 -> 게임, 스트리밍
3. TCP의 연결 과정 (3-Way Handshake)
: TCP는 신뢰성 있는 전송을 위해 연결을 맺는 절차가 필요하다. 이것이 3-Way Handshake이다.
💬 시나리오
클라이언트가 서버에 연결 요청을 보내고, 서버가 수락하고, 클라이언트가 확인한다.
🌀 흐름
- SYN (Synchronize)
- 클라이언트가 서버에 연결 요청
- SYN-ACK (Synchronize-Acknowledge)
- 서버가 요청을 수락 + 자신도 연결 요청(SYN + ACK)
- ACK (Acknowledge)
- 클라이언트가 수락 완료 메시지(ACK) -> 연결 완료
Client Server
| ------- SYN --------> |
| <----- SYN + ACK ----- |
| ------- ACK --------> |
| [ 연결 성립 ] |
4. TCP 연결 종료 (4-Way Handshake)
: 연결을 종료할 때는 4단계의 절차를 따른다.
🌀 흐름
- FIN
- 클라이언트가 연결 종료 요청
- ACK
- 서버가 요청 수락
- FIN
- 서버도 연결 종료 요청
- ACK
- 클라이언트가 최종 수락 -> 연결 종료
Client Server
| ------- FIN --------> |
| <------ ACK --------- |
| <------ FIN --------- |
| ------- ACK --------> |
| [ 연결 종료 ] |
5. 데이터가 네트워크에서 어떻게 전송되는가?
: 이제 실제 데이터를 보낼 때 어떤 식으로 패킷이 만들어지고 전송되는지를 살펴보자
✅ 전송 흐름 요약
- 데이터 생성 : 브라우저 등에서 전송할 데이터 생성
- 세분화 (Segmentation) : TCP가 데이터를 작은 패킷으로 분할
- 패킷에 헤더 추가
- TCP 헤더 : 포트 번호, 순서, 체크섬 등 포함
- IP 헤더 : 발신지 IP, 수신지 IP 포함
- 패킷 전송 : 데이터는 라우터, 스위치 등을 거쳐 목적지로 전달됨
- 데이터 수신 및 재조립 : 수신 측에서 순서대로 조립
- 응답 처리 : ACK를 통해 수신 확인
💡 예시 : HTTP 요청 전송 시 흐름
[HTTP 요청 데이터]
↓ 응용 계층
[TCP로 분할 + TCP 헤더 추가]
↓ 전송 계층
[IP 헤더 추가]
↓ 인터넷 계층
[MAC 주소 추가]
↓ 링크 계층
[전기 신호로 변환]
↓ 물리 계층
→ 네트워크 전송
📌 마무리
- TCP/IP는 실제 네트워크 통신의 핵심 구조이며, IP는 주소를, TCP는 신뢰성을 담당한다.
- TCP는 연결지향, UDP는 비연결지향으로 각각의 특징과 쓰임새가 다르다.
- 3-Way / 4-Way Handshake는 TCP의 연결/종료 메커니즘으로서 네트워크 안정성을 보장한다.
- 데이터를 보낼 때는 헤더를 단계별로 감싸는 캡슐화(Encapsulation)가 이루어진다.
- 이러한 과정 덕분에 우리는 웹사이트에 접속하고, 파일을 주고받고, 게임을 원활하게 즐길 수 있다.
🔜 다음 포스팅에서는 "DNS가 도대체 뭔데 www.goole.com을 을 입력할 수 있는 걸까?" 라는 궁금증을 해고해줄 예정이다.
- 도메인 -> IP 주소로 변환되는 과정
- DNS 서버 구조
- 로컬 캐시, 루트 네임서버, 재귀적 질의
'IT > Network' 카테고리의 다른 글
| 🔐 쿠키, 세션, 토큰 인증의 모든 것 - 상태 없는 웹에서 사용자 인증은 어떻게 가능한가? (1) | 2025.04.09 |
|---|---|
| HTTP 프로토콜 완전 정복 - OSI 7계층과 TCP 위에서의 동작 방식 (0) | 2025.04.08 |
| DNS와 도메인의 세계 - 도메인이 어떻게 IP로 바뀌는가? (0) | 2025.04.07 |
| REST, RESTful API (0) | 2025.03.17 |