Indhold:
- Client/server paradigme.
- TCP.
- UDP og UDP/RTP
- Sockets.
Litteratur:
Computer Networks" af Andrew Tanenbaum fourth edition. Kap. 6.4.1 side
524-526 og 6.4.3- 6.5.11 side 529-555, samt 6.1.3-6.1.4 side 487-492.
Portnummere findes her: port-numbers
Mht. programmering kik da i: Sun's
tutorial til netwaerksprogrammering og Beej's
Guide to Network Programming.
Eksempel Programmel:
TCP
server i java - Server.java
TCP
client i java - Client.java
UDP
server i java - UDPReceive.java
UDP
client i java - UDPSend.java
TCP
server i C - tcpserver.c
TCP
client i C - tcpclient.c
UDP
server i C - udpserver.c
UDP
client i C - udpclient.c
Og
her er en Makefile til C-programmerne.
Opgaver:
- Hvad er det maksimale antal byte der kan overføres vha UDP, uden der
fragmenteres på et Ethernet?
- Datafeltet i en Ethernet pakke er en encapsulation af et IP-UDP segment.
Hvorfor er der to ''length'' felter - en i IP header'en og en i UDP
header'en?
- En host på et 10 Mbit Ethernet sender 64240 bytes vha TCP-protokollen.
Afstanden mellem hver pakke er 12 bit, kun en ACK pakke sendes ved hver
modtagelse. ''Network propagation'' er nul, og der er ingen kollisioner.
Find den maksimale ''utilisation'' af netværket og throughputtet i bit pr.
sek.
Som start kan i finde UDP og TCP multithread programmerne fra bogen Java in a
Nutshell. Disse programmer findes her
i kap. 7
Opg 4:
- Studer TCP serveren for multi client requests.
- Afprøv denne server.
Opg 5:
- Baseret på opg 4 - implement en dato server.
- Sammenlign med dato serveren på port 13.
Opg 6:
Skriv en C-client der kan hente datoen fra port 13.
Brug evt denne client til at undersøge om en C-client kan tale med en
Java-server.