Vandaag beginnen we met het bestuderen van routers. Als je mijn videotraining van les ƩƩn tot en met zeventien hebt gevolgd, heb je al de basis van switches geleerd. Nu gaan we verder met het volgende apparaat ā de router. Zoals je weet uit de vorige videoles, is een van de onderwerpen van de CCNA-cursus genaamd Cisco Switching & Routing.
In deze serie gaan we geen Cisco-routers bestuderen, maar kijken we naar het concept van routering in het algemeen. We hebben drie onderwerpen. Het eerste is een overzicht van wat je al weet over routers en een gesprek over hoe dit samen kan worden toegepast met de kennis die je hebt opgedaan tijdens het bestuderen van switches. We moeten begrijpen wat de samenwerking tussen switches en routers inhoudt.

Vervolgens zullen we bekijken wat routering is, wat het betekent en hoe het werkt, en daarna gaan we verder met de soorten routeringsprotocollen. Vandaag gebruik ik een topologie die je al hebt gezien in de vorige lessen.
We hebben gezien hoe gegevens door een netwerk bewegen en hoe de drie-fasen handshake van TCP plaatsvindt. Het eerste bericht dat over het netwerk wordt verzonden, is een SYN-pakket. Laten we bekijken hoe de drie-fasen handshake verloopt wanneer een computer met IP-adres 10.1.1.10 verbinding wil maken met server 30.1.1.10, dat wil zeggen dat hij probeert een FTP-verbinding tot stand te brengen.
Om de verbinding te starten, maakt de computer een bronpoort met een willekeurig nummer 25113. Als je bent vergeten hoe dit gebeurt, raad ik je aan de eerdere videolessen te herbekijken waarin deze kwestie is behandeld.

Daarna plaatst hij in het frame het doelpoortnummer, omdat hij weet dat hij verbinding moet maken met poort 21, en voegt vervolgens de informatie van de derde laag van het OSI-model toe, dat wil zeggen zijn eigen IP-adres en het IP-adres van de bestemming. De gegevens, omrand met een stippellijn, veranderen niet totdat ze de eindbestemming bereiken. Bij het bereiken van de server veranderen ze ook niet, maar de server voegt informatie van de tweede laag toe aan het frame, namelijk het MAC-adres. Dit komt omdat switches alleen informatie van de tweede laag van het OSI-model verwerken. In dit scenario is de router het enige netwerkapparaat dat informatie van de derde laag bekijkt, uiteraard werkt de computer ook met deze informatie. Dus, de switch werkt alleen met informatie van de tweede laag, terwijl de router werkt met informatie van de derde laag.
De switch kent het oorspronkelijke MAC-adres XXXX:XXXX:1111 en wil het MAC-adres weten van de server waarmee de computer verbinding maakt. Hij vergelijkt het oorspronkelijke IP-adres met het doeladres, begrijpt dat deze apparaten zich in verschillende subnetten bevinden en besluit een gateway te gebruiken om naar een ander subnet te gaan.
Ik krijg vaak de vraag wie bepaalt wat het IP-adres van de gateway moet zijn. Ten eerste is dat de netwerkbeheerder die het netwerk opzet en elk apparaat van een IP-adres voorziet. Als beheerder kun je de router elk adres toewijzen binnen het bereik van toegestane adressen van jouw subnet. Gewoonlijk is dit het eerste of laatste geldige adres, maar er zijn geen strikte regels voor de toewijzing. In ons geval heeft de beheerder het adres van de gateway, of router, ingesteld op 10.1.1.1 en dit toegewezen aan poort F0/0.
Wanneer je een netwerk instelt op een computer met een statisch IP-adres 10.1.1.10, wijs je het subnetmasker 255.255.255.0 en het standaard gateway-adres 10.1.1.1 toe. Als je geen statisch adres gebruikt, betekent dit dat de computer DHCP gebruikt, dat een dynamisch adres toewijst. Ongeacht welk IP-adres de computer gebruikt, statisch of dynamisch, er moet een gateway-adres zijn om toegang te krijgen tot een ander netwerk.
Dus de computer 10.1.1.10 weet dat hij een frame naar de router 10.1.1.1 moet sturen. Deze overdracht vindt plaats binnen het lokale netwerk, waar het IP-adres geen waarde heeft; hier is alleen het MAC-adres belangrijk. Laten we aannemen dat de computer de router nog nooit heeft aangesproken en zijn MAC-adres niet kent, daarom moet hij eerst een ARP-verzoek sturen, waarin hij alle apparaten in het subnet vraagt: "hƩ, wie van jullie heeft het adres 10.1.1.1? Laat me alsjeblieft je MAC-adres weten!" Omdat ARP een broadcastbericht is, komt het op alle poorten van alle apparaten aan, inclusief de router.
Computer 10.1.1.12, upon receiving the ARP, thinks: "no, my address is not 10.1.1.1," and discards the request, likewise, computer 10.1.1.13 acts in the same way. The router, having received the request, understands that it is specifically being asked and sends the MAC address of port F0/0 ā as all ports have different MAC addresses ā to computer 10.1.1.10. Now, knowing the gateway address XXXX:AAAA, which in this case is the destination address, the computer adds it to the end of the frame addressed to the server. Along with this, it sets the frame header FCS/CRC, which is a mechanism for checking transmission errors.

