# Datacommunicatie in informatica/Packet sniffer
## DHCP

Dynamic Host Configuration Protocol
DHCP is ontworpen om de configuratie van ip adressen van clients te automatiseren. Behalve de IP-adressen kan het ook andere instellingen meegeven aan de clients zoals default gateway, dns servers en subnet. Deze instellingen zijn niet verplicht en het is aan de client om te kiezen of het deze instellingen gebruikt dan wel andere instellingen gebruikt.
Het verkrijgen van een IP adres van de DHCP server bestaat minimaal uit vier fases (DORA)
* Discover DHCP-discover frame
* Offer DHCP-Offer frame
* Request DHCP-Request frame
* Acknowledgment DHCP-ACK frame
Indien een request gebeurt voor een IP-adres dat niet voor lease beschikbaar is, stuurt de DHCP server een.
* NAK DHCP-NAK frame
Dit kan gebeuren, door een configuratieveranderingen op de client (MAC-address van de NIC verandert) of server (leasetijd heel sterk verkort terwijl de client geen verbinding met de server had en het IP-adres is al toegewezen aan een andere DHCP-client).
1) IP Lease Discover
Wanneer een machine online komt, gebruikt die het ip 0.0.0.0 en subnetmasker 255.255.255.255 en daardoor 'broadcast' die een UDP-pakket vanaf poort 68 in het fysieke subnet naar poort 67, samen met zijn laatst gekende IP-adres.
2) IP Lease Offer
De DHCP-server ontvangt het pakket, en reserveert een IP-adres uit de 'DHCP Pool'. Daarop broadcast het een pakket met daarin het MAC adres van de client, het gereserveerde IP-adres, de Lease tijd en het IP-adres van de DHCP server zelf.
3) IP Lease Request
Wanneer de client een offer aanvaard laat deze dat weten aan de DHCP server door een request te versturen naar de server. ook dit gebeurt via broadcast.
4) IP Lease Acknowledgement
De server broadcast nu een pakket naar de client met de lease tijd, en andere mogelijke instellingen die de client heeft gevraagd. Het dhcp proces is nu compleet.
5) IP Lease Selection
Er kunnen mogelijk meerdere DHCP servers aanwezig zijn. In dit geval moet de client de servers laten weten welke offer het selecteert. Daarvoor broadcast de client opnieuw een pakket met daarin het IP van de server waarvan het een IP-adres gekozen heeft. Zo weten andere servers dat hun offer niet gebruikt is en kunnen deze het ip terug vrijgeven.
6) IP Lease Release
Een client kan ook een IP release versturen, maar dit is niet verplicht. Wanneer er geen Release verstuurd wordt, zal de server dan dat adres reserveren tot de lease verlopen is.
7) IP Lease Information
Hier kan de client informatie verkrijgen van de server zoals 'DNS servers' en 'Default Gateway'
8) IP Lease Verlengen
Een client kan ook zijn lease verlengen. Dit gebeurt door simpelweg opnieuw een request te doen nog voor de lease verlopen is. Bij deze request zal het dan zijn laatst verkregen IP meesturen, waardoor de server dan kan beslissen deze lease te verlengen.
APIPA
Wanneer de DHCP-server niet kan gecontacteerd worden zal een APIPA address toegekend worden dit ip-address valt in de private range van 169.254.0.1 tot 169.254.255.254. Klanten controleren hierbij d.m.v arp of hun adres uniek is. Wanneer de DHCP server terug beschikbaar wordt, zullen de klanten automatisch hun adressen updaten.

## ARP

Het address resolution protocol (waarbij resolution staat voor het terugvinden van een address op het netwerk) is een protocol dat wordt gebruikt door IP (internet protocol) om een IP-netwerkadres te mappen aan een hardware MAC (Medium acces control)-address gebruikt door het datalink protocol van het OSI model. Hierbij kennen we 4 soorten messages:
       1. ARP request
       2. ARP reply
       3. RARP request
       4. RARP reply

## TCP en UDP

TCP/IP is op zich een complex model omdat verschillende lagen van het osi model zijn samengenomen. Het wordt vooral gebruikt bij internet/intranet. De naam is een samentrekking van tcp en ip protocol
T(ransmission)C(ontrol) P(rotocol) : is verbindinggericht en stuurt dus ook bevestiging Voorbeeld: via ftp protocol, dit protocol gebruikt een TCP-protocol om een bevestiging te krijgen dat het bestand op zijn bestemming is geraakt, al dan niet met fouten.
UDP-protocol: is een verbindingsloos protocol. De eenheden informatie noemen we datagrammen. De informatie kan dus langs gelijk welke weg komen. We krijgen geen bevestiging. We kunnen UDP gebruiken om een snelle gegevens overdracht te hebben, maar dat kan het best langs een betrouwbaar netwerk (medium )