Transport Layer Protocols
|
|
- Cameron Baldwin
- 7 years ago
- Views:
Transcription
1 Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements some control functions. The original TCP/IP protocol suite (to be introduced later) introduces two different protocols for this purpose: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP establishes a virtual link between two application programs, and provides error checking and congestion control. On the other hand, UDP protocol keeps the minimum requirement of an end to end connection and leaves the control mechanisms to the application. TCP is a reliable and connection oriented protocol appropriate for applications such as delivery and file transfer protocol (FTP). The UDP is an unreliable and connectionless protocol, but it is simple and incurs less communication overhead. The UDP is a good choice for applications such as Voice over IP (VoIP), where packet loss is acceptable to some extent. In the following section, the TCP and UDP are introduced. Transmission Control Protocol (TCP) TCP is the main protocol of the transport layer in packet switched networks. TCP and IP protocols provide the basic structure of the Internet. These two protocols are complementary in the sense that IP facilitates packet forwarding irrespective of reliable packet delivery, whereas TCP is responsible for reliable packet delivery between applications. In the network layer, the order of packets during transmission may change, because, different packets may reach a destination on different routes. Moreover, some packets may be dropped due to the congestion and/or long delay in a node on the path. TCP protocol compensates for some of these deficiencies of the IP protocol, and controls the congestion in a network. 1
2 To implement reliable services, TCP deploys a numbering system as well as some control mechanisms. The numbering system determines byte, sequence, and acknowledgment numbers. The control mechanisms include flow, error, and congestion controls. The bytes of the data part of TCP segments are numbered by the protocol. In fact, the first byte of a data segment gets a sequence number explicitly, where as the following bytes get it implicitly. The number is put in the sequence number field of the segment header, and is used for flow and error control. In addition, the parties involved in a connection use the {byte number + 1} in their segment header as acknowledgment number. It indicates the byte number they expect to receive. For example, if the acknowledgement number of a segment header of one of the communication parties shows 34, that means the party has received all of the bytes from the beginning up to and including byte number 33, and now it is expecting to receive byte number 34. TCP connections are full duplex; each party has its own sequence and acknowledgment numbers for the transmitting stream. Flow control avoids data overflow at the receiver. In other words, the receiver tells the sender how much to send so that buffer overflow is avoided. Congestion control is implemented by the sender based on the level of congestion in a network. Error control mechanism provides a reliable service for TCP. The control mechanisms of TCP will be explained later on. Prior to that, TCP protocol suite is introduced to show the relevance between TCP and the upper and lower layer protocols. Also, the structure of a TCP segment and the concept of connection oriented TCP are described to help understanding the TCP control mechanisms. TCP/IP Protocol Suite TCP and IP protocols were introduced prior to the OSI (Open System Interconnection) model of the International Standards Organization. Therefore, the
3 protocol stack based on the TCP/IP, as shown in Fig.1, does not exactly match with the 7 layer OSI model. The TCP/IP protocol suite contains four layers of protocols (or five layers, depending on which reference you look at!) as defined below. Layer 4 Application Layer: This layer performs the functionalities of application, presentation and session layers of the OSI model. Application protocols such as SMTP (simple mail transfer protocol), FTP (file transfer protocol), and HTTP (hypertext transfer protocol) operate at this layer. Layer 3 Transport Layer: This layer performs the equivalent functions of the OSI transport layer as well as some OSI session layer functionalities. This layer provides different levels of reliable delivery service for the application layer depending on the application requirements. Layer Internet Layer: This layer handles routing tables and packet forwarding. Layer 1 Network Access Layer (Data Link + MAC + Physical): Connection to the physical environment and flow control are performed at this layer. The layer specifies the characteristics of the hardware and access methods. OSI TCP/IP Application Presentation Application Session Transport Transport Network Internet Data Link Network Interface Physical Fig. 1 OSI model versus TCP/IP model 3
4 TCP Segment In order to understand the TCP protocol, it is necessary to understand the various fields of a TCP segment header. These fields are described in this section. In the next sections, we describe how each field is utilized for each TCP service. The TCP Segment header is bytes long, but it may increase up to 6 bytes if an optional 4 byte is added to the header. The format of a segment is shown in Fig.. The meaning and purpose of each field is as follows: Source Port Address: A 16 bit address of the port number of the sender (application). Destination port address: A 16 bit address of the port number of the receiver (application). Sequence Number: A 3 bit address (sequence number) of first byte of data in each segment. In other words, the sequence number indicates the address of the first data byte in each segment for the receiver. Acknowledgment Number: A 3 bit byte number that the receiver expects to receive from the sender. An acknowledgment number, 13, means that all the bytes starting from the initial sequence number and up to and including byte number 1 have been successfully received. Header length: A 4 bit field that represents the header length in multiple of four bytes. Reserved: A 6 bit field reserved for the requirements of future protocol developments. 4
5 Control: A 6 bit field contains some flags for connection establishment, termination, abortion, flow control, and data transfer mode indication. Table 1 represents the usage of each flag. Source Port Destination Port Header Length Sequence Number Acknowledgment Number Reserved U A P R S F Window size Checksum Urgent Pointer Options Padding H e a d e r Data U: URG (Urgent) A: ACK P: PSH (Push) R: RST (Reset) S: SYN (Sync.) F: FIN (Finish) Fig. : TCP Segment Format Table 1 TCP Segment Header Flags Flag value Description URG 1 Urgent pointer field has a valid value. ACK 1 Acknowledgment field has a valid value. 1 PSH RST 1 SYN 1 FIN 1 The receiving TCP module passes (pushes) the data to the application immediately. The receiving TCP module may delay the data. The connection request is denied, or the connection is aborted. Synchronize sequence number during connection Sender has no more data to send, but is ready to receive. 5
6 Window Size: A 16 bit number specifying the number of bytes the receiver is willing to receive. The value of this field is used in flow control and congestion control. Checksum: A 16 bit field used for error correction. Urgent pointer: A 16 bit number that is added to the sequence number and shows the location of the first byte of urgent data in the data section of the segment. Urgent data is delivered to the recipient application program to be processed before other data. The value of this field is used when the URG flag is on. Options: The length of this field may reach up to 4 bytes. Connection oriented TCP TCP is a connection oriented protocol. It establishes a virtual connection between the running application programs (process) at the two communication end points. TCP uses port number for this purpose. Each port number is relevant to an application as shown in Table. The stream of data is sent from the process to the transport layer. TCP establishes a connection between the transport layers of the transmitter and receiver stations. It then divides the stream of data into units called segments. Segments are numbered and transmitted one by one. The TCP protocol at the receiver side checks the arriving segments for error, loss, and duplication. It orders the segments, makes a stream, and transfers the stream to the receiver side process. TCP provides stream delivery service. Both the sender and the receiver processes deal with the stream of bytes and are not aware of stream segmentation in the lower layers. After all segments are transmitted, TCP at the transmitter side closes the connection. 6
7 Table Port Numbers Used by TCP Port Protocol Description FTP, Data File Transfer Protocol (data connection) 1 FTP, Control File Transfer Protocol (control connection) 3 TELNET Terminal Network 5 SMTP Simple Mail Transfer Protocol 53 DNS Domain Name Server 79 Finger Finger 8 HTTP Hypertext Transfer Protocol 111 RPC Remote Procedure Call Connection oriented TCP consists of connection establishment, data transfer, and connection termination phases. The parties involved in a connection establishment are termed as client, applicant for the connection, and server, the destination. Connection establishment is a three way handshaking protocol. Fig. 3 shows a connection establishment. First, the client sends a segment with SYN=1 to synchronize the sequence numbers. The segment contains the initial sequence number. Second, the server sends the second segment with SYN and ACK flags on. That means the segment contains the initial sequence number of the server and the first segment transmitted by the client has been successfully received. The server s segment contains the value of the window size kept by the server. In the next sections we will describe the application of the window size. Third, the client sends the segment with ACK flag on which acknowledges the reception of the server segment reception. The window size of the client is included too. Note that the sequence number of the client s acknowledgment segment is the same as client s first segment (synchronizing segment), because no data is carried in the first segment and sequence number does not change. 7
8 Data transfer phase is bidirectional. It includes data and acknowledgement transmission. The acknowledgment is piggybacked with data or transmitted individually. Fig. 4 shows an example of data transfer. The client and the server have bytes of data (each one) to transmit. The client transmits the data in two segments, and the server transmits its data all at once. Acknowledgment is piggy backed with the three first segments. However, there is no more data to be transmitted at the last segment, and it carries only the acknowledgement. In the client s data segments, the PSH flag is on. It means the server TCP should deliver data to server application as soon as they are received (appropriate for interactive Client Server Seq# = 8, SYN=1 Seq#=15, Ack = 81, SYN=ACK=1, RWND = 5 Seq#=8, Ack = 151, ACK=1, RWND = 1 Time Time applications). Fig. 3 Three way connection establishment Client or server can terminate a connection, no matter which one has established it. Also, one party can terminate its connection, while it still receives data from the other party. The termination phase is implemented by terminating party which transmits a segment contains FIN flag on, with the last available chunk of data. The 8
9 recipient party acknowledges the connection termination by activating the ACK flag in its next segment. Client Server Seq# = 81, Ack=151, ACK=PSH=1 Data bytes: 81-9 Seq# = 91, Ack=151, ACK=PSH=1 Data bytes: 91-1 Seq#=151, Ack = 11, ACK=1 Data bytes: Seq#=1, Ack = 171, ACK=1, RWND = 1 Time Time Fig. 4 Data transfer Flow Control Flow control determines how much data can be transmitted before receiving an acknowledgment. There are two extremes for this purpose. One asks an acknowledgment after each one byte of data transmission, which causes delay and transmission overhead; the other asks for only one acknowledgment after transmission all of the data, which causes late feedback to the transmitter to compensate for transmission problems. For instance, if the path is congested, transmitter will not be aware of that to slow down the transmission rate. TCP flow control chooses a dynamic approach between these two extremes. 9
10 TCP flow control is window based. Window size specifies the amount of data that can be transmitted before receiving the acknowledgment. Window slides over the segments as shown in Fig 5. The size of the window varies according to the congestion status of a network, congestion window (CWND), and the receiver buffer size, receiver window (RWND). The congestion window size is determined by the network to avoid congestion. The receiver window indicates the number of bytes that the receiver can accept before its buffer overflows. The value of the receiver window is sent to the transmitter in the acknowledgment message. The size of the sliding window, shown in Fig. 5, is equal to the min (CWND, RWND). Accordingly, the sliding window resizes by opening from the right and closing from the left. Opening lets more bytes come to the window and closing lets the acknowledged bytes to go out of the window. Sliding window Sent Sent Waiting Not & ACKed bytes & not ACKed bytes to be sent in the window Byte stream Fig. 5 TCP sliding window Example: In the example, shown in Fig. 6, the CWND is and RWND is 9 bytes. Accordingly, TCP window size equals to 9. The bytes up to have been sent. Bytes number, 1, and has not been acknowledged by the receiver, but the sender can still transmit bytes 3 up to 8. 1
11 Next byte to be sent Sent and ACKed Can t be sent until window opens Window size=min(,9) Fig. 6 Sliding Window If the sender receives an acknowledgment value for byte 3 along with RWND = 9, the window will be updated. It is closed from the left and opened from the right. The new TCP window will contain bytes 3 up to 11. Question: window mechanism? What happens if the sender or transmitter is very slow in a sliding Answer: The Silly Window Syndrome occurs! The slow transaction of data causes the window size to be reduced down to one byte. Comparing the overhead of the segment, 4 bytes, with the body, one byte, shows flow control with sliding window mechanism is not efficient at all. Remedy: If the slowness of the sender s application causes Silly Window Syndrome, Nagle s Algorithm is the remedy. The prescription is as follows: Sender sends the first segment even if it is a small one Next, the sender waits until an ACK is received, or a maximum size segment is accumulated. 11
12 Step is repeated for the rest of the transmission. If the slowness of the receiver s application causes Silly Window Syndrome, two prescriptions are advised: Clark s solution: Send an ACK as soon as the data arrives, and close the window until another segment can be received or buffer is ½ empty. Delayed ACK: Delay sending the ACK, at most 5 ms; this causes the sender stop transmitting, but it does not change its window size. Error Control The reliability of TCP protocol is achieved by error control mechanisms that detect and correct errors. Error detection includes identifying corrupted, lost, out oforder, and duplicated segments. TCP deploys three tools for error detection and correction: checksum, acknowledgement, and time out. Checksum Checksum is a simple method for detecting corrupted segments. Each segment contains a 16 bit field in its header for checksum. Destination TCP discards segments that have checksum error. Acknowledgement Every data or control segment with sequence number is acknowledged to confirm the segment reception. There are two kinds of acknowledgement: positive acknowledgement (shortly ACK) and selective acknowledgement (SACK). Positive acknowledgement symbolizes the fact that the receiver advertises the expecting byte number and ignores reporting the erroneous segments. SACK is a 1
13 complementary mechanism for ACK that reports erroneous segments, such as duplicated and out of order segments, to the sender. Time out Retransmission This is a very important task of error control mechanism. Corrupted, lost, and delayed segments are retransmitted. The criteria for the retransmission are retransmission timer expiration or three duplicate ACK receptions. The TCP sender starts a retransmission time out (RTO) timer when it sends a segment. The segment is retransmitted upon RTO timer expiration, no matter what the reason is for not receiving ACK. For example if the segment is received successfully, but the ACK is lost or delayed, the TCP sender assumes segment has been lost. For this reason, the RTO timer is set for a longer time in networks with long round trip time (RTT). RTT is the time for a segment to catch the receiver plus the time for an ACK to reach to the segment transmitter. Network that needs fast retransmission, three duplicate ACK is the rule for retransmission. If the sender receives three ACKs for a sequence number, it sends the segment with that sequence number immediately, irrespective of the RTO timer value. The advantage of three duplicate ACK rule is the receiver does not need to buffer many segments until it finally receives an out of order segment. Congestion Control In a network, data are queued in the buffer of the interfaces and delivered to the next stage in an appropriate time. If there is a mismatch between processing time or capacity of the two interconnected stages of the network, congestion occurs. 13
14 Congestion affects two performance metrics in a network: throughput and delay. Delay can be considered as the sum of the propagation, processing, and queuing delay. Indeed, congestion affects queuing delay much more than the others. When the network load increases, congestion deteriorates the delay performance. This situation is depicted in Fig. 7. Again, increased delay worsens the congestion state. Because the sender attempts to retransmit a packet upon late ACK, which increases the network load further. Throughput and goodput are two performance measures that show the behaviour of the network versus load. Throughput is defined as the number of packets passing through the network in a unit of time. The measure of the received packets to the transmitted packets named goodput. As shown in Fig. 7, when the network load increases up to the network capacity, the throughput and goodput increase. However, when the traffic load is more than the network capacity, overflow occurs in the buffers and packets are dropped. Delay No congestion Network capacity congestion Total Output rate No congestion Network capacity congestion Network Load Total Input rate Fig. 7 Network performance upon congestion The principles of congestion control mechanisms are to prevent or remove congestion. Congestion prevention mechanisms control congestion by adopting a good retransmission, acknowledgement, and discard policy. Once congestion occurred, different signalling mechanisms are used by the routers to inform the sender or receiver of the congestion to compensate for that. Congestion can be avoided by appropriately adjusting the retransmission timers and choosing a retransmission policy. The time that a receiver sends an 14
15 acknowledgement affects the sender s transmission speed. So, by controlling this time, congestion can be controlled. For instance, if the receiver sends the acknowledgements later, but before the expiration of the sender s timer, the arrival traffic in a network slows down. Discard policy can prevent congestion by discarding the packets that have less effect on the transmission or application quality, e.g. discarding less important voice or video packets instead of an FTP session data packets. The above preventing mechanisms are open loop control mechanisms and can be implemented at sender or receiver side. To alleviate an occurred congestion, closed loop control mechanisms are used to slow down the arrival of traffic to a network. When a router experience congestion, it may ask the previous routers to slow down their packet transmissions. Inform directly senders or receivers, instead of routers on a path, to adjust the injected amount of data to the network could be another mechanism. In other words, congestion is controlled by TCP senders and receivers, not routers on a path. The main tool of closed loop congestion control mechanisms is window size. The window size is determined by the minimum value of available capacity of buffers in TCP receiver (RWND) or congestion level in the network (CWND). RWND is advertised from the receiver side and used for flow control. CWND size is determined on sender side and used for congestion control. TCP Congestion Policy TCP congestion control mechanism has three instruments: slow start, congestion avoidance, and congestion detection. A sender starts transmission with a slow rate and increases the rate as long as its rate is below a threshold. When the threshold is reached, the rate is decreased to avoid congestion. If congestion happens, the sender slows down the rate to the slow start rate or another rate of congestion avoidance phase depending on the chosen policy. 15
16 In slow start phase, a sender chooses the minimum value of CWND which has been agreed upon connection establishment. Suppose RWND is much higher than the CWND. After transmitting the first segment and receiving the corresponding ACK, sender doubles CWND. That means two segments can be transmitted before receiving an acknowledgement. If the sender receives ACK for the two transmitted segments, it doubles CWND again, as shown in Fig. 8. The process of increasing CWND exponentially stops and congestion avoidance phase starts when CWND size reaches a threshold value. CWND size increases in congestion avoidance phase linearly, not exponentially, as long as no congestion is detected. That means the sender increases CWND by one after receiving ACK, as shown in Fig. 9. The slow increment of CWND prevents congestion to some extent, but it can not 1% avoid that. Sender Receiver cwnd=1 Segment 1 cwnd = 1x = 1 = ACK Segment Segment 3 cwnd = x = = 4 ACK 4 Segment 4 Segment 5 Segment 6 Segment 7 cwnd = 4x = 3 = 8 ACK 8 Time Time Fig. 8 slow start phase A TCP sender assumes congestion happened upon RTO expiration or receiving three ACKs for a segment. A new slow start or congestion avoidance phase follows the congestion detection phase. If detection is based on time out, the threshold value will be set to the half of the current window size and CWND will be set by the minimum CWND size of the slow start phase. Otherwise, if detection is by three 16
17 ACKs, the threshold value will be set to the half of the current window size, CWND will be set by the threshold value, and a congestion avoidance phase starts. The different reaction to congestion detection is because of the fact that there is a stronger possibility of congestion when a time out occurs than three ACKs occur. In the former, there is no idea about the transmitted segments, but the later means some segments have reached the receiver successfully. Sender Receiver cwnd=1 Segment 1 cwnd = 1+1 = ACK Segment Segment 3 cwnd = +1 = 3 ACK 4 Segment 4 Segment 5 Segment 6 cwnd = 3+1 =4 ACK 7 Time Time Fig. 9 congestion avoidance phase In summary, the congestion control mechanism of TCP can be categorized in three phases. It starts with slow start phase that exponentially increase CWND and continues to congestion avoidance threshold. When it reaches the congestion avoidance threshold then it additively increases CWND, and follows by a multiplicative decreasing rate phase upon congestion detection. Fig. 1 illustrates the three phases. 17
18 cwnd Time-out 3-ACKs slow start additive increase slow start additive increase additive increase multiplicative decrease multiplicative decrease time Fig. 1 TCP congestion control behaviour User datagram protocol (UDP) UDP serves the application layer and network layer like TCP, but with more ease. Table 3 compares the two protocols from the viewpoint of services they provide to the transport layer. UDP uses port number for application to application communication, but it does not establish a connection as TCP does, so it is termed as connectionless. UDP sender transmits the data unit of the upper layer process and does not care if the transmission is reliable. In other words, if the data unit get lost due to the congestion or duplicated in the path, UDP does not recognize it. UDP does not deploy ACK, flow and congestion control. That s why UDP is unreliable. There is minimal error detection, and erroneous packets will be simply discarded. The beauty of UDP is its simplicity. The only overhead that UDP adds to the packet is to establish process to process communication, rather than a host to host communication of IP layer. Therefore, UDP is very suitable for small message communications or applications that do not need strong reliability, such as client/server request/reply or video conferencing. It can also be used in 18
19 applications that have internal error and flow control, such as Trivial File Transfer Protocol (TFTP). Table 3 TCP and UDP services comparison Service TCP UDP Using port number for process to process yes yes communication Establishing process to process connection yes no Increasing overhead & interaction b/w sender & yes no receiver Doing error control yes minimal Doing flow control yes no Sending ACK for received packet yes no The data unit of UDP consists of an 8 byte header and variable size data field as shown in Fig. 11. The header consists of the source and destination port number, total length, and checksum fields. Source Port Number 16 bits Total Length 16 bits Destination Port Number 16 bits Checksum 16 bits Data Fig. 11: User Datagram Format 19
20 UDP port numbers are same as the TCP port numbers. They allow different applications to maintain a specific path for their data. In other words, multiple applications can be distinguished with their port numbers. You can think of a port number as an associated number to an interface queue that the application in sender or receiver side keeps data in it before transmission or reception. Even if an application wants to communicate with multiple applications, it keeps one port number for all incoming and outgoing data. Port numbers can be reserved for an application. The total length field shows the UDP datagram size which is the sum of bytes contained in the header and data section (sometimes named payload). The maximum size of a datagram is bytes. The use of the checksum field is optional in UDP, unlike TCP. If the checksum is not calculated by the sender the field will be filled with zero.
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
More informationICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
More informationComputer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
More informationChapter 5. Transport layer protocols
Chapter 5. Transport layer protocols This chapter provides an overview of the most important and common protocols of the TCP/IP transport layer. These include: User Datagram Protocol (UDP) Transmission
More informationB-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com
B-2 Analyzing TCP/IP Networks with Wireshark June 15, 2010 Ray Tompkins Founder of Gearbit www.gearbit.com SHARKFEST 10 Stanford University June 14-17, 2010 TCP In this session we will examine the details
More information[Prof. Rupesh G Vaishnav] Page 1
Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the
More informationFinal for ECE374 05/06/13 Solution!!
1 Final for ECE374 05/06/13 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam taker -
More informationImproving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation
Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation R.Navaneethakrishnan Assistant Professor (SG) Bharathiyar College of Engineering and Technology, Karaikal, India.
More informationTransport Layer. Chapter 3.4. Think about
Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is
More informationComputer Networks UDP and TCP
Computer Networks UDP and TCP Saad Mneimneh Computer Science Hunter College of CUNY New York I m a system programmer specializing in TCP/IP communication protocol on UNIX systems. How can I explain a thing
More informationLa couche transport dans l'internet (la suite TCP/IP)
La couche transport dans l'internet (la suite TCP/IP) C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr Cours de C. Pham,
More informationFirst Midterm for ECE374 03/09/12 Solution!!
1 First Midterm for ECE374 03/09/12 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
More informationIndian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology
Indian Institute of Technology Kharagpur TCP/IP Part I Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 3: TCP/IP Part I On completion, the student
More informationOverview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
More informationVisualizations and Correlations in Troubleshooting
Visualizations and Correlations in Troubleshooting Kevin Burns Comcast kevin_burns@cable.comcast.com 1 Comcast Technology Groups Cable CMTS, Modem, Edge Services Backbone Transport, Routing Converged Regional
More informationTCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks
TCP/IP Optimization for Wide Area Storage Networks Dr. Joseph L White Juniper Networks SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA. Member companies and individuals
More informationIP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP
CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery
More informationTCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page
More informationProtocols and Architecture. Protocol Architecture.
Protocols and Architecture Protocol Architecture. Layered structure of hardware and software to support exchange of data between systems/distributed applications Set of rules for transmission of data between
More informationMidterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose
Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose Instructions: There are 4 questions on this exam. Please use two exam blue books answer questions 1, 2 in one book, and the remaining
More informationCOMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)
COMP 3331/9331: Computer Networks and Applications Lab Exercise 3: TCP and UDP (Solutions) AIM To investigate the behaviour of TCP and UDP in greater detail. EXPERIMENT 1: Understanding TCP Basics Tools
More information2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
More informationThis sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).
Client App Network Server App 25-May-13 15:32 (Page 1) This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). TCP is an end to end protocol which
More informationTransport and Network Layer
Transport and Network Layer 1 Introduction Responsible for moving messages from end-to-end in a network Closely tied together TCP/IP: most commonly used protocol o Used in Internet o Compatible with a
More informationTCP in Wireless Mobile Networks
TCP in Wireless Mobile Networks 1 Outline Introduction to transport layer Introduction to TCP (Internet) congestion control Congestion control in wireless networks 2 Transport Layer v.s. Network Layer
More informationChapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,
More informationMobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers
Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers Oxford University Press 2007. All rights reserved. 1 OSI (open systems interconnection)
More informationA Survey on Congestion Control Mechanisms for Performance Improvement of TCP
A Survey on Congestion Control Mechanisms for Performance Improvement of TCP Shital N. Karande Department of Computer Science Engineering, VIT, Pune, Maharashtra, India Sanjesh S. Pawale Department of
More informationq Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user
Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP)
More informationLecture 28: Internet Protocols
Lecture 28: Internet Protocols 15-110 Principles of Computing, Spring 2016 Dilsun Kaynar, Margaret Reid-Miller, Stephanie Balzer Reminder: Exam 2 Exam 2 will take place next Monday, on April 4. Further
More informationNote! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages
Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages
More informationOutline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics
Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002
More informationCS268 Exam Solutions. 1) End-to-End (20 pts)
CS268 Exam Solutions General comments: ) If you would like a re-grade, submit in email a complete explanation of why your solution should be re-graded. Quote parts of your solution if necessary. In person
More informationTCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery
TCP Flow Control Computer Networks The receiver side of a TCP connection maintains a receiver buffer: Lecture : Flow Control, eliable elivery application process may be slow at reading from the buffer
More informationWe will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall
Chapter 10 Firewall Firewalls are devices used to protect a local network from network based security threats while at the same time affording access to the wide area network and the internet. Basically,
More informationPer-Flow Queuing Allot's Approach to Bandwidth Management
White Paper Per-Flow Queuing Allot's Approach to Bandwidth Management Allot Communications, July 2006. All Rights Reserved. Table of Contents Executive Overview... 3 Understanding TCP/IP... 4 What is Bandwidth
More informationComputer Networks Homework 1
Computer Networks Homework 1 Reference Solution 1. (15%) Suppose users share a 1 Mbps link. Also suppose each user requires 100 kbps when transmitting, but each user transmits only 10 percent of the time.
More informationQuestion: 3 When using Application Intelligence, Server Time may be defined as.
1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response
More informationEffect of Packet-Size over Network Performance
International Journal of Electronics and Computer Science Engineering 762 Available Online at www.ijecse.org ISSN: 2277-1956 Effect of Packet-Size over Network Performance Abhi U. Shah 1, Daivik H. Bhatt
More informationHow do I get to www.randomsite.com?
Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local
More informationOverview of TCP/IP. TCP/IP and Internet
Overview of TCP/IP System Administrators and network administrators Why networking - communication Why TCP/IP Provides interoperable communications between all types of hardware and all kinds of operating
More informationIP - The Internet Protocol
Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network
More informationThe OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:
1.4 Reference Models Now that we have discussed layered networks in the abstract, it is time to look at some examples. In the next two sections we will discuss two important network architectures, the
More informationIP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31
IP address format: 7 24 Class A 0 Network ID Host ID 14 16 Class B 1 0 Network ID Host ID 21 8 Class C 1 1 0 Network ID Host ID 28 Class D 1 1 1 0 Multicast Address Dotted decimal notation: 10000000 00001011
More informationCourse Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.
Course Name: TCP/IP Networking Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. TCP/IP is the globally accepted group of protocols
More informationTCP/IP and the Internet
TCP/IP and the Internet Computer networking today is becoming more and more entwined with the internet. By far the most popular protocol set in use is TCP/IP (Transmission Control Protocol/Internet Protocol).
More informationLecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage
Lecture 15: Congestion Control CSE 123: Computer Networks Stefan Savage Overview Yesterday: TCP & UDP overview Connection setup Flow control: resource exhaustion at end node Today: Congestion control Resource
More informationWhat is Network Latency and Why Does It Matter?
What is Network Latency and Why Does It Matter? by O3b Networks This paper is presented by O3b Networks to provide clarity and understanding of a commonly misunderstood facet of data communications known
More informationTCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline
OSI Seven Layer Model & Seminar Outline TCP/IP Fundamentals This seminar will present TCP/IP communications starting from Layer 2 up to Layer 4 (TCP/IP applications cover Layers 5-7) IP Addresses Data
More informationUnderstanding Layer 2, 3, and 4 Protocols
2 Understanding Layer 2, 3, and 4 Protocols While many of the concepts well known to traditional Layer 2 and Layer 3 networking still hold true in content switching applications, the area introduces new
More informationNames & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding
Names & Addresses EE 122: IP Forwarding and Transport Protocols Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)
More informationCPS221 Lecture: Layered Network Architecture
CPS221 Lecture: Layered Network Architecture Objectives last revised 9/10/12 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:
More informationNetwork Layer: Network Layer and IP Protocol
1 Network Layer: Network Layer and IP Protocol Required reading: Garcia 7.3.3, 8.1, 8.2.1 CSE 3213, Winter 2010 Instructor: N. Vlajic 2 1. Introduction 2. Router Architecture 3. Network Layer Protocols
More informationBasic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet
Basic Networking Concepts 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet 1 1. Introduction -A network can be defined as a group of computers and other devices connected
More informationNote! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages
Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages
More informationTCP/IP Networking for Wireless Systems. Integrated Communication Systems Group Ilmenau University of Technology
TCP/IP Networking for Wireless Systems Integrated Communication Systems Group Ilmenau University of Technology Content Internet Protocol Suite Link Layer: Ethernet, PPP, ARP, MAC Addressing Network Layer:
More informationNetworking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)
Networking Overview (as usual, thanks to Dave Wagner and Vern Paxson) Focus For This Lecture Sufficient background in networking to then explore security issues in next few lectures Networking = the Internet
More informationObjectives of Lecture. Network Architecture. Protocols. Contents
Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking
More informationUnderstanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX
APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix
More informationLa couche transport dans l'internet (la suite TCP/IP)
La couche transport dans l'internet (la suite TCP/IP) C. Pham RESO-LIP/INRIA Université Lyon 1 http://www.ens-lyon.fr/~cpham Basé sur les transparent de Shivkumar Kalyanaraman La couche transport dans
More informationCOMP 361 Computer Communications Networks. Fall Semester 2003. Midterm Examination
COMP 361 Computer Communications Networks Fall Semester 2003 Midterm Examination Date: October 23, 2003, Time 18:30pm --19:50pm Name: Student ID: Email: Instructions: 1. This is a closed book exam 2. This
More informationInternet Protocols. Background CHAPTER
CHAPTER 3 Internet Protocols Background The Internet protocols are the world s most popular open-system (nonproprietary) protocol suite because they can be used to communicate across any set of interconnected
More informationAccess Control: Firewalls (1)
Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception
More informationComputer Networks CS321
Computer Networks CS321 Dr. Ramana I.I.T Jodhpur Dr. Ramana ( I.I.T Jodhpur ) Computer Networks CS321 1 / 22 Outline of the Lectures 1 Introduction OSI Reference Model Internet Protocol Performance Metrics
More informationHigher Layer Protocols: UDP, TCP, ATM, MPLS
Higher Layer Protocols: UDP, TCP, ATM, MPLS Massachusetts Institute of Technology Slide 1 The TCP/IP Protocol Suite Transmission Control Protocol / Internet Protocol Developed by DARPA to connect Universities
More informationEITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst
EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst Data communication in reality In reality, the source and destination hosts are very seldom on the same network, for
More informationNetwork Simulation Traffic, Paths and Impairment
Network Simulation Traffic, Paths and Impairment Summary Network simulation software and hardware appliances can emulate networks and network hardware. Wide Area Network (WAN) emulation, by simulating
More informationInternet Firewall CSIS 4222. Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS 4222. net15 1. Routers can implement packet filtering
Internet Firewall CSIS 4222 A combination of hardware and software that isolates an organization s internal network from the Internet at large Ch 27: Internet Routing Ch 30: Packet filtering & firewalls
More informationIntroduction to TCP/IP
Introduction to TCP/IP Raj Jain The Ohio State University Columbus, OH 43210 Nayna Networks Milpitas, CA 95035 Email: Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 1 Overview! Internetworking Protocol
More information(Refer Slide Time: 02:17)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,
More informationFile Transfer Protocol (FTP) Throughput Testing by Rachel Weiss
White Paper File Transfer Protocol (FTP) Throughput Testing by Rachel Weiss Introduction In today s complex networks it is often difficult to correlate different measurements that are reported by network
More informationNetworks: IP and TCP. Internet Protocol
Networks: IP and TCP 11/1/2010 Networks: IP and TCP 1 Internet Protocol Connectionless Each packet is transported independently from other packets Unreliable Delivery on a best effort basis No acknowledgments
More informationNetwork Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
More informationCHAPTER 1 PRINCIPLES OF NETWORK MONITORING
CHAPTER 1 PRINCIPLES OF NETWORK MONITORING Jawwad Shamsi and Monica Brocmeyer Department of Computer Science, Wayne State University 5143 Cass Avenue, 431 State Hall, Detroit, MI 48202, USA E-mail:{ jshamsi,
More informationCSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013
CSE 473 Introduction to Computer Networks Jon Turner Exam Solutions Your name: 0/3/03. (0 points). Consider a circular DHT with 7 nodes numbered 0,,...,6, where the nodes cache key-values pairs for 60
More informationPART OF THE PICTURE: The TCP/IP Communications Architecture
PART OF THE PICTURE: The / Communications Architecture 1 PART OF THE PICTURE: The / Communications Architecture BY WILLIAM STALLINGS The key to the success of distributed applications is that all the terminals
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT COMPUTER NETWORKS
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT COMPUTER NETWORKS Friday 2 nd October 2015 Morning Answer any FOUR questions out of SIX. All questions carry
More informationFirst Midterm for ECE374 03/24/11 Solution!!
1 First Midterm for ECE374 03/24/11 Solution!! Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can get partial credit if you show your
More informationFirst Midterm for ECE374 02/25/15 Solution!!
1 First Midterm for ECE374 02/25/15 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
More information2.1 Introduction. 2.2 Voice over IP (VoIP)
2.1 Introduction In this section can provide the necessary background on the structure of VoIP applications and on their component, and the transmission protocols generally used in VoIP. 2.2 Voice over
More informationProtocol Data Units and Encapsulation
Chapter 2: Communicating over the 51 Protocol Units and Encapsulation For application data to travel uncorrupted from one host to another, header (or control data), which contains control and addressing
More informationVoice over IP. Demonstration 1: VoIP Protocols. Network Environment
Voice over IP Demonstration 1: VoIP Protocols Network Environment We use two Windows workstations from the production network, both with OpenPhone application (figure 1). The OpenH.323 project has developed
More informationUPPER LAYER SWITCHING
52-20-40 DATA COMMUNICATIONS MANAGEMENT UPPER LAYER SWITCHING Gilbert Held INSIDE Upper Layer Operations; Address Translation; Layer 3 Switching; Layer 4 Switching OVERVIEW The first series of LAN switches
More information1 An application in BPC: a Web-Server
1 An application in BPC: a Web-Server We briefly describe our web-server case-study, dwelling in particular on some of the more advanced features of the BPC framework, such as timeouts, parametrized events,
More informationNetwork-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2
Network-Oriented Software Development Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Topics Layering TCP/IP Layering Internet addresses and port numbers Encapsulation
More informationOutline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg
Outline Network Topology CSc 466/566 Computer Security 18 : Network Security Introduction Version: 2012/05/03 13:59:29 Department of Computer Science University of Arizona collberg@gmail.com Copyright
More informationHigh Speed Internet Access Using Satellite-Based DVB Networks
High Speed Internet Access Using Satellite-Based DVB Networks Nihal K. G. Samaraweera and Godred Fairhurst Electronics Research Group, Department of Engineering University of Aberdeen, Aberdeen, AB24 3UE,
More informationExercises TCP/IP Networking. Solution. With Solutions
Exercises TCP/IP Networking Solution. With Solutions Jean-Yves Le Boudec Fall 2010 Exercises marked with a were given at exams in the past. 1 Module 1: TCP/IP Architecture Exercise 1.1 Elaine is setting
More informationGuide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP
Guide to Network Defense and Countermeasures Third Edition Chapter 2 TCP/IP Objectives Explain the fundamentals of TCP/IP networking Describe IPv4 packet structure and explain packet fragmentation Describe
More informationAPPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM
152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented
More informationThe OSI Model and the TCP/IP Protocol Suite
The OSI Model and the TCP/IP Protocol Suite To discuss the idea of multiple layering in data communication and networking and the interrelationship between layers. To discuss the OSI model and its layer
More informationChapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)
Chapter 3 TCP/IP Networks 3.1 Internet Protocol version 4 (IPv4) Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely
More informationAn enhanced TCP mechanism Fast-TCP in IP networks with wireless links
Wireless Networks 6 (2000) 375 379 375 An enhanced TCP mechanism Fast-TCP in IP networks with wireless links Jian Ma a, Jussi Ruutu b and Jing Wu c a Nokia China R&D Center, No. 10, He Ping Li Dong Jie,
More informationChapter 9. IP Secure
Chapter 9 IP Secure 1 Network architecture is usually explained as a stack of different layers. Figure 1 explains the OSI (Open System Interconnect) model stack and IP (Internet Protocol) model stack.
More informationBased on Computer Networking, 4 th Edition by Kurose and Ross
Computer Networks Ethernet Hubs and Switches Based on Computer Networking, 4 th Edition by Kurose and Ross Ethernet dominant wired LAN technology: cheap $20 for NIC first widely used LAN technology Simpler,
More information920-803 - technology standards and protocol for ip telephony solutions
920-803 - technology standards and protocol for ip telephony solutions 1. Which CODEC delivers the greatest compression? A. B. 711 C. D. 723.1 E. F. 726 G. H. 729 I. J. 729A Answer: C 2. To achieve the
More informationD. SamKnows Methodology 20 Each deployed Whitebox performs the following tests: Primary measure(s)
v. Test Node Selection Having a geographically diverse set of test nodes would be of little use if the Whiteboxes running the test did not have a suitable mechanism to determine which node was the best
More informationImproved Digital Media Delivery with Telestream HyperLaunch
WHITE PAPER Improved Digital Media Delivery with Telestream THE CHALLENGE Increasingly, Internet Protocol (IP) based networks are being used to deliver digital media. Applications include delivery of news
More informationIt is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.
Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add
More informationArchitecture and Performance of the Internet
SC250 Computer Networking I Architecture and Performance of the Internet Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Understanding
More information