MM8
Home

 

Indhold:

  1. Client/server paradigme.
  2. TCP.
  3. UDP og UDP/RTP
  4. 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:

  1. Hvad er det maksimale antal byte der kan overføres vha UDP, uden der fragmenteres på et Ethernet?
  2. 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?
  3. 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:

  1. Studer TCP serveren for multi client requests.
  2. Afprøv denne server.

Opg 5:

  1. Baseret på opg 4 - implement en dato server.
  2. 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.