개발을 하다 보면 네트워크 통신 방식을 접하게 된다. 데이터를 주고받는 방식에는 여러 가지가 있는데, 가장 대표적인 세 가지 방식인 유니캐스트, 멀티캐스트, 브로드캐스트에 대해 알아보고자 한다. 각 방식이 어떻게 다르며, 어떤 상황에서 사용되는지 예시를 통해 쉽게 이해해 보자.
1. 유니캐스트 (Unicast) : 1 대 1 우편배달
유니캐스트(Unicast)는 단일 송신자와 단일 수신자 간의 1:1 통신을 의미한다. 네트워크에서 가장 흔하게 사용되는 통신 방식이다.
컴퓨터 A가 컴퓨터 B에게만 데이터를 보내는 상황을 생각하면 된다. 다른 컴퓨터들은 이 통신에 관여하지 않는다.
- 특징: 특정 대상과 정확하게 데이터를 주고받아야 할 때 사용한다. 데이터 처리가 간단하고, 대부분의 통신이 이 방식으로 이루어진다.
- 현실 예시: 특정 주소로 보내는 '편지'나 '택배'와 같다. 보내는 사람과 받는 사람이 명확하게 정해져 있다.
- 기술 예시:
- HTTP 요청: 웹 브라우저에서 특정 웹사이트(예:
velog.io)에 접속할 때, 내 컴퓨터는 velog 서버와 1:1로 유니캐스트 통신을 시작한다. 서버는 요청을 보낸 '나에게만' 웹페이지 데이터를 보내준다.
- SSH 접속: 원격 서버에 접속할 때 내 컴퓨터와 서버는 1:1 암호화 통신을 한다.
2. 멀티캐스트 (Multicast) : 관심사 기반 단체 채팅방 💬
멀티캐스트(Multicast)는 특정 그룹(하나 이상의 노드)에게만 데이터를 한 번에 전송하는 1:N 통신 방식이다.
송신자는 데이터를 딱 한 번만 보내지만, 네트워크 장비(라우터 등)가 이 데이터를 복제하여 '이 정보를 받기로 약속한' 여러 명의 수신자에게 전달해 준다.
- 특징: 동일한 데이터를 여러 대상에게 보내야 할 때, 유니캐스트를 여러 번 하는 것보다 네트워크 효율성이 훨씬 좋다. 데이터를 수신하고 싶은 노드만 그룹에 가입(
join)하여 데이터를 받는다.
- 현실 예시: '구독자에게만 발송되는 뉴스레터'나 '특정 멤버만 있는 카카오톡 단체 채팅방'과 같다. 관심 있는 사람들만 그룹에 참여해 소식을 받는다.
- 기술 예시:
- IPTV (실시간 방송): 방송국에서 특정 채널(예: tvN)의 방송 데이터를 멀티캐스트로 한 번만 송신한다. 시청자 중 tvN 채널을 켜는 사람(해당 멀티캐스트 그룹에 가입)들만 그 방송 데이터를 수신하여 TV를 볼 수 있다.
- 온라인 증권 시세 정보: 실시간으로 변하는 주식 시세 정보를 수많은 클라이언트에게 전달할 때 사용된다.
3. 브로드캐스트 (Broadcast) : 전체 대상 교내 방송 📢
브로드캐스트(Broadcast)는 같은 네트워크 대역에 있는 모든 노드에게 데이터를 전송하는 1:All 통신 방식이다.
수신을 원하든 원하지 않든, 같은 네트워크에 연결된 모두에게 메시지를 뿌린다.
- 특징: 메시지를 받을 대상을 특정할 수 없거나, 네트워크상의 모든 노드에 알려야 할 정보가 있을 때 사용한다. 하지만 네트워크에 부하를 많이 줄 수 있어 제한적인 상황에서만 사용된다.
- 현실 예시: '학교 전체에 울려 퍼지는 교내 방송'이나 '아파트 단지 전체에 안내하는 관리사무소 방송'과 같다. 듣기 싫어도 일단 들린다.
- 기술 예시:
- DHCP (Dynamic Host Configuration Protocol): 컴퓨터가 네트워크에 처음 연결될 때, IP 주소를 할당받기 위해 "IP 주소 좀 할당해 줄 DHCP 서버 어디 있나요?"라고 브로드캐스트를 통해 네트워크상의 모든 노드에게 요청을 보낸다.
📝 한눈에 비교하기
| 구분 | 대상 | 특징 | 대표 예시 |
|---|
| 유니캐스트 | 특정 1개 노드 (1:1) | 가장 일반적인 통신 방식 | 웹 서핑(HTTP) |
| 멀티캐스트 | 지정된 그룹의 모든 노드 (1:N) | 그룹에 가입한 노드만 수신, 효율적 | IPTV, 온라인 증권 |
| 브로드캐스트 | 같은 네트워크의 모든 노드 (1:All) | 수신 의사와 상관없이 모두에게 전달, 부하 높음 | ARP, DHCP |