728x90
TCP와 UDP는 전송 계층의 프로토콜로 데이터를 패킷으로 분할하여 네트워크를 통해 전송하는 역할을 함
가장 큰 차이점은 신뢰성
TCP
연결지향적인 프로토콜
3 way handshake 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장
패킷 순서 보장
UDP보다 느림
주로 웹 브라우징, 이메일 등에 사용됨
UDP
비연결지향적인 프로토콜
데이터의 순서를 보장하지 않기 때문에 신뢰성이 떨어지지만, 통신 속도가 빠름
주로 스트리밍 서비스, 온라인 게임 등에 사용됨
3-way handshake
TCP 네트워크에서 통신하는 장치가 서로 연결이 잘 됐는지 확인하는 방법 (연결 수립 과정)
TCP는 이 과정이 있기 때문에 신뢰성 있는 계층 (UDP는 없어서 신뢰성 X)
1. SYN 단계
- 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냄
- ISN : 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호
- SYN : Synchronize Sequence Number (연결 요청)
2. SYN + ACK 단계
- ACK : Acknowledgement (승인)
- 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며, 승인 번호로 클라이언트의 ISN + 1을 보냄
3. ACK 단계
- 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보냄
이렇게 클라이언트와 서버가 3번의 패킷을 주고받으면 두 프로그램은 데이터를 송수신할 수 있는 상태가 됨
728x90
'Network' 카테고리의 다른 글
HTTP & HTTPS (+ SSL/TLS) (0) | 2024.08.12 |
---|---|
IP | 서브넷 마스크 | ARP & RARP (2) | 2024.08.11 |
TCP/IP vs OSI 7계층 (0) | 2024.08.11 |
네트워크 기초 (0) | 2024.08.11 |