[컴퓨터네트워크] MAC주소 & 유니캐스트 & 브로드캐스트 & 멀티 캐스트 & 애니캐스트

[컴퓨터네트워크] MAC주소 & 유니캐스트 & 브로드캐스트 & 멀티 캐스트 & 애니캐스트

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


통신을 위해서는 MAC주소를 알아야 합니다.
IP주소로 MAC주소를 알기 위해서는 IP주소를 MAC으로 바꾸는 ARP(Address Resolution Protocol)과정이 필요합니다.


네트워크 통신 방식에 따른 구분으로 유니캐스트 / 브로드캐스트 / 멀티캐스트를 알아보자

유니캐스트

출발지와 목적지가 정확해야 하는 일대일 통신입니다.
MAC <=> MAC 받는입장에서 자신의 MAC과 비교하여 동일하지 않으면 해당 통신을 받지 않기 때문에 CPU 성능을 저하시키지 않습니다.
자신과 비교하여 동일하면 CPU로 해당프레임을 올려서 통신할 수 있습니다.

송신 노드 하나가 수신노드 하나에 데이터를 전송하는 일대일 방식


브로드캐스트

같은 네트워크에 있는 모든 장비들에게 보내는 통신입니다.
아파트 관리사무소 방송 같은 것으로 이해하면 쉬운데 듣고 싶은 방송만 듣는게 아니듯이, 해당 네트워크에 있는 PC들이 신호를 받고 싶던 말던 무조건 받게 됩니다.
(자신의 MAC과 비교해서 동일하지 않으면 통신하지 않는 유니캐스트와 차이)
이렇게 무조건 받다보니 나에게 필요한정보인지 확인하는 과정에서 CPU를 사용하게 됩니다.
때문에 과도한 브로드캐스트는 네트워크 및 PC 성능을 떨어뜨릴 수 있습니다.
  • 주로 상대 IP는 알지만 MAC을 모를경우에 사용하게 됩니다
    • ex) 방송으로 홍길동의 집이 어디야? 하면 홍길동이 "000야"하면서 주소를 전달(위에서 말한 ARP과정이 브로드캐스트를 통해 IP로 MAC을 알게 되는 것)
송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송


멀티캐스트

여러명에게 보내야 할 경우에 사용하는 방식으로 유니캐스트와 브로드캐스트를 합쳐놓은 듯한 개념입니다.
유니캐스트는 MAC을 모두 확인해서 같은걸 100번 보내야 하니 수량이 많을수록 네트워크 부하가 커지고, 브로드캐스트는 해당 네트워크 전체에 보내게 되니 관련없는 PC에서는 CPU사용률이 증가하게 되는 문제점이 있습니다.
멀티캐스트는 특정 그룹을 지정해서 해당 그룹원에게만 보내느 방식을 사용합니다.
(스위치나 라우터가 멀티캐스트 방시글 지원해야한다.)

송신 노드 하나가 네트워크에 연결된 하나 이상의 수신노드에 데이터를 전송한다.


애니캐스트

Anycast통신은 가장 가까운 Node와 통신하는 방식입니다.

유니캐스트와 다른점은 송신노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다.

즉, 동일한 Anycast Address가 서로 다른 node들의 Interface에 할당되어 있을 때, 해당 Anycast Address로 IPv6 Packet을 전송하면 Routing Protocol의 알고리즘에 따라 가장 가까이에 있다고 판단되는 Node의 Interface로 전달이 됩니다.

애니캐스트의 목적
  • 트래픽 분산
  • 네트워크 이중화
  • DDos공격이 발생했을 때, 서버가 받는 피해 최소화
  • Client와 Server간의 물리적인 거리를 줄임으로써 Response Time의 최소화
송신 노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다.


요약

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


출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?