After this, the frame from computer 10.1.1.10 is sent through the wires to router 10.1.1.1. Upon receiving the frame, the router removes the FCS/CRC, using the same algorithm for verification that the computer did. The data consists of nothing more than a set of zeros and ones. If the data is corrupted, meaning a 1 becomes 0 or a 0 becomes one, or there is a data leak, which often occurs when using a hub, the device must resend the frame again.
If the FCS/CRC check is successful, the router looks at the source and destination MAC addresses and removes them, as this information is layer 2, and moves to the body of the frame, which contains layer 3 information. From it, it learns that the information contained within the frame is intended for a device with the IP address 30.1.1.10.
Somehow, the router knows where this device is located. We did not discuss this issue when we looked at how switches operate, so we will address it now. The router has 4 ports, so I added a few more connections to it. So, how does the router know that data for the device with the IP address 30.1.1.10 should be sent through port F0/1? Why doesnāt it send it through port F0/3 or F0/2?
The thing is, the router works with a routing table. Each router has such a table that allows it to decide through which port to send a specific frame.

In dit geval is poort F0/0 ingesteld op IP-adres 10.1.1.1, wat betekent dat deze is verbonden met netwerk 10.1.1.10/24. Evenzo is poort F0/1 ingesteld op adres 20.1.1.1, wat inhoudt dat deze is verbonden met netwerk 20.1.1.0/24. De router kent beide netwerken omdat ze rechtstreeks zijn aangesloten op zijn poorten. Zo is de informatie dat het verkeer voor netwerk 10.1.10/24 via poort F0/0 moet gaan, en voor netwerk 20.1.1.0/24 via poort F0/1, standaard bekend. Hoe weet de router echter via welke poorten hij met de andere netwerken moet werken?
We zien dat netwerk 40.1.1.0/24 is aangesloten op poort F0/2, netwerk 50.1.1.0/24 op poort F0/3, en netwerk 30.1.1.0/24 verbindt de tweede router met de server. De tweede router heeft ook een routeringstabel waarin staat dat netwerk 30. is aangesloten op zijn poort, laten we dat 0/1 noemen, en dat hij met de eerste router is verbonden via poort 0/0. Deze router weet dat zijn poort 0/0 is verbonden met netwerk 20., en poort 0/1 met netwerk 30., en weet verder niets.
Evenzo weet de eerste router over de netwerken 40. en 50., die zijn verbonden met de poorten 0/2 en 0/3, maar weet niets van netwerk 30. Het routeringsprotocol biedt de routers de informatie die ze standaard niet bezitten. Het mechanisme waarmee deze routers met elkaar communiceren, vormt de basis van routering, waarbij er zowel dynamische als statische routering bestaat.
Statische routering houdt in dat de eerste router de informatie krijgt: als hij verbinding moet maken met netwerk 30.1.1.0/24, moet hij poort F0/1 gebruiken. Echter, wanneer de tweede router verkeer ontvangt van de server dat bedoeld is voor computer 10.1.1.10, weet hij niet wat hij ermee moet doen, omdat zijn routeringstabel alleen informatie bevat over netwerk 30. en 20. Daarom moet ook deze router statische routering krijgen: als hij verkeer ontvangt voor netwerk 10., moet hij dit via poort 0/0 verzenden.
Het probleem met statische routering is dat ik de eerste router handmatig moet configureren om met netwerk 30. te werken, en de tweede router om met netwerk 10. te werken. Dit is eenvoudig als ik maar 2 routers heb, maar wanneer ik 10 routers heb, kost het veel tijd om statische routering in te stellen. In dat geval is het logisch om dynamische routering te gebruiken.
Dus, na het ontvangen van het frame van de computer, kijkt de eerste router in zijn routeringstabel en besluit het via poort F0/1 te verzenden. Daarbij voegt hij het MAC-adres van de bron XXXX.BBBB en het MAC-adres van de bestemming XXXX.CCCC toe aan het frame.

