Jak routery obsługują transmisje ograniczone i kierowane
Pierwszą rzeczą, którą należy zrozumieć, aby odpowiedzieć na pytania, jest to, że ograniczone ramki rozgłoszeniowe nie są kierowane. Domyślnie, gdy router odbiera ramkę z adresem docelowym, który jest rozgłaszany na warstwie 2 lub 3, router po prostu upuszcza ramkę. Dlatego mówi się, że routery stanowią granicę domen rozgłaszania.
Oto niektóre z nich:
ff-ff-ff-ff-ff-ff
(transmisja warstwy 2)
255.255.255.255
(ograniczona transmisja warstwy 3)
Myślenie o tym ma sens. Gdyby routery przekazały transmisje, pojedyncze żądanie arp dotarłoby do każdego dostępnego hosta w Internecie, co byłoby strasznie nieefektywne i raczej głupie.
Z drugiej strony programy kierowane są czasem kierowane. (IE 192.168.1.255/24
) Zwykle ta funkcja jest domyślnie wyłączona, ale można ją włączyć, wydając ip directed-broadcast
polecenie na routerze. Umożliwi to przesyłanie dalej skierowanych transmisji zgodnie z tabelą routingu, tak jakby były normalnymi pakietami. Nie pozwala to jednak routerowi na przekazywanie limitowanych transmisji, które są nadal domyślnie blokowane. To również nieco nie na temat oryginalnego pytania. Więcej informacji na ten temat znajdziesz na tej stronie formularzy Cisco .
Transmisja w warstwie 3, ale nie w warstwie 2?
Aby odpowiedzieć na drugie pytanie, nie ma sensu mieć ramki z adresem emisji warstwy 3 bez adresu emisji warstwy 2. To by zniweczyło cały cel bycia ramką rozgłoszeniową i po prostu nie zadziałało wprost. Posiadanie adresu docelowego warstwy 2 emisji pojedynczej wcale nie zmieniłoby zachowania routera, ponieważ router podejmuje decyzje w warstwie 3. Jedynym routerem, na którym zależy, jest 255.255.255.255
adres docelowy i upuszcza pakiet.
Ma to znaczenie dla przełączników, które w ogóle nie dbają o adres warstwy 3. Przełączniki będą widzieć tylko adres warstwy 2 emisji pojedynczej. Zamiast wysyłać pakiet ze wszystkich interfejsów na tym samym vlan, użyłby źródłowej tabeli adresów (SAT), tak jak zrobiłby to z innym adresem docelowym emisji pojedynczej. W efekcie, przypisując adres warstwy 2 emisji pojedynczej, ramka nie jest już ramką rozgłoszeniową, nawet jeśli ma 255.255.255.255
adres w warstwie 3.
Jak działa przekaźnik DHCP w praktyce
Jeśli chodzi o twoje ostatnie pytanie, przekaźnik DHCP to sposób, w jaki router „oszukuje” w związku z regułą o nieprzekazywaniu pakietów rozgłoszeniowych. Spójrzmy na pakiet DHCP Discover:
- Źródło MAC: [unicast mac źródła]
- Dest MAC:
ff-ff-ff-ff-ff-ff
- Źródło IP:
0.0.0.0
- Docelowy adres IP:
255.255.255.255
- Port źródłowy: UDP 68
- Port docelowy: UDP 67
Gdy router zobaczy pakiet przychodzący do interfejsu ze ip helper-address
skonfigurowanym poleceniem, sprawdza, czy pasuje do któregokolwiek z protokołów, które są domyślnie „wspomagane” lub skonfigurowane przy użyciu ip forward-protocol
polecenia globalnego . W tym przypadku, ponieważ jest to DHCP, router widzi, że port docelowy jest zgodny z UDP 67 i pozwala „pomóc” pakietowi. Router następnie zmienia docelowy adres IP z adresu 255.255.255.255
IP skonfigurowanego przez ip helper-address
polecenie, a także zmienia adres źródłowy na adres interfejsu routera, na który pakiet przybył, i przekazuje pakiet pozostałej części logiki routingu.
Teraz, gdy pakiet ma adres docelowy emisji pojedynczej, router traktuje go jak każdy inny pakiet. Sprawdza docelowy adres IP (który jest teraz adresem pomocniczym), a następnie zastępuje adresy warstwy 2 przed wysłaniem pakietu z odpowiedniego interfejsu.
Znowu wracam
Router używa zasadniczo tego samego procesu w odwrotnej kolejności w przypadku oferty DHCP wysyłanej z powrotem do klienta. Serwery DHCP wysyłają ofertę na adres IP podany jako adres źródłowy w pakiecie DHCP Discover. Tak więc pakiet opuszczający serwer DHCP wygląda następująco:
- Źródło MAC: unicast mac serwera DHCP
- Dest MAC: adres mac routera lub domyślnej bramy serwera DHCP
- Źródłowy adres IP: adres IP emisji pojedynczej serwera DHCP
- Docelowy adres IP: adres ip pierwszego interfejsu routera, do którego dotarł pakiet DHCP Discover
- Port źródłowy: UDP 67
- Port docelowy: UDP 68
Ponieważ ten pakiet ma docelowy adres warstwy 3 emisji pojedynczej, routery będą przesyłały pakiet normalnie, dopóki nie dotrze do routera z interfejsem, który ma adres IP pasujący do docelowego adresu IP pakietu. Pamiętaj wcześniej, że ten router nadal ma ip helper-address
konfigurację tego interfejsu. Router sprawdza, czy pakiet jest ofertą DHCP, a następnie przepisuje go na pakiet rozgłoszeniowy i wysyła go z powrotem przez ten interfejs, wiedząc, że klient DHCP znajduje się gdzieś w tym segmencie sieci. Pakiet opuszczający router wygląda teraz tak.
- Źródło MAC: unicast mac interfejsu routera
- Dest MAC:
ff-ff-ff-ff-ff-ff
- Źródłowy adres IP: adres IP emisji pojedynczej serwera DHCP
- Docelowy adres IP:
255.255.255.255
- Port źródłowy: UDP 67
- Port docelowy: UDP 68
TL: DR; Przekaźnik DHCP wykorzystujący ip helper-address
podkomendę interfejsu „oszukuje” wokół zasady, że routery nie mogą przekazywać ograniczonych emisji, zmieniając docelowy adres IP pakietu na adres IP emisji pojedynczej serwera DHCP przed routingiem. Dzięki temu wszystkie routery wzdłuż linii mogą odpowiednio kierować pakiet do serwera DHCP. Podczas odpowiadania serwer DHCP wysyła pakiet z powrotem na adres IP emisji pojedynczej interfejsu routera, który jako pierwszy otrzymał pakiet DHCP Discover (ten z ip helper-interface
poleceniem). Gdy router odbiera ofertę z powrotem, konwertuje ją z powrotem na pakiet rozgłoszeniowy i wysyła ją do interfejsu z klientem w swojej domenie rozgłoszeniowej.