TCP
- IP 프로토콜의 문제점을 해결
- 인터넷 프로토콜 4 계층 그림
프로토콜 계층의 동작 순서
- 데이터를 전달하는 과정을 설명
1. 클라이언트에서 데이터를 전달
2. 데이터를 SOCKET 라이브러를 통해 OS계층에 전달한다.
3. TCP 계층에서 데이터를 포함한 TCP 정보를 생성한다.
4. IP 계층에서 전달 받은 TCP 정보를 IP 패킷으로 생성한다.
5. IP 패킷이 LAN 카드를 통해 나갈 떄 Ethernet Frame 이 포함되어 나간다.
- Ethernet Frame : LAN 카드의 MAC 주소 등 물리적 정보
TCP 정보가 추가되면서 IP의 한계점이 해결되었다.
TCP(전송 제어 프로토콜) 특징
- 연결지향 - 3 way handshake
- 논리적 연결 후 메시지를 보낸다.
- 클라이언트가 서버에게 접속을 요청하는 SYN을 보낸다.
- 서버가 SYN을 받았으면 SYN 과 ACK을 클라이언트에게 보내준다.
- SYN 과 ACK을 받은 클라이언트는 다시 서버에게 ACK을 보낸다.
- 이때 클라이언트와 서버가 연결되었다는 것을 인식한다.
- 데이터의 통신을 한다.
- 데이터 전달 보증
- 패킷이 손실 되어 서버가 메시지를 받지 못한 경우, 클라이언트가 알 수 있다.
- 순서도 보장이 된다.
UDP(사용자 데이터그램 프로토콜) 특징
- 4 way handshake
- 데이터 전달 보장이 안된다.
- 데이터 전달 순서 보장이 안된다.
- 단순하고 빠르다
- IP와 거의 유사하다. PORT, checksum 정도만 추가하면 된다.
- 애플리케이션에서 추가 작업이 필요하다.
참고 : https://hseungyeon.tistory.com/425?category=1060297
'HTTP' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] HTTP 상태코드 (0) | 2022.11.16 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] HTTP 메서드 활용 (0) | 2022.11.15 |
[모든 개발자를 위한 HTTP 웹 기본 지식] HTTP 메서드 (0) | 2022.10.24 |
[모든 개발자를 위한 HTTP 웹 기본 지식] HTTP 기본 (0) | 2022.10.24 |
[모든 개발자를 위한 HTTP 웹 기본 지식] HTTP 기본 - 모든 것이 HTTP, 클라이언트 서버 구조 (0) | 2022.10.08 |
[모든 개발자를 위한 HTTP 웹 기본 지식]URI와 웹 브라우저 요청 흐름 - URI, 웹 브라우저의 요청 흐름 (0) | 2022.10.05 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 인터넷 네트워크 - PORT, DNS (2) | 2022.10.04 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 인터넷 네트워크 - 인터넷 통신, IP(인터넷 프로토콜) (0) | 2022.10.03 |