본문 바로가기
야미스터디/Network

[Network] cast 📌

by 의정부핵꿀밤 2022. 9. 2.
728x90

🖐 MAC address

  • 네트워크 상에서 서로를 구분하기 위하여 Device마다 할당된 물리적 주소
  • 즉, 인터넷이 가능한 장비(PC, 휴대폰 등)들이 갖는 물리적 주소이다
  • MAC 주소는 12자리 숫자로 구성되어 있다
    • 숫자 중 앞의 6자리(24bit)는 벤더(제품 제조사)에 할당된다
    • 나머지 6자리(24bit)는 각 벤더에서 제품에 할당한다
  • 컴퓨터에 장착되어 LAN카드를 구별하기 위해 만들어진 식별 번호이다
    • 이는 소프트웨어 대신 하드웨어에 연결되어 있기 때문에 '실제 주소'라고 표현한다

 

유니캐스트 (Unicast)

  • 출발지와 목적지가 정확해야 하는 일대일 통신
  • MAC <-> MAC 으로 출발지와 목적지가 명확히 정해져 있으며, 1:1로 통신한다
  • 송신 노드 하나가 수신 노드 하나에 데이터를 전송하는 일대일 방식이다
  • 받는 입장에서 자신의 MAC과 비교하여 동일하지 않으면 해당 통신을 받지 않기 때문에 CPU 성능을 저하시키지 않는다
  • 자신과 비교하여 동일하면 CPU로 해당 프레임을 올려서 통신할 수 있다
  • 실제로 사용하는 대부분의 통신은 유니캐스트 방식을 사용한다
  • TCP, UDP 방식을 모두 지원한다

 

 

 

 

브로드캐스트 (Broadcast)

  • 같은 네트워크에 있는 모든 장비들에게 보내는 통신
  • 브로드캐스트는 목적지 주소가 모든 호스트로 표기되어 있는 통신 방식이다
    • 아파트 내 관리사무소 방송이 모든 방송을 듣듯이, 같은 네트워크의 모든 장비들이 신호를 무조건 받는다
  • 브로드캐스트는 주로 상대 IP는 알지만 MAC을 모르는 경우 사용하게 된다
    • 자신의 MAC과 비교해서 동일하지 않으면 통신하지 않는 유니캐스트와 달리, 해당 네트워크에 있는 PC들이 신호를 무조건 받게 된다
    • 따라서 유니캐스트로 통신하기 전, 주로 상대방의 정확한 위치를 알기 위해 사용한다
    • 상대의 MAC 주소를 알아내기 위한 ARP를 시도하거나, 라우터들끼리의 정보 교환 및 다른 라우터를 찾을 때, 서버들이 자신의 서비스를 제공한다는 것을 클라이언트에 알릴 때 사용된다
  • 이렇게 무조건 신호를 받다보니 나에게 필요한 정보인지 확인하는 과정에서 CPU를 사용하게 된다
  • 따라서 과도한 브로드캐스트는 네트워크 및 PC의 성능을 떨어뜨릴 수 있다
  • 송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송한다
  • 주소 체계에 따라 브로드캐스트를 다양하게 분류할 수 있지만, 기본 동작은 로컬 네트워크 내에서 모든 호스트에 패킷을 전달해야 할 때 사용된다
  • UDP 방식만 지원한다

 

 

 

 

 

멀티캐스트 (Multicast)

  • 여러 명에게 보내야 하는 경우 사용하는 방식
  • 하나의 출발지에서 다수의 특정 목적지로 데이터를 전송한다
  • 유니캐스트와 브로드캐스트를 합쳐 놓은듯한 개념이다
    • 유니캐스트는 모든 장비의 MAC을 모두 확인해서 같은걸 여러번 보내야 하기 때문에 수량이 많을수록 네트워크 부하가 커진다
    • 브로드캐스트는 해당 네트워크 전체에 보내게 되니 관련없는 PC에서는 CPU 사용률이 증가하게 되는 문제점이 있다
  • 멀티캐스트는 특정 그룹을 지정해서 해당 그룹원에게만 보내는 방식을 사용한다
    • 멀티캐스트 그룹 주소를 이용해 해당 그룹에 속한 다수의 호스트로 패킷을 전송하기 위한 통신 방식이다
    • 이는 스위치나 라우터가 멀티캐스트 방식을 지원해야 한다
  • 송신 노드 하나가 네트워크에 연결된 하나 이상의 수신 노드에 데이터를 전송한다
  • IPTV와 같은 실시간 방송이나 사내 방송, 증권 시세 전송과 같이 단방향으로 다수에게 동시에 같은 내용을 전달해야할 때 사용한다
  • UDP 방식만 지원한다

 

 

 

 

 

