TCP와 UDP
둘 다 인터넷 프로토콜에서 사용하는 주요 전송 계층 프로토콜이다.
특징 | TCP(Transmission Control Protocol) | UDP(User Datagram Protocol) |
연결 방식 | 연결 지향 | 비연결형 |
신뢰성 | 신뢰성 보장(재전송, 오류 검출 및 수정) | 신뢰성 미보장 |
흐름 및 혼잡 제어 | O | X |
패킷 순서 보장 | O | X |
오버헤드 | 높다(헤더 크기 및 처리 비용 큼) | 낮다(헤더 크기 및 처리 비용 작음) |
속도 | 느리다 | 빠르다 |
사용 사례 | HTTP/HTTPS, FTP, SMTP, 이메일 | 실시간 스트리밍, VoIP, 온라인 게임 |
패킷 전송 방식 | 일대일 통신 | 일대일, 일대다(브로드캐스트 / 멀티캐스트) |
TCP 통신에서는 Broadcast를 할 수 있을까?
결론부터 말하자면 불가능하다.
TCP 통신에서 브로드캐스트가 불가능한 이유는 TCP의 연결 지향적 특성 때문이다.
이를 이해하려면 "Handshake", "TCP 통신의 기본 개념"과 "브로드캐스트"에 대해 알아야 한다.
Handshake의 정의와 필요성
통신을 시작하기 전에 두 통신 주체가 서로를 인식하고, 연결을 설정하는 과정이다.
TCP 통신에서는 3-Way handshake라는 절차를 거치며, 안정적인 연결을 설정한다.
- SYN: 클라이언트가 서버에 연결을 요청하는 패킷을 보낸다.
- SYN-ACK: 서버가 이 요청을 받고, 클라이언트에게 응답한다.
- ACK: 클라이언트가 서버의 응답을 확인하고, 연결이 성립된다.
이 절차를 통해 TCP는 데이터 전송 전에 양쪽이 연결 상태에 있음을 확인하고, 신뢰성 있는 데이터 전송을 위한 준비를 한다.
TCP 통신의 정의
신뢰성 있는 데이터 전송을 위해 설계된 연결 지향형 프로토콜이다.
이때 3-Way handshake를 이용하여 서로간의 안정적인 연결을 유지하며, 신뢰성있는 양방향 통신을 제공한다.
Broadcast의 정의

네트워크 통신에서 한 장치가 동일한 데이터를 네트워크의 모든 장치에게 전송하는 방식이다.
브로드캐스트는 수신자를 특정하지 않고, 네트워크에 연결된 모든 장치가 메시지를 수신할 수 있도록 한다.
그래서 TCP에서 Broadcast가 왜 불가능할까?
TCP는 연결 지향적 프로토콜로, 통신을 시작하기 전에 개별적인 송신자와 수신자 간에 연결을 설정하는 과정을 요구한다.
이 연결 설정 과정에서, TCP는 특정 수신자와의 1:1 통신을 염두에 두고 설계되었다.
따라서 네트워크 상의 모든 장치와 동시에 연결을 설정하고 데이터를 전송하는 브로드캐스트 통신 방식과는 근본적으로 맞지 않다.
브로드캐스트는 수신자와의 개별 연결 없이 모든 장치에게 데이터를 전송해야 하는데, TCP의 3-way handshake와 같은 연결 설정 과정이 이를 방해한다.
또한, TCP의 신뢰성 보장, 흐름 제어, 패킷 순서 보장 등의 기능은 브로드캐스트와 같이 다수의 수신자를 대상으로 하는 일방향 통신과는 맞지 않다.
이 때문에, 브로드캐스트 통신은 TCP 대신 UDP와 같은 비연결형 프로토콜에서 사용되며, TCP에서는 브로드캐스트가 지원되지 않는다.
이 외에도...
연결 시도 : 3-way handshake
데이터 전송 : Transmit(슬라이딩 윈도우 프로토콜도 있다)
연결 종료 : 4-way handshake

'부스트캠프 > 챌린지' 카테고리의 다른 글
[부스트캠프 웹모바일 9기] 챌린지 Day16 학습정리 (0) | 2024.08.05 |
---|---|
[부스트캠프 웹모바일 9기] 챌린지 3주 차 회고 (1) | 2024.08.05 |
[부스트캠프 웹모바일 9기] 챌린지 Day13 학습정리 (0) | 2024.07.31 |
[부스트캠프 웹모바일 9기] 챌린지 Day11 학습정리 (0) | 2024.07.29 |
[부스트캠프 웹모바일 9기] 챌린지 2주 차 회고 (0) | 2024.07.28 |