Hfd 4 Flashcards
Truncated protocol stack
Maar gedeeltelijke versie van de TCP/IP stack (zoals die van een router alleen netwerk en lager heeft), omdat daar geen van de weggehaalde protocollen runnen
Forwarding
Het doorsturen van een packet van de input link van de router naar de juiste output link. Gebeurt op de data plane van de netwerklaag (alle binnen de router processen). Kort proces van nanoseconden geïmplementeerd in hardware.
Routing
D.m.v. algoritmes vaststellen van de route die een packet moet afleggen om van host1 naar host 2 te komen.
Gebeurt op de control plane van de netwerk layer (alle tussen de routers door processen). Proces dat seconden beslaat en vaak geïmplementeerd is in de software.
Forwarding table
Bevat data over welke header waar naartoe moet. Traditioneel gemaakt met info van met elkaar pratende routing algorithms. De SDN benadering, haalt het routen uit de router en verplaatst dit naar een remote controller in de control plane, die alle forwarding tables maakt en verdeeld.
SDN
Software Designed Networking. Het verplaatsen van het routen in een router naar een remote data centre met grote betrouwbaarheid en redundantie.
Network service model
Definieert de karakteristieken van de end-to-end delivery van packets.
Dingen als gegarandeerde aflevering of in juiste volgorde aflevering
Best-effort service
De enige service die het Internet beloofd. Altijd hun best te doen. Dus zelfs als geen enkele packet aankomt, is dit waar te maken.
En toch met adequate bandwidth verdeling en bandwidth-adaptive application-level protocollen ‘goed genoeg’ gebleken
Packet switch
Algemeen packet switching apparaat dat een packet van input link naar output link verplaatst gebaseerd op info uit de header fields van een packet.
Link-layer switches
Baseren hun forwarding beslissingen op header fields uit de link-laag
4 onderdelen router
Input ports
Output ports
Switch fabric
Routing processor
Input ports
3 functies;
Importeren fysieke signalen.
Link-layer functies die communiceren met de link-layer waarvan het signaal binnenkomt.
En een zoekfunctie die de forwarding tabel raadpleegt voor een output port binnen de router. Control packets (zoals packets die protocol informatie dragen) worden van een input port naar de routing processor gestuurd. Door een schaduwkopie van de forwarding tabel op iedere input port, kan een centralized bottleneck voorkomen worden
Switching fabric
De verbinding tussen de input ports en de output ports. Bevind zich in zn geheel binnen de router, als een netwerk binnen een netwerk.
Output ports
Dmv de benodigde link- en physical-layer functies packets uit de switching fabric op de uitgaande link zetten.
Routing processor
Doet de control plane functies (het bepalen van de route buiten de router). Het voer routing protocollen uit, onderhoudt routing tabellen & bijbehorende link info en maakt de forwarding table for de router zelf.
Dit maakt dat in een SDN routers de processor communiceert met de remote controller.
Waarom hardware bij de software gehaald?
Software is te traag om snel signalen te verzenden. Hardware kan dit sneller. Het vervullen van de functies in de control plane gaan langzamer, dus werkt software (gaat om millisec of sec ipv nanosec)
Forwarding table
Alle opties in een tabel zetten levert met 32bits IP 4 biljoen opties op —> te veel! Dus door de IPadressen van .. tot .. een bepaalde output port in te sturen wordt de tabel al een stuk korter. Nog korter door t op te schrijven met een prefix (de eerste zoveel 1s en 0en die een range aangeven).
Wanneer een IP adres binnen meerdere prefixes valt, zal de router altijd het langste matchende prefix nemen.
Packet loss
Zal plaatsvinden als er geen geheugen beschikbaar is voor het opslaan van packets. Dit kan door volgelopen queues in de input router zowel als de output router.
IPv4 datagram
Versienr
Header length
Type of service
Datagram length
Identifier/flags/fragmentation offset
Time-to-live
Protocol
Header checksum
Source & destination IPs
Options
Payload (meestal t transportlaag segment, maar kan meer bevatten)
Datagram length
16bits vak, dus datagram zou 65535 bytes kunnen zijn. Bijna nooit meer dan 1500 bytes, want dan te passen in payload field van ethernet frame.
Protocol nummer datagram
Nummer dat aangeeft welk transportlaag protocol het wil gebruiken. 6 voor TCP, 17 voor UDP, zo vele meer. Werkt vergelijkbaar met het portnr in de transportlaag. Deze waarden binden de laag waar ze op werken aan de laag erboven.
Header checksum
iedere 2 bytes 1 nr
Daarna wordt de checksum gedaan net als in de transportlaag voor een segment
na iedere router opnieuw berekend en opgeslagen vanwege eventueel veranderde data
Wordt gedaan in transportlaag over een heel segment en in netwerklaag over alleen de header
Interface
Een raakvlak tussen 2 verschillende media.
Bijvoorbeeld de grens tussen de host en de fysieke link, net als de overgang van link naar router.
IP heeft het nodig dat iedere host & interface een IP adres hebben
Dotted-decimal notation
De notatie van een IP adres waarin iedere byte geschreven wordt in zijn decimaal met een punt om de 4 bytes te scheiden.
Subnet
Het interconnecten van 1 router interface met meerdere host interfaces. Ook wel een IP netwerk genoemd.
Subnetmask
Geeft aan hoeveel bits vanaf links het subnet adres aangeven. Bepaald dus ook hoeveel adressen er binnen dit subnet te vinden zijn.
Aangegeven met behulp van een /..
Recipe to define subnets
Om subnets vast te stellen, haal ieder interface los van z’n host/router. Zo ontstaan er eilandjes van geïsoleerde netwerken, met interfaces als end point van de eilandjes. Ieder eilandje is een subnet.
CIDR
Classless Interdomain Routing.
De strategie van t internet voor het uitdelen van IPadressen.
32-bit IPadressen
a.b.c.d/x
Waarin a-d een byte is decimaal geschreven en x de hoeveelheid bits vanaf links aanduidt die samen de prefix vormen
Prefix
Subnetmask.
Enige deel van een IPadres dat door routers buiten het eigen netwerk gebruikt wordt
De linkerkant van een IPadres dat het netwerkdeel aangeeft. Alles rechts ervan zijn uit te delen IP adressen binnen dat subnet
Classful adressing
Het verdelen van subnetten in classes A (/8), B(/16) of C(/24) waardoor het verbruiken van IPadressen veel sneller gaat dan nodig. Class C vaak te kleine hoeveelheid hosts voor bedrijven, waardoor de veel te grote class B veel gebruikt.
255.255.255.255
Broadcast IP adres
Naar alle hosts op het zelfde subnet
ICANN
Nonprofit organisatie die wereldwijd verantwoordelijk is voor het managen van IPadressen.
Ook verantwoordelijk voor het managen van DNS root servers en toewijzen van domein namen.
DHCP
Verdeeld gewoonlijk de IPadressen van een deelnetwerk over hosts. Leert een host ook extra info als subnet mask, adres of first-hop router and adres van lokale DNS server
Router interfaces krijgen vaak een handmatig toegewezen adres
Aangesloten op een subnet, kan via een router als relay agent ook andere subnetten verdelen.
Plug-and-play
Aka zeroconf protocol.
DHCP.
Omdat het het connecten van een host aan een netwerk automatiseert.
yiadrr
Your internet adress, de handshake voor het uitgeven van een IPadres van DHCP server aan host.
(1) DHCP discover message - zoek een dhcp server - datagram naar port 67 broadcasten om te vinden via linklaag
(2) DHCP offer message - server biedt een adres aan - gebroadcast - kunnen meerdere offer messages terug komen - offer message heeft; ID, voorgesteld adres, netwerkmask & adress lease time (paar uur meestal)
(3) DHCP request message - client kiest een offer om aan te nemen door parameters terug te echoen
(4) DHCP ACK message - de server deelt uit.
DORA
Discover
Offer
Request
Acknowlegde
NAT
Network Adress Translation
Wanneer een NAT enabled router binnen een prive netwerk IPadressen uitdeelt die op andere plekken op de wereld ook in privenetwerken worden uitgedeeld. Zolang ze maar binnen dat netwerkje blijven, geen probleem.
Deze router wordt naar buitenwereld gezien als 1 IPadres
NAT translation table
Een soort forwarding tabel maar dan voor de IPadressen binnen een prive netwerk met NAT enabled router.
Krijgt datagram van een prive adres en portnr, zet dit om in een momenteel niet gebruikt portnr en zijn emailadres en stuurt het door. Als bericht terug dan weer terugzetten naar oude staat en doorsturen
IPv6 datagram
Version
Traffic class - om prioriteit te geven aan datagrams van bepaalde apps
Flow label
Payload length
Next header = IPv4 protocol veld
Hop limit
Source adress
Destination adress
Data
IPv4 vs IPv6
IPv6
- verlengt het IP adres van 32 naar 128 bits
- anycast adress geintroduceert
- de header is vereenvoudigd naar een vaste 40byte header, hierdoor sneller verwerkt
- flow labeling —> het labelen van packets die bij een bepaalde flow horen. De precieze definitie van flow moet nog vastgesteld, vooruit denken.
- IPv6 laat niet toe dat datagrammen gefragmenteerd worden
- geen checksum meer, snel kunnen verwerken was grote zorg
- options field is uit vaste header, ipv daarvan is ernaar te verwijzen via de ‘next header’
Anycast adress
Laat een datagram afgeleverd worden bij een (any) groep hosts.
Bijvoorbeeld gebruikt voor het sturen van een HTTP GET naar de dichtsbijzijnde spiegelende sites.
Tunneling
Stel 2 IPv6 routers willen dingen uitwisselen maar er zitten IPv4 routers tussen die niet kunnen omgaan met de IPv6 datagrammen.
De laatste IPv6 node stopt t hele datagram in de payload van een IPv4 datagram.
Zo kan deze door de IPv4 routers.
De eerstvolgende IPv6 node stelt vast dat er iets uit te pakken is (dmv protocol =41) en pakt uit
ICMP
Internet Controle Message Protocol
Internet Control Message Protocol
Gebruikt door hosts en routers om netwerk-laag info door te spelen, met name voor error reporting.
ICMP messages zitten in het IP datagram samen met bv TCP segmenten