라우터가 제한적이고 지시 된 브로드 캐스트를 처리하는 방법
질문에 대답하기 위해 가장 먼저 알아야 할 것은 제한된 브로드 캐스트 프레임이 라우팅되지 않는다는 것입니다. 기본적으로 라우터가 계층 2 또는 계층 3에서 브로드 캐스트되는 대상 주소가있는 프레임을 수신하면 라우터는 단순히 프레임을 삭제합니다. 이것이 라우터가 브로드 캐스트 도메인의 경계라고하는 이유입니다.
이에 대한 몇 가지 예는 다음과 같습니다.
ff-ff-ff-ff-ff-ff
(계층 2 방송)
255.255.255.255
(계층 3 한정 방송)
그것에 대해 생각하면, 이치에 맞습니다. 라우터가 브로드 캐스트를 전달하면 단일 arp 요청이 인터넷에서 도달 가능한 모든 단일 호스트에 도달하게되며 이는 매우 비효율적이며 다소 어리 석습니다.
반면에 직접 방송은 종종 라우팅됩니다. (IE 192.168.1.255/24
) 일반적으로이 기능은 기본적으로 비활성화되어 있지만 ip directed-broadcast
라우터 에서 명령을 실행하여 활성화 할 수 있습니다 . 이를 통해 라우팅 테이블에 따라 마치 일반 패킷 인 것처럼 직접 방송을 전달할 수 있습니다. 그러나 라우터가 제한된 브로드 캐스트를 전달할 수 는 없으며 기본적으로 여전히 브로드 캐스트됩니다. 이것은 또한 원래 질문과 관련하여 약간 벗어난 주제 입니다. 이에 대한 자세한 내용은 이 Cisco 양식 페이지 를 참조하십시오.
레이어 3 브로드 캐스트이지만 레이어 2가 아닙니까?
두 번째 질문에 답하기 위해 레이어 2 브로드 캐스트 주소가없는 레이어 3 브로드 캐스트 주소가있는 프레임을 갖는 것은 의미가 없습니다. 이것은 브로드 캐스트 프레임이라는 전체 목적을 무효화하고 제대로 작동하지 않습니다. 라우터가 계층 3에서 결정을 내리기 때문에 유니 캐스트 계층 2 대상 주소를 갖는 것은 라우터의 동작을 전혀 변경하지 않습니다 255.255.255.255
.
이것이 중요한 것은 레이어 3 주소를 전혀 신경 쓰지 않는 스위치입니다. 스위치는 유니 캐스트 계층 2 주소 만 볼 수 있습니다. 패킷을 동일한 VLAN의 모든 인터페이스로 보내는 대신 다른 유니 캐스트 대상 주소와 마찬가지로 SAT (소스 주소 테이블)를 사용합니다. 실제로, 유니 캐스트 계층 2 주소를 할당함으로써, 프레임은 255.255.255.255
계층 3에 주소를 가지 더라도 더 이상 방송 프레임이 아니다 .
실제로 DHCP 릴레이 작동 방식
마지막 질문에 관해서는 DHCP 릴레이는 라우터가 브로드 캐스트 패킷을 전달하지 않는 규칙을 "속이는"방법입니다. DHCP Discover 패킷을 보자 :
- 소스 MAC : [소스의 유니 캐스트 맥]
- 대상 MAC :
ff-ff-ff-ff-ff-ff
- 소스 IP :
0.0.0.0
- 대상 IP :
255.255.255.255
- 소스 포트 : UDP 68
- 대상 포트 : UDP 67
라우터가 패킷이 ip helper-address
구성된 명령으로 인터페이스에 도착하면 패킷이 기본적으로 "도움이되는"또는 전역 ip forward-protocol
명령으로 구성된 프로토콜과 일치하는지 확인합니다 . 이 경우 라우터는 DHCP이므로 대상 포트가 UDP 67과 일치하고 패킷이 "도움"될 수 있도록합니다. 그런 다음 라우터는 목적지 IP 주소를 명령에 255.255.255.255
의해 구성된 IP 주소 ip helper-address
로 변경하고 소스 주소를 패킷이 도착한 라우터 인터페이스의 주소로 변경하고 패킷을 나머지 라우팅 로직으로 전달합니다.
이제 패킷에 유니 캐스트 대상 주소가 있으므로 라우터는 다른 패킷처럼 취급합니다. 대상 IP 주소 (현재 도우미 주소)에 대해 arps 한 다음 패킷을 적절한 인터페이스로 보내기 전에 계층 2 주소를 바꿉니다.
다시 돌아 가기
라우터는 클라이언트로 다시 전송되는 DHCP 제공에 대해 본질적으로 동일한 프로세스를 반대로 사용합니다. DHCP 서버는 DHCP Discover 패킷에서 소스 주소로 지정된 IP 주소로 오퍼를 보냅니다. 따라서 DHCP 서버를 떠나는 패킷은 다음과 같습니다.
- 소스 MAC : DHCP 서버의 유니 캐스트 맥
- 대상 MAC : 라우터의 맥 주소 또는 DHCP 서버의 기본 게이트웨이
- 원본 IP : DHCP 서버의 유니 캐스트 IP 주소
- 대상 IP : DHCP Discover 패킷이 도달 한 첫 번째 라우터 인터페이스의 IP 주소
- 소스 포트 : UDP 67
- 대상 포트 : UDP 68
이 패킷에는 유니 캐스트 계층 3 대상 주소가 있으므로 라우터는 패킷의 대상 IP와 일치하는 IP 주소를 가진 인터페이스가있는 라우터에 도달 할 때까지 패킷을 정상적으로 전달합니다. 이 라우터는 ip helper-address
해당 인터페이스에 여전히 구성 이 있음을 이전부터 기억하십시오 . 라우터는 패킷이 DHCP Offer인지 확인한 후 패킷을 다시 작성하여 브로드 캐스트 패킷이되고 DHCP 클라이언트가 해당 네트워크 세그먼트에 있다는 것을 알고 해당 인터페이스로 다시 보냅니다. 라우터를 떠나는 패킷은 이제 다음과 같습니다.
- 소스 MAC : 라우터 인터페이스의 유니 캐스트 맥
- 대상 MAC :
ff-ff-ff-ff-ff-ff
- 원본 IP : DHCP 서버의 유니 캐스트 IP 주소
- 대상 IP :
255.255.255.255
- 소스 포트 : UDP 67
- 대상 포트 : UDP 68
TL : DR; ip helper-address
라우터가 패킷을 전송하기 전에 패킷의 대상 IP 주소를 DHCP 서버의 유니 캐스트 IP 주소로 변경하여 제한된 브로드 캐스트를 전달할 수 없다는 규칙에 따라 인터페이스 하위 명령 "치트"를 사용하는 DHCP 릴레이 . 따라서 회선의 모든 라우터가 패킷을 DHCP 서버에 적절하게 라우팅 할 수 있습니다. DHCP 서버는 응답 할 때 DHCP Discover 패킷 ( ip helper-interface
명령 이있는 패킷)을 처음 수신 한 라우터 인터페이스의 유니 캐스트 IP 주소로 패킷을 다시 보냅니다 . 라우터가 오퍼를 다시 받으면이를 브로드 캐스트 패킷으로 다시 변환하여 브로드 캐스트 도메인의 클라이언트와 인터페이스를 보냅니다.