





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
NOTES OF COMPUTER NETWORKS. Transport Layer: Design Issues, UDP: Header Format, Per-Segment Checksum, CarryingUnicast/Multicast Real-Time Traffic, TCP: Connection Management, Reliability of DataTransfers, TCP Flow Control, TCP Congestion Control, TCP Header Format, TCP TimerManagement.Application Layer: WWW and HTTP, FTP, SSH, Email (SMTP, MIME, IMAP),DNS, Network Management (SNMP).
Typology: Summaries
1 / 29
This page cannot be seen from the preview
Don't miss anything!
โ The transport layer is a 4th^ layer from the top. โ Takes data from application layer and pass it to network layer. โ END TO END DELIVERY TO DATA(PORT TO PORT). โ The main role of the transport layer is to provide the communication services directly to the application processes running on different hosts. โ The transport layer provides a logical communication between application processes running on different hosts. Although the application processes on different hosts are not physically connected, application processes use the logical communication provided by the transport layer to send the messages to each other. โ
โ Each of the applications in the application layer has the ability to send a message by using TCP or UDP. The application communicates by using either of these two protocols.
The services provided by the transport layer are similar to those of the data link layer. The data link layer provides the services within a single network while the transport layer provides the services across an internetwork made up of many networks. The data link layer controls the physical layer while the transport layer controls all the lower layers. The services provided by the transport layer protocols can be divided into five categories: โ End-to-end delivery โ Addressing โ Reliable delivery โ Flow control โ Multiplexing
DESIGN ISSUES OF TRANSPORT LAYER :- Transport layer is responsible for following issues:- a) Accepting message segments from the application layer and to divide into packets. b) End-to-End Delivery of the packet. c) Combining packets into message segment at receiver side. d) Connection management. OR
โ User Datagram Protocol (UDP) is a Transport Layer protocol. โ UDP is a part of the Internet Protocol suite, referred to as UDP/IP suite. โ Unlike TCP, it is an unreliable and connectionless protocol. So, there is no need to establish a connection prior to data transfer. โ. The UDP helps to establish low-latency and loss-tolerating connections establish over the network. โ Though Transmission Control Protocol (TCP) is the dominant transport layer protocol used with most of the Internet services; provides assured delivery, reliability, and much more but all these services cost us additional overhead and latency. Here, UDP comes into the picture. For real-time services like computer gaming, voice or video communication, live conferences; we need UDP. โ User Datagram Protocol (UDP) is more efficient in terms of both latency and bandwidth. UDP Header โ โ UDP header is an 8-bytes fixed and simple header,while for TCP it may vary from 20 bytes to 60 bytes. โ The first 8 Bytes contains all necessary header information and the remaining part consist of data. โ port number 0 is reserved. โ Port numbers help to distinguish different user requests or processes.
Applications of UDP: โ Used for simple request-response communication when the size of data is less and hence there is lesser concern about flow and error control. โ Normally used for real-time applications which can not tolerate uneven delays between sections of a received message. โ UDP is widely used in online gaming, where low latency and high-speed communication is essential for a good gaming experience. โ Streaming media applications, such as IPTV, online radio, and video conferencing, use UDP to transmit real-time audio and video data. โ VoIP (Voice over Internet Protocol) services, such as Skype and WhatsApp, use UDP for real-time voice communication. Checksum: When you send and receive data over the wire, there are possibilities where the data can get corrupted, altered, or modified(it can be accidental, purposely done with evil intention). Whatever may be the case, there needs to be a method where the receiver can verify and figure out easily if the data is altered or corrupted. Generally what happens is this..The sender calculates a short checksum value(very small in size) which represents the message/data that is being sent. The value calculated is either sent along with the message, or through other methods. Once the data is received, the receiver also calculates the checksum. If
both the values(of the sender and the receiver) tallies, then the data is uncorrupted/unaltered. Let's understand this by an example. Imagine we have a UDP segment or a TCP packet. The first thing that we do is to divide and slice it up to 16 bit pieces. Let's assume we have three 16 bit data as below. 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 If we add those three 16 bit data using binary addition. We get the below 16 bit data(Its simple binary addition). 1001101001010110 + 0000101110001110 + 0000110111001100 = 1011001110110000 Ones complement of our result 1011001110110000 is 0100110001001111(This is our checksum). So we need to basically send our data (which is the three binary 16 bit numbers) along with its checksum to a recieaver. The main thing to understand is, the reciever will get the data as well as the checksum we calculated. The reciever will get the below things. 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 (data) 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 (data) 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 (data) 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 (Checksum)
**1. Calculate checksum
Unicast is the term used to describe communication where a piece of information is sent from one point to another point. In this case there is just one sender, and one receiver. Unicast transmission, in which a packet is sent from a single source to a specified destination Broadcast : Broadcast is the term used to describe communication where a piece of information is sent from one point to all other points. In this case there is just one sender, but the information is sent to all connected receivers. Multicast: Multicast is the term used to describe communication where a piece of information is sent from one or more points to a set of other points. In this case there is may be one or more senders, and the information is distributed
to a set of receivers ( theer may be no receivers, or any other number of receivers). One example of an application which may use multicast is a video server sending out networked TV channels. Multicasting is the networking technique of delivering the same packet simultaneously to a group of clients. Unlike broadcast transmission (which is used on some local area networks), multicast clients receive a stream of packets only if they have previously elect to do so (by joining the specific multicast group address). The multicast mode is useful if a group of clients require a common set of data at the same time. Applications for Multicast โ audio-video distribution (1-to-many) and symmetric (all-to-all) โ distributed simulation (war gaming) โ resource discovery โ file distribution (stock market quotes, new software, ...)
โ TCP stands for Transmission Control Protocol. โ It provides full transport layer services to applications. โ It is a connection-oriented protocol means the connection established between both the ends of the transmission.
โ Reliability: TCP assigns a sequence number to each byte transmitted and expects a positive acknowledgement from the receiving TCP. If ACK is not received within a timeout interval, then the data is retransmitted to the destination. โ Flow Control: When receiving TCP sends an acknowledgement back to the sender indicating the number the bytes it can receive without overflowing its internal buffer.
โ TCP is a connection-oriented protocol and every connection-oriented protocol needs to establish a connection in order to reserve resources at both the communicating ends. โ The connection is established in TCP using the three-way handshake. Three-Way Handshake
โ Step 1 (SYN): In the first step, the client wants to establish a connection with a server, so it sends a segment with SYN(Synchronize Sequence Number) which informs the server that the client is likely to start communication and with what sequence number it starts segments with โ Step 2 (SYN + ACK): Server responds to the client request with SYN-ACK signal bits set. Acknowledgement(ACK) signifies the response of the segment it received and SYN signifies with what sequence number it is likely to start the segments with โ Step 3 (ACK): In the final part client acknowledges the response of the server and they both establish a reliable connection with which they will start the actual data transfer Reliability โ TCP must recover data that is damaged, lost, duplicated, or delivered out of order by the Internet.
acknowle dgement It waits for the acknowledgement of data and has the ability to resend the lost packets. It neither takes the acknowledgement, nor it retransmits the damaged frame. Flow Control: If sender sends data faster than what receiver can process then the receiver will drop the data and then request for a retransmission, leading to wastage of time and resources. TCP provides end-to-end flow control which is realized using a sliding window. The sliding window sends an acknowledgement from receiverโs end regarding the data that the receiver can receive at a time.
What is congestion? A state occurring in network layer when the message traffic is so heavy that it slows down network response time.
Effects of Congestion โ As delay increases, performance decreases. โ If delay increases, retransmission occurs, making situation worse. Congestion control algorithms โ Congestion Control is a mechanism that controls the entry of data packets into the network , enabling a better use of a shared network infrastructure and avoiding congestive collapse. โ Congestive-Avoidance Algorithms (CAA) are implemented at the TCP layer as the mechanism to avoid congestive collapse in a network. TCP uses a congestion window and a congestion policy that avoid congestion. If the network cannot deliver the data as fast as it is created by the sender, it must tell the sender to slow down.. Congestion policy in TCP โ
โ It contains sequence number of the data byte that receiver expects to receive next from the sender. โ It is always sequence number of the last received data byte incremented by 1.
โ It contains the length of TCP header. โ It helps in knowing from where the actual data begins.
โ Sender adds CRC checksum to the checksum field before sending the data. โ Receiver rejects the data that fails the CRC check.
โ TCP uses several timers to ensure that excessive delays are not encountered during communications. TCP TIMERS:
**1. Retransmission Timer
Persistent Timer โ To deal with a zero-window-size deadlock situation, TCP uses a persistence timer. Keep Alive Timer โ A keepalive timer is used to prevent a long idle connection between two TCPs. If a client opens a TCP connection to a server transfers some data and becomes silent the client will crash. In this case, the connection remains open forever. So a keepalive timer is used. Each time the server hears from a client, it resets this timer. The time-out is usually 2 hours. If the server does not hear from the client after 2 hours, it sends a probe segment. If there is no response after 10 probes ,it assumes that the client is down and terminates the connection. Time Wait Timer โ This timer is used during tcp connection termination. The timer starts after sending the last Ack for closing the connection. After a TCP connection is closed, it is possible for datagrams that are still making their way through the network to attempt to access the closed port.