De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Het TCP/IP referentiemodel 2

Verwante presentaties


Presentatie over: "Het TCP/IP referentiemodel 2"— Transcript van de presentatie:

1 Het TCP/IP referentiemodel 2
Heterogene Netwerken Hoorcollege 2

2 Multiplexen Het dataveld bij IP-pakketten kan bestaan uit:
TCP segmenten UDP datagrammen ICMP management info (later) RIP berichten (later) IP Data Veld IP Header

3 Multiplexen Stroom van IP-pakketten UDP IP-H TCP IP-H UDP IP-H ICMP
Pakket stroom

4 Multiplexen De processen op de IP-laag zijn er verantwoordelijk voor om de inhoud van de pakketten op de juiste plaats aft te leveren. TCP UDP UDP IP-H IP ICMP Aankomst van pakketten IP Proces

5 Multiplexen Het IP-proces aan de ontvangstkant moet dus weten wat er in het dataveld zit. IP Data Veld IP Header

6 Multiplexen De IP Header heeft een 8-bit Protocol veld.
Dit veld identificeert de inhoud van het dataveld.1=ICMP (later), 6=TCP, 17=UDP, etc.Zie RFC 1700. Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address

7 Multiplexen Bij TCP/UDP velden die analoog zijn. TCP enUDP
Identificatie van het type info in het dataveld. TCP enUDP Zogenaamde Poort nummers (TCP-term voor TSAP) Voor identificatie van het applicatieproces (bijv. 80=HTTP); poortnummers in RFC 1700 Source Port # (16) Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Reserved (6) Flags (6) Window Size (16)

8 Terug naar TCP Sequence Number Field Initial Sequence Number
Acknowledgement Number Field

9 TCP TCP is betrouwbaar De volgorde van IP-pakketten is niet gegarandeerd. TCP is hiervoor verantwoordelijk. 5 3 4 2 1

10 TCP TCP is betrouwbaar Ieder correct TCP-segment wordt bevestigd.
Bron Transport Proces Bestemming Transport Proces ACK

11 TCP Segment 3? Elk TCP-segment moet een volgnummer hebben.
Eenvoudigst: 1,2,3,4,5,6,7 Handig om verloren segmenten of problemen in de volgorde te ontdekken TCP doet het echter complexer 3? 1 4 2 5

12 Sequence Number (32 bits)
TCP sequence nummers 32 bits veld sequence number identificeert een specifiek segment. Source Port # (16) Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Reserved (6) Flags (6) Window Size (16) TCP Checksum (16) Urgent Pointer (16) Options (if any) PAD Data Field

13 Met eerste Sequence Nummer (79)
TCP Sequence Nummers Het eerste sequence-nummer is niet 1 maar een random-getal geselecteerd door het zendend TCP-proces (bijv. 79). TCP Header 79 TCP Data veld Sequence Nummer veld Met eerste Sequence Nummer (79)

14 TCP Sequence Nummers De telling van de sequence nummers gaat aan de hand van het aantal octetten in het dataveld. TCP Segment 1 79 TCP Segment TCP Segment 3 Octetten in Data Veld 2 Octetten in Data Veld

15 TCP Sequence nummers Supervisory segmenten zijn TCP-segmenten met een leeg dataveld (denk aan de SYN, FIN, enz.) Voor de sequence nummering wordt er vanuit gegaan dat deze uit 1 octet bestaan.

16 TCP Acknowledgements ACK’s geven aan welk segmenten bevestigd zijn.
TCP Segment Bron TCP Proces Bestemming TCP Proces ACK

17 Acknowledgement Number (32 bits)
TCP Acknowledgements TCP header bevat een 32-bit Acknowledgement Number veld Source Port # (16) Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Reserved (6) Flags (6) Window Size (16) TCP Checksum (16) Urgent Pointer (16) Options (if any) PAD Data Field

