http-web-basic-2
인터넷 네트워크
- TCP
- UDP
인터넷 프로토콜 스택의 4계층
인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 모음
- 어플리케이션 계층 : 프로세스간 통신을 담당. 예) HTTP, FTP, TLS/SSL
- 전송 계층 : 송신자와 수신자를 연결하는 서비스에 대한 정보를 담당
- 인터넷 계층 : 패킷을 목적지로 전송하기 위한 정보를 담당
- 네트워크 인터페이스 계층 : LAN드라이버, LAN 장비등을 통해 물리적 전송을 담당
프로토콜 계층
TCP
전송 제어 프로토콜(Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결) 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜 현재는 대부분 TCP 사용
TCP 3 way handshake
Data Transfer
Data Order
UDP
사용자 데이터그램 프로토콜(User Datagram Protocol)
- 하얀 도화지에 비유(기능이 거의 없음)
- 연결지향 - TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
HTTP/3
퀵(QUIC; Quick UDP Internet Connection)로 UDP를 사용하여 인터넷 연결을 하는 프로토콜이다.
HTTP(Hyper Text Transfer Protocol)의 3번째 프로토콜이다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. 클라이언트인 웹 브라우저가 이 프로토콜을 통해 서버로부터 웹 페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 되고, 이 정보가 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP/3은 처음에는 HTTP-over-QUIC 이라는 이름을 가지고 있었다. 즉, QUIC 프로토콜 위에서 돌아가는 HTTP이다.
TCP vs UDP
- TCP는 Connection 지향이며, UDP는 Connectionless 프로토콜이다.
- TCP는 전송 된 정보의 확인을 위해 유용한 데이터를 전송할 때 높은 신뢰성을 제공한다. 그리고 손실 패킷이있는 경우이를 다시 보낸다. UDP의 경우 패킷이 손실되면 재전송을 요구하지 않고 대상 컴퓨터가 손상된 데이터를 수신한다. 따라서 UDP는 신뢰할 수 없는 프로토콜이다.
- TCP는 데이터를 전송하기 전에 TCP가 연결을 설정하고 패킷의 적절한 전달을 보장하므로 UDP와 비교할 때 속도가 느리다. 반면에 UDP는 전송 된 데이터가 수신되었는지 여부를 확인하지 않는다.
- UDP의 헤더 크기는 8 바이트이며 TCP의 헤더 크기는 두 배 이상이다. TCP 헤더 크기는 20 바이트이므로 TCP 헤더에는 옵션, 채우기, 체크섬, 플래그, 데이터 오프셋, 확인 번호, 시퀀스 번호, 원본 및 대상 포트 등이 포함된다.
- TCP와 UDP는 모두 오류를 검사 할 수 있지만 TCP만이 정체와 흐름 제어를 모두 가지고 있으므로 오류를 수정할 수 있다.
비교 | TCP | UDP |
---|---|---|
의미 | TCP는 데이터를 전송하기 전에 컴퓨터간에 연결을 설정합니다. | UDP는 시스템이 수신 준비가되었는지 여부를 확인하지 않고 대상 컴퓨터에 직접 데이터를 보냅니다. |
확장 대상 | 전송 제어 프로토콜 | 사용자 데이터 그램 프로토콜 |
연결 타입 | 연결 지향 | 연결이 적음 |
속도 | 느린 | 빠른 |
신뢰할 수 있음 | 높은 신뢰성 | 신뢰할 수 없는 |
헤더 크기 | 20 바이트 | 8 바이트 |
승인 | 사용자의 요청이있을 경우 데이터 확인 및 전송 재전송 기능이 있습니다. | 수신 확인도 걸리지도 않고 손실 된 데이터를 다시 전송하지도 않습니다. |