You are on page 1of 3

Hoofdstuk 1

De IETF beheert Internet standards. Dit gebeurt in RFC’s. Distributed applicaties gebruiken meerdere hosts. Hosts gebruiken
een API waarmee processen data kunnen versturen. Protocollen zijn ‘gedragsregels’ tussen hosts. Asymmetrische toegang:
ongelijke up- en downstream.

Application Layer - message


Client-server & P2P netwerken. P2P is makkelijk te schalen. Clients beginnen een communicatieproces en servers
antwoorden hierop. Process sends message through an interface called socket. P2P is slecht te beveiligen (Dp2p = max
F F NF
{ , , } NF F
u s d min N
. Client-server is moeilijk te schalen en duur bij grote netwerken (D cs = max { , }. Na de socket
u s + ∑ ui us d min
i=1
neemt de transport-layer het over. RDT: een service van een TL-protocol die garandeert dat alles foutloos overkomt. Loss-
tolerant: het maakt niet uit of er een deel van de data verloren gaat. Verdere services: Througput, Timing, Security. HTTP: AL-
protocol voor webbrowsing, stateless, (non)-persistent connections. RTT: tijd om van client naar server te gaan en terug. NP:
n*2*RTT + (F/R). P: (n+1)*RTT + (F/R). Pipelining: requests voor objecten tegelijkertijd, zonder antwoord van eerdere
requests, 2*RTT + (F/R). HTTP-format bevat request line, header Lines, entity body, etc. Cookies kunnen informatie van een
client bijhouden. Web cache (proxy server) wordt gebruikt om het ophalen van objecten te versnellen, een datalink te
ontlasten of om anoniem te surfen. Conditional-Get. FTP: file transfer protocol; out-of band: 21 control, 20 data connection;
houdt de state van client bij, non-persistent connection. SMTP (simp mail tran prot): push protocol, berichten worden
verstuurd naar een server en opgeslagen. POP3 (post off prot): download-and-delete/download-and-keep, heeft state-
informatie, maar niet over sessies heen. IMAP (Inte mess acc prot): in folders plaatsen van mail berichten op een server. Web-
based: ipv SMTP wordt HTTP gebruikt om berichten in een browser af te leveren. DNS: levert hostnaam naar IP-adres. Types:
A (hostname, ip, A), NS (domain, hostname authoritive dns, NS), CNAME (alias, echte, CNAME), MX (alias, mailserver, MX).
[(Name, Value, Type, TTL)]. Root->Top-level->Authoritative->Local. P2P met central server: central point of failure.
Decentralized: peers sturen queries voor objecten door. Hiëarchisch: sommige peers worden leiders die verbonden zijn.

Transport Layer - segment


Provides logical communication: verbinding tussen processen op hosts. Verstuurt segmenten dmv TCP of UDP.
Demultiplexing: het afleveren van NL-segmenten aan de goede sockets. Multiplexing: het collecteren, headeren en versturen
van segmenten naar N-layer. Gebruikmakend van source- en dest poortnummers. Processen geïdentificeerd door dest-
ip:poort(UDP&TCP) en source-ip:poort(alleen TCP). HTTP: elke client krijg een socket (met een thread). TCP: transport control
protocol – Connection-oriented, heeft RDT, congestion control (mail, ftp, web). UDP: no-frills, lightweight, timing of sending
(due to no cong cont), stateless, small packet overhead(8 bytes), connectionless, unreliable data transfer, no congestion
control (voip, multi-m). UDP-checksum: som + checksum moet 16x1 zijn, anders een fout. Applicaties kunnen daarnaast
zorgen voor extra services, of omgaan met de zaken die transportprotocollen niet verzorgen.
RDT1.0 – geen antwoorden, totaal reliable.
RDT2.0 – Error detection, Receiver feedback, Retransmission (voor channel met bit errors)
RDT2.1 – RDT2.0 uitgebreid met sequence nummer 1 en 0.
RDT2.2 – Uitbreiding op RDT2.1, nu moet in de ACK ’t getal meegestuurd worden (sequence).
RDT3.0 – Uitbreiding op RDT2.2, nu met een timer die hertransmit (kanaal, bij pakketverlies).
Bij pipelining: Go-Back-N – Als een packet niet aankomt, dan terug naar de laatste goed geackde+1. Geen buffer, omdat n+1
wordt weggegooid als n niet was aangekomen (moet in-order zijn).
Selective-Repeat – Alleen verloren pakketen hertransmit (er is buffer, window ≤ ¿ sequence ).
TCP: (Full-duplex: Hosts A en B kunnen tegelijkertijd zenden en ontvangen. Point-to-point: slechts 2 hosts verbonden. MSS:
max amount of data (equals MTU). Segment bevat 32b seq nummer field, 32b ack field, receive window: hoeveel data kan
ontvangen, h length field, options, flags. EstimatedRTT =( 1−α ) ∙ EstimatedRTT + α ∙ SampleRTT . Flow control: receive
window bij server. Zender wordt gethrottled als er te veel data binnenkomt. Congestion-control in TCP: er wordt een
variabele receive window bijgehouden. Slow Start: begint bij 1 MSS, wordt elke keer verdubbeld voor elke ACK: [1,2,4,8,…].
Stopt wanneer er verlies optreedt (terug naar 1, treshold naar half oude treshold), of stopt wanneer treshold wordt bereikt,
dan in Congestion Avoidance. CA: steeds 1 MSS erbij voor elke ACK. In TCP Reno wordt gebruik gemaakt van Fast Recovery,
bij triple duplicate ack, congwindow naar half oud cong-window en dan weer CA. Bij verlies terug naar 1 en SlowStart.
0.75∙ W 1.22∙ MSS
average throughput of a connection= ∨
RTT RTT ∙ √ L
Fairness: het uitmiddelen van de rate waarop data verzonden wordt. (45 graden ding etc).

Network Layer - datagram


Forwarding en Routing. Forwarding table: tabel in elke router, gevuld met output links en ip-adressen (Routing algorithm).
VC: equivalent aan TCP, connecties opgezet (Internet niet VC), houdt state informatie, (domme) eindsystemen. VC-setup: het
opzetten van een VC (equivalent aan TCP, routers bewaren info). Internet is Datagram Network. Deze werkt met ip-
adressering, (slimme eindsystemen). Prefix van IP-adres wordt gebruikt om enorme tabellen te voorkomen. (longest)Prefixes
gelinkt aan outgoing link interface. Routers bevatten InputP’s, OutputP’s, Switching Fabric, Routing Processor. Memory: adres
bekijken, kopieren, naar goede link zetten. Bus: 1 datagram per keer, bussnelheid. Crossbar: n inputp’s aan n outputp’s
C
verbonden. Buffering: RTT ∙C , tegenwoordig RTT ∙ . IP (Internet Protocol): IPv4 – 32b; IPv6 – 128b; fragmentatie van te
√N
grote datagrammen (MTU – Linklayer), samenvoegen in eindhost, ID, Offset, Flag; Ip-adressen worden globaal-hiërarchisch
gegeven -> subnets. (subnetmask: 223.1.1.0/24 (CIDR)-> eerste 24 bits staan vast). ICANN managed ’t weggeven van IP-adres-
chunks. DHCP: (plug&play), stelt in staat om dynamisch IP te krijgen die beschikbaar is in subnet. (Discover, Offer (lease),
Request, ACK).
200.23.16.0/20 – 11001000 00010111 00010000 00000000 200.23.18.0/23 – 11001000 00010111 00010010 00000000
NAT: Van buitenaf 1 IP-adres, binnen kunnen heel veel (private) hosts zijn. In tabel wordt buien-ipadres en poortnummer met
bijbehorende binnen-ip en poort opgeslagen. ICMP wordt gebruikt voor controle berichten: hosts vinden bijvoorbeeld. In IPv6
meer adressen, geen fragmentatie, fixed header length, IPv4&6 -> tunneling. Routing Algorithms hebben veel te maken met
Grafentheorie: (N, E), met N nodes en E verbindingen. Verbindingen hebben kosten -> minste kosten maken. Globaal of
gedecentraliseerd. Globaal verandert traag (menselijk), gedecentraliseerd verandert zodra er verandering is in netwerk.
Dijkstra is globaal (link-state): neem host N, kortste pad in N’, update kosten, herhalen tot N’ gevuld met alle hosts, N 2
stappen. Distance-Vector is gedecentraliseerd, iterative (door tot geen nieuwe info), asynchronous, maak tabel met korste
afstanden, broadcast en ontvang nieuwe afstanden, herhaal tot geen nieuwe info. Positieve veranderingen worden snel
doorgegeven, negatieve duren langer: poisoned reverse -> Z, via y, naar x, dan Z zegt: d(z,x) = ∞
Het Internet is te uitgebreid voor 1 netwerk (Te veel routers voor algorithmen), dus opgedeeld in AS. In AS wordt
onafhankelijk gerouteerd, Gateway-routers naar buiten (andere AS). ICANN (DNS) -> ISP -> Company.

Link Layer – frame


Node is een object in een netwerk. Deze zijn verbonden met links (ethernet, wifi). De LL zit in een network adapter of
network interface card. In de LL kunnen bit-errors afgevangen worden en soms ook gecorrigeerd. Parity bits zijn hier
voorbeeld van: even – even aantal enen, oneven – 1 één meer. Ook tweedimensionaal -> Forward Error Correction. Point-to-
point =/= broadcast link. Om verschillende zenders te kunnen laten zenden zijn channel partitioning, random acces of taking-
turn protocol nodig zodat er geen botsingen ontstaan.
- Één node die zendt: kan met R bps zenden
- Als M nodes moeten zenden, dan gemiddeld R/M bps gegarandeerd in bepaalde tijd
- Gedecentraliseerd: dus geen master node (single point of failure)
- Simpel, dus goedkoop te implementeren.
Channel partitioning: Time Division Management, Frequence Division Management of code division multiple acces (CDMA)
Random Acces: Slotted Aloha – gesynchroniseerde tijdslots, bij botsing: kans op hertransmit: (1-p). kans op succes: p(1-p) N-1.
Maximum efficiëntie bij groot aantal nodes is 0.37. Aloha – niet gesynchroniseerde tijdslots, kans op succes is p(1-p) 2(N-1). Dan
is de p uiteindelijk 1/(2e), de helft van Slotted Aloha. Carrier Sense Multiple Acces (CSMA) – Carrier Sensing: kijken of er al
iemand ‘praat’, zoja, niet zenden, zonee, zenden. Collision Detection: als een ander begint met ‘praten’, stop dan met zenden.
(channel propagation delay: de tijd dat een signaal nodig heeft om door een channel te komen.)
Taking-turns: polling protocol – masternode polls de andere nodes of ze iets te zenden hebben en staat ze dan voor bepaalde
tijd toe. Token-passing protocol – een token wordt doorgegeven aan alle verbonden nodes; zodra het token bij een node is
mag deze zenden, als er niks te zenden is wordt deze doorgegeven. Nadeel is het falen van de node met het token
bijvoorbeeld. LAN’s in ethernet zijn meestal tokenpassing.
Alle nodes in een netwerk hebben een MAC-adres (LAN, physical). Bestaat uit 6 bytes, uitgedrukt in hexadecimaal notatie.
Broadcast address: FF-FF-FF-FF-FF-FF. ARP is het systeem om te linken tussen MAC-adres en IP-adres. In ARP-tables worden
deze adressen aan elkaar gelinkt, voor alleen het eigen subnet. ARP-packet kan verstuurd worden op het broadcast adres om
te kijken welk IP-adres bij welk MAC-adres hoort. Link-layer switches zijn transparant voor nodes: ze worden niet gezien door
nodes als een andere node. Switch-table houdt MAC-adressen met bijbehorende interface bij. Deze tabel wordt geheel zelf
lerend opgebouwd.

You might also like