일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백엔드프로젝트
- 클라우드
- 프로토콜
- 환경변수
- opentelementry
- TCP/IP
- mysql
- CS
- node
- 위코드
- 프로젝트
- 오픈텔레멘트리
- 정보처리기사
- promtail
- github
- AWS
- Amazon
- 가상스레드
- javascript
- ERD
- 피드시스템
- 스프링부트
- wecode
- ACC
- 보안
- TCP
- express
- 알고리즘
- 네트워크
- IP
Archives
- Today
- Total
아무튼!
[CS] 메시지 전송 방식 - 브로드/멀티/유니 캐스트 본문
반응형
🌟 멀티캐스트? 브로드 캐스트?
1. 멀티캐스트
- 같은 데이터를 특정 그룹에 보내주어야 할 때 사용하는 인터넷 프로토콜 (1:N)
- 특정 그룹에 대한 정보는 알지만, 그룹 내에 있는 멤버들에 대한 정보는 알 수 없음
- 데이터를 딱 한 번 전송함
- 예) TV, 유튜브
- 상대방이 정확한 데이터를 수신받았는지 별도로 확인하지 않는 UDP(User Datagram Protocol) 방식을 사용함
- 224.0.0.0 ~ 239.255.255.255의 주소 범위를 가짐
- 해당 대역에서는 멀티캐스트 신호만 보내도록 규정되어 있음
- 멀티캐스트를 수신하기 위해서는 해당 그룹에 join 해야하며 실제 사용할 포트와 해당 주소를 묶는 bind 작업을 진행해 주어야 함
- 멀티캐스트는 TTL(Time to Live)이라는 필드를 지님
- 이는 전송된 신호가 라우터를 몇 번 거칠 동안 살아있도록 할 것인가를 뜻함 -> 즉, 신호의 생존 주기를 뜻함
- 멀티 캐스트 신호가 라우터를 지날 때마다 TTL 값은 하나씩 감소됨
- TTL 값 별 차이
- 0: 같은 호스트 상에서만 사용하는 것이며 인터페이스로 출력되지 않는다.
- 1: 동일한 서브넷 네트워크 상으로 제안. 라우터에서 포워딩되지 않는다.
- 32보다 작은 경우: 동일한 사이트, 단체나 부서로 제한
- 64보다 작은 경위: 동일한 지역으로 제한
- 128 보다 작은 경우: 동일한 내륙 내부로 제한
- 255 보다 작은 경우: 무제한
2. 브로드캐스트
- 동일한 네트워크에 연결되어 있는 모든 호스트들에 동시에 데이터를 전송하기 위한 방법 (1:N)
- 멀티캐스트와 같이 UDP 기반임
- 따라서 이 역시 메시지의 도착을 보장하지 않음
- 브로드캐스트 = 멀티캐스트 - 그룹(껍데기)
- 모두에게 다른 신호를 보내고, 모두가 모든 신호를 들음
- 연결된 장치 모두가 수신받는 것이기에 구현이 용이하지만 불필요한 트래픽이 발생한다는 단점이 있음
- 이 방식은 시스템의 MAC 주소를 알지 못하는 경우, 네트워크에 있는 모든 시스템에게 알리는 경우, 라우터끼리 정보를 교환하거나 새로운 라우터를 찾는 경우 등에 이용됨
3. 유니캐스트
- 1:1 통신을 뜻하며 송신자와 수신자의 MAC 주소를 알 때 사용됨
- 여러 수신자에게 데이터를 전송해야 할 때, 각각 다른 대역폭을 할당해주어야 하기 때문에 전송 비용이 높아짐
'Computer Science (CS) > CS' 카테고리의 다른 글
[Network] IP 사용자 정보 확인하기 (구글, 네이버) (1) | 2024.12.12 |
---|---|
[CS] Web/Was란? (0) | 2023.10.18 |