애니캐스트 (Anicast)

  • 가장 가까운 Node와 통신하는 방식
  • 유니캐스트와 다른 점은 송신 노드가 네트워크에 연결된 수신 가능한 노드 주엥서 한 노드에만 데이터를 전송하는 것이다
  • 송신 노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다
  • 즉, 동일한 Anycast Address가 서로 다른 node들의 Interface에 할당되어 있을 때, 해당 Anycast Address로 IPv6 Packet을 전송하면 Routing Protocol의 알고리즘에 따라 가장 가까이에 있다고 판단되는 Node의 Interface로 전달된다
    • 애니캐스트 주소가 같은 호스트들 중에서 가장 가깝거나 가장 효율적으로 서비스할 수 있는 호스트와 통신하는 방식이다
  • 애니캐스트의 목적
    • 트래픽 분산
    • 네트워크 이중화
    • DDos 공격 발생 시, 서버가 받는 피해 최소화
    • Client와 Server 간의 물리적인 거리를 줄임으로써 Response Time의 최소화
  • 가장 가까운 DNS 서버를 찾을 때 사용하거나, 가장 가까운 게이트웨이를 찾는 애니캐스트 게이트웨이 기능에 사용하기도 한다
  • IPv4에서는 일부 기능만 구현, IPv6는 모두 구현이 가능하다 (IPv6 기반으로 작동함)

 

 

 

💡 결론

통신 방식을 구분할 때 중요한 것은 출발지 주소가 아닌 목적지 주소 기준이다!

  • MAC 주소 : 인터넷이 가능한 장비(TCP/IP 통신을 하는)가 갖고 있는 물리적 주소
  • 유니캐스트 : 목적지 주소를 하나만 적어서 특정 한 PC에게만 보내는 방식
  • 브로드캐스트 : 도메인(영역) 안에 있는 모든 PC들에게 한번에 전송하는 방식으로, CPU에 인터럽트를 걸기 때문에 수신 측에서 PC 성능에 영향을 받을 수 있다
  • 멀티캐스트 : 원하는 그룹에게만 전송하는 방식으로, 유니캐스트보다 적은 네트워크 부하를 가지고 멀티캐스트로 인한 수신 불필요한 PC에서의 CPU 성능에 영향을 끼치지 않는다
  • 애니캐스트 : 가장 가까운 Node와 통신

 

  • IPv4 -> 유니캐스트, 멀티캐스트, 브로드캐스트
  • IPv6 -> 유니캐스트, 멀티캐스트, 애니캐스트

 

 

 

✨ BUM 트래픽

  • BUM이란 Broadcast, Unknown Unicast, Multicast 를 지칭하며, 이는 서로 다른 종류의 트래픽이지만 네트워크에서의 동작은 서로 비슷하다
  • Unknown Unicast
    • 이는 유니캐스트여서 목적지 주소는 명확히 명시되어 있지만, 네트워크에서의 동작은 브로드캐스트와 같을 때를 가리킨다
    • 유니캐스트이지만 스위치가 목적지에 대한 주소를 학습하지 못한 상황이어서 패킷을 모든 포트로 플러딩(전송)하는데 이런 유니캐스트를 Unknown Unicast라고 한다
    • 물론 유니캐스트이므로 전달받는 모든 단말 NIC에서 도착지 주소를 확인하고 자신이 목적지가 아닌 경우 패킷을 버린다
    • 하지만 네트워크 입장에서는 네트워크 상에서 불필요한 BUM 트래픽이 많아지면 네트워크 성능이 저하된다
    • 이더넷 환경에서는 ARP 브로드캐스트를 먼저 보낸 후 통신을 시작하므로 BUM 트래픽이 많이 발생하지 않는다

 

 


참고)

https://togll.tistory.com/42

 

[네트워크] 유니캐스트 / 브로드캐스트 / 멀티캐스트 / 애니캐스트 란?

맥주소(MAC address) 네트워크 상에서 서로를 구분하기 위하여 Device마다 할당된 물리적 주소를 말합니다. 인터넷이 가능한 장비(PC, 휴대폰 등)들이 가지고 있는 물리적인 주소라고 생각하면 어렵지

togll.tistory.com

https://kowo1001.github.io/network/network-4-Network-Unicast,Multicast,Broadcast,Anycast/

 

Network-(4) Unicast,Broadcast,Multicast,Anycast

Network Essentials 3부 Unicast,Multicast,Broadcast,Anycast 네트워크에서 출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식에는 유니캐스트(Unicast), 브로드캐스트(Broadcast), 멀티캐스트(Multicast), 애

kowo1001.github.io

https://sharplee7.tistory.com/105

 

Unicast, Broadcast, Mulitcast, Anycast

각 통신 방식에 대한 다이어그램 Unicast one-to-one 통신(소스와 타켓이 1:1로 통신) 출발지와 목적지가 명확히 하나로 정해져 있는 1:1 통신 방식 대부분의 통신은 Unicast 방식임 TCP, UDP 모두 지원 Broadc

sharplee7.tistory.com

https://chaelin1211.github.io/study/2021/05/28/network-communication.html

 

[네트워크] 네트워크 통신하기 - Chaelin's Blog

3장 네트워크 통신하기 3.1 유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트 네트워크에서 출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식의 종류는 다음과 같습니다. 유니캐스

chaelin1211.github.io

 

728x90

'야미스터디 > Network' 카테고리의 다른 글

[Network] 라우터 📌  (0) 2022.09.20
[Network] HTTP 1, 2, 3 📌  (0) 2022.09.12
[Network] Cookie vs Session 📌  (0) 2022.08.04
[Network] REST API 📌  (0) 2022.07.13
얄팍한 코딩사전 - REST API가 뭔가요?  (0) 2021.07.31

댓글