Commit e1e65162 authored by wx002's avatar wx002

ch3 done

parent bd623ef7
This chapter is going into details of the 5 layer network model, focusing on the transport layer.
Transport Layer Services:
- Provide logical communication for processes within different host
- Logical communication: communicate directly via the application's perspective
- Implemented in end systems but not in network routers
- Sending:
- transport layer convert application layer messages and process it into transport layer packet
- done by breaking application messages into chunks
- add transport layer header
- encapsulates into network datagram for sending
- Receiving:
- network routers don't examine the fields of the transport-layer segment encapsulated with the datagram
- network layer extracts the transport-layer segment from the datagram and passes the segment up to the transport layer
- make the data segment available to application
- Two distinct protocols:
- TCP(Transmission Control Protocol): reliable, connection-oriented service to the invoking application
- UDP(User Datagram Protocol): an unreliable, connectionless service to the invoking application
For simplicity of terminology, transport layer packet is refer as segments. The logical communication between hosts is provided by IP(Internet Protocol). This model a best-effort delivery service.
- best-effort delivery service: It will provide best effort for deliver, but no guarantee if the message will get there
- IP is said to be unreliable because of this
UDP and TCP extends IP's delivery system for two processes running in end systems.
- transport-layer multiplexing: Extending host-to-host delivery to process-to-process delivery
- Both also provide integrity checking with error detection in segment headers, which served as the two minimal transport layer service
- Similar to IP, UDP is also unreliable, it only provides process to process data delivery and error detection
- TCP consider to be the reliable connection since it provide RDT(Reliable Data Transfer).
- TCP uses flow control, sequence numbers, acknowledgments, and timers to ensure packets are properly delivered and in order
- TCP also provides congestion control, unlike UDP
Connectionless Transport: UDP
UDP is considered to be no-frills transport-layer protocol, the bare minimum needed for communication between processes, with only providing multiplexing/demultiplexing functions for message flow. This served as the very basic of process communication.
Reliable Data Transfer:
This offers better services and have guarantee of packet delivery when it comes to sending/receiving packets. It uses flow control, sequencing, ACK and other features to ensure the packets properly delivered in order as they were sent. An example of this is TCP. This can also be implemented using an non-reliable connection such as UDP by doing things carefully using ACK and retransmission when necessary, similar to what I have done in project 1.
Connection-Oriented Transport: TCP
This is a very complex protocol that consist of many features to ensure reliability. It have features such as flow control, rtt estimate, and reliable data transfer. It is the ideal protocol. The complexity of TCP is hidden from network applications since its pack into socket.
Congestion Control:
TCP limits the rate of sender to control the connections. It uses end-to-end congestion control rather than network assisted congestion control due to the feedback from IP for end systems. IP does not provide feedback regard network congestion. The rate is increase/decreased based on the path between the two hosts. The congestion window is kept as parameter within the TCP packet. This is keep track of the window size of packet and adjust it accordingly based on the connection.
Reflection:
This chapter got into much more details about the transport layer. Specifically, it provide overviews of TCP and UDP by showing their similarities and differences. It mostly illustrates how processes within two different end system communicate. It provide examples of how to transfer data reliably in an effective way, and how to ensure reliability using unreliable protocols like UDP. It definitely provide the overview of how these things really.
Questions:
1. all of the above
2. all of the above
3. none of the above
4. destination port number
5. when there is a large distance between source and destination and the transmission rate is high
6. all of the above
7. when it receives three ACKs for an earlier segment
8. Do port scans over a range of ports at a target host.
9. with an initial sequence number that is a hash of the IP addresses and port
numbers in the SYN segment (as well as of other things).
10. Host A will retransmit the first segment
11. the number of times the server stalls
12. Latency = 2 RTT + O/R
13. .75 W*MSS/RTT
T/F
1. F
2. F
3. F
4. F
5. T
6. F
7. F
8. F
9. F
10. T
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment