Basiscursus TCP/IP - Wunk.net

candleberryinfamousNetworking and Communications

Oct 26, 2013 (3 years and 9 months ago)

189 views

Basiscursus TCP/IP

Protocollen

Wat is een Protocol

?

Een protocol is een Taal

Het is een manier om tussen bronnen te communiceren.

In de IT wereld maakt een protocol de communicatie tussen

verschillende machines (bijvoorbeeld computers) mogelijk
.

Voorwaarden voor communicatie


Er moet een verbinding zijn tussen de bronnen
(er moet dus een communicatieinterface zijn)



Er moet een gelijkwaardig protocol zijn



Er moeten gegevens zijn die verstuurd moeten
worden



Soorten protocollen


TCP/IP
-

Protocol wat voornamelijk op Internet word gebruikt



IPX/SPX
-

Novell standaard



Appletalk
-

Communicatie tussen Macintosh PC’s



NetBIOS
-

Microsoft Netwerken

Dit zijn de meest gebruikte protocollen hedendaags.

Hoewel iedereen zijn eigen standaard
WIL
, neemt TCP/IP het steeds meer
over van andere protocollen, zo worden Microsoft netwerken steeds meer
op IP basis gebaseerd i.p.v. NetBIOS

Communicatieinterfaces

Om te kunnen communiceren is er een Interface nodig.



Voorbeelden van Interfaces


Modem


ISDN Adapter (in volksmond ISDN modem genoemd)


X.25 Interface (Datanet)


Netwerkkaart / Ethernetadapter

Let op: een ISDN kaart is
GEEN

modem, een modem werkt met analoge tonen, ISDN met digitale techniek

Daarom is de term: ‘ISDN modem’ onzin

Netwerken

Sternetwerk

Ringnetwerk

Busnetwerk (cheapernet)

Netwerken

Sternetwerk

Voordelen

Nadelen


Snel (100 Mbit)


Storingen snel opspoorbaar


Makkelijk in onderhoud


Storingsongevoelig


Duur


Veel kabels

Ringnetwerk


Goedkoop


Gemakkelijk stations toe
te voegen


Ouderwets


Storingsgevoelig


Moeten op elkaar wachten
tot het netwerk vrij is


Langzaam

Busnetwerk (cheapernet)


Goedkoop


Makkelijk uit te breiden


Bij breuk in hoofdkabel:
netwerk plat


Maximaal 10 Mbit

Praktische toepassing

Cheapernet of 10BaseT

Sternetwerk of 10Base2

Token

Ring

Het OSI Model

De manier waarom datacommunicatie geschied is gebaseerd op een set afspraken.
Deze afspraken geven we schematisch weer in een model: Het zgn. OSI model
(Open Systems Interconnection
-
Basic Reference Model)

Bij de ontvanger zal dan het pakketje van onder naar boven door het model gaan waarbij
het word ‘uitgepakt’ tot een stukje data waar de applicatie mee kan werken.

Voordat een stukje data word verzonden zal deze van boven naar beneden door het
model gaan, waarbij op elke laag een relevant stukje data aan het te verzenden
pakketje word toegevoegd.

Het OSI model is een model met 7 lagen, waarbij elke laag virtueel met elkaar
communiceert. (Peer to Peer communicatie)

Dit model is altijd basis voor de tegenwoordige ontwikkeling van datacommunicatieprotocollen.

Bijna alle protocollen gebruiken dit, of een sterk op het OSI model gebaseerd systeem

Het OSI Model

De functies van de lagen

Applicaties toegang geven tot de OSI omgeving

Communicatie realiseren tussen applicaties die verschillende coderingstechnieken gebruiken.
Deze laag heeft dezelfde functie als een tolk

De communicatie tussen applicaties coördineren. Deze laag heeft dezelfde functie als een
verkeersagent.

Verzorgen van betrouwbare data
-
overdracht tussen applicaties. Deze laag heeft een functie
als keurslager. Aan de zendzijde deelt de transportlaag de data op in kleine eenheden. De
transportlaag aan de ontvangstzijde voegt de eenheden samen. Daarnaast corrigeert deze
laag transmissiefouten die het computernetwerk over het hoofd ziet.

Data van routing informatie voorzien, zodat het computernetwerk de data bij de juiste
computer kan afleveren

Transmissiefouten opsporen en corrigeren die optreden in het transmissiemedium tussen de
computer en het computernetwerk

Data versturen/ontvangen naar/van het computernetwerk

TCP/IP

TCP/IP staat voor

Transport Communication Protocol/Internet protocol

De adressering en routering van de datavelden zijn vastgelegd in het IP protocol.

