Netwerkprotocollen - OS3172.16.0.0/12 192.168.0.0/16 Kan nooit “in het wild” voorkomen Achter...
Transcript of Netwerkprotocollen - OS3172.16.0.0/12 192.168.0.0/16 Kan nooit “in het wild” voorkomen Achter...
1
Apr-14-08 SNB PHH 1 1
NetwerkprotocollenInleiding TCP/IP
Apr-14-08 SNB PHH 1 2
Overzicht ISO 7 lagen model
Laag 2 - Ethernet Laag 3 - IP Laag 4
• ICMP• UDP• TCP
Toepassingen• Ping• DNS• traceroute• DHCP• SNMP
Documentatie
2
Apr-14-08 SNB PHH 1 3
Protocollen
Afspraken IP IPX AppleTalk VinesIP
Apr-14-08 SNB PHH 1 4
3
Apr-14-08 SNB PHH 1 5
ISO model7 lagen
Apr-14-08 SNB PHH 1 6
ISO 7 lagen model
4
Apr-14-08 SNB PHH 1 7
Complexiteit Gelaagde opbouw
Complexiteit beheersbaar maken ISO 7 lagen model
steunt alleen op de onderliggende laag verleent services naar de bovenliggende laag steeds abstracter steeds onafhankelijker van de physieke structuur
Iedere laag vervangbaar zonder effecten naar boven
Apr-14-08 SNB PHH 1 8
ISO model (laag 1) Bitstroom door kabel Mechanische standaards
Connectoren• Pinouts
Electrische standaards Spanningen Frequenties Kleuren (licht) Modulaties
5
Apr-14-08 SNB PHH 1 9
ISO model (laag 2) Ruw transmissiekanaal Data in pakketten Foutdetectie Physieke adressen
MAC adressen (Ethernet, TokenRing)• Media Access Control• Many to many
Geen adressen (PPP, SLIP, HDLC)• Point to point
Apr-14-08 SNB PHH 1 10
ISO model (laag 3) Pakketten van host naar host Over de grenzen van het eigen subnet heen Logische adressen
Bepaald door de omgeving Afbeelding op physieke adressen
• Address Resolution Protocol (ARP)
Subnets Congestieafhandeling Accounting
6
Apr-14-08 SNB PHH 1 11
ISO model (laag 4)
End-to-end transport Foutcorrectie Aparte netwerkverbinding Data van programma naar programma
Apr-14-08 SNB PHH 1 12
ISO model (laag 5)
Sessies Bidirectioneel
7
Apr-14-08 SNB PHH 1 13
ISO model (laag 6)
Uniform data formaat ASCII - EBCDIC Netwerk vs host-byte order
Apr-14-08 SNB PHH 1 14
ISO model (laag 7)
Applicatieprotocol Virtual terminal (Telnet, SSH) Mail protocol (SMTP) File transport (FTP) File Sharing (NFS)
8
Apr-14-08 SNB PHH 1 15
IP en ISO model
TCP/IP past niet exact Minder lagen in TCP/IP Lagen liggen iets anders verdeeld TCP/IP definieert geen lagen “onder” IP
Apr-14-08 SNB PHH 1 16
Communicatie
Conceptueel gaat communicatie horizontaal Van laag 7 naar laag 7
Data stroomt verticaal in protocol stack Aan zender kant naar beneden Aan ontvanger kant naar boven
Alleen lagen 1 staan “echt” in verbinding
9
Apr-14-08 SNB PHH 1 17
Bruggen
Machines met meer dan één interface Koppeling tussen twee stacks
Laag 1 Repeater Laag 2 Bridge Laag 3 Router Hoger Proxy, Application gateway
Apr-14-08 SNB PHH 1 18
Router/bridge/repeater
Koppeling op laag 3 Koppeling op laag 2 Koppeling op laag 1
10
Apr-14-08 SNB PHH 1 19
Laag 1
UTP MM Fiber
MultiMode 62.5 µ Multimode 50 µ
SM Fiber SingleMode 10 µ
Apr-14-08 SNB PHH 1 20
Locale netten
UTP bekabeling Unshielded Twisted Pair
Switched 10/100 Mb Behalve nog wat oude plekken
• Hubs (op kleine switch)
11
Apr-14-08 SNB PHH 1 21
Van Wall-outlet
Unshielded Twisted Pair
4 paren Max 100 meter
Apr-14-08 SNB PHH 1 22
Kabel
12
Apr-14-08 SNB PHH 1 23
Via SER
Afgemonteerd op strip Meestal 24
Gelabeld Beide zijden gelijk
Patch naar apparatuur
Apr-14-08 SNB PHH 1 24
Naar Apparatuur
Patch naar outlet
13
Apr-14-08 SNB PHH 1 25
Laag 2
Ethernet (TokenRIng) (FDDI) (SLIP) (PPP) (ATM) (HDLC)
Apr-14-08 SNB PHH 1 26
Sigarendoosje…
14
Apr-14-08 SNB PHH 1 27
Ethernet
10 base 5• 'gele tuinslang', 500 meter
10 base 2• dunne coax, 185 meter
10 base T• UTP, 100 meter
10 base FL• Fiber, kilometers (MM), tientallen kilometers (SM)
Apr-14-08 SNB PHH 1 28
Fast Ethernet
100 base TX• UTP, 100 meter
100 base FX• Fiber, kilometers (MM), tientallen kilometers (SM)
15
Apr-14-08 SNB PHH 1 29
Gigabit Ethernet
1000 base TX• UTP, 100 meter
1000 base SX• Fiber, 300 meter
1000 base LX• Fiber, 550 meter (MM), kilometers (SM)
1000 base ZX• Fiber, tientallen kilometers (SM)
Apr-14-08 SNB PHH 1 30
10 GigabitEthernet 10g base SR
MM, 30-300 meter 10g base LR
SM, 10 km 10g base ER
SM, 40 km 10g base ZR
SM, 80 km 10g base CX4
4 * coax, 15m 10g base T
UTP, 50m (cat6), 100m (cat7)
16
Apr-14-08 SNB PHH 1 31
EthernetIn detail
Apr-14-08 SNB PHH 1 32
Ethernet
Medium “shared ether” Wacht tot het stil is Stuur je pakket Collision
• Twee beginnen tegelijk
17
Apr-14-08 SNB PHH 1 33
Ethernet
Ethernet adressen 48 bits Specials
• Broadcast (ff:ff:ff:ff:ff:ff)• Multicast (01:00:5e:xx:xx:xx)
Wereldwijd uniek• Vendor code (24 bits)
Lijst http://standards.ieee.org/regauth/oui/index.shtml
Apr-14-08 SNB PHH 1 34
Collision Twee proberen tegelijk te sturen Bek houden Random tijd wachten
random tussen 0 en X, X verdubbelt iedere keer Opnieuw proberen Collisions volkomen normaal (half duplex) Afhandeling door netwerkinterface Alleen een beetje vertraging Alleen probleem als het er erg veel zijn
18
Apr-14-08 SNB PHH 1 35
Collision Looptijden
Signaal altijd enige tijd onderweg Collisions beperken kabellengte
Collision altijd in eerste 64 bits Anders 'Late collision'
• FOUT! Full vs half duplex
Full duplex dus geen collisions Duplex mismatch
• Veel collisions aan de half duplex kant• Late collisions• Wordt het heeeel traag
Apr-14-08 SNB PHH 1 36
Collision
Kabellengten Looptijden Repeater geldt als xxx meter kabel Media converter geldt als xxx meter kabel
19
Apr-14-08 SNB PHH 1 37
Ethernet pakket
Apr-14-08 SNB PHH 1 38
Repeaters Laag 1 Signaalversterking Paar bittijden vertraging
Stukje preamble Geen buffer Dus maximaal 3 in ieder pad
20
Apr-14-08 SNB PHH 1 39
Repeaters Voorbeelden
• 3Com hub• knoeihubje• UB enclosure
Dom• Laat alles door• Naar alle poorten
Hub = multiport repeater Geen netwerkadres nodig voor functioneren
• Wel voor eventuele management module
Apr-14-08 SNB PHH 1 40
Bridge (switch) Laag 2 Pakket aanpakken en doorgeven Meer vertraging Timing begint opnieuw
Bittijden opnieuw gegenereerd Pakket wordt wel ongewijzigd doorgestuurd
Geen mogelijkheid tot detectie van loops Spanning Tree Protocol
Buffer
21
Apr-14-08 SNB PHH 1 41
Bridge (switch) Meer dan 3 achter elkaar mogelijk
Aparte Ethernet (laag 1) segmenten Intelligent
Hoeft niet alles door te laten Tabel met (MAC) adressen per poort
• Kan dus aan de enig goede poort afleveren Alleen ‘flooding’ bij onbekend adres
Switch = multiport bridge Geen netwerkadres nodig voor functioneren
wel voor evt management module
Apr-14-08 SNB PHH 1 42
De netwerk ramp
Pakketten die rond blijven lopen
IP (laag 3) TTL veld in header
Ethernet (laag 2) Pakketten worden ongewijzigd doorgegeven Van te voren een ‘loop-free’ topologie maken
22
Apr-14-08 SNB PHH 1 43
Spanning Tree Protocol
Protocol tussen switches onderling Kiest een ‘root bridge’ Zet ports die een loop vormen ‘Blocked’ Rest ‘Forwarding’
Normaal heel voorzichtig Pas forwarding als het echt kan 2 maal 15 seconden
Apr-14-08 SNB PHH 1 44
Spanning Tree Protocol
Host poorten ‘portfast’ Direct ‘Forwarding’ Geen 30 seconden wachten Wel attent op loops
BPDU pakketten
23
Apr-14-08 SNB PHH 1 45
Spanning Tree Protocol
Common STP Per vlan STP Rapid STP
Apr-14-08 SNB PHH 1 46
VLAN Verschillende laag 2 netten
Binnen een switch of cluster switches Begrensd door de router
Switchport wordt in vlan gezet Softwarematige configuratie
Switchkoppelingen zijn ‘trunks’ Meer dan 1 vlan over een trunk
Management in apart vlan vlan 1
24
Apr-14-08 SNB PHH 1 47
Inter-vlan verkeer
In de switch niet mogelijk Op Ethernet gescheiden netten
Externe router De router in het knooppunt…
Apr-14-08 SNB PHH 1 48
VLAN trunks
Extra velden in de Ethernet header TPID is 0x8100 (Tagged Ethernet frame) Tag is TOS en VLAN
Alleen op trunks Niet op ‘plat’ Ethernet
25
Apr-14-08 SNB PHH 1 49
Router Laag 3 Pakket aanpakken Pakket uitpakken
Laag 2 eraf Doorsturen betekent opnieuw in laag 2 inpakken
Op laag 2 dus een ander pakket Laag 3 headers aangepast (max hop count) Op laag 3 dus loop detectie
Buffer
Apr-14-08 SNB PHH 1 50
Router
Verschillende IP netten Geen restricties wat aantal betreft Wel hop count in laag 3 protocol
Meerdere IP adressen nodig 1 per IP net Minstens 1 per interface
26
Apr-14-08 SNB PHH 1 51
IP Best effort
Doe je best, maar beloof niets Pakket stuk = pakket weg Problemen (congestie, buffer vol) = pakket weg Geen acknowledgements TimeToLive (hopcount) Pakketten kunnen niet eindeloos zwerven
ICMP bij problemen TTL exceeded Congestie Maar niet pakket stuk (weggooien)
Apr-14-08 SNB PHH 1 52
IP Host - to - host Data bevat andere protocollen / headers
ICMP Internet Control Message Protocol TCP Transmission Control Protocol UDP User Datagram Protocol
IP zelf als data in datalink laag Ethernet TokenRing ATM HDLC Of direct over medium (SLIP)
27
Apr-14-08 SNB PHH 1 53
IP
Apr-14-08 SNB PHH 1 54
IP Header
28
Apr-14-08 SNB PHH 1 55
IP Protocollen
ICMP 1IGMP 2TCP 6UDP 17GRE 47
Apr-14-08 SNB PHH 1 56
Encapsulatie in Data layer
Iedere laag zet er een header voor Header+data laag x = data laag x-1
29
Apr-14-08 SNB PHH 1 57
Fragmentatie MTU
Niet iedere datalink laag kan even grote pakketten aan Maximum Transmission Unit
• Ethernet 1500• SLIP/PPP 576• ATM 4470• TokenRing 4464
Fragmentatie Als het pakker groter is dan de MTU Pakket onderverdelen in fragments En weer aan elkaar lijmen
Apr-14-08 SNB PHH 1 58
Fragmentatie Packet reassembly
Brokken aan elkaar lijmen Reassembly timer ICMP als niet alle fragments er op tijd zijn
MTU Path Discovery Don't fragment bit in IP header
Pakket te groot betekent dus weggooien Melden via ICMP
Problemen melden (ICMP)
30
Apr-14-08 SNB PHH 1 59
IP adressen
32 bits (versie 4) Dotted Decimal /24 netwerk
24 bits subnet mask 8 bits host adres 255.255.255.0
Speciale adressen host-zeros ongebruikt host-ones directed broadcast all-zerosongebruikt all-ones local broadcast
Apr-14-08 SNB PHH 1 60
Private space RFC1918
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
Kan nooit “in het wild” voorkomen Achter firewall NAT
Network Address Translation Verschillende IP werelden binnen en buiten NAT box vertaalt adressen/port nummers
Eiland netjes Niet routeren over publieke internet
Moet je zelf regelen
31
Apr-14-08 SNB PHH 1 61
IP Versie 6 Meer adresruimte (128 bits) Nog ver aan de horizon Al enkele implementaties
CISCO vanaf 12.2 FreeBSD vanaf 4.0 MacOS vanaf 10.3 Windows vanaf XP ...
Het wachten is op de ‘killer applicatie’ Surfnet is klaar
Apr-14-08 SNB PHH 1 62
ARP
Address Resolution Protocol Afbeelding IP adres op MAC adres Ethernet Broadcast
Direct op Ethernet Eenvoudig vraag/antwoord
Wie heeft IP 145.18.45.254? Ik, 00:20:af:75:f9:be heb 145.18.45.254
32
Apr-14-08 SNB PHH 1 63
ARP
Broadcast Wie is xx.xx.xx.xx Vertel aan yy.yy.yy.yy op zz:zz:zz:zz:zz:zz
A arpt B Automatisch A in arpcache B Antwoord B gaat in arpcache A
Apr-14-08 SNB PHH 1 64
ARP
Proxy arp Arp voor iemand anders
Arp cache Niet voor ieder pakket arpen Timeout (router 4 uur)
33
Apr-14-08 SNB PHH 1 65
Local delivery
Eigen adres met subnet mask Ander adres met subnet mask Gelijk, dus op zelfde net Sturen naar de bestemming
Apr-14-08 SNB PHH 1 66
Non-local delivery
Eigen adres met subnet mask Ander adres met subnet mask Verschillend, dus ander net Sturen naar de router
Die weet het
34
Apr-14-08 SNB PHH 1 67
Routering
Router Route tabel Routeringsprotocol
Apr-14-08 SNB PHH 1 68
Router Multihomed host
Meer dan 1 IP adres Meer dan 1 interface
Packet forwarding Tussen de IP adressen
Kan een gewone computer zijn Unix Default geen packet forwarding (RFC 1122/1123)
Of speciale hardware Meer features Sneller CISCO
35
Apr-14-08 SNB PHH 1 69
Routervan klein
Apr-14-08 SNB PHH 1 70
Routertot groot
36
Apr-14-08 SNB PHH 1 71
Routers Routeringstabel
Net xx.xx.xx.xx/y via zz.zz.zz.zz interface A Tabel komt tot stand via
• Routeringsprotocol• Directe entries
Niet in tabel betekent pakket weggooien• ICMP om te melden (net unreachable)• Niet ‘zoeken’ waar het heen moet• Weten, en niet weten is weg
Null route (putje)
Apr-14-08 SNB PHH 1 72
Routers Routerings protocol
Automatische opbouw tabel OSPF, RIP, BGP, ...
Statische routes Handmatige opbouw tabel Kan door routeringsprotocol verder bekend worden
Hosts altijd statische entry (default router) Eventueel uit DHCP
UvAnet: router op eerste IP adres in IP net
37
Apr-14-08 SNB PHH 1 73
Routeringstabellen
Apr-14-08 SNB PHH 1 74
Secondary IP Meer dan 1 IP net op hetzelfde Ethernet interface
IP verkeer tussen de netten• Via de router, zoals altijd• Zelfde interface in en uit
Op Ethernet niveau (laag 2) wel 1 net (broadcast domain) Voor andere protocollen vaak ook
• VinesIP• AppleTalk• IPX (Novell)
Vaak bij tekort aan routerinterfaces Of heel kleine netjes
Niet alles kan op de secundaire netten• DHCP-relay tricky
38
Apr-14-08 SNB PHH 1 75
Laag 4
ICMP UDP TCP
Apr-14-08 SNB PHH 1 76
ICMP IP Control Message Protocol 't Knechtje
ping• ICMP echo
Echo request Echo reply
Foutmeldingen• Waar de afzender iets aan kan doen• Niet beschadigd pakket!
Uitzoekwerk• Router discovery (verouderd)• Subnetmask discovery (idem)
39
Apr-14-08 SNB PHH 1 77
ICMP foutmeldingen Host unreachable
Van de 'laatste' router Net unreachable
Van een router onderweg Ook als verkeer niet mag
• access-list Port unreachable
Van de host TTL exceeded
traceroute echt fout
Fragment needed but don't fragment set Nooit error - on - error
Apr-14-08 SNB PHH 1 78
UDP
User Datagram Protocol Simpel 65535 UDP ports (loketten)
Well known ports 'Best effort'
Als IP
40
Apr-14-08 SNB PHH 1 79
UDP Geen fancy features
Geen ack Geen hertransmissies Net als IP, probleem dan pakket weg Out - of - order delivery Problemen oplossen in applicatieprotocol Net zo (on)betrouwbaar als IP
Efficient Broadcast Multicast
Apr-14-08 SNB PHH 1 80
UDP header
Waar staan Source IP ? Destination IP ?
41
Apr-14-08 SNB PHH 1 81
UDP
Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file
/etc/services onder unix Lijst bij iana.org
DNS 53/udpDHCP/Bootp 67/udp, 68/udptftp 69/udpntp 123/udpsyslog 514/udp
Apr-14-08 SNB PHH 1 82
TCP End - to - end connection (‘Pijp’)
Opzetten Acknowledgements Hertransmissies Afbreken
Betrouwbaar Niets raakt weg Niets gaat stuk Alles komt in volgorde aan
Flow control Veel meer overhead dan UDP
42
Apr-14-08 SNB PHH 1 83
TCP Bytestream
Bidirectioneel Geen “pakketten”
• byte sequence number• byte acknowledgement
Veel facilitieiten / probleemoplossing ondergronds door TCP zonder dat de applicatie het beseft
Beide partijen kunnen sluiten RESET Maar, geen broadcast, geen multicast
Apr-14-08 SNB PHH 1 84
Well-known ports
Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file
/etc/services onder unix Lijst bij iana.org
ftpdata 20/tcpftp 21/tcpssh 22/tcpTelnet 23/tcpsmtp 25/tcpfinger 79/tcphttp 80/tcppop 110/tcpnntp 119/tcp
43
Apr-14-08 SNB PHH 1 85
TCP Startup
Apr-14-08 SNB PHH 1 86
Window Geen start - stop protocol
Sliding window Efficient gebruik van bandbreedte End - to - end acknowledgement
Tussenliggende stations spelen geen rol Ontvanger geeft aan hoeveel hij kan hebben Zender mag altijd dit aantal sturen Ontvanger ackt wat goed ontvangen is Zender onderneemt hertransmissie
bij uitblijven ack
44
Apr-14-08 SNB PHH 1 87
Slow start
Client en server beiden op gigabit Traag stuk ertussen (64 kbit) Server stuurt compleet window (8 MTU) Tijdens transport eerste pakket op 64k
• Hertransmissietimer• Alle acht opnieuw• Gaat dus niet goed!
Slow start• Send window begint als 1• Bij iedere succesvolle ack verdubbelt send window
tot aan receive window Congestion avoidance
• Ack missen is send window verkleinen
Apr-14-08 SNB PHH 1 88
TCP header
IP header Source IP Destination IP
Flags SYN FIN ACK RESET
45
Apr-14-08 SNB PHH 1 89
TCP voor Transacties, TTCP
SYN, data, FIN in een pakket Efficienter voor korte transacties
Database http (vooral kleine GIFjes)
Apr-14-08 SNB PHH 1 90
Hogere lagen
DNS Traceroute DHCP SNMP
46
Apr-14-08 SNB PHH 1 91
DNS
Domain Name System BIND Domains Records Reverse DNS
Apr-14-08 SNB PHH 1 92
Leesvoer
DNS and Bind 4th edition Paul Albitz, Cricket Liu O’Reilly
http://www.isc.org/bind RFC 1034, 1035
47
Apr-14-08 SNB PHH 1 93
Wat is DNS?
Wereldwijde gedistribueerde database Beeldt namen af op IP adressen
(en terug) Extra informatie
Mail MX record
Apr-14-08 SNB PHH 1 94
Wat is BIND
Berkeley Internet Name Daemon Een Domain Name Server implementatie Unix named process Internet Software Consortium Freeware, source distribution ftp.isc.org
48
Apr-14-08 SNB PHH 1 95
Client - Server Communicatie
UDP port 53 Meeste transactions More information bit, opnieuw via TCP
TCP port 53 Als het niet past in één UDP pakket Zone transfer
Apr-14-08 SNB PHH 1 96
Unieke namen
Hierarchische name space Componenten gescheiden door een punt
• a..z, 0..9, -, .• Fully Qualified Domain Name eindigt op .• Anders ‘current origin’ erachter• Dubbele domainnaam…
mail.ic.uva.nl.ic.uva.nl.
Single root (.) Case insensitive
49
Apr-14-08 SNB PHH 1 97
Top level domains
Landen code ISO 3166 two letter codes
Generiek .aero, .biz, .com, .coop, .edu, .gov, .info, .int,
.mil, .museum, .name, .net, .org, and .pro Infrastructuur
.arpa
Apr-14-08 SNB PHH 1 98
ccTLD
.nl Nederland .us USA .be Belgie .de Duitsland .at Oostenrijk En nog veel meer (.is, .to, .tv, .fm, .nu)
50
Apr-14-08 SNB PHH 1 99
Generiek TLD .aero members of the air-transport industry .biz businesses .com .coop cooperative associations .info .museum museums .name individuals .net .org noncommercial community .pro credentialed professionals .gov government (U.S.) .edu higher education (U.S.) .mil military (U.S.) .int international treaties
Apr-14-08 SNB PHH 1 100
DNS records
SOA Start Of Authority NS NameServer A Address CNAME Canonical (real) NAME is MX Mail eXchanger PTR PoinTeR
51
Apr-14-08 SNB PHH 1 101
Time To Live
Elk record heeft TTL Iedereen mag record in cache bewaren
Gedurende de TTL Daarna niet meer
TTL is meestal 86400 seconden (1 dag)
Apr-14-08 SNB PHH 1 102
Root nameservers 13 root servers wereldwijd (waarom) root-servers.net domain Iedere nameserver heeft lijst root servers
a va.us 198.41.0.4 h md.us 128.63.2.53b ca.us 128.9.0.107 i no 192.36.148.17c va.us 192.33.4.12 j va.us 192.58.128.30d md.us 128.8.10.90 k uk 193.0.14.129e ca.us 192.203.230.10 l ca.us 198.32.64.12f ca.us 192.5.5.241 m jp 202.12.27.33g va.us 192.112.36.4
52
Apr-14-08 SNB PHH 1 103
DNS Lookup
Query start bij root server Root server geeft geen antwoord Maar een hint naar iemand die meer weet Tot het antwoord gevonden is Alle informatie gaat de cache in
TTL
Apr-14-08 SNB PHH 1 104
DNS
Host resolver recursieve query PC, Mac, ...
Nameserver iteratieve query Caches vullen
Geen recursieve query op zwaar belasteserver root server
53
Apr-14-08 SNB PHH 1 105
Iteratief opzoeken
Resolver herhaalt zoekactie Iedere keer dichter bij het resultaat Alle tussenliggende informatie in cache Hergebruik informatie uit cache
Apr-14-08 SNB PHH 1 106
Recursief opzoeken
Laat iemand anders itereren Makkelijker voor simpele resolvers (PC) Nameserver cache vullen
Recursion disabled op root servers Waarom?
54
Apr-14-08 SNB PHH 1 107
DNS lookup aan ns1.uva.nl, wat is www.vu.nl ns1 vraagt
www.vu.nl -> A.ROOT-SERVERS.NET• kweenie, NS.DOMAIN-REGISTRY.nl weet meer
(nl. server)
www.vu.nl -> NS.DOMAIN-REGISTRY.nl• kweenie, ns.vu.nl weet meer
(vu.nl server)
www.vu.nl -> ns.vu.nl• 130.37.129.100
Apr-14-08 SNB PHH 1 108
DNS Lookup Wie het toevallig weet geeft het antwoord
Volgende keer meteen antwoord (uit decache)
TTL authoritative vs non-authoritative
primary / secondary altijd authoritative Uit de cache altijd non-authoritative
55
Apr-14-08 SNB PHH 1 109
DNS Lookup
Meestal UDP, soms TCP UDP geknipt voor dit soort vraag/antwoord Maar de MTU van het net
• Deel in UDP antwoord• Aanduiding ‘maar er is meer’• client vraagt opnieuw via TCP• Zone transfer altijd TCP
Apr-14-08 SNB PHH 1 110
Reverse DNS
Van nummer naar naam Reverse IP address, in-addr.arpa domainmail.ic.uva.nl. A 145.18.240.1717.240.18.145.in-addr.arpa. PTR mail.ic.uva.nl. Reverse DNS is aparte structuur
UvAnet: Reverse DNS uit automaat
56
Apr-14-08 SNB PHH 1 111
Delegation Nameserver heeft geen informatie van domain Maar delegeert naar een andere nameserver
Ga maar daar vragen!
Iedere punt is mogelijk delegatie punt NS records
in-addr.arpa domain werkt net zo Classfull nets
Apr-14-08 SNB PHH 1 112
Delegatie
57
Apr-14-08 SNB PHH 1 113
Forward en reverse DNS
Apr-14-08 SNB PHH 1 114
Replicatie DNS is robuust door data replicatie Primary (master) vs. Secondary (slave) Primary heeft data Secondary haalt data van primary Primary en secondary equivalent
Data van secondary is net zo goed
Ondergrondse communicatie zone transfer
58
Apr-14-08 SNB PHH 1 115
Data organisatie op server
Data georganizeerd in ‘zones’ Alle data van een zone in één file Delegatie punten
Een zone wordt als één geheel behandeld Zone transfer
Apr-14-08 SNB PHH 1 116
Master/slave communicatie
Master informeert slave bij wijzigingen Notify naar alle servers in NS records
Slave acknowledget Notify Slave haalt zone op Slave checkt ook iedere Refresh time Slave gooit data na Expiry time weg
Indien geen contact meer met master
59
Apr-14-08 SNB PHH 1 117
Anatomie van een zone file
; commentaar Begin bevat
$TTL directive SOA record
• Serie nummer, timers Nameserver pakt alleen data als serienummer hoger Datum is handig: 2003020401
NS records @ is ‘current origin’ (domain)
Apr-14-08 SNB PHH 1 118
Zone begin;$TTL 86400;@ IN SOA barlaeus.ic.uva.nl. hostmaster.uva.nl. (
2003013101 ; Serial 28800 ; Refresh 8 hours 7200 ; Retry 2 hours 604800 ; Expire 1 week 86400 ) ; Default TTL 1 day
@ IN NS barlaeus.ic.uva.nl.IN NS ns1.uva.nl.IN NS ns2.uva.nl.
60
Apr-14-08 SNB PHH 1 119
@ IN A 145.18.68.50IN MX 100 tasman.ic.uva.nl.IN MX 200 barlaeus.ic.uva.nl.
MX records geven Mail eXchanger aan Eerst beste (laagste) proberen Volgende indien niet bereikbaar
Apr-14-08 SNB PHH 1 120
Hosts
Alle hosts als A record Netten bijelkaar houden Op volgorde Blanko regels voor gaten Kan dienen als IP administratie
ns1 IN A 145.18.39.16stratum1 IN A 145.18.39.18
news 500 IN A 145.18.40.40ns2 IN A 145.18.40.50
61
Apr-14-08 SNB PHH 1 121
Aliasen (CNAME)
CNAME geeft de echte naam Waar de data staat
ftp IN CNAME hebe.uva.nl.smtp IN CNAME hebe.uva.nl.campusftp IN CNAME barlaeus.ic.uva.nl.ns IN CNAME barlaeus.ic.uva.nl.chime IN CNAME barlaeus.ic.uva.nl.ldap IN CNAME vdhoop.ic.uva.nl.
Apr-14-08 SNB PHH 1 122
WIjzigingen Uitgegeven data expireert alleen door TTL
Echt alleen door de TTL Gedurende de hele TTL blijft oude data
In allerlei DNS caches Op geen enkele manier te verwijderen TTL wachten
Meestal geen probleem (PC toevoegen) Maarre:
62
Apr-14-08 SNB PHH 1 123
Wijzigingen
Aan belangrijke services Mail service, Web service, …
In 3 stappen TTL op record omlaag (600 seconden)
• Minstels de huidige TTL tevoren (24 hours!) Maak de wijziging, TTL blijft 600
• Zo kan je fouten herstellen TTL terug naar normaal
• Als alles goed lijkt te gaan!
Apr-14-08 SNB PHH 1 124
Opzoeken
nslookup (win, unix) -q=type (SOA, A, MX, NS, …) nslookup [-q=xx] host server
Interactive mode• set qtype=type (SOA, A, MX, NS, …)• Server host• ls domain (complete zone)
63
Apr-14-08 SNB PHH 1 125
Opzoeken
host (unix) host [-t xx] host nameserver host -l domain
Network Utility (Mac)
Apr-14-08 SNB PHH 1 126
Lijst root servers
Hoe blijft dat up to date?
Iedere nameserver heeft ‘hints lijst’ In principe de lijst root servers Haal bij opstarten de lijst opnieuw op
• Bij een van de root servers
Werkt zolang minstens 1 van de hinst leeft
64
Apr-14-08 SNB PHH 1 127
Traceroute Spelen met de TTL
ICMP TTL Exceeded• TTL = 1
Eerste router stuurt ICMP TTL Exceeded en maakt zich dus bekend Altijd van de kant van de router die naar jou gericht is Primary adres
• TTL = 2 Tweede router stuurt ICMP TTL Exceeded
• En zo verder
Hele pad in kaart brengen
Apr-14-08 SNB PHH 1 128
Traceroute
Route door netwerk bepalen Spelen met de TTL
65
Apr-14-08 SNB PHH 1 129
Traceroute
traceroute to info2.surfnet.nl (192.87.5.150): 1-30 hops, 38 byte packets 1 feth5-1-0-3.omhp-r1.net.uva.nl (145.18.240.1) 1.36 ms 1.31 ms 1.27 ms 2 feth1-1-1-2.wcw-r1.net.uva.nl (145.18.254.13) 4.1 ms 2.43 ms 1.27 ms 3 BR7.Amsterdam.surf.net (145.41.10.57) 4.13 ms 3.46 ms 3.10 ms 4 BR1.Delft.surf.net (145.41.7.38) 7.19 ms 9.30 ms 6.36 ms 5 BR2.Eindhoven.surf.net (145.41.7.34) 4.39 ms 4.4 ms 6.53 ms 6 AR2.Nijmegen.surf.net (145.41.7.234) 8.55 ms 6.62 ms 7.41 ms 7 info2.surfnet.nl (192.87.5.150) 6.95 ms 8.51 ms 6.58 ms
Apr-14-08 SNB PHH 1 130
DHCP
Configuratie management Protocol Leases Relay Client
66
Apr-14-08 SNB PHH 1 131
Om te lezen
The DHCP HandbookRalph Droms, Ted LemonMacMillan, ISBN 1-57870-137-6
http://www.isc.org/dhcp RFCs
2131 - Dynamic Host Configuration Protocol 2132 - DHCP Options
Apr-14-08 SNB PHH 1 132
DHCP doelen
Automatische configuratie Network parameters
IP address, netmask, router Andere parameters
Domain name Name servers etc
Uitbreidbaar
67
Apr-14-08 SNB PHH 1 133
DHCP Geen IP adres krijgen, maar ‘huren’
lease voor bepaalde tijd verlengen als nog langer nodig
Apr-14-08 SNB PHH 1 134
DHCP
Local UDP broadcast 255.255.255.255 Komt dus niet voorbij router DHCP Relay agent nodig als server ‘buiten’ eigen net
• Kan router doen• Request gaat als unicast verder• Relay agent ontvangt en distribueert antwoord• Relay agent vult eigen adres in request in
68
Apr-14-08 SNB PHH 1 135
Hoe werkt DHCP
‘Schone’, vers gestarte machine Weet niets Kan alleen broadcasten
Localnet, 255.255.255.255 Broadcast, dus UDP!
• DHCP server in lo kale net!• Of een Relay Agent
Apr-14-08 SNB PHH 1 136
DHCP Protocol
DHCPDiscover• Help, kan iemand mij van een adres voorzien
DHCPOffer• Ja, ik heb xx.xx.xx.xx voor je in de aanbieding
DCHPRequest• Ja, doe mij maar xx.xx.xx.xx
DHCPAck• OK, je krijgt xx.xx.xx.xx voor yyy tijd
DHCPNak• NEE, je kan xx.xx.xx.xx niet krijgen
client begint overnieuw met DCHPDiscover
69
Apr-14-08 SNB PHH 1 137
DHCP communicatie
DHCPDiscover Client -> Server Zijn daar DHCP servers?
DHCPOffer Server -> Client Ja. Ik heb dit mooie IP adres voor je
DHCPRequest Client-> Server Prachtig, die wil ik wel hebben
DHCPAck Server->Client OK, mag je voor een uur gebruiken
Apr-14-08 SNB PHH 1 138
DHCP
DHCPInform Geeft extra configuratie voor wie geen IP
adres least Als de lease bijna verloopt
DHCPRequest• vraag om verlenging
DHCPAck of DHCPNak• Ja of nee
Meestal halverwege lease
70
Apr-14-08 SNB PHH 1 139
Extra configuratie
Veel is gedefinieerd IP address/Subnet mask/Default gateway Name server/domain naam WINS server NTP server Te veel om op te noemen
Apr-14-08 SNB PHH 1 140
Waar de DHCP server
In het lokale net Hoort de broadcasts En kan terug broadcasten
71
Apr-14-08 SNB PHH 1 141
Waar de DHCP server
Elders Wel een relay agent in het lokale net Relay stuurt request als unicast naar server Relay broadcasts antwoord terug naar client Relay voegt eigen IP adres aan request toe
Apr-14-08 SNB PHH 1 142
DHCP pakket
op 1=from client, 2=serverhtype 1=ethernethops number of relaysciaddr client’s IP addressyiaddr your IP addresssiaddr server’s IP addressgiaddr gateway’s IP addresschaddr client’s MAC addressoptions various options
72
Apr-14-08 SNB PHH 1 143
DHCP Optiesmessage type DHCPDiscover etcsubnet maskRouter aka default gatewayDNS serverdomain nameNTP serverARP cache timeoutWINS server
En nog veel meer (ongeveer 80)
Apr-14-08 SNB PHH 1 144
Leases, lease file Server heeft administratie nodig
Vrije leases Actieve leases IP adresen Verlenging leases
File op server Vreselijk formaat Toevoegen aan het eind
• Per lease verschillende entries, laatste telt Opnieuw uitgeschreven als ie te groot wordt
73
Apr-14-08 SNB PHH 1 145
Client Afhankelijk van client OS In de network settings
Windows• Network - TCP - Properties
“Obtain an IP address automatically” MacOS
• System Preferences - Network (OS-X)• Control panels - TCP/IP (OS-9 and below)
“Configure using DHCP”
Met een script Unix variants
• Dhclient• /etc/rc.conf
Apr-14-08 SNB PHH 1 146
SNMP
Simple Network Management Protocol Traps Variabelen
74
Apr-14-08 SNB PHH 1 147
SNMP
Standaard manier om variabelen te bekijken (get) te veranderen (set)
UDP port 161 SNMP community string (“password”)
get (R) set (R/W)
Apr-14-08 SNB PHH 1 148
Netwerk management Op basis van SNMP
HP Openview (divers) CiscoWorks (CISCO apparatuur) TranCend (3Com apparatuur) Netdirector (UB apparatuur) en nog veel meer
Standaard IP communicatie (UDP) Kan dus overal vandaan
Remote Management Niet meer fietsen
75
Apr-14-08 SNB PHH 1 149
Poll vs. Trap
Poll Client haalt variabele op
Trap Server heeft iets te melden
• Interface updown
Apr-14-08 SNB PHH 1 150
Variabelen Statisch
Soort node• router• bridge• repeater• etc
Fabrikant Contact informatie Netwerk management software kan apparatuur
identificeren Auto Discovery
76
Apr-14-08 SNB PHH 1 151
SNMP
Dynamisch Uptime Load Error counters
Apr-14-08 SNB PHH 1 152
SNMP
Configuratie port enable/disable adres snelheid
In principe alles mogelijk SNMP is alleen framewerk MIB
77
Apr-14-08 SNB PHH 1 153
Voorbeeld
Apr-14-08 SNB PHH 1 154
Voorbeeld
78
Apr-14-08 SNB PHH 1 155
Hierarchische structuur Standaard tree Vendor tree
Product tree Management Information Base
MIB Definieert welke variabele bestaat Definieert type Definieert naam
Intern nummertjes 1,4,34,2,55,10
Apr-14-08 SNB PHH 1 156
Filtering
Access-list Wat kan en wat kan niet Firewall
79
Apr-14-08 SNB PHH 1 157
Filtering
Ieder apparaat kan filteren Waar een pakket langskomt Ieder op zijn eigen niveau
Meestal in de router Verkeer naar / van buiten Geen verkeer binnen het lokale netje
Apr-14-08 SNB PHH 1 158
Access-list
Van 1 naar 2 Ingaand eth0 Uitgaand eth1
Van 2 naar 1 Ingaand eth1 Uitgaand eth0
80
Apr-14-08 SNB PHH 1 159
Ingaand/Uitgaand
Gezien vanuit de router Een plek (van de 4) voldoende
Om communicatie te blokkeren Machine beschermen
Uitgaand op machineinterface Machine afrasteren
Inkomend op machineinterface
Apr-14-08 SNB PHH 1 160
Waarop filteren
permit of deny IP nummer / wildcard (don’t care bits)
145.18.68.0 0.0.0.31 Protocol
ip, tcp, udp, icmp tcp en udp ook op poort
Eenvoudige, stateless inspectie pakket
81
Apr-14-08 SNB PHH 1 161
Wat kan eenvoudig
Een machine afsluiten beperken toelaten
Een service afsluiten beperken toelaten
Apr-14-08 SNB PHH 1 162
Wat is lastig Lokale services blokkeren, maar Locale clients toelaten
TCP en UDP zijn symmetrisch
Client gebruikt toevallig source port 12345 Uitgaande port willekeurig
Server achter port 12345
82
Apr-14-08 SNB PHH 1 163
Dus:
Webservers in het net blokkeren deny van daar naar hier op port 80
Webclients in het net blokkeren deny van daar port 80 naar hier
Is te doen
Apr-14-08 SNB PHH 1 164
Maar:
In dit net is de webserver bereikbaar Alle client verbindingen mogen Geen verdere services in het net
Dat kan niet met een eenvoudig filter
83
Apr-14-08 SNB PHH 1 165
Anders gezegd
Alles mag, behalve Kan met eenvoudig, stateless filter
Niets mag, behalve Eist meer
Apr-14-08 SNB PHH 1 166
Stateful firewall
Meer status bewaren Bijhouden wat er aan verkeer langskomt
Meekijken in de datastroom
84
Apr-14-08 SNB PHH 1 167
Firewall
“Statefull” pakketinspectie Inhoud pakket wordt bekeken
Hoger dan alleen laag 3 Statustabellen bijwerken Wel of niet doorlaten
Apr-14-08 SNB PHH 1 168
Moeilijk
ftp
Extra tcp stream voor data wordt in de command stream afgesproken
En zo zijn er meer
85
Apr-14-08 SNB PHH 1 169
Firewall waar? Border router
“Corporate Firewall” Regels gelden voor iedereen
Access router “Institute Firewall” Regels gelden voor het hele subnet
Eigen machine “Personal Firewall” Beheer?
Apr-14-08 SNB PHH 1 170
Standaard instelling
Uitgaand verkeer mag altijd Retourverkeer toelaten
Inkomend verkeer alleen specifieke zaken bijv. webservice
Rest mag niet
86
Apr-14-08 SNB PHH 1 171
Documentatie
RFC Boeken
Apr-14-08 SNB PHH 1 172
IP documentatie RFC Request for Comment
STD Standards BCP Best Current Practice FYI For Your Information
RFC's veranderen nooit Aanvullingen via nieuwe RFC Compleet nieuwe RFC
• - obsoleted by RFCxxx RFC index
Op vele plaatsen op het internet Dichtstbij
• ftp://ftp.uva.nl/rfc
87
Apr-14-08 SNB PHH 1 173
NetworkAddress
TranslationEen adres voor meer PCs
Apr-14-08 SNB PHH 1 174
Eerst even dit
Don’t try this at work UvAnet aansluitvoorwaarden Gij zult niet routeren
88
Apr-14-08 SNB PHH 1 175
Situatie
4 machines aan een ADSL aansluiting Maar…
Slechts 1 IP adres beschikbaar
Apr-14-08 SNB PHH 1 176
Oplossing
Gebruik een private space net (RFC1918) En laat de router vertalen
Network Address Translation Port Address Translation
89
Apr-14-08 SNB PHH 1 177
Ofwel
Alle verkeer met 1 IP adres naar buiten Meer dan alleen packet switching
Tabel met vertalingen
Apr-14-08 SNB PHH 1 178
Voorbeeld
NAT router houdt vertaaltabel bij Een entry per actieve verbinding Alles dat niet in de tabel staat is onbereikbaar! Statische entries voor interne services Dynamische entries komen en gaan
• Bij TCP open en TCP close• Timeout
90
Apr-14-08 SNB PHH 1 179
Router doet dus meer
Normaal Laag 2 headers verwijderen Routeringstabel raadplegen Next hop bepalen IP header aanpassen
• TTL verlagen Nieuwe laag 2 headers voor next hop En versturen
Apr-14-08 SNB PHH 1 180
Router doet dus meer
Normaal Alleen kijken naar de IP header
• TTL aanpassen TCP of UDP header niet interessant
• Wordt niet naar gekeken• Wordt niet aangepast
Strict laag 3 (en niets erboven) En inkomend en uitgaand is hetzelfde
91
Apr-14-08 SNB PHH 1 181
Router doet dus meer
NAT uitgaand IP + port opzoeken in vertaaltabel
• Eventueel nieuwe entry maken Vertalen (=IP en TCP header aanpassen) En versturen
• Laag 2 headers etc
Apr-14-08 SNB PHH 1 182
Router doet dus meer
NAT inkomend Port opzoeken in vertaaltabel Vertalen (IP en TCP header aanpassen) Onbekend (niet in tabel) pakket weggooien
• ICMP Port Unreachable
92
Apr-14-08 SNB PHH 1 183
Router doet dus meer
Er is een buitenkant outside Public IP adressen
Er is een binnenkant inside Private space (RFC1918) IP adressen
Apr-14-08 SNB PHH 1 184
Veiligheid
NAT biedt als bijeffect veiligheid Interne services onbereikbaar Tenzij statisch geconfigureerd in router
Echter, geen pakket inspectie Geen enkele veiligheid voor open poorten
93
Apr-14-08 SNB PHH 1 185
Enne, ftp?
Blijft speciaal Moet door NAT router speciaal worden
herkend behandeld
Protocol informatie in de data stroom
Apr-14-08 SNB PHH 1 186
En hoe in de router
Dat hangt ervan af Merk en type Ieder verschillend
94
Apr-14-08 SNB PHH 1 187
Ciscoip nat pool Us 171.69.232.2 171.69.232.2 netmask 255.255.255.252ip nat inside source list 1 pool Us overload!interface serial0 ip address 171.69.232.2 255.255.255.252 ip nat outside!interface ethernet0 ip address 192.168.1.1 255.255.255.0 ip nat inside!access-list 1 permit 192.168.1.0 0.0.0.255!ip route default serial0