Communicatie tussen Computers Deel III : Cowley H. 6, Internet Peter van Kranenburg
Vandaag Recap Inter-netwerken Internet Protocol: IPv4, IPv6 Adressering, DHCP ARP Autonomous Systems Routering OSPF MPLS BGP ICMP
Recap LAN, WAN LAN: Local Area Network Klein geografisch gebied (één of enkele gebouwen) Meestal binnen een organisatie Ethernet WAN: Wide Area Network Verbinding over grotere afstanden (soms wereldwijd) Vaak voor verbinding van LANs Lange-afstandsverbindingen verzorgd door telecombedrijven: Leased Line, PSTN, ISDN, Frame Relay, ATM, DSL, Cable Television Long Distance Carrier Long Distance Carrier Long Distance Carrier LAN LAN LAN
Recap Switch Switch/Bridge: Stuurt inkomend dataverkeer alleen door via de port waarop de ontvanger te bereiken is Vervult OSI Layer 2 functie Adressering d.m.v. MAC (hardware) adressen. Star
Internetwerk Uitdaging: Grote Heterogeniteit: grote afstanden groot aantal devices veel verschillende types devices verschillende topologieën veel verschillende paden verschillende dataformaten verschillende fysieke verbindingen verschillende bandbreedtes verschillende betrouwbaarheid regelmatig veranderingen
Vandaag Recap Inter-netwerken Internet Protocol: IPv4, IPv6 Adressering, DHCP ARP Autonomous Systems Routering OSPF MPLS BGP DNS
Internet Protocol (IP) Taak: data-packets over een internet van host A naar host B sturen Layer 3 functionaliteit Nodig: Adressering Routering Twee versies in gebruik: IPv4 (1981: RfC791) IPv6 (1998: RfC2460) B A
Internet Protocol: Adressering De overgang tussen een netwerkapparaat (router/switch/host) en het netwerk noemt men de interface Een host heeft één interface met een netwerk Een switch heeft meerdere interfaces op hetzelfde netwerk Een router heeft interfaces op verschillende netwerken IP eist dat elke interface een uniek adres heeft Een netwerk wordt gedefinieerd door een reeks IP adressen LAN A LAN B LAN A LAN A LAN A LAN A LAN C LAN A LAN D
IP vs MAC adressering MAC adres: Layer 2 adres van de fysieke interface. Gebruikt door functies in de Data-linklaag IP adres: Layer 3 adres. Gebruikt door functies in de Netwerklaag Op iedere interface dient minimaal één IP adres geconfigureerd te zijn
Internet Protocol: IPv4 adressen Vier bytes (32 bits): meer dan 4 miljard adressen beschikbaar Notatie: dotted decimal Bijvoorbeeld: 172.16.254.1 (Volledig decimaal: 2886794753)
Internet Protocol: IPv4 adressen Internet Assigned Numbers Authority (IANA) Verantwoordelijk voor (o.a.) wereldwijde toekenning van IP-adressen Wordt verder uitbesteed aan regionale organisaties: Regional Internet Registry National Internet Registry Local Internet Registry https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml
Internet Protocol: IPv4 adressen IPv4 adres bestaat uit een netwerk-deel en een host-deel Aanvankelijk 3 netwerk klassen: Class A Class B Network Host Host Host 8 24 bits Network Network Host Host 16 bits 16 bits Class C Network Network 24 bits Network Host 8
Internet Protocol: IPv4 adressen Voorbeeld: als adres 172.16.254.1 bij een class B netwerk hoort: Netwerk-deel: 172.16 Host-deel: 254.1 Hele Class B netwerk: Eerste adres: 172.16.0.0 Laatste adres: 172.16.255.255 Eerste adres van een netwerk: netwerkadres Laatste adres van een netwerk: broadcast-adres Dus in een Class B netwerk: 2 16 2 = 65534 vrije adressen 127.x.y.z : loopback adressen
Internet Protocol: IPv4 adressen Probleem: Tekort aan IPv4 adressen Laatste blokken zijn in 2014 door IANA uitgedeeld Door indeling in Class A, B en C veel verspilling Voor netwerk met > 254 hosts moet class B serie gereserveerd worden: 65534 adressen Dus ook voor een netwerk met bijv. 255 hosts Voorlopige oplossingen Private IP adressen (binnen een netwerk) Subnetting Network Address Translation (NAT)
Internet Protocol: IPv4 adressen Private IP adressen (binnen een netwerk) Kunnen in elk netwerk hergebruikt worden Interne adressen Dus niet op het publieke internet De router die het netwerk met internet verbindt verzorgt vertaling van private naar publieke adressen (NAT) en doet poort-mapping indien nodig. Class First Address Last Address A 10.0.0.0 10. 255. 255. 255 B 172.16.0.0 172.31. 255. 255 C 192.168.0.0 192.168.255. 255 1 Class A network 16 Class B networks 256 Class C networks
Internet Protocol: IPv4 adressen: NAT Internet This address can be seen on the Internet. 82.37.66.145 NAT Router 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5
Internet Protocol: IPv4 adressen: Subnetting 1993: Classless Inter-Domain Routing (CIDR) Klassen A, B en C vervallen Scheiding netwerk-host wordt op bit-niveau aangegeven Kan overal liggen Notatie: 203.124.194.23/18 Bit 1 t/m 18: netwerk-deel Bit 19 t/m 32: host-deel
Internet Protocol: IPv4 adressen: Subnetting 1993: Classless Inter-Domain Routing (CIDR) Klassen A, B en C vervallen Scheiding netwerk-host wordt op bit-niveau aangegeven Kan overal liggen Notatie: 203.124.194.23/18 11001011.1111100.11000010.00010111 11111111.1111111.11000000.00000000 ip adres netmask Netwerk-deel Host-deel 2 14 = 16384 adressen
Internet Protocol: IPv4 adressen: Subnetting 1993: Classless Inter-Domain Routing (CIDR) Klassen A, B en C vervallen Scheiding netwerk-host wordt op bit-niveau aangegeven Kan overal liggen Notatie: 203.124.194.23/18 11001011.1111100.11000010.00010111 AND 11111111.1111111.11000000.00000000 11001011.1111100.11000000.00000000 ip adres netmask netwerkadres netwerkadres: 203.124.192.0
Structurele Oplossing: IPv6 1998: Volgende generatie IP-adressen 128-bit adressering i.p.v. 32-bit adressering 2 128 3.4 x 10 38 667 x 10 21 IPv6 adressen per vierkante meter Geen trucs meer voor adressering zoals NATs, submasking, Onderscheid prefix (netwerk) en suffix (host) variabel Notatie: hexadecimaal met dubbele punt (colon hex) 0adc:8564:ffff:0000:0000:1380:8e01:ffff/128 Voorloopnullen mogen weggelaten: adc:8564:ffff::1380:8e01:ffff Zie verder Cowley 6.1.7.2 en Appendix A Overgang vindt langzaam plaats. IPv4 en IPv6 bestaan nu naast elkaar
Internet Protocol: Adrestoewijzing Hoe komt een interface aan zijn IP-adres? 1. Handmatig (door systeembeheerder) 2. Van een Dynamic Host Configuration Protocol (DHCP)-server DHCP Server DHCP client PCs request IP addresses IP Address Database DHCP server listens for requests & assigns IP addresses DHCP Client PC DHCP Client PC Client krijgt: IP adres Netmask Geldigheidsduur en vaak ook: IP adres van gateway IP adres van name server DHCP Client PC DHCP Client PC
Internet Protocol: IPv4 header Version: IP versie IHL: Internet Header Length DSCP: Type of Service (prioriteit) ECN: Congestion Notification Identification: Uniek ID van (ongefragmenteerd) packet Flags: fragmentatie info Options: voor uitbreidingen
Routering B A
Recap Router Router: Zorgt voor routering van layer 3 netwerk packets (N.B. dus niet van layer 2 dataframes) Vervult OSI Layer 3 functie Kan een route vinden tussen computers op verschillende LANs Taak: packet doorsturen naar beste eerstvolgende router (next hop)
ARP, Routering LAN A Network 194.216.4.0/24 194.216.4.2 194.216.4.3 194.216.4.4 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router LAN B 194.216.5.2 194.216.5.3 194.216.5.4 Network 194.216.5.0/24 194.216.5.5 194.216.5.6
ARP, Routering LAN A 194.216.4.2 194.216.4.3 194.216.4.4 Network 194.216.4.0/24 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router LAN B 194.216.5.2 194.216.5.3 194.216.5.4 Network 194.216.5.0/24 194.216.5.5 194.216.5.6 Router heeft drie interfaces: 194.216.4.0/24 194.216.5.0/24 Alle andere IP adressen
Heeft: ARP tabel, Route tabel ARP, Routering LAN A 194.216.4.2 194.216.4.3 194.216.4.4 Network 194.216.4.0/24 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router LAN B 194.216.5.2 194.216.5.3 194.216.5.4 Network 194.216.5.0/24 194.216.5.5 194.216.5.6 Scenario 1: 194.216.4.2 wil packet naar 194.216.4.6 sturen Om fysiek iets te versturen: MAC adres nodig Vraag: Is 194.216.4.6 op hetzelfde netwerk (LAN A)? Zie netmask (/24): Ja Vraag op LAN A naar het MAC adres (volgens Address Resolution Protocol)
Heeft: ARP tabel, Route tabel ARP, Routering LAN A 194.216.4.2 194.216.4.3 194.216.4.4 Network 194.216.4.0/24 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router LAN B 194.216.5.2 194.216.5.3 194.216.5.4 Network 194.216.5.0/24 194.216.5.5 194.216.5.6 Procedure ARP: 194.216.4.2 stuurt ARP Request: Broadcast in LAN A naar MAC adres ff:ff:ff:ff:ff:ff : Wie heeft IP adres 194.216.4.6 Interface met 194.216.4.6 stuurt Reply met MAC adres 194.216.4.2 slaat MAC adres van.4.6. op in ARP tabel
Heeft: ARP tabel, Route tabel ARP, Routering LAN A 194.216.4.2 194.216.4.3 194.216.4.4 Network 194.216.4.0/24 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router 194.216.5.2 194.216.5.3 194.216.5.4 LAN B Network 194.216.5.0/24 194.216.5.5 194.216.5.6 Scenario 2: 194.216.4.2 wil packet naar 194.216.5.6 sturen MAC adres nodig Vraag: Is 194.216.5.6 op hetzelfde netwerk (LAN A) Zie netmask (/24): Nee Stuur naar Router: 194.216.4.1 194.216.4.2. vraagt (via ARP) MAC adres van 194.216.4.1 (Router) Router kijkt in route-tabel waar packet heen moet, vraagt MAC Adres op LAN B, etc
Heeft: ARP tabel, Route tabel ARP, Routering LAN A 194.216.4.2 194.216.4.3 194.216.4.4 Network 194.216.4.0/24 194.216.4.5 194.216.4.6 194.216.4.1 Internet 194.216.5.1 Router LAN B 194.216.5.2 194.216.5.3 194.216.5.4 Network 194.216.5.0/24 194.216.5.5 194.216.5.6 Scenario 3: 194.216.4.2 wil packet naar 83.217.76.86 sturen MAC adres nodig Vraag: Is 83.217.76.86 op hetzelfde netwerk (LAN A) Nee Stuur naar Router : 194.216.4.1 194.216.4.2 vraagt (via ARP) MAC adres van 194.216.4.1 Router kijkt in route-tabel waar packet heen moet Router stuurt packet naar next hop op internet
Routering: De Reis van een Packet Source Network A Header A IP Datagram IP Datagram Router 1 IP Datagram Network B Header B IP Datagram Router 2 IP Datagram Router x IP Datagram Network Y Header Y IP Datagram Destination IP Datagram
Routering Routering op internet op verschillende niveaus: Binnen LAN (geen routering nodig) MAC adres van eindbestemming kan via ARP gevraagd worden Tussen VLANs Binnen een Autonomous System (AS) Open Shortest Path First Multi Protocol Label Switching Tussen Autonomous Systems Border Gateway Protocol
Autonomous System Deelnetwerk van internet (éen of enkele reeksen IP adressen) Onder beheer van één instantie Internet Service Provider Universiteit Overheid Private onderneming Verbonden met andere Autonomous Systems door peering
Autonomous System Uniek identificatienummer (32 bit) Toegekend door IANA gedelegeerd naar Regional/National/Local Internet Registries [ ] AS278 Universidad Nacional Autonoma de Mexico AS279 LVLT-279 - Level 3 Communications, Inc. AS280 NTTA-280 - NTT America, Inc. AS281 LVLT-281 - Level 3 Communications, Inc. AS282 MERIT-AUX-AS - Merit Technology, Inc. AS283 MPOWERLABS - MPower Labs, Inc. AS284 UUNET-IPV6 - MCI Communications Services, Inc. d/b/a Verizon Business AS285 DNIC-AS-00285 - Headquarters, USAISC AS286 KPN KPN Internet Backbone AS287 DNIC-AS-00287 - Navy Network Information Center (NNIC) AS288 European Space Agency c/o Christoph Kroell Darmstadt, D-64293 DE AS289 DNIC-AS-00289 - Headquarters, USAISC AS290 SHOWNET-AS - Interop Show Network [ ]
Autonomous System Stub AS Bevat hosts (eindpunten) AS Transit AS Transporteert data naar andere ASs Verzorgt lange-afstandverbindingen AS
Autonomous System: Peering Peering: Verbinding tussen twee Autonomous Systems Twee varianten: Private peering Public peering AS AS
Private Peering Directe (fysieke) verbinding tussen twee Autonomous Systems. Meestal: aanleg van een 10Gbps glasvezel Voordelen: Gegarandeerde bandbreedte Gemakkelijk te monitoren Betrouwbaar Nadelen: Alleen rendabel bij grote hoeveelheden dataverkeer Veel werk voor het maken van de verbinding AS AS
Public Peering Verbinding tussen twee ASs via een Internet Exchange Point (IXP) Voordelen: Honderden peers beschikbaar Nieuwe peers snel beschikbaar Efficient gebruik van de verbindingen Nadelen: Minder veilig dan private peering Member fees voor het IXP AS AS AS AS ASAS AS AS AS AS AS IXP
Public Peering Bijvoorbeeld Amsterdam Internet Exchange: AMS-IX Van de website (15-1-2018): Aangesloten ASs : 818 Poorten: 1438 Piek: 5.513 Tbps Capaciteit: 26.38 Tbps
Routering B A
Routering in AS: OSPF Intern in het AS: een netwerk van routers Veelgebruikt routeringsprotocol: Open Shortest Path First (OSPF) OSPF-Routers ontdekken elkaar (via multicast Packets) Routers sturen berichten naar hun neighbours : Identificatie Actieve verbindingen (IP range) cost van een verbinding Neighbours sturen de berichten door naar hun neighbours Iedere router bouwt zo een volledige kaart van het netwerk op Iedere router kan dus het kortste pad tussen zichzelf en de bestemming van een packet uitrekenen (met Dijkstra s kortstepad-algoritme) Dus weet naar welke volgende router het packet moet
Routering in AS: MPLS In groot AS (veel routers) met veel data: berekenen van de route duur Moet met OSPF in elke router opnieuw voor elk packet Oplossing: Multi Protocol Label Switching (RfC 3031) Bij binnenkomst van een packet in het AS wordt een route berekend en een label aan het packet toegevoegd (tussen layer 2 en layer 3 header) Alle packets met hetzelfde label volgen dezelfde route (virtual circuit) door het AS Elke router moet enkel de next hop voor het label opzoeken MPLS tunnel
Routering tussen Autonomous Systems Een Router kan niet de topologie van het hele internet bevatten Voor routering naar een host in een ander AS kan geen OSPF gebruikt worden Voor routering tussen Autonomous Systems: Border Gateway Protocol (BGP)
Routering: BGP https://github.com/knorrie/network-examples/tree/master/bgp-intro
Routering: BGP vs. OSPF OSPF Individuele hosts Alle IP adressen en subnets zijn daadwerkelijk in gebruik binnen het AS Elke router kent alle details van het netwerk Router kan kortste pad tussen twee hosts berekenen BGP IP reeksen Geen garantie dat IP adressen en subnets daadwerkelijk in gebruik zijn binnen het AS Router weet enkel dat bepaalde netwerken bereikbaar zijn Router ziet een heel AS als een stap
Routering: BGP BGP router vertelt aan peers welke ip-reeksen hij kan routeren (=adverteren) Peers communiceren dit verder aan hun peers BGP routers leren zo routes naar Autonomous Systems Bij stub Autonomous System: alleen eigen ip-reeksen adverteren Een router op een Transit AS adverteert alles dat via het AS bereikt kan worden
Routering: BGP Klein stukje BGP tabel van route-server.host.net: Network Next Hop Weight Path *> 1.0.4.0/22 64.135.0.1 0 13645 19151 4826 38803 56203 i *> 1.0.4.0/24 64.135.0.1 0 13645 19151 4826 38803 56203 i *> 1.0.5.0/24 64.135.0.1 0 13645 19151 4826 38803 56203 i *> 1.0.6.0/24 64.135.0.1 0 13645 19151 4826 38803 56203 i *> 1.0.7.0/24 64.135.0.1 0 13645 19151 4826 38803 56203 i *> 1.0.16.0/24 64.135.0.1 0 13645 19151 2497 2519 i *> 1.0.64.0/18 64.135.0.1 0 13645 19151 2516 7670 18144 i *> 1.0.128.0/17 64.135.0.1 0 13645 19151 174 38040 9737 i *> 1.0.128.0/18 64.135.0.1 0 13645 19151 174 38040 9737 i *> 1.0.128.0/19 64.135.0.1 0 13645 19151 174 38040 9737 I Etc 672.687 prefixes
Routering: BGP Groei internet-brede BGP tabel
Internet Control Message Protocol (ICMP) Protocol om foutmeldingen en systeeminformatie te versturen tussen hosts en routers. Destination Unreachable Echo reply Redirect Message Tijdstip e.d. Bijvoorbeeld: ping (command line) stuurt echo request message De geadresseerde server wordt gevraagd een echo reply te sturen Gebruiken om te controleren of een server bereikbaar is Of om een route te traceren (traceroute / mtr) Gebruikt Time-To-Live veld in IP header Iedere hop (router) verlaagt de waarde van dit veld Bij waarde 0: router stuurt ICMP bericht aan source van het IP packet
Enkele tools BGP Toolkit: http://bgp.he.net Informatie over ASs en BGP traceroute / mtr -wbz (command line tools) volg de route van een packet host (command line tool) ip -> hostname, hostname -> ip Looking glasses: http://www.bgp4.as/looking-glasses kijk vanuit een bgp router Visualisatie Transit-verbindingen: https://www.he.net/3d-map/