You are on page 1of 13

CHAPTER 6

Q1. Define the responsibility of Transport Layer.


Responsible for delivering data
across networks with the desired
reliability or quality
Q2. Describe the following:
a. Services Provided by transport layer
Transport layer adds reliability to the network layer
Offers connectionless (e.g., UDP) and connectionoriented
(e.g, TCP) service to applications

Transport layer sends segments in packets (in frames


b. All Transport Service Primitives
Primitives that applications might call to transport data
for a simple connection-oriented service:
Client calls CONNECT, SEND, RECEIVE, DISCONNECT
Server calls LISTEN, RECEIVE, SEND, DISCONNECT

State diagram for a simple connection-oriented service
Solid lines (right) show
client state sequence
Dashed lines (left) show
server state sequence
Transitions in italics are
due to segment arrivals.


c. Three-way handshake for establishing connection
Three-way handshake used
for initial packet
Since no state from
previous connection
Both hosts contribute
fresh seq. numbers
CR = Connect Request

Three-way handshake
protects against odd cases:
a) Duplicate CR. Spurious
ACK does not connect

b) Duplicate CR and DATA.
Same plus DATA will be
rejected (wrong ACK).

d. main problem that effect the network performance
Unexpected loads often interact with protocols to cause
performance problems
Need to find the situations and improve the protocols
Examples:
Broadcast storm: one broadcast triggers another
Synchronization: a building of computers all contact
the DHCP server together after a power failure
Tiny packets: some situations can cause TCP to
send many small packets instead of few large ones
e. DTN Architecture
Messages called bundles are stored at DTN nodes
while waiting for an intermittent link to become a contact
Bundles might wait hours, not milliseconds in routers
May be no working end-to-end path at any time
Example DTN connecting a satellite to a
collection point

There
may be no working path sometimes (satellite has no contact, ground station
backhaul
broken) or the path might not exist for long enough to send a but satellite
software would
still like to send images without worrying about these issues even if the network
stores
them. Storing bundles at ground stations also decouples the satellite link from the
ground backhaul. If the wireless is faster then images may be stored in the
ground
station.
Example DTN connecting a satellite to a
collection point


Q3. Briefly explain:
a. All Connection Release techniques
Key problem is to ensure
reliability while releasing
Asymmetric release (when
one side breaks connection)
is abrupt and may lose data

Symmetric release (both sides agree to release) cant
be handled solely by the transport layer
Two-army problem shows pitfall of agreement

Normal release sequence,
initiated by transport user on
Host 1
DR=Disconnect Request
Both DRs are ACKed by
the other side

Error cases are handled with timer and retransmission

b. Packed Crash Recovery
Application needs to help recovering from a crash
Transport can fail since A(ck) / W(rite) not atomic

c. TCP Uses several mechanisms that work together for congestion control


Q4. B has a fixed buffer of 4 segments. A gets to send up to message ack+buf.
Messages go
into Bs buffer.
a. Draw occupied buffer space. At unrelated times Bs application reads data from
Bs buffer and frees up space for more data to arrive.


b. When does Bs application receive data from the buffer? Between times 5&6,
10&11, 11&12, and 15&16.
Q5. Explain why does the maximum packet lifetime, T, have to be large enough to
ensure
that not only the packet but also its acknowledgements have vanished?
If we wait a time T secs after a
packet has been sent, we can be sure that all traces of it are now gone and that neither
it nor its acknowledgements will suddenly appear out of the blue to complicate
matters.
With packet lifetimes bounded, it is possible to devise a practical and foolproof
way to reject delayed duplicate segments.
If a machine loses its memory or crashes, it will not know which the next identifier to assign
to a new connection is, and which connection identifiers were already used. Consequently,
we have to wait a time T after a packet or acknowledgement has been sent, to make sure an
old duplicate appears as legitimate one to confuse matters.

Q6. briefly explain and draw the following:
a. Max-min fairness gives equal shares of bottleneck

Note that fairness is more complicated than giving all flows the same bandwidth,
e.g.,
1/3 units. B, C, and D share a bottleneck so they each get 1/3 of it. But A does
not have
this bottleneck so giving it 1/3 units only wastes some bandwidth -- it can have
2/3 units
without slowing anyone else down. This is max-min fair, which maximizes the
minimum
bandwidth flows get, then lets flows go ahead when they are able to use excess
bandwidth.
b. Changing bandwidth allocation over time
We want bandwidth levels to converge quickly when
traffic patterns change

c. UDP
UDP (User Datagram Protocol) is a shim over IP
Header has ports (TSAPs), length and checksum.

