TCP & UDP
인터넷 프로토콜 스택의 4계층
인터넷 프로토콜 스택의 4계층 |
---|
애플리케이션 계층 - HTTP, FTP |
전송 계층 - TCP, UDP |
인터넷 계층 - IP |
네트워크 인터페이스 계층 |
프로토콜 계층
- 프로그램이 Hello 메시지 생성
- SOCKET 라이브러리를 통해 전달
- TCP 정보 생성, 메시지 데이터 포함
- IP 패킷 생성, TCP 데이터 포함
TCP / IP 패킷 정보 - IP 문제 해결
TCP
전송 제어 프로토콜 (Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결) - 연결 후 작동
- 데이터 전달 보증 - 패킷 누락 확인 가능
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재 대부분 TCP 사용
TCP 3 way handshake
- SYN (synchronize) : 접속 요청
- ACK : 요청 수락
- 참고: 3. ACK 와 함께 데이터 전송 가능
- 개념적으로 연결된 가상 연결
데이터 전달 보증
- 데이터 전송 후 서버 응답을 보고 전달 여부 확인 가능
순서 보장
- TCP / IP 패킷 순서 정보로 서버가 판단 후 클라이언트에 재요청
UDP
사용자 데이터그램 프로토콜 (User Datagram Protocol)
- 하얀 도화지에 비유 (기능이 거의 없다.)
- 연결 지향 ❌
- 데이터 전달 보증 ❌
- 순서 보장 ❌
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
- IP 와 거의 같다. + PORT + 체크섬 정도 추가
- 애플리케이션에서 추가 작업 필요