18 TCP Acknowledgement Nummers
Acknowledgement Number field bevat het volgende octet dat verwacht wordt. TCP 1 79 TCP TCP 80 is AckNum waarde 83 is AckNum waarde 85 is AckNum waarde

19 TCP Acknowledgement Nummer
Vraag: Een TCP segment bevat de volgende data-octetten. 567, 568, 569, 570, 571, 572, 573, 574 Welk getal komt in het sequence nummer veld van het zendend TCP-proces te staan? Welk getal komt in het acknowledgement nummer veld van het TCP-proces te staan dat de ontvangst bevestigd? Ga uit van correcte overdracht.

20 TCP Flow Control Flow Control Een TCP proces zend te snel
De ontvanger moet de transmissiesnelheid regelen. Dit heet flow control Te veel Data TCP Proces TCP Proces Flow Control bericht

21 TCP Flow Control Een TCP segment heeft een Window Size veld.
Gebruikt in combinatie met acknowledgements Source Port # (16) Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Reserved (6) Flags (6) Window Size (16) TCP Checksum (16) Urgent Pointer (16) Options (if any) PAD Data Field

22 Acknowledgement met Window Size veld
TCP Flow Control Hoeveel octetten mag de zender sturen gerekend vanaf het laatste bevestigde segment. Data TCP Proces TCP Proces Acknowledgement met Window Size veld

23 TCP Flow Control Voorbeeld TCP segment bevat octetten 45-89
Ack-nummer wordt 90 Als de waarde in het Window Size veld 50 is, dan: Mag de zender doorgaan tot octet 140 (90 plus 50) Moet de zender stoppen bij 50 tenzij de window-size opnieuw wordt vastgesteld.

24 TCP Flow Control Dit wordt het glijdend venster protocol genoemd (sliding window) 1-44 45-79 80-419 Doorgaan tot 480 400 1-44 45-79 80-419 Doorgaan tot 920 500

25 Applicatie Laag bericht
TCP Fragmentatie Het dataveld in een TCP-segment heeft een maximum omvang. Elk segment moet in een IP-dataveld passen (65535 bytes max) en moet ook in de MTU passen. Applicatie Laag bericht TCP Data Veld Max TCP Header

26 TCP Fragmentatie Applicatielaag bericht moet gefragmenteerd worden.
Komt in afzonderlijke TCP segmenten App Frag 1 App Frag 2 App Frag 3 TCP Data Veld Max TCP Header

27 TCP Fragmentatie De transportlaag verzorgt de feitelijke fragmentatie.
Transparantie op het niveau van de applicatielaag. Applicatie Applicatie Bericht Transport TCP Segment TCP Segment Internet

28 TCP Fragmentatie Wat is nu de maximum grootte van het TCP data veld?
Complex Maximum Segment Size (MSS) Maximum grootte van het dataveld in het TCP segment. NIET de maximum grootte van het segment als geheel!

29 TCP Fragmentatie MSS Default-waarde is 536 octetten
Minimum IP pakketgrootte dat elk netwerk moet ondersteunen is 576 octetten. Grotere IP pakketten KUNNEN gefragmenteerd worden. Afhankelijk van de MTU. IP en TCP header zijn elk 20 octetten (zonder opties) Dit resulteert in de default MSS van 536 Als er opties zijn ingeschakeld in de TCP of IP-header, wordt MSS dan groter of kleiner?

30 MTU Maximale Transfer Unit (MTU)
Grootste IP pakket dat een netwerk accepteert. MTU IP Pakket

31 IP Fragmentatie Als het IP pakket langer is dan de MTU, dan maakt de router er IP-fragmenten van. Een fragment is nog steeds een IP pakket MTU IP Pakket 3 2 1 IP Pakketten Fragmentatie

32 IP Fragmentatie Wat wordt gefragmenteerd?
Alleen het oorspronkelijke IP data veld Nieuwe headers MTU IP Pakket 3 2 1 IP Pakketten Fragmentatie

