브로드캐스트: 두 판 사이의 차이

잔글 (→‎목적)
30번째 줄: 30번째 줄:


* 광고
* 광고
*: [[라우터]]의 라우팅 정보 전파, 서버의 서비스 기동 알림 등의 패킷이다.
*: [[라우터]]의 라우팅 정보 전파, 서버의 서비스 기동 알림, [[네트워크 스위치]]의 STP 알림 등의 패킷이다.


== 공격 ==
== 공격 ==

2021년 5월 1일 (토) 16:17 판

브로드캐스트(Broadcast)는 컴퓨터 네트워크 전체를 대상으로 하는 메시지를 말한다.

개요

우선, 컴퓨터 네트워크의 통신은 크게 3가지로 구분한다.

  • 유니캐스트: 1:1 통신
  • 멀티캐스트: 그룹 통신
  • 브로드캐스트: 전역 통신

IPv6에서는 브로드캐스트가 멀티캐스트에 통합되었지만, 아직까지는 v4가 대세이기 때문에 브로드캐스트라는 용어가 통용되고 있다.

브로드캐스트는 네트워크 전역을 대상으로 일방적으로 뿌리는 메시지다. 모든 호스트는 좋든싫든 무조건 받아보게 되어 있고, MAC 테이블을 보고 포트별 스위칭을 하는 네트워크 스위치도 브로드캐스트 메시지는 모든 포트로 다 뿌린다. 만약 답장을 해줘야 하는 메시지라면 보낸 이에게 따로 답장을 해준다.

라우터는 브로드캐스트 메시지를 받았을 때 다른 네트워크로 넘기지 않고 바로 폐기한다. 외부 네트워크에 필요한 정보가 들어 있는 것도 아니고, 다른 네트워크로 넘기면 트래픽 유발을 계속 전파하는 형태가 되기 때문이다. 단, DHCP 릴레이 에이전트나 프록시가 설정되어 있는 경우에는 DHCP 메시지를 받아 유니캐스트로 바꾸어 전송한다.

그래서 라우터를 중심으로 브로드캐스트가 도달될 수 있는 영역인 "브로드캐스트 도메인"을 구분할 수 있다. 브로드캐스트 도메인이 매우 넓어 수많은 호스트를 감당하는 경우 브로드캐스트 폭풍(스톰) 때문에 네트워크가 제기능을 잘 못할 것이다.

브로드캐스트 메시지는 아래와 같은 주소를 도착지 주소로 사용한다.

  • IP 주소
    • IP 브로드캐스트 주소: 해당 주소 대역 내의 마지막 주소(All-ONE ADDRESS: 호스트 주소의 비트를 1로 가득 채운 주소)
    • 로컬 브로드캐스트 주소: 255.255.255.255
  • MAC 주소: FF:FF:FF:FF:FF:FF

목적

브로드캐스트는 유니캐스트나 멀티캐스트와 달리 일단 한번 흩뿌려지면 무조건 네트워크 전체에 트래픽을 유발시키므로 상당히 비효율적이다. 하지만 유니캐스트나 멀티캐스트로 할 수 없는 통신이 있기 때문에, 불가피하게 사용되며 대개 다음과 같은 목적으로 사용된다.

  • 주소 질의
    네트워크로 메시지를 떠내려보내기 전에는 TCP/IP 참조 모델에 따라 MAC 주소, IP 주소, 포트를 다 적어놔야 한다. 보통 사용자는 상위 계층의 식별자인 IP 주소나 호스트 이름을 입력하여 통신을 시도하기 때문에 컴퓨터는 알아서 하위 계층의 주소를 알아와서 채워넣어야 한다. 이때 ARP 프로토콜이나 NetBIOS 프로토콜이 브로드캐스트를 뿌려서 응답을 건져오는 것이다.
  • 주소 할당
    DHCP, BOOTP, RARP 등은 IP 주소를 할당해주는 프로토콜이다. 원래 응용 계층은 하위 주소 정보를 다 채운 메시지를 사용하여 통신하나, 이때는 IP 주소가 할당되지 않은 상태이기 때문에 서버나 클라이언트나 서로를 바로 특정할 수 없어서 브로드캐스트로 절차를 수행한다.

공격

  • 스머핑(Smurfing)
    브로드캐스트는 1회의 질의로 방대한 통신 트래픽을 유발하기 때문에, 효율이 높은 서비스 거부 공격이 가능해진다. 만약 출도착지가 브로드캐스트 주소만으로 이뤄진 ICMP 에코 패킷(=ping)을 뿌리면 네트워크 내의 호스트들은 서로 에코에 응답하면서 무한히 패킷을 생성하여 네트워크를 마비시킨다.
  • 스니핑(Sniffing)
    브로드캐스트는 무조건 네트워크 전역에 뿌려지므로, 공격자는 브로드캐스트 메시지를 청취하여 가치있는 정보를 얻을 수 있다. 이 정보를 토대로 다른 공격을 준비하는 데 사용한다.

각주