반응형
# 모든 개발자를 위한 HTTP 웹 기본 지식 학습
# TCP, UDP
## 인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층 - HTTP, FTP
- 전송 계층 - TCP, UDP
- 인터넷 계층 - IP
- 네트워크 인터페이스 계층
## 프로토콜 계층
- 외국에 있는 친구와 채팅을 한다고 가정할 때..
- 메시지를 생성하여 SOCKET 라이브러리를 통해 전달
- TCP 정보를 생성(메시지 데이터 포함)
- IP 패킷 생성(TCP 데이터 포함)
- 네트워크 인터페이스의 LAN 카드를 통해 이더넷 프레임을 포함하여 보내진다.
## IP 패킷 정보
- 출발지 IP, 목적지 IP, 전송 데이터를 포함
## TCP/IP 패킷 정보
- IP패킷에 TCP 관련 정보 포함
- TCP 관련 정보 : 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등
- TCP 관련 정보가 포함되어 IP 만으로 해결하지 못했던 순서 제어 문제 등을 해결할 수 있게 된다.
## TCP의 특징
- TCP (Transmission Control Protocol : 전송 제어 프로토콜)
1. 연결지향 - TCP 3 way handshake(가상 연결)
2. 데이터 전달 보증
3. 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
### TCP의 특징 - 1. 연결지향 TCP 3 way handshake
SYN : 접속 요청
ACK : 요청 수락
- 연결 과정(connect)을 살펴 보면..
- 클라이언트에서 서버로 SYN 메시지 전송
- 서버에서는 SYN + ACK 메시지를 클라이언트에게 전송
- 그러면 클라이언트는 서버로 ACK 전송 (요즘엔 최적화가 되서 이때 데이터 전송하기도 함)
- TCP 3 way handshake(3번 주고받아)로 연결이 되고 나면 최종적으로 데이터 전송
- 하지만, TCP 3 way handshake는 논리적으로 연결 된 것일 뿐.
### TCP의 특징 - 2. 데이터 전달 보증
- 클라이언트가 서버에 데이터 전송
- 그러면 서버에서 클라이언트에게 데이터를 받았다는 응답을 전달
- 만약, 응답이 없을 경우엔 문제가 있다는걸 인지 가능
### TCP의 특징 - 3. 순서 보장
- 클라이언트가 패킷1, 2, 3 순서로 서버에 전송
- 서버에 패킷이 보낸 순서대로 전송된 것이 아닌 패킷 1, 3, 2 같은 순서로 도착했다면(문제발생)
- 패킷 2부터 다시 보내도록 서버에서 클라이언트에 요청하여 순서가 보장된다.
## UDP 특징
- UDP (User Datagram Protocol : 사용자 데이터그램 프로토콜)
- 하얀 도화지에 비유(기능이 거의 없음)
- 연결지향, 데이터 전달 보증, 순서 보장하지 않음
- IP와 거의 비슷하지만 + PORT + 체크섬(검증) 정도만 추가
- 애플리케이션에서 추가 작업이 필요하다.
- 단순하고 빠르다.
출처 : 인프런 모든 개발자를 위한 HTTP 웹 기본 지식
반응형
'인프런 강의 학습 > HTTP 기본 지식' 카테고리의 다른 글
HTTP 웹 기본 지식 6일차 (0) | 2020.12.29 |
---|---|
HTTP 웹 기본 지식 5일차 (0) | 2020.12.28 |
HTTP 웹 기본 지식 4일차 (0) | 2020.12.27 |
HTTP 웹 기본 지식 3일차 (0) | 2020.12.25 |
HTTP 웹 기본 지식 1일차 (0) | 2020.12.23 |