Blok 7: netwerken Les 5 Christian Bokhove Vraag Welke problemen kom je tegen als je een netwerk bouwt ‘op de data-link laag´? Hoe kunnen deze problemen worden opgelost? We moeten de volgende vragen beantwoorden: – – Waarom zijn Bridges en Remote Bridges niet genoeg om wereldwijde (of inter-planetaire) netwerken te bouwen? Hoe kunnen we wél wereldwijde (of inter-planetaire) netwerken bouwen? Data-Link Service Provider: Samenvatting De Data-Link Laag verbetert de Physical service provider zodat: – – – Frames kunnen worden getransporteerd, In-volgorde Betrouwbaar OPMERKING: In principe levert de data-link service provider diensten over een enkele ´draad´. De Data-Link Service Provider kan verbindingsloos of verbindingsgericht zijn. Network Protocol Entity Network Protocol Entity #1 #2 Data-Link Protocol Entity Data-Link Protocol Entity #3 #4 Physical service provider Network Protocol Entity Network Protocol Entity #1 #2 Data-Link provider Data-Link Service Provider: Samenvatting (2) Point-to-Point netwerk: verbindt twee systemen system system Network Protocol Entity Network Protocol Entity #1 Data-Link Protocol Entity #2 Data-Link Protocol Entity #3 #4 Physical service provider Point-to-multipoint netwerk: verbindt meerdere systemen system Network Protocol Entity #1 system system Network Protocol Entity #2 Network Protocol Entity #3 LLC LLC LLC MAC MAC MAC #4 #5 Physical service provider #6 De Netwerk Protocol Laag De netwerk protocol laag is het cement van de verbinding van: – – Data-link laag netwerken Netwerk laag netwerken De ‘gebruikers' van de netwerk laag zijn Transport Protocol Entiteiten De Protocol Data Units die getransporteerd worden door Netwerk Protocol entiteiten heten: – – Packets, datagrams, cells, .. Er zijn dus verschillende benamingen voor dit fenomeen. De Netwerk Protocol Laag (2) PC PC PC PC Data-Link Netwerk PC Data-Link Netwerk router / switch router / switch router / switch Netwerk PC De Netwerk Protocol Laag (3) De functionele structuur langs het (rode) pad: Transport Protocol Entity Transport Protocol Entity #1 #2 Network Protocol Entity Network Protocol Entity #3 #4 Data-Link Service Provider Network Protocol Entity #5 #6 Data-Link Service Provider Netwerk Laag Protocol Functies Forwarding / Switching – Routing: – Dit mechanisme ´duwt´ een packet (is een PDU) door een netwerk. Dit mechanisme ´beschermt´ het netwerk tegen een overmaat aan packets. Contention Handling: – Dit mechanisme verwerkt de packets die ´strijden´ om een ´poort´. Addressing: – Dit mechanisme bepaalt welke route de packets moeten volgen. Congestion Handling: – Om het systeem te herkennen, hebben we een adres nodig (bijvoorbeeld: telefoonnummer, IP adres). Segmentation & Reassembly: – Packets kunnen groter zijn dan DL frame grootte: we moeten een packet dus kunnen splitsen (bij de zender) en weer samenstellen (bij de ontvanger). Forwarding / Switching: Switch architectuur Transport Protocol Entity Transport Protocol Entity #1 #2 Network Protocol Entiteit Routing Network Protocol Entity Network Protocol Entity Routing/switching table Forwarding/switching #3 #4 #5 Data-Link Service Provider Data-Link Service Provider PC/host #6 router/switch PC/host Forwarding / Switching: Verbindingsloos Network Protocol Entiteit Routing Address SAP / Port X Y Z 3 3 10 Forwarding/switching #1 DL-Service Provider #10 … DL-Service Provider router/switch #n … DL-Service Provider Routerings Functie Om packets door te kunnen sturen, hebben we een routeringstabel nodig. De routerings functie is verantwoordelijk voor het vullen van de routeringstabel. Het vullen kan gebeuren door het verzamelen, opslaan en delen van topologische informatie, zodat routes door een netwerk bepaald kunnen worden. Informatie moet tussen systemen worden uitgewisseld om de routeringstabel te vullen. Hiervoor bestaan speciale protocollen. Voorbeelden van Routerings Protocollens voor het Internet zijn: – Routing Information Protocol (RIP): version 1 - RFC 1058, version 2 - RFC 1388. – Open Shortest Path First (OSPF): version 2 - RFC 1247. – Border Gateway Protocol (BGP): version 3 - RFC 1267 Routerings Tabel Niet alleen routers/switches hebben een routerings tabel: een PC heeft er ook één Om deze te zien: – – Kies: Start > Programma´s > MS-DOS prompt Typ: netstat -r (dit commando is voor Windows 95/98/NT en LINUX hetzelfde) We komen later terug op wat dit allemaal betekent. Contention Handling – – Bijna tegelijkertijd, en Bij verschillende 'poorten' Als deze packets naar eenzelfde poort doorgestuurd moeten worden: – – Network Protocol Entiteit Neem aan dat een aantal packets aankomt: Kunnen de packets (tijdelijk) de capciteit van die poort overschrijden. Deze packets strijden dan dus om dezelfde poort Het mechanisme dat dit fenomeen afhandelt, heet: contention handling. #1 #2 #3 #4 DL-Service DL-Service DL-Service DL-Service Provider Provider Provider Provider router/switch #1 #2 #3 #4 Contention Handling (2) – #2 #3 buffer In het figuur staat alleen uitgaand verkeer! #1 buffer Door strijdende packets tijdelijk op te slaan (buffer). Forwarding/switching buffer In de netwerk laag kan contention bij de output poort voorkomen. Het is dus lokaal, en kan worden opgelost: – In Les 3 (Medium Access Control) strijden meerdere hosts om dezelfde physical service provider. buffer Network Protocol Entiteit We zijn contention handling eerder tegengekomen: #4 DL-Service DL-Service DL-Service DL-Service Provider Provider Provider Provider router/switch Contention Handling (3) Contention is een tijdelijk probleem. Het afhandelen van contention maakt deel uit van de ´normale´ functies (I.t.t. congestion handling, zie verderop). Het effect van contention is dat packets vertraagd kunnen zijn. Het is mogelijk om bepaalde packets prioriteit toe te kennen om vetraging te verminderen: – In de Internet wereld wordt dit gestandaardiseerd. Congestion Handling Als er té veel packets in (een deel van) het netwerk zijn. Dit is altijd relatief ten opzichte van (delen van) het netwerk. Realistische voorbeelden: – – – Tele-voting (bijv. Sound Mix Show) zorgde er voor dat het telefoonnetwerk ´verstopt´ raakte. In de jaren 70 / 80 stortte het Internet volledig in door verstopping (het probleem werd veroorzaakt op Transport protocol niveau: TCP's slow-start mechanisme). Het 'I Love You'-virus zorgde op dlen van het Internet voor verstopping. Congestion Handling - Voorbeelden In technische termen, kan congestie bijvoorbeeld veroorzaakt worden door: – – – – Veel gebruikers willen communiceren met dezelfde server (dus hoe dichter je bij de server komt, hoe meer verkeer, en dus packets, je ziet) Veel gebruikers versturen packets die over dezelfde link moeten gaan (bv. De capaciteit van een transatlantische link is niet genoeg, en erg duur). Het aantal packets dat bij een router aankomt is groot ten opzichte van de snelheid van die router De buffers die de packets tijdelijk opslaan, kunnen té klein zijn (ze ´overflowen´). Congestion Handling - … Als congestie zich voordoet, heeft het de neiging om zich over het hele netwerk te verspreiden. Er is een sterke analogie tussen congestie in netwerken en verkeersopstoppingen. De oplossing is, echter, dramatisch anders: – – In verbindingsloze netwerken gooien we de packets gewoon weg. In verbindingsgerichte netwerken weigeren we simpelweg een verbinding te maken. Congestion Control - Mechanisme Mogelijke manieren om congestie op te lossen: – – Probeer het te vermijden. Meet ´zaken´ en neem toepasselijke maatregelen als congestie wordt opgemerkt.