Week 2: Network programming, socket programming, threads, concurrency control
Delays in networks, protocol layers, application architectures, sockets, threads
- Lecture notes:
- Network programming - Lecture slides (6 per page)
- Recitation notes:
- Sockets programming - Recitation slides (6 per page)
- Supplemental notes:
-
- Terms with which you should be familiar:
-
Delays in networks:
Processing delay, queuing delay, transmission delay (L/R), propagation delay, output queue, burstiness, traffic intensity (La/R), packet loss, nodal delay, end-to-end delayProtocol layers:
protocols, layers, OSI reference model, physical, data link, network, transport, session, presentation, application, frames, datagrams, segments, protocol encapsulation, application architectures, client-server, peer-to-peer, hybrid, self-scalability, client, server, API, loss-tolerant applications, elastic applications, connection-oriented service, connectionless service, throughput, delay, jitter, TCP, transmission control protocol, UDP, user datagram protocol, address, port numberSockets:
socket, name (bind), Socket vs. ServerSocket vs. DatagramSocket classes, accept,Threads:
Thread, stack, heap, run, join, worker thread, race condition, synchronized access, system calls: socket, bind, listen, accept, connect.