33 IP Fragmentaties Kan meer dan 1 keer voorkomen. Bron Host Internet
Proces Bestemming Host Internet Proces Fragmentatie

34 Defragmentatie Defragmentatie gebeurt maar 1 keer! Alleen bij de bestemmings host! Bron Host Internet Proces Bestemming Host Internet Proces Defragmentatie

35 Fragmentatie en IP velden
More Fragments veld (1 bit) flags-veld 1 als er meerdere fragmenten zijn. 0 als dat niet zo is. IP-proces bij host zet MF-veld op 0. Routers zetten MF veld op 1 behalve bij het laatste fragment. Daar wordt MF op 0 gezet. 1 1 Originele IP Pakket Fragmenten

36 Identification (16 bits)
Identification Field IP pakket heeft een 16-bit Identification field Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) PAD Data Field

37 Identification Field Het IP-proces op de source plaatst een random-getal in dit veld. Is bij ieder IP-pakket weer anders. Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16)

38 Identification Field Als een router fragmenteert, dan wordt het originele IF-getal gekopieerd in alle fragmenten. 47 47 47 47 Original IP Packet Fragments

39 Identification Field Doel is simpel
Het IP-proces weet op zo’n manier welk fragment bij welk pakket hoort. Werkt natuurlijk ook goed als er vaker gefragmenteerd wordt (kopie van kopie)

40 Fragmentatie: IP Fragmentatie
Data veld van een groot IP pakket wordt gefragmenteerd. Fragmenten passen binnen de MTU Fragmentatie wordt gedaan door routers Fragmentatie mag meer dan 1 keer plaatsvinden

41 Defragmentatie: IP Defragmentatie
Defragmentatie wordt maar 1 keer gedaan, namelijk bij de ontvangende host.

42 Defragmentatie: Alle gefragmenteerde pakketten die bij hetzelfde oorspronkelijke pakket behoren, hebben hetzelfde IF getal. More Fragments veld maakt duidelijk of er nog meer fragmenten komen die tot hetzelfde pakket behoren.

43 ICMP Internet Control Message Protocol
ICMP is het protocol voor transport van management-informatie. IP en ICMP zijn ontworpen om samen te werken. ICMP-berichten getransporteerd in het dataveld van een IP-pakket. Dus ICMP zelf zit op de transportlaag (TCP).

44 ICMP Verschillende soorten ICMP Berichten 1. Error messages.
Let op: het gaat hier niet om de foutcorrectie van data, maar management-informatie. Error Message

45 ICMP Verschillende soorten ICMP berichten
ICMP query request vraagt of de host actief is. Host stuurt een query response terug. Ook “Echo” en “Ping” genoemd. Echo Request Echo Response

46 ICMP Verschillende ICMP berichten.
Flow control: Source quench bericht vraagt om snelheid te verlagen. Source Quench

47 Source Quench Eenvoudige vorm van flow-control
Als een zendende host een source quench krijgt dan gaat hij langzamer zenden Als er nog een source quench bericht komt dan gaat hij nog langzamer zenden Als de source quench berichten stoppen, gaat de snelheid weer langzaam omhoog.

48 ICMP ICMP kent nog meer management-berichten.
Alleen een paar belangrijke zijn genoemd.

49 IP- en Datalink laag adressen.
Iedere host en router in een subnet hebben een datalink-laag adres. Dit adres staat in het frame wat op de datalink-laag actief is (bijv. HDLC) Bijv. 48-bit MAC-adres voor LANs of HDLC-adres in point-point verbindingen. Subnet DA DL Frame voor Subnet

50 Adressen Elke host en router hebben ook een IP- adres. Specificeert lokatie in het wereldwijde internet. Subnet Subnet Subnet


Download ppt "Het TCP/IP referentiemodel 2"

Verwante presentaties


Ads door Google