Het TCP Protocol garandeert een betrouwbare data
-
overdracht van de IP frames die TCP/IP
systemen versturen.

De term TCP/IP Systemen is een verzamelnaam voor hosts en routers

TCP/IP
-

UDP

Evenals TCP, maakt UDP (User Datagram Protocol) gebruik van het IP Protocol
.

Het UDP is een eenvoudiger versie van het TCP protocol.

In tegenstelling tot het TCP protocol garandeert het UDP protocol niet een betrouwbare data
-
overdracht, maar is hierdoor wel sneller.


UDP word ingezet bij applicaties die ook werken zonder alle dataframes en een snelle
verbinding nodig hebben. (Video over het internet, multiplayer spelletjes, Voice
Conferencing, Internettelefonie, etc)

In Vakliteratuur wordt de combinatie TCP, UDP en IP aangeduid met de term
TCP/IP Stack

TCP/IP
Toepassingsvoorbeelden

LAN

TCP/IP en het OSI model

Ook TCP/IP maakt gebruik van het basismodel van OSI

Het model is op een aantal lagen samengevoegd, waarbij sommige lagen meerdere
functies op zich nemen

De hoofdreden hiervoor is dat de applicaties o.a. hetzelfde protocol aanspreken, en dus
de presentatie en sessielaag overbodig worden.

Basismodel OSI

Vergelijking OSI



TCP/IP

IP Adressering

Het NIC (Network Information Center) in Amerika kent IP adressen toe aan bedrijven en
instellingen die hun PC en/of netwerk op het Internet willen aansluiten.

Een IP adres bestaat uit 4 bytes, het is gebruikelijk om deze in Decimale waarden neer te
zetten. De reden hiervoor is dat wij gemakkelijker decimalen kunnen onthouden en mee
kunnen rekenen als met binaire waarden (in tegenstelling tot computers, welke
gemakkelijker binair rekenen)

Dit is een voorbeeld van een IP adres

195.23.162.1

(Binair is dit 11000011.0010111.10100010.0000001)

Een IP adres kan NOOIT boven 255.255.255.255 komen

De reden voor dit is, dat het adres binair maximaal

11111111.11111111.11111111.11111111

is, en dit adres is decimaal 255.255.255.255

IP Adressering

Om het routeren van datavelden te vergemakkelijken, is een IP adres opgesplitst in

Netwerk en Host identificatiebits
.

Hosts die op hetzelfde netwerk zijn aangesloten hebben het zelfde Netwerk Identificatienummer

Het 4 bytes (32 bits) grote IP adres is opgedeeld in klasse A
-
, B
-
, C
-
, D
-

en E
-
Adressen

(Uitleg: 1 byte is 8 bits, dus 4 bytes is 4x8=32 bits)

A, B en C klassen worden gebruikt op het Internet

D klassen zijn voor multicasting (dit is verder nu niet van belang)

E klassen zijn gereserveerd voor toekomstig gebruik

IP Adressering
-

Klassen

Dit is de klassentabel met welke IP adressen tot welke klasse behoren, als een Interface om een
netwerk
adres vraagt (houd deze en de host goed uit elkaar bij deze uitleg, anders valt de logica
zo weg), is deze altijd het 0 bits adres in het hostidentificatienummer.

In bovenstaand voorbeeld zijn de hostidentificatiebits onderstreept.

Voorbeeld: een Interface heeft IP adres 110.21.55.1, het netwerkadres is nu 110.0.0.0

Voorbeeld 2: Een Interface heeft een IP adres 213.46.83.58 het netwerkadres is 213.46.83.0

Het netwerk word ALTIJD aangewezen met de 0 bitreeksen in de hostIP

IP Adressering
-

Hosts

HOEVEEL hosts kunnen we per netwerk nu aansluiten ?

Daarvoor gaan we even brainstormen met simpel binair rekenen.

Een IP adres bestaat dus uit BINAIRE cijfers (1en en 0en)

Bijvoorbeeld 1.1.1.1 word dus EIGENLIJK gezien als: 00000001.00000001.00000001.00000001

en 128.81.8.2 word omgerekend naar 10000000.01010001.00001000.00000010

(De simpelste manier om dit uit te rekenen is de windows rekenmachine)

IP Adressering
-

Hosts

HOEVEEL hosts kunnen we per netwerk nu aansluiten ?

Daarvoor gaan we even brainstormen met simpel binair rekenen.

Een adres bestaat dus uit 32 bits, en elke bit heeft 2 mogelijkheden (1 of 0)

