CS791: A Critical Look at Network Protocols
Lecture date: 09/07/99
Prof. John Byers
Scribe: Zihui Ge

Where to put each functionality (service)?
-
Close to application?
-
Build as elementary blocks?
Performance issues
Is IP sufficient (necessary) for all applications? Could
an alternative of "IP layer" be more efficient to some applications?
Open question
End to End argument (close to application)
Example:
Link by link checksum VS. End to End checksum

Bit currupts between links can not be detected
by host to host checksum. Caculation errors, memory errors?
The above kind of errors can not be detected by host
to host checksum. So end application need to do checksum to guarantee the
correctness. In this way, host to host checksum are useless and increase
unnecessary delay to the whole procedure.
For performance reasons, high lost-rate links
(wireless link) may use link by link checksum:
When a transmission error happens at this link, the retransmission
is only between the two ends of this link. However, if using end to end
checksum only, package has to be retransmitted from the source to the end,
which causes more delay and more wasted traffic.
Design Philosophy
Goals: Survivability, Heterogeneous services/networks, cost-effectiveness,
extensibility and accountability.
-
Goals are sorted according to priority
-
Fate-sharing (share fate with end-point) against any number
of intermediate failures
Standard packet header format
Stateless packet switches
...
-
Differences from today?s TCP/IP
Addressing space? (Scalability)
Congestion control?
Retransmission mechanism?
Split of TCP and IP
TCP: reliable sequenced transmission protocol
IP: routing protocol (UNIVERSAL NEEDED)
...
-
Not successfully achieved (problems)
Cost of attaching a host to Internet (each new client
needs to implement TCP/IP)
Header overhead, especially for small package (single
character data)
Limit accountability
...
Cumulative Acknowledgement
-
Why? Why not ACK most recent received package?
In the case that ACK package is lost, source will not
be able to distinguish it. Timeout and retransmission are inevitable.
While if the cumulative acknowledgement is adopted, source will learn of
the lost of ACK package by get any ACK for later package, which reduce
the number of retransmission.
...
Package accounting at gateway
Since Routing or switching are package-based, packages
comes from the same source (or goes to the same destination) may go through
different gateways. It is hard to accumulate the accounting information.
Another problem is that gateway may connect two networks who has different
max-package size. This means that packages are likely to be split from
one gateway to another, which increases the difficulty of accounting.
...
TCP/UDP
-
Most serious source of delay in networks is the mechanism
to provide reliable delivery. At the same time, applications like speech
transmission will not hurt much with occasional missing package. It is
no reason that these applications have to suffer the delay caused by reliability
problem. The idea is to separate TCP Program into TCP/IP structure. Use
UDP as an alternative for TCP (also based on IP) and provide unreliable
transmission control. In another word, UDP offers least reliability but
minimum control overhead.
...