인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층
TCP 특징
전송 제어 프로토콜(Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 사용
TCP 3 way handshake
- 클라이언트에서 먼저 서버에 연결 요청을 한다.
- 서버도 들어온 연결 요청을 받은 뒤, 클라이언트에게 연결 요청을 한다.
- 그러면, 클라이언트는 서버로부터 답변을 받고 서버와 연결된다.
- 연결이 완료되면, 데이터 전송을 할 수 있다.
데이터 전달 보증
- 데이터를 전송하면, 데이터를 잘 받았다는 응답을 보내준다.
순서 보장
- 순서가 올바르지 않으면, 순서가 잘못된 부분부터 다시 보내라고 한다.
위의 3가지 내용이 가능한 이유
- TCP 세그먼트 안에 전송 제어, 순서, 검증 정보 등과 같이 다양한 정보가 존재하기 때문이다.
UDP
사용자 데이터그램 프로토콜(User Datagram protocol)
- 기능이 거의 없음
- 연결 지향 : TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 정리
- IP와 거의 동일하나, PORT(어떤 용도로 사용하는지 구분할 때), 체크섬(검증해주는 데이터) 정도만 추가
- 애플리케이션에서 추가 작업 필요
Reference
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/