d. TCP Sliding Window
TCP adds flow control
to the sliding window
as before
ACK + WIN is the
senders limit

Need to add special cases to avoid unwanted behavior
E.g., silly window syndrome [below]

e. Bundle Protocol design format
Features of the bundle message format:
Dest./source add high-level addresses (not port/IP)
Custody transfer shifts delivery responsibility
Dictionary provides compression for efficiency

Q7. Give the full name for the following:
a. UDP User Datagram Protocol
b. TSAP Transport Services Access Point
c. ACK Acknowledgement
d. RPC Remote procedure call
e. RTP Real-time Transport Protocol
f. TCP Transmission Control Protocol

g. cwnd congestion window
h. RTT round-trip time
i. DTN Delay Tolerant Networks
Q8. How the user's packet lost in the network?
Wireless links lose packets due to transmission errors
Q9. What are the rules of thumb for fast host software?
Host speed more important than network speed
Reduce packet count to reduce overhead
Minimize data touching
Minimize context switches
Avoiding congestion is better than recovering from it
Avoid timeouts
Q10. Why for fast and better performance needs compression for packet header?
Overhead can be very large for small packets
40 bytes of header for RTP/UDP/IP VoIP packet
Problematic for slow links, especially wireless
Header compression mitigates this problem
Runs between Link and Network layer
Omits fields that dont change or change predictably
40 byte TCP/IP header 3 bytes of information
Gives simple high-layer headers and efficient links
Q11. What is the purpose of DTNs?
store messages
inside the network until they can be delivered
Q12. Why Convergence layers used in/with the bundle protocol?
We want to define just one Bundle protocol to run over
TCP or other transport layers (SCTP, etc.). The transport protocols are not going to have
exactly the same interfaces, so they will not fit exactly with the bundle protocol.
Convergence layers are the glue that join the interfaces together.
Q1. Give the full title for the following:
a. DNS Domain Name System
b. IP Internet Protocol
c. STMP Simple Mail
Transfer Protocol)
d. MIME Multipurpose Internet Mail Extension
e. HTTP HyperText Transfer Protocol
f. URL Uniform Resource Locators
g. DCT Discrete Cosine Transformation
h. JPEG Joint Photographic Experts Group
i. SIP Session Initiation Protocol)
j. CDN Content Delivery Network
k. P2P Peer to peer
l. DHT Distributed Hash Tables

Q2. What is the purpose for the DNS?
The DNS resolves high-level human readable
names for computers to low-level IP addresses
Q3. How user/computer find an IP?
Finding the IP address for a given hostname is called
resolution and is done with the DNS protocol.
Resolution:
Computer requests local name server to resolve
Local name server asks the root name server
Root returns the name server for a lower zone
Continue down zones until name server can answer
DNS protocol:
Runs on UDP port 53, retransmits lost messages
Caches name server answers for better performance

Q4. Briefly explain this URL protocol: http://www.phdcomics.com/comics.php

Q5. Write all necessary Steps for a client (browser) takes to follow a hyperlink.
Steps a client (browser) takes to follow a hyperlink:
Determine the protocol (HTTP)
Ask DNS for the IP address of server
Make a TCP connection to server
Send request for the page; server sends it back
Fetch other URLs as needed to display the page
Close idle TCP connections
Q6. Write all necessary Steps for a server takes to serve pages.
Steps a server takes to serve pages:
Accept a TCP connection from client
Get page request and map it to a resource (e.g., file name)
Get the resource (e.g., file from disk)
Send contents of the resource to the client.
Release idle TCP connections
Q7. What are the differences between the following:
a. Static and dynamic web pages
Static Web pages are simply files
Have the same contents for each viewing
Can be visually rich and interactive nonetheless:
HTML that mixes text and images
Forms that gather user input
Style sheets that tailor presentation
Vector graphics, videos, and more (over) . . .
Dynamic pages are generated by programs running
at the server (with a database) and the client
E.g., PHP at server, JavaScript at client
Pages vary each time like using an application
Web page that gets
form input and calls
a server program
PHP server program
PHP calls
that creates a
custom Web page
b. server and client programs

Q8. Briefly explain the HTTP.
HTTP (HyperText Transfer Protocol) is a requestresponse
protocol that runs on top of TCP
Fetches pages from server to client
Server usually runs on port 80
Headers are given in readable ASCII
Content is described with MIME types
Protocol has support for pipelining requests
Protocol has support for caching
Q9. Gives all steps are required by JPEG lossy compression sequence to compress
one still
Image

Q10. How do peers (P2P) find each other?
Peers find each other via Tracker in torrent file

You might also like