Held Monday, April 17, 2000
Overview
Today we move on to the next layer, the transport layer, which
provides per-process networking capabilities.
Notes
- The MathLAN was down this morning while I was prepping class, so I may
not have things as organized as I'd like.
- Don't forget Monica Neagoy's talk tonight at 7:30 in Harris.
- I've graded Assignment 6. I'll
go over a few questions today, but will leave general discussion until
Wednesday, 3:15-4:05.
- Two new assignments today. Note that one is due on Wednesday.
Contents
Summary
I'm returning assignment 6 today. As I've indicated in the past, I no
longer accept assignments after I return them. Those of you who did
not turn in assignment 6 need to propose reasonable replacements.
We'll go over the assignment in some detail after class on Wednesday
(to give you some chance to read my notes to you on the assignment).
However, we will go over some quick issues that occured on a number
of assignments:
- General note: The book's description of padding in ATM 3/4 is incorrect.
It's padded to 4K+3 bytes, not to a multiple of 3.
- General note: Datagram, Virtual , and Source routing are different
protocols. You should not rely on one to solve another.
- Problem 1 (build VCs): VCIs should be unique for each link.
- Problems 6 and 7: Your goal is to notify senders, not just
the neighboring bridges. Senders don't know the path their data
takes.
- Problem 16: We'll go over this in some detail, since almost everyone
got it wrong. Note that the bridge screwed up is not an
appropriate way to get the packets looping.
- Problem 24: AAL3/4 has ``hidden'' padding, since you need to expand
the data to evenly fill the cells. Hence:
- AAL5: ceiling((8+data)/48)
- AAL3/4: ceiling(8+data)/44)
- Problem 28:
- The overhead per datagrams is high; using small cells makes
this painful (taken from answer key)
- Cell switching typically assumes in-order arrival
- ...
- The next layer of the protocol stack is the transport layer.
- The transport layer is typically responsible for providing networking
capabilities to individual processes as opposed to individual
machines.
- The transport layer also often adds capabilities to the connection
- Reliability
- Guaranteed rate
- Ordered delivery
- No duplicate packets
- etc.
- There are three typical transport-layer services
- Best effort datagrams (exemplified by UDP)
- Reliable byte stream (exemplified by TCP)
- Request/reply (exemplified by RPC)
- Each has different implementation strategies
- Also: How do we present these to the programmer?
- User Datagram Protocol
- Easy to implement
- Extends IP with a port on each host
- When you send a UDP packet, you must identify both ports and both
sender and receiver's host (sender's host is implicit).
- At the receiver, the packets are split according to port number
- Typically, each process reads from its own port
- However,
- Multiple processes could read from the same port (scary, isn't it?)
- One process could read from multiple ports
Thursday, 20 January 2000
- Created as a blank outline.
Monday, 17 April 2000
Wednesday, 19 April 2000
- Removed uncovered topics (TCP)
Back to IP, Concluded.
On to TCP.