Nemen we dus een klasse A netwerk, kunnen we daar 2
24
= 16 777 216 adressen
aan toewijzen, want we hebben 3x8 hostidentificatiebits

(3 x 8 bits = 24 bits, en een bit heeft 2 mogelijkheden, dus 2
24

mogelijkheden)

Nemen we een klasse B netwerk, kunnen we daar 2
16
= 65536 adressen per netwerk aan toewijzen

Het NIC kan bijv. 2
21
= 2 097 152 klasse C netwerken toewijzen (192.0.0 tot 223.255.255),
waar bij elk netwerk 2
8
= 256 hosts per netwerk kunnen worden aangesloten.

Gateways / Routers

Om verschillende IP netwerken met elkaar te verbinden, worden er routers (gateways) gebruikt.

Een router heeft 2 (of meer) netwerkkaarten met voor elk netwerk een eigen IP adres. Door
middel van routeringstabellen zal de router het verkeer van Netwerk A wat bestemd is voor
Netwerk B oversturen.

Als we geen gebruik zouden maken van routers, zou bij een groter netwerk zoveel verkeer
gegenereerd worden, dat het zou bezwijken onder zijn eigen last.

Segmenten (subnetten)

Een netwerk kan bestaan uit verschillende segmenten (ook wel subnetten genoemd).

Het is natuurlijk onmogelijk om bijvoordbeeld een klasse A netwerk te hebben (Bijvoorbeeld
120.0.0.0) en hier 16 777 216 werkstations op aan te sluiten.

Dan bezwijkt natuurlijk het netwerk onder zijn eigen last en het is onmogelijk om te beheren
(en wie zou er 16 777 216 werkstations hebben ?)

Een deel van het netwerk word bijvoorbeeld opgedeeld in een segment: 120.21.225.0

En een ander deel kan zijn: 120.52.0.0

Segmenten (subnetten)

Nu word wel een heel extreem voorbeeld genomen met een klasse A netwerk, maar een klasse B
netwerk zou ook in 2 of meer segmenten opgedeeld kunnen worden.

Het netwerk is bijvoorbeeld: 132.12.0.0

Een systeembeheerder besluit om in dit netwerk bijvoorbeeld de afdeling Verkoop en de grafische
afdeling te scheiden, omdat de grafische afdeling verschrikkelijk veel netwerkverkeer genereert
en het netwerk lang bezet houd met het oversturen van tekeningen.

De systeembeheerder besluit 132.12.0.0 tot 132.12.63.0 aan de afdeling boekhouding toe te
wijzen en 132.12.64.0 tot 132.12.130.0 aan de grafische afdeling

Segmenten
-

Netmaskers

Nu ontstaat er WEL een probleem

Hoe weet Host A bijvoorbeeld dat Host B op zijn segment zit en de router dus niet hoeft aan
te spreken, en Host C op een ander segment zit en dus de router WEL moet aanspreken ?

Hiervoor zijn
Netmaskers

uitgevonden

Een Netmasker geeft aan welke IP range (van
-
tot) bij zijn eigen segment hoort

Netmasker: 255.255.192.0

Netmasker: 255.255.61.0

Berekenen van Netmaskers

Hoewel een netmasker als decimaal word neergezet, MOET deze binair gezien worden.

Om tevens het netmasker uit te rekenen zullen de IP adressen naar binair omgezet moeten worden

Laagste adres in segment: 132.12.0.0

Binair:10000100.00001100.00000000.00000000

Hoogste adres in segment: 132.12.63.255

Binair: 10000100.00001100.00111111.11111111

Laagste adres in segment: 132.12.64.0

Binair: 10000100.00001100.01000000.00000000

Hoogste adres in segment: 132.12.130.255

Binair: 10000100.00001100.10000010.11111111

Netmasker: 255.255.61.0

Netmasker: 255.255.192.0

HOE zijn we nu aan de netmaskers van 255.255.192.0 en 255.255.61.0 gekomen ??

Berekenen van Netmaskers

Netmasker: 255.255.61.0

Netmasker: 255.255.192.0

We gaan eerst het linkersegment berekenen, hiervoor pakken we het hoogste en laagste binaire IP adres

Laagste: 10000100.00001100.00000000.00000000

Hoogste: 10000100.00001100.00111111.11111111

___________________________

Nu gaan we het verschil bekijken, is de
binaire waarde gelijk komt er een 1, is
deze ongelijk, komt er een 0.

Verschil: 11111111.11111111.11000000.00000000

Hé, hier lijkt een nieuw binair IP uit te komen, laten we deze eens omzetten naar decimaal

255.255.192.0

Voila, het netmasker van het linkersegment