Na het ontvangen van dit frame, āsnijdtā de tweede router de MAC-adressen weg die betrekking hebben op de tweede laag van het OSI-model en gaat verder met de informatie van de derde laag. Hij ziet dat het IP-adres van de bestemming 30.1.1.10 tot hetzelfde netwerk behoort als poort 0/1 van de router, voegt het MAC-adres van de bron en het MAC-adres van het doelapparaat toe aan het frame en verzendt het frame naar de server.

Zoals ik al zei, herhaalt het volgende proces zich in omgekeerde richting, dat wil zeggen dat de tweede fase van de handdruk plaatsvindt, waarbij de server een SYN ACK-bericht terugstuurt. Voordat dit gebeurt, gooit hij alle overbodige informatie weg en laat alleen het SYN-pakket over.

Na het ontvangen van dit pakket, bekijkt de tweede router de ontvangen informatie, voegt deze toe en stuurt het verder.
In de voorgaande lessen hebben we geleerd hoe een switch werkt, en nu hebben we gezien hoe routers werken. Laten we de vraag beantwoorden wat routering in globale zin inhoudt. Stel je voor dat je zo'n verkeersbord tegenkomt, geplaatst op een rotonde. Je ziet dat de eerste afslag naar de basis van de Koninklijke Luchtmacht Fairbanks leidt, de tweede naar de luchthaven, de derde naar het zuiden. Als je de vierde afslag kiest, kom je in een doodlopende straat, en via de vijfde kun je het stadscentrum bereiken naar het kasteel van Brexby.

Samenvattend, routering is wat een router in staat stelt om beslissingen te nemen over waar het verkeer naartoe moet. In dit geval moet jij, als bestuurder, beslissen welke afslag van de rotonde je moet nemen. In netwerken moeten routers beslissingen nemen over waar ze pakketten of frames naartoe sturen. Je moet begrijpen dat routering het mogelijk maakt om tabellen te creƫren waarop routers deze beslissingen baseren.
Zoals ik al zei, zijn er statische en dynamische routering. Laten we statische routering bekijken, waarvoor ik 3 apparaten zal tekenen die aan elkaar zijn gekoppeld, waarbij het eerste en derde apparaat met netwerken zijn verbonden. Stel je voor dat ƩƩn netwerk 10.1.1.0 verbinding wil maken met netwerk 40.1.1.0, en tussen de routers bevinden zich netwerken 20.1.1.0 en 30.1.1.0.

In dit geval moeten de poorten van de routers tot verschillende subnetten behoren. Router 1 weet standaard alleen over netwerken 10. en 20., en weet niets over de andere netwerken. Router 2 kent alleen de netwerken 20. en 30., omdat deze aan hem zijn verbonden, en router 3 kent alleen de netwerken 30. en 40. Als netwerk 10. contact wil maken met netwerk 40., moet ik router 1 vertellen over netwerk 30. en dat als hij een frame van netwerk 40. wil verzenden, hij de interface voor netwerk 20. moet gebruiken en het frame via datzelfde netwerk 20. moet verzenden.
Aan de tweede router moet ik 2 routes toewijzen: als hij een pakket van netwerk 40. naar netwerk 10. wil verzenden, moet hij de poort van netwerk 20. gebruiken, en voor het verzenden van een pakket van netwerk 10. naar netwerk 40. de poort van netwerk 30. Evenzo moet ik router 3 voorzien van informatie over netwerken 10. en 20.
Als je kleine netwerken hebt, is het heel gemakkelijk om statische routering in te stellen. Maar naarmate het netwerk groter wordt, ontstaan er meer problemen met statische routering. Stel je voor dat je een nieuwe verbinding hebt gemaakt die router 1 en router 3 rechtstreeks verbindt. In dat geval zal het dynamische routeringsprotocol automatisch de routeringstabel van router 1 bijwerken met de volgende informatie: "Als je verbinding wilt maken met router 3, gebruik dan de directe route"!

Er zijn twee typen routeringsprotocollen: het interne gatewayprotocol IGP en het externe gatewayprotocol EGP. Het eerste protocol werkt met een afzonderlijk, autonoom systeem dat bekend staat als een routeringsdomein. Stel je voor dat je een kleine organisatie hebt met slechts 5 routers. Als we het alleen hebben over de communicatie tussen deze routers, dan verwijzen we naar IGP. Als je je netwerk echter gebruikt om verbinding te maken met het internet, zoals internetprovider, gebruik je EGP.

