반응형
IP 프로토콜의 한계 :
- 비연결성 : 서버와 연결이 끊겨도 계속 데이터를 보낸다.
- 비신뢰성 : 데이터의 순서가 바뀌거나, 사라져도 이상감지를 하지 못한다.
TCP 프로토콜 :
TCP프로토콜은 IP프로토콜보다 더 높은 계층에 존재하기에 IP프로토콜의 한계를 보완할 수 있다.
TCP/IP 패킷 정보
TCP세그먼트에는 패킷에 대한 부가정보들이 들어있는데, 이를 토대로 패킷이 순서대로 왔는지, 누락된게 없는지 등등을 알 수 있다.
TCP 세그먼트에는 IP 패킷의 출발지 IP와 목적지 IP를 보완할 수 있는 출발지 PORT, 목적지 PORT, 전송 제어, 전송 순서, 검증 정보등을 포함한다. 이를 통해 데이터의 순서가 바뀌거나 누락되는 등 이상이 생기면 TCP 세그먼트를 토대로 다시 패킷 전송을 요청한다.
TCP 특징
- 연결 지항 `TCP 3way handshake` (물리적으로 연결되어있지 않은, 가상연결임)
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
TCP 3way handshake
- 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다.
- 서버는 SYN 요청을 받고 클라이언트에게 요청 수락의 의미로 ACK와 SYN이 설정된 패킷을 발송하고 클라이언트의 ACK응답을 기다린다.
- 클라이언트가 서버에게 ACK를 보내면 이 이후로 연결이 성립되며 데이터를 전송할 수 있다.(현대에는 최적화가 이루어져 이때에 ACK를 보내면서 데이터를 함께 보내기도 한다.)
UDP
- IP프로토콜에 PORT, 체크섬필드 정보만 추가된 단순한 프로토콜이다.
( 체크섬(checksum) : 중복검사의 한 형태인데 오류정정을 통해 송신된 자료의 무결성을 보호하는 단순한 방법이다.)
3 way handshake
방식을 사용하지 않기 때문에 TCP보다 빠르지만 신뢰성은 낮다. => 신뢰성보다 연속성이 중요한 서비스에 사용(실시간 스트리밍)
- HTTP3는 UDP를 사용한다. 이미 여러 기능이 구현된 TCP에 반해, 하얀 도화지같은 UDP는 커스터마이징이 가능하다는 장점이 있다.
반응형
'개발 > 브라우저와 네트워크' 카테고리의 다른 글
Accept 헤더 (콘텐츠 협상 헤더) 그리고 Content-type과의 차이 (0) | 2021.10.28 |
---|---|
HTTP 자주 쓰이는 헤더들 (0) | 2021.10.28 |
Session (0) | 2021.10.24 |
쿠키 (0) | 2021.10.23 |
Location header (0) | 2021.10.23 |