Berekenen van Netmaskers

Netmasker: 255.255.61.0

Netmasker: 255.255.192.0

Nu pakken we het rechtersegment

Laagste: 10000100.00001100.01000000.00000000

Hoogste: 10000100.00001100.10000010.11111111

___________________________

Verschil: 11111111.11111111.00111101.00000000

Rekenen we dit om

255.255.61.0

Voila, het netmasker van het rechtersegment

Nu gaan we het verschil weer bekijken,
is de binaire waarde gelijk komt er een
1, is deze ongelijk, komt er een 0.

Warriors of the Net

Gereserveerde IP adressen

In de IP wereld zijn een aantal gereserveerde adressen.

Deze IP adressen mogen niet als IP adres ingevuld worden.

Het netwerkadres (Bijv. 213.46.83.0, dus de 0 bit) hebben we al besproken

Andere gereserveerde IP ranges:

192.168.0.0 tot 192.168.255.255 en 10.0.0.0 tot 10.0.255.255

Gereserveerd voor intern LAN gebruik, deze IP’s komen
NIET

op het internet voor

Het broadcast adres is soortgelijk, deze is altijd het 255 adres

Een Hostadres zal NOOIT een 255 adres hebben

(Bijv: 213.46.83.255 en 210.40.255.255 zijn ONGELDIGE IP adressen)

NAT

(Network Adress translation)

Om een heel bedrijf een apart Internet IP adres te geven kan zeer kostig zijn.

Tevens is dit niet erg veilig (elke bedrijfsPC direct op het internet)

Om een heel netwerk op Internet te zetten via het LAN is een truc bedacht

Deze truc maakt het mogelijk om via 1 IP adres een heel netwerk op het internet te zetten

Dit heet NAT (Network Adress Translation)

NAT

(Network Adress translation)

Hoe werkt NAT ?

Op alle clientPC’s in het LAN word de router als Gateway ingevuld bij de TCP/IP instellingen, als dit word
gedaan
zal ELK adres dat BUITEN het netmasker valt via de Router aangesproken worden.

Netmasker: 255.255.255.0

De router zal vervolgens tabellen bijhouden welk intern IP op het LAN, een request doet naar welk IP op
het Internet. Alle data die dan van dat IP terugkomt zal naar die Interne host worden teruggestuurd. In
praktijk werkt dit ZO goed, dat het lijkt alsof het Internet een deel van het LAN is

NAT

Port forwarding

Het kan voorkomen dat een bedrijf zelf een webserver heeft staan

Een mogelijkheid is dan hiervoor een apart IP adres aan te vragen, aangezien de router op het

huidige IP adres staat. Nadeel is natuurlijk wel dat dit extra kosten meebrengt

Een andere mogelijkheid is om al het INKOMENDE verkeer van de webserver (al het inkomende
verkeer op poort 80, de WWW poort) door te sturen naar de webserver.

Zo is het mogelijk op het interne LAN servers te hebben die met 1 of meer poorten gelijk op

het buitennetwerk staat (virtueel gezien dan)

Simpeler gezegd:

De router zal een directe link leggen tussen het Internet en de Webserver op poort 80

NAT

Port forwarding

www.mijnbedrijf.nl

Voorbeeld

Tikt http://www.mijnbedrijf.nl/ in

(poort 80 verzoek)

Virtuele link op poort 80

Antwoord op poort 80

En dus krijgt de PC de site van het bedrijf te zien

De
ROUTER

heeft het IP adres van

www.mijnbedrijf.nl, niet de webserver

Firewalls

Een firewall zorgt ervoor dat ongewenst verkeer vanaf het Internet niet op het LAN terecht
komt, maar deze zorgt er ook voor dat bepaalde gegevens niet op het Internet komen.

Een firewall kan worden gezien als een filter, alles wat er niet door mag word eruit gefilterd

Als er op een netwerk bijvoorbeeld geen IRC (Chat) naar het internet mag worden gebruikt, is
het mogelijk om de uitgaande IRC poort (6667) dicht te zetten voor verkeer.

De instelbare firewall regels zijn erg flexibel, het is bijvoorbeeld mogelijk om een bepaalde
Interne IP range alleen maar toegang tot het chatten te geven.

Een ander voorbeeld is dat een bepaalde IP range niet op de webserver mag kijken en dus wordt
geblokkeerd

De meeste tegenwoordige routers hebben een ingebouwde firewall functie

Einde basiscursus TCP/IP

Eventueel naslagwerk: Datacommunicatie TM7





W.J. Roos, A.H. Martens



ISBN: 90
-
401
-
0782
-
3