IGP maakt gebruik van 3 populaire protocollen: RIP, OSPF en EIGRP. De CCNA-cursus vermeldt alleen de laatste twee protocollen, omdat RIP verouderd is. Het is het eenvoudigste onder de routeringsprotocollen dat nog steeds in sommige gevallen wordt gebruikt, maar biedt niet de nodige netwerkniveauveiligheid. Dit is een van de redenen waarom Cisco RIP uit de cursus heeft verwijderd. Maar ik zal je er toch over vertellen, omdat het bestuderen ervan bijdraagt aan een beter begrip van de basisprincipes van routering.

De classificatie van EGP-protocollen maakt gebruik van twee protocollen: BGP en het EGP-protocol zelf. Tijdens de CCNA-cursus zullen we alleen BGP, OSPF en EIGRP behandelen. Informatie over RIP kun je beschouwen als bonusinformatie die in een van de video's zal worden weergegeven.
Er zijn nog twee soorten routeringsprotocollen: Distance Vector-protocollen en Link State-routeringsprotocollen.

Het eerste protocol kijkt naar afstands- en richtingsvectoren. Bijvoorbeeld, ik kan een directe verbinding maken tussen router R1 en R4, of ik kan een verbinding maken via R1-R2-R3-R4. Als we het hebben over routeringsprotocollen die de distance vector-methode gebruiken, zal de verbinding altijd de kortste route volgen. Het maakt daarbij niet uit dat deze verbinding een lagere snelheid heeft. In ons geval is dat 128 kbit/s, wat veel langzamer is dan de verbinding via R1-R2-R3-R4, waar de snelheid 100 mbit/s bedraagt.
Laten we het distance vector-protocol RIP bekijken. Ik voeg voor router R1 netwerk 10. toe, en achter router R4 netwerk 40. Stel dat er veel computers in deze netwerken zijn. Als ik verbinding wil maken tussen netwerk 10. R1 en netwerk 40. R4, zal ik R1 een statische routering toewijzen van het type: "als je verbinding wilt maken met netwerk 40., gebruik dan de directe verbinding met router R4". Op alle vier routers moet ik dan handmatig RIP instellen. De routeringstabel van R1 zal automatisch aangeven dat als netwerk 10. contact wil maken met netwerk 40., de directe verbinding R1-R4 gebruikt moet worden. Zelfs als er een snellere omweg mogelijk is, zal het Distance Vector-protocol nog steeds de kortste route met de minste overdrachtsafstand kiezen.
OSPF is een link-state routeringsprotocol dat altijd naar de toestand van de netwerksegmenten kijkt. In dit geval beoordeelt het de snelheid van de verbindingen, en als het ziet dat de snelheid van de gegevensoverdracht via de verbinding R1-R4 zeer laag is, kiest het een snellere route R1-R2-R3-R4, zelfs als deze langer is dan de kortste route. Dus als ik OSPF op alle routers instel, zal bij een poging om netwerk 40. met netwerk 10. te verbinden, het verkeer worden verzonden via de route R1-R2-R3-R4. Kortom, RIP is een distance vector-protocol, terwijl OSPF een link-state routeringsprotocol is.
Er is nog een protocol - EIGRP, een proprietary routingprotocol van Cisco. Wat betreft netwerken van andere fabrikanten, zoals Juniper, zij ondersteunen EIGRP niet. Dit is een uitstekend routingprotocol dat veel efficiƫnter is dan RIP en OSPF, maar het kan alleen worden gebruikt in netwerken gebaseerd op Cisco-apparatuur. Later zal ik dieper ingaan op wat dit protocol zo goed maakt. Voor nu wil ik opmerken dat EIGRP kenmerken van zowel distance-vector als link-state routingprotocollen combineert, en daarmee een hybride protocol vormt.
In de volgende videoles gaan we ons serieus richten op Cisco-routers. Ik zal je iets vertellen over het Cisco IOS-besturingssysteem, dat bedoeld is voor zowel switches als routers. Ik hoop dat we in de lessen op de 19e of 20e dag starten met een gedetailleerde studie van routingprotocollen, en aan de hand van enkele kleine netwerken laat ik zien hoe je Cisco-routers configureert.

Bedankt dat je bij ons blijft. Vind je onze artikelen leuk? Wil je meer interessante inhoud zien? Steun ons door een bestelling te plaatsen of ons aan vrienden aan te bevelen. 30% korting voor Habr-gebruikers op een unieke variant van entry-level servers, speciaal voor jou ontworpen: (opties beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).
Dell R730xd voor de helft van de prijs? Alleen bij ons in Nederland! Dell R420 ā 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB ā vanaf $99! Lees over hoe
Bron: habr.com
