TTM4100 - Kommunikasjon, tjenester og nett

Modified:
Created:

[TOC]

Intro

Mine notater for TTM4100. De er på norsk, er potensielt fulle av skrivefeil, og sikkert litt faktafeil. Disse er beregnet på personlig bruk, så jeg går ikke inn for noe mer en det jeg forstår og som hjelper meg å huske.

Hvorfor er de her?

Fordi det er digg å skrive Markdown, og her var det enkelt å gjøre de tilgjenglig som pene kompilerte html sider.

Formler

|| Processing delay || Tiden det for å undersøke pakkens header og finne ut hvor den skal sendes. || || Queueing delay || Tiden det tar å vente på at andre pakker skal bli sendt ut på linken. || || Transmission delay || Tiden det tar for å skyve pakken ut på linken (som er "veien" mellom nodene). || || Propagation delay || Tiden det tar for å reise fra en node til den neste. ||

Transmission delay

$$ d_{trans} = \frac{length}{rate} $$

Propagation delay

$$ d_{prop} = \frac{distance}{speed} $$

Nodal delay

$$ d_{nodal} = d_{process} + d_{queue} + d_{trans} + d_{prop} $$

End to end delay

$$ d_{end-to-end} = N (d_{process} + d_{trans} + d_{prop}) $$

Store and forward end to end delay

$$ d_{end-to-end} = (noHops * d_{prop}) + (noPackets * d_{trans}) + (noHops - 1)d_{trans} + (noHops - 1)d_{proc} $$

P2P distribusjon

$$ max( \frac{File Size}{Upload Server}, \frac{File Size}{min(DL client)}, \frac{noC * File Size}{(noC * Upload client) + Upload server}) $$

Broadcast throughput

$$ $$

DNS

DNS bruker TCP om pakken som skal sendes er større en 512 bytes

DNS bruker UDP som standard på grunn av kostnad. DNS med UDP vil bruke to pakker, en request og en response.

Om man skulle brukt TCP hver gang ville man sendt veldig mange pakker bare for å starte samtalen. Dette gir mye overhead.

TCP er backup protokoll

Routing

Routing table

Er en database som holder kontroll på alle ruter/veier til nettverksdestinasjoner.

Forwarding tables

Optimalisert for raske oppslag av destinasjons adresser.

Connection

Persistent connection

Bruker en tilkobling for å utføre flere ting, gjerne hele sesjonen.

Tilkoblingen blir holdt i live.

Fordeler: Raskere leveranse, mindre cpu bruk, mindre nettverks støy. Ulemper: Mulige skaleringsvansker, non-CDN vennlig.

Non-persisten connection

En tilkobling blir lukket når den er ferdig, den kan altså da ikke brukes om igjen.

Alle nye tilkoblinger vil lide av slow start.

Fordeler: Mulig mer skalerbar, simpel server arkitektur. Ulemper: Mulig mindre skalerbar, mer cpu bruk.

Connection oriented

Data sendes i riktig rekkefølge.

Koble maskin til nettverk

Tilkobling:

  1. 0.0.0.0, 255.255.255.255, UDP, DHCP req
  2. DHCP IP, NEW IP, UDP, DHCP ACK
  3. Switch MAC, ARP req
  4. Client MAC, ARP resp
  5. Client IP, DNS IP, UDP, DNS req
  6. DNS IP, Client IP, UDP, DNS resp

Tid for spesifikke server ting:

  1. Client IP, HTTP IP, TCP, SYN
  2. HTTP IP, Client IP TCP, SYN-ACK
  3. Client IP, HTTP IP, TCP, ACK
  4. Client IP, HTTP IP, TCP, ACK, HTTP req
  5. HTTP IP, Client IP TCP, ACK, HTTP resp
  6. HTTP IP, Client IP TCP, ACK, HTTP resp
  7. Client IP, HTTP IP, TCP, ACK

TCP finish:

  1. Client IP, HTTP IP, TCP, FIN
  2. HTTP IP, Client IP TCP, ACK
  3. HTTP IP, Client IP TCP, FIN
  4. Client IP, HTTP IP, TCP, ACK

Broadcast

Broadcast er Lag3 da den bygger på IP. Broadcast er en logisk adresse som alle nettverks enheter har mulighet til å bruke for å hente data.

Tilsvarende funksjonalitet eksisterer på Lag2 for MAC adresser. Broadcast MAC: FF:FF:FF:FF:FF:FF

Network congestion

Nettet blir fylt så ting ikke fungerer.

Queueing delay, pakketap og blokkering av nye tilkoblinger kan skje.

DDOS, bad backbones.

Congestion Control:

  • Backoff in CSMA/CA (802.11 and original Ethernet)
  • Window reduction in TCP
  • Fair queueing

Flow control

Flow control er laget for å prøve å hindre at congestion skal skje, congestion control er i hovedsak for å løse problemet.

Implementert for å ikke oversvømme en treg mottaker fra en rask avsender.

Protokoller

Stop and wait

Veldig simpel, gjør at en host må vente på ack før neste pakke kan sendes. Sucks.

Sliding Window

Go-back-N:

Selective Repeat:

Virtual circuit

Connection oriented Mange VC leverer en pålitelig kommunikasjonstjeneste, pga error detection og automatic repeat request(ARQ).

VC kan kjøres på Lag 4,3,2.

Lag 4 gjøres over TCP.

I lag 3 og 2 må man bruke connection oriented packet switching, altså må all data gå samme nettverkssti for å garantere at alle pakker kommer frem i riktig rekkefølge.

VC i lag3 og 2 vil ha mindre overhead, muligheter for QoS, shit may be fast.

Virtual circuit brukes i GPRS.