UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS

Size: px
Start display at page:

Download "UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS"

Transcription

1 UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS Services flow, congestion and error control TCP package and operation state transition diagram unicast routing protocols RIP OSPF BGP multicast routing trees protocols MOSPF CBT PIM TCP/IP PROTOCOL SUITE TCP SERVICES Process-to-Process Communication Stream Delivery Service Full-Duplex Communication Multiplexing and Demultiplexing Connection-Oriented Service Reliable Service Process-to-Process Communication process-to-process communication using port numbers Well-known Ports used by TCP Port Protocol Description 7 Echo Echoes a received datagram back to the sender 9 Discard Discards any datagram that is received 11 Users Active users 13 Daytime Returns the date and the time 17 Quote Returns a quote of the day 19 Chargen Returns a string of characters 20, 21 FTP File Transfer Protocol (Data and Control) 23 TELNET Terminal Network 25 SMTP Simple Mail Transfer Protocol 53 DNS Domain Name Server 67 BOOTP Bootstrap Protocol 79 Finger Finger 80 HTTP Hypertext Transfer Protocol MTech CSE (PT, ) SRM, Ramapuram 1 hcr:innovationcse@gg

2 Stream Delivery Service UDP (Just for comparison) o a process sends messages with predefined boundaries to UDP for delivery. o UDP adds its own header to each of these messages and delivers it to IP for transmission. o Each message from the process is called a user datagram, and becomes, eventually, one IP datagram. o Neither IP nor UDP recognizes any relationship between the datagrams. TCP o TCP is a stream-oriented protocol. o allows the sending process to deliver data as a stream of bytes and allows the receiving process to obtain data as a stream of bytes. o TCP creates an environment in which the two processes seem to be connected by an imaginary tube that carries their bytes across the Internet. o The sending process produces (writes to) the stream of bytes and the receiving process consumes (reads from) them. Stream delivery Sending and Receiving Buffers Because the sending and the receiving processes may not necessarily write or read data at the same rate, TCP needs buffers for storage. There are two buffers, the sending buffer and the receiving buffer, one for each direction One way to implement a buffer is to use a circular array of varying locations normally the buffers are hundreds or thousands of bytes TCP Segments At the transport layer, TCP groups a number of bytes together into a packet called a segment. TCP adds a header to each segment (for control purposes) and delivers the segment to the IP layer for transmission. The segments are encapsulated in an IP datagram and transmitted. This entire operation is transparent to the receiving process (Use the above diagram and replace Stream of bytes with this) MTech CSE (PT, ) SRM, Ramapuram 2 hcr:innovationcse@gg

3 Full-Duplex Communication data can flow in both directions at the same time. Each TCP endpoint then has its own sending and receiving buffer, and segments move in both directions Multiplexing and Demultiplexing TCP performs multiplexing at the sender and demultiplexing at the receiver. Because of connection-oriented protocol, a connection needs to be established for each pair of processes. Connection-Oriented Service when a process at site A wants to send to and receive data from another process at site B, the following three phases occur: o 1. The two TCPs establish a virtual connection between them. o 2. Data are exchanged in both directions. o 3. The connection is terminated. this is a virtual connection, not a physical connection. segment is encapsulated in an IP datagram, can be sent out of order, or lost, or corrupted, and then resent. Each may be routed over a different path to reach the destination. There is no physical connection. TCP creates a stream-oriented environment, accepts the responsibility of delivering the bytes in order Reliable Service TCP is a reliable transport protocol. It uses an acknowledgment mechanism to check the safe and sound arrival of data. TCP FEATURES Numbering System Flow Control Error Control Congestion Control Numbering System Byte Number o The bytes of data being transferred in each connection are numbered by TCP. o The numbering starts with an arbitrarily generated number Sequence Number o TCP assigns a sequence number to each segment that is being sent. o The value in the sequence number field of a segment defines the number assigned to the first data byte contained in that segment. o Example Segment 1 Sequence Number: 10,001 Range: 10,001 to 11,000 Segment 2 Sequence Number: 11,001 Range: 11,001 to 12,000 Acknowledgment Number o The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. o The acknowledgment number is cumulative. Flow Control TCP provides flow control. The sending TCP controls how much data can be accepted from the sending process; the receiving TCP controls how much data can to be sent by the sending TCP This is done to prevent the receiver from being overwhelmed with data. The numbering system allows TCP to use a byte oriented flow control, MTech CSE (PT, ) SRM, Ramapuram 3 hcr:innovationcse@gg

4 Error Control To provide reliable service, TCP implements an error control mechanism. Although error control considers a segment as the unit of data for error detection (loss or corrupted segments), error control is byte-oriented Congestion Control TCP, unlike UDP, takes into account congestion in the network. The amount of data sent by a sender is not only controlled by the receiver (flow control), but is also determined by the level of congestion, if any, in the network. SEGMENT (PACKET IN TCP) TCP segment format Encapsulation TCP segment format Source port address o port number of the application program in the host that is sending the segment Destination port address o port number of the application program in the host that is receiving the segment Sequence number o number assigned to the first byte of data contained in this segment o The sequence number tells the destination which byte in this sequence is the first byte in the segment. o During connection establishment each party uses a random number generator to create an initial sequence number (ISN), which is usually different in each direction Acknowledgment number o byte number that the receiver of the segment is expecting to receive from the other party. Header length. o This 4-bit field indicates the number of 4-byte words in the TCP header o the value of this field is always between 5 (5 4= 20) and 15 (15 4= 60) Control o This field defines 6 different control bits or flags MTech CSE (PT, ) SRM, Ramapuram 4 hcr:innovationcse@gg

5 o These bits enable flow control, connection establishment and termination, connection abortion, and the mode of data transfer in TCP Window size o window size of the sending TCP in bytes. o normally referred to as the receiving window (rwnd) and is determined by the receiver. o The sender must obey the dictation of the receiver in this case. Checksum o use of the checksum for TCP is mandatory o includes psuedo header Urgent pointer o valid only if the urgent flag is set, o is used when the segment contains urgent data o It defines a value that must be added to the sequence number to obtain the number of the last urgent byte in the data section of the segment Options o There can be up to 40 bytes of optional information in the TCP header Encapsulation MTech CSE (PT, ) SRM, Ramapuram 5 hcr:innovationcse@gg

6 TCP CONNECTION TCP is connection-oriented. A connection-oriented transport protocol establishes a virtual path between the source and destination. All of the segments belonging to a message are then sent over this virtual path. A connection-oriented transmission requires three phases: o Connection Establishment o Data Transfer o Connection Termination Connection Reset Connection Establishment Three-Way Handshaking The connection establishment in TCP is called three-way handshaking The server program tells its TCP that it is ready to accept a connection. This request is called a passive open. A SYN segment cannot carry data, but it consumes one sequence number A SYN + ACK segment cannot carry data, but does consume one sequence number An ACK segment, if carrying no data, consumes no sequence number Problems o Simultaneous Open o SYN flooding attack denial of service attack Data Transfer after a connection is established, the client sends 2,000 bytes of data in two segments. The server then sends 2,000 bytes in one segment. The client sends one more segment. The first three segments carry both data and acknowledgment, but the last segment carries only an acknowledgment because there is no more data to be sent. The data segments sent by the client have the PSH (push) flag set so that the server TCP tries to deliver data to the server process as soon as they are received. Pushing Data o sending TCP must not wait for the window to be filled. It must create a segment and send it immediately Urgent Data o occasions in which an application program needs to send urgent bytes, some bytes that need to be treated in a special way by the application at the other end o The sending TCP creates a segment and inserts the urgent data at the beginning of the segment MTech CSE (PT, ) SRM, Ramapuram 6 hcr:innovationcse@gg

7 Connection Termination Three-Way Handshaking usually initiated by the client The FIN segment consumes one sequence number if it does not carry data Half-Close o one end can stop sending data while still receiving data. o Either the server or the client can issue a half-close request. o It can occur when the server needs all the data before processing can begin. o A good example is sorting. MTech CSE (PT, ) SRM, Ramapuram 7 hcr:innovationcse@gg

8 Connection Reset. TCP at one end may deny a connection request, may abort an existing connection, or may terminate an idle connection. All of these are done with the RST (reset) flag. Denying a Connection o Suppose the TCP on one side has requested a connection to a nonexistent port. o The TCP on the other side may send a segment with its RST bit set to deny the request. Aborting a Connection o One TCP may want to abort an existing connection due to an abnormal situation. o It can send an RST segment to close the connection. Terminating an Idle Connection o The TCP on one side may discover that the TCP on the other side has been idle for a long time. o It may send an RST segment to end the connection. WINDOWS IN TCP TCP uses two windows (send window and receive window) for each direction of data transfer, which means four windows for a bidirectional communication. Send Window send window size is dictated by the receiver (flow control) and the congestion in the underlying network (congestion control) similar to one used with the Selective Repeat protocol but with some differences o variables that control the window are expressed in bytes o sending segments of data as soon as it receives them from its process o uses only one timer Receive Window rwnd = buffer size number of waiting bytes to be pulled MTech CSE (PT, ) SRM, Ramapuram 8 hcr:innovationcse@gg

9 FLOW CONTROL Flow control regulates the amount of data a source can send before receiving an acknowledgment from the destination. balances the rate a producer creates data with the rate a consumer can use the data. TCP separates flow control from error control. TCP defines a window that is imposed on the buffer of data delivered from the application program Sliding Window Protocol Silly Window Syndrome Data flow and flow control feedbacks in TCP Opening and Closing Windows To achieve flow control, TCP forces the sender and the receiver to adjust their window sizes, although the size of the buffer for both parties is fixed when the connection is established. The receive window closes (moves its left wall to the right) when more bytes arrive from the sender; it opens (moves its right wal l to the right) when more bytes are pulled by the process. The opening, closing, and shrinking of the send window is controlled by the receiver. The send window closes (moves its left wall to the right) when a new acknowledgement allows it to do so. The send window opens (its right wall moves to the right) when the receive window size (rwnd) advertised by the receiver allows it to do so. MTech CSE (PT, ) SRM, Ramapuram 9 hcr:innovationcse@gg

10 An example of flow control Shrinking of Windows the receive window cannot shrink. But the send window can shrink if the receiver defines a value for rwnd that results in shrinking the window o new ackno + new rwnd last ackno + last rwnd The left side of the inequality represents the new position of the right wall with respect to the sequence number space; the right side shows the old position of the right wall. The relationship shows that the right wall should not move to the left. The inequality is a mandate for the receiver to check its advertisment. However, note that the inequality is valid only if Sf < Sn; we need to remember that all calculations are in modulo Window Shutdown the receiver can temporarily shut down the window by sending a rwnd of 0. This can happen if for some reason the receiver does not want to receive any data from the sender for a while In this case, the sender does not actually shrink the size of the window, but stops sending data until a new advertisement has arrived Probing: the sender can always send a segment with 1 byte of data. is used to prevent a deadlock Note: We assume only unidirectional communication from client to server. Therefore, only one window at each side is shown. MTech CSE (PT, ) SRM, Ramapuram 10 hcr:innovationcse@gg

11 Silly Window Syndrome A serious problem can arise in the sliding window operation when either the sending application program creates data slowly or the receiving application program consumes data slowly, or both. Any of these situations results in the sending of data in very small segments, which reduces the efficiency of the operation. For example, if TCP sends segments containing only 1 byte of data, it means that a 41-byte datagram (20 bytes of TCP header and 20 bytes of IP header) transfers only 1 byte of user data. Here the overhead is 41/1, which indicates that we are using the capacity of the network very inefficiently. The inefficiency is even worse after accounting for the data link layer and physical layer overhead. This problem is called the silly window syndrome Syndrome Created by the Sender serving an application program that creates data slowly, for example, 1 byte at a time. Nagle s Algorithm 1. The sending TCP sends the first piece of data it receives from the sending application program even if it is only 1 byte. 2. waits until either the receiving TCP sends an acknowledgment or until enough data has accumulated to fill a maximum-size segment 3. Step 2 is repeated for the rest of the transmission Syndrome Created by the Receiver serving an application program that consumes data slowly, for example, 1 byte at a time Example: sending application program creates data in blocks of 1 kilobyte, but the receiving application program consumes data 1 byte at a time. Clark s Solution send an acknowledgment as soon as the data arrive, but to announce a window size of zero until either there is enough space to accommodate a segment of maximum size or until at least half of the receive buffer is empty Delayed Acknowledgment when a segment arrives, it is not acknowledged immediately. The receiver waits until there is a decent amount of space in its incoming buffer before acknowledging the arrived segments., reduces traffic ERROR CONTROL TCP detects corrupted, lost, out-of-order, and duplicated segments. Error control in TCP is achieved through the use of the checksum, acknowledgment, and time-out. Checksum Each segment includes a checksum field, which is used to check for a corrupted segment. If a segment is corrupted as deleted by an invalid checksum, the segment is discarded by the destination TCP and is considered as lost. TCP uses a 16-bit checksum that is mandatory in every segment Acknowledgment TCP uses acknowledgments to confirm the receipt of data segments ACK segments are never acknowledged ACK segments do not consume sequence numbers and are not acknowledged Common rules that define when receiver generate acknowledgments 1. When end A sends a data segment to end B, it must include (piggyback) an acknowledgment that gives the next sequence number it expects to receive 2. receiver needs to delay sending an ACK (500ms) if there is only one outstanding in-order segment MTech CSE (PT, ) SRM, Ramapuram 11 hcr:innovationcse@gg

12 3. there should not be more than two in-order unacknowledged segments at any time. 4. When a segment arrives with an out-of-order sequence number that is higher than expected, the receiver immediately sends an ACK segment announcing the sequence number of the next expected segment. This leads to the fast retransmission 5. When a missing segment arrives 6. If a duplicate segment arrives, the receiver discards the segment, but immediately sends an acknowledgment indicating the next in-order segment expected Acknowledgment Types o Cumulative Acknowledgment (ACK) o Selective Acknowledgment (SACK) Retransmission The heart of the error control mechanism is the retransmission of segments. When a segment is sent, it is stored in a queue until it is acknowledged. When the retransmission timer expires or when the sender receives three duplicate ACKs for the first segment in the queue, that segment is retransmitted o Retransmission after Retransmit Time Out (RTO) o Retransmission after Three Duplicate ACK Segments Out-of-Order Segments Data may arrive out of order and be temporarily stored by the receiving TCP, but TCP guarantees that no outof-order data are delivered to the process Scenarios Lost Segment Fast Retransmission Delayed Segment Duplicate Segment Automatically Corrected Lost ACK Lost Acknowledgment Corrected by Resending a Segment Deadlock Created by Lost Acknowledgment Lost Segment The receiver TCP delivers only ordered data to the process The receiver receives segment 4, which is out of order. The receiver stores the data in the segment in its buffer but leaves a gap to indicate that there is no continuity in the data. The receiver immediately sends an acknowledgment to the sender displaying the next byte it expects MTech CSE (PT, ) SRM, Ramapuram 12 hcr:innovationcse@gg

13 Fast Retransmission Delayed Segment TCP uses the services of IP, which is a connectionless protocol. Each IP datagram encapsulating a TCP segment may reach the final destination through a different route with a different delay. Hence TCP segments may be delayed. Delayed segments sometimes may time out. If the delayed segment arrives after it has been resent, it is considered a duplicate segment and discarded Duplicate Segment A duplicate segment can be created, for example, by a sending TCP when a segment is delayed and treated as lost by the receiver. Handling the duplicated segment is a simple process for the destination TCP. The destination TCP expects a continuous stream of bytes. When a segment arrives that contains a sequence number equal to an already received and stored segment, it is discarded. An ACK is sent with ackno defining the expected segment. Automatically Corrected Lost ACK Lost Acknowledgment Corrected by Resending a Segment Deadlock Created by Lost Acknowledgment MTech CSE (PT, ) SRM, Ramapuram 13 hcr:innovationcse@gg

14 receiver sends an acknowledgment with rwnd set to 0 and requests that the sender shut down its window temporarily. After a while, the receiver wants to remove the restriction; however, if it has no data to send, it sends an ACK segment and removes the restriction with a nonzero value for rwnd. A problem arises if this acknowledgment is lost. The sender is waiting for an acknowledgment that announces the nonzero rwnd. The receiver thinks that the sender has received this and is waiting for data. This situation is called a deadlock CONGESTION CONTROL Congestion control in TCP is based on both open-loop and closed-loop mechanisms. TCP uses a congestion window and a congestion policy that avoid congestion and detect and alleviate congestion after it has occurred Congestion Window If the network cannot deliver the data as fast as it is created by the sender, it must tell the sender to slow down In other words, in addition to the receiver, the network is a second entity that determines the size of the sender s window Actual window size = minimum (rwnd, cwnd) Congestion Policy TCP s general policy for handling congestion is based on three phases: o slow start, o congestion avoidance o congestion detection In the slow start phase, the sender starts with a slow rate of transmission, but increases the rate rapidly to reach a threshold. When the threshold is reached, the rate of increase is reduced. Finally if ever congestion is detected, the sender goes back to the slow start or congestion avoidance phase, based on how the congestion is detected Slow Start: Exponential Increase In the slow start algorithm, the size of the congestion window increases exponentially until it reaches a threshold MTech CSE (PT, ) SRM, Ramapuram 14 hcr:innovationcse@gg

15 Congestion Avoidance: Additive Increase In the congestion avoidance algorithm the size of the congestion window increases additively until congestion is detected. Congestion Detection: Multiplicative Decrease If congestion occurs, the congestion window size must be decreased. The only way a sender can guess that congestion has occurred is the need to retransmit a segment retransmission can occur in one of two cases: o when the RTO timer times out or o when three duplicate ACKs are received. In both cases, the size of the threshold is dropped to half (multiplicative decrease) Summary MTech CSE (PT, ) SRM, Ramapuram 15 hcr:innovationcse@gg

16 TCP PACKAGE The package involves tables called transmission control blocks, a set of timers three software modules: o a main module, o an input processing module o an output processing module Transmission Control Blocks (TCB) TCP is a connection-oriented transport protocol. A connection may be open for a long period of time. To control the connection, TCP uses a structure to hold information about each connection. This is called a transmission control block (TCB). Because at any time there can be several connections, TCP keeps an array of TCBs in the form of a table. TCB Information State o This field defines the state of the connection according to the state transition diagram Process o This field defines the process using the connection and this machine as a client console Local IP address The local number Remote IP address Remote port number Interface Local Window o This holds information about the info at local TCP Remote Window The Sending Sequence Number MTech CSE (PT, ) SRM, Ramapuram 16 hcr:innovationcse@gg

17 The Receiving Sequence Number Sending ACK numbe Round trip time Timeout values Buffer size Buffer pointer TCP Timers Retransmission Timer o Round-Trip Time (RTT) Measured RTT Smoothed RTT RTT Deviation o Retransmission Time-out (RTO) Persistence Timer Keepalive Timer TIME-WAIT Timer Main Module The main module is invoked by the arriving TCP segment, the timeout event or messages from the application program. TCP in the established state data or acknowledge segment arrives. The input processing module is called to handle the sitation. When the TCP is in the send data message is issued by application program called output processing module. Input Processing Module The input processing model handles all the details needed to process data or acknowledgement received when the TCP is in the established state. This module sends ACK if needed. Takes care of window size announcement, does error checking Output processing module Handles all the details needed to send out data received from application program when TCP in established state. It handles retransmission timeouts and persistent timeouts. Main Module TCP_Main_Module (Segment) { Search the TCB Table if (corresponding TCB is not found) Create a TCB with the state CLOSED Find the state of the entry in the TCB table Switch (state) { case CLOSED state: if ( passive open message received) go to LISTEN state. if ( active open message received) { send a SYN segment go to SYN-SENT state } if (any segment received) MTech CSE (PT, ) SRM, Ramapuram 17 hcr:innovationcse@gg

18 send an RST segment if (any other message received) issue an error message break case LISTN state: if ( send data message received) { Send a SYN segment Go to SYN-SENT state } if (any SYN segment received) { Send a SYN + ACK segment Go to SYN-RCVD state } if (any other segment or message received) Issue an error message break case SYN-SENT state: if (time-out) Go to CLOSED state if (SYN segment received) { Send a SYN + ACK segment Go to SYN-RCVD state } if (SYN + ACK segment received) { Send an ACK segment Go to ESTABLISHED state } if (any other segment or message received) Issue an error message break case SYN-RCVD state: if (an ACK segment received) Go to ESTABLISHID state if (time-out) { Send an RTS segment Go to CLOSED state } if ( close message received) { Send a FIN segment Go to FIN-WAIT-I state } if (RTS segment received) Go to LISTEN state if (any other segment or message received) Issue an error message break case ESTABLISHED state: if (a FIN segment received) { MTech CSE (PT, ) SRM, Ramapuram 18 hcr:innovationcse@gg

19 Send an ACK segment Go to CLOSED-WAIT state } if ("close" message received) { Send a FIN segment Go to FIN-WAIT-I } if (a RTS or an SYN segment received) Issue an error message if (data or ACK segment received) call the input module if ("send" message received) call the output module break case FIN-WAIT-1 state: if (a FIN segment received) { Send an ACK segment Go to CLOSING state } if (a FIN + ACK segment received) { Send an ACK segment Go to FIN-WAIT state } if (an ACK segment received) Go to FIN-WAIT-2 state if (any other segment or message received) Issue an error message break case FIN-WAIT-2 state: if (a FIN segment received) { Send an ACK segment Go to TIME-WAIT state } break case CLOSING state: if (an ACK segment received) Go to TIME-WAIT state if (any other message or segment received) Issue an error message break case TIME-WAIT state: if (time-out) Go to CLOSED state if (any other message or segment received) Issue an error message break case CLOSED-WAIT state: if ("close" message received) { Send a FIN segment Go to LAST-ACK state MTech CSE (PT, ) SRM, Ramapuram 19 hcr:innovationcse@gg

20 } if (any other message or segment received) Issue an error message break case LAST-ACK state: if (an ACK segment received) Go to CLOSED state if (any other message or segment received) Issue an error message break } } // end module STATE TRANSITION DIAGRAM To keep track of all the different events happening during connection establishment, connection termination, and data transfer, TCP is specified as the finite state machine (FSM) Each line has two strings separated by a slash. o The first string is the input, what TCP receives. o The second is the output, what TCP sends The state marked as ESTBLISHED in the FSM is in fact two different sets of states that the client and server undergo to transfer data. Scenarios Connection Establishment and Half-Close Termination Connection Termination Simultaneous Open Simultaneous close Denying a Connection Aborting a Connection States for TCP MTech CSE (PT, ) SRM, Ramapuram 20 hcr:innovationcse@gg

21 State Description CLOSED No connection exists LISTEN Passive open received; waiting for SYN SYN-SENT SYN sent; waiting for ACK SYN-RCVD SYN+ACK sent; waiting for ACK ESTABLISHED Connection established; data transfer in progress FIN-WAIT-1 First FIN sent; waiting for ACK FIN-WAIT-2 ACK to first FIN received; waiting for second FIN CLOSE-WAIT First FIN received, ACK sent; waiting for application to close TIME-WAIT Second FIN received, ACK sent; waiting for 2MSL time-out LAST-ACK Second FIN sent; waiting for ACK CLOSING Both sides decided to close simultaneously Connection Establishment and Half-Close Termination MTech CSE (PT, ) SRM, Ramapuram 21

22 Connection Termination Simultaneous Open MTech CSE (PT, ) SRM, Ramapuram 22

23 Simultaneous close Denying a Connection Aborting a Connection MTech CSE (PT, ) SRM, Ramapuram 23 hcr:innovationcse@gg

24 UNICAST ROUTING PROTOCOLS Routing inside an autonomous system is referred to as intradomain routing. Routing between autonomous systems is referred to as interdomain routing. RIP Distance Vector Routing Bellman-Ford algorithm o Static routing like roads Distance Vector Routing Algorithm o Suitable for autonomous systems o cost between any two neighbors is set to 1. o Each router needs to update its routing table asynchronously In distance vector routing, the least cost route between any two nodes is the route with minimum distance. In this protocol each node maintains a vector (table) of minimum distances to every node Each node shares its routing table with its immediate neighbors periodically and when there is a change Count to Infinity o A problem with distance vector routing is that any decrease in cost (good news) propagates quickly, but any increase in cost (bad news) propagates slowly o It takes several updates before the cost for a broken link is recorded as infinity by all routers o Two-Node Loop One example of count to infinity is the two-node loop problem Solutions Defining Infinity Split Horizon Split Horizon and Poison Reverse o Three-Node Instability if the instability is between three nodes, stability cannot be guaranteed Routing Information Protocol (RIP) an intradomain (interior) routing protocol used inside an autonomous system. It is a very simple protocol based on distance vector routing. RIP implements distance vector routing directly with some considerations: 1. In an AS, we are dealing with routers and networks (links), what was described as a node. 2. The destination in a routing table is a network, which means the first column defines a network address. 3. The metric used by RIP is very simple; the distance is defined as the number of links (networks) that have to be used to reach the destination. For this reason, the metric in RIP is called a hop count. 4. Infinity is defined as 16, which means that any route in an autonomous system using RIP cannot have more than 15 hops. 5. The next node column defines the address of the router to which the packet is to be sent to reach its destination. MTech CSE (PT, ) SRM, Ramapuram 24 hcr:innovationcse@gg

25 Example of a domain using RIP RIP Message Format Command o This 8-bit field specifies the type of message: request (1) or response (2). Version o This 8-bit field defines the version (1 or 2) Family o This 16-bit field defines the family of the protocol used. o For TCP/IP the value is 2. Network address o The address field defines the address of the destination network. o RIP has allocated 14 bytes for this field to be applicable to any protocol. o However, IP currently uses only 4 bytes. The rest of the address is filled with 0s. Distance o This 32-bit field defines the hop count (cost) from the advertising router to the destination network. MTech CSE (PT, ) SRM, Ramapuram 25 hcr:innovationcse@gg

26 Requests and Responses Timers in RIP Encapsulation RIP uses the services of UDP on well-known port 520. RIP messages are encapsulated in UDP user datagrams. A RIP message does not include a field that indicates the length of the message. This can be determined from the UDP packet. The well-known port assigned to RIP in UDP is port 52 OSPF Link State Routing Dijkstra algorithm to build a routing table MTech CSE (PT, ) SRM, Ramapuram 26 hcr:innovationcse@gg

27 Building Routing Tables 1. Creation of the states of the links by each node, called the link state packet or LSP. 2. Dissemination of LSPs to every other router, called flooding, in an efficient and reliable way. 3. Formation of a shortest path tree for each node. 4. Calculation of a routing table based on the shortest path tree Open Shortest Path First (OSPF) protocol intradomain routing protocol based on link state routing Areas o collection of networks, hosts, and routers all contained within an autonomous system o area border routers backbone - backbone routers - virtual link Metric o can be based on a type of service (minimum delay, maximum throughput, and so on). Types of Links Four types of links have been defined: o point-to-point, o transient, o stub o virtual Example of an AS and its graphical representation in OSPF MTech CSE (PT, ) SRM, Ramapuram 27 hcr:innovationcse@gg

28 Types of OSPF packets OSPF common header Link State Update Packet used by a router to advertise the states of its links. Each update packet may contain several different LSAs LSA general header Link state age o the number of seconds elapsed since this message was first generated. o When a router creates the message, the value of this field is 0. o When each successive router forwards this message, it estimates the transit time and adds it to the cumulative value of this field. E flag o If this 1-bit flag is set to 1, it means that the area is a stub area. A stub area is an area that is connected to the backbone area by only one path. T flag o If this 1-bit flag is set to 1, it means that the router can handle multiple types of service. MTech CSE (PT, ) SRM, Ramapuram 28 hcr:innovationcse@gg

29 Link state type o This field defines the LSA type o five different advertisement types: router link (1), network link (2), summary link to network (3), summary link to AS boundary router (4) external link (5). Link state ID o The value of this field depends on the type of link. o For type 1 (router link), it is the IP address of the router. o For type 2 (network link), it is the IP address of the designated router. o For type 3 (summary link to network), it is the address of the network. o For type 4 (summary link to AS boundary router), it is the IP address of the AS boundary router. o For type 5 (external link), it is the address of the external network. Advertising router o This is the IP address of the router advertising this message. Link state sequence number o This is a sequence number assigned to each link state update message. Link state checksum o calculated using Fletcher s checksum, which is based on the whole packet except for the age field. Length o This defines the length of the whole packet in bytes. Packets used in Link State Update Router Link LSA Network Link LSA Summary link to network LSA Summary Link to AS Boundary Router LSA External Link LSA Router Link LSA Network Link LSA MTech CSE (PT, ) SRM, Ramapuram 29 hcr:innovationcse@gg

30 Summary link to network LSA Summary Link to AS Boundary Router LSA External Link LSA Other Packets in OSPF Hello Message Database Description Message Link State Request Packet Link State Acknowledgment Packet Hello Message MTech CSE (PT, ) SRM, Ramapuram 30

31 Database Description Message Link State Request Packet Link State Acknowledgment Packet Encapsulation OSPF packets are encapsulated in IP datagrams. BORDER GATEWAY PROTOCOL (BGP) Path Vector Routing (or) inter-as routing a router has a list of networks that can be reached with the path (list of ASs to pass) to reach each one the domain of operation is the whole Internet. the path vector routing tells us the path Comparison with Distance Vector Routing a router has a list of networks that can be reached in the same AS with its cost (number of hops). the domain of is a single AS; tells us the distance to each network Path Vector Routing Reachability To be able to provide information to other ASs, each AS must have at least one path vector routing that collects reachability information about each network in that AS Routing Tables Loop Prevention Aggregation Policy Routing MTech CSE (PT, ) SRM, Ramapuram 31 hcr:innovationcse@gg

32 BGP interdomain routing protocol using path vector routing. Types of Autonomous Systems Internet is divided into hierarchical domains called autonomous systems (ASs) Stub AS has only one connection to another AS. The interdomain data traffic in a stub AS can be either created or terminated in the AS. Data traffic, however, cannot pass through a stub AS. A stub AS is either a source or a sink. A good example of a stub AS is a small corporation or a small local ISP Multihomed AS has more than one connection to other ASs, but it is still only a source or sink for data traffic. there is no transient traffic A good example of a multihomed AS is a large corporation that is connected to more than one regional or national AS that does not allow transient traffic. Transit AS CIDR A transit AS is a multihomed AS that also allows transient traffic. Good examples of transit ASs are national and international ISPs (Internet backbones). BGP uses Classless Interdomain Routing Addresses BGP uses a prefix, to define a destination address. The address and the number of bits (prefix length) are used in updating messages. Path Attributes presented as a list of autonomous systems, a list of attributes Each attribute gives some information about the path. The list of attributes helps the receiving router make a better decision when applying its policy. Attributes are divided into two broad categories: o well-known A wellknown attribute is one that every BGP router must recognize Well-known attributes are divided into two categories: mandatory o A well-known mandatory attribute is one that must appear in the description of a route. o Examples ORIGIN : defines the source of the routing information (RIP, OSPF, and so on) AS_PATH: defines the list of autonomous systems through which the destination can be reached. NEXT-HOP: defines the next router to which the data packet should be sent discretionary. o A well-known discretionary attribute is one that must be recognized by each router, but is not required to be included in every update message. o optional An optional attribute is one that needs not be recognized by every router. subdivided into two categories: transitive and o An optional transitive attribute is one that must be passed to the next router by the router that has not implemented this attribute. nontransitive. o An optional nontransitive attribute is one that must be discarded if the receiving router has not implemented it. MTech CSE (PT, ) SRM, Ramapuram 32 hcr:innovationcse@gg

33 BGP Sessions A session is a connection that is established between two BGP routers only for the sake of exchanging routing information To create a reliable environment, BGP uses the services of TCP When a TCP connection is created for BGP, it can last for a long time Hence referred to as semipermanent connections Two types of sessions External BGP (E-BGP) o used to exchange information between two speaker nodes belonging to two different AS Internal BGP (I-BGP) sessions. o used to exchange routing information between two routers inside an autonomous system. Types of BGP messages Open Update Keepalive Notification BGP Packet Header Marker. o The 16-byte marker field is reserved for authentication. Length o This 2-byte field defines the length of the total message including the header. Type o This 1-byte field defines the type of the packet. o we have four types(open, update, keepalive, and notification), the values 1 to 4 define those types. MTech CSE (PT, ) SRM, Ramapuram 33 hcr:innovationcse@gg

34 Open Message Version: This 1-byte field defines the version of BGP. The current version is 4. My autonomous system : This 2-byte field defines the autonomous system number. Hold time : This 2-byte field defines the maximum number of seconds that can elapse until one of the parties receives a keepalive or update message from the other. BGP identifier: This 4-byte field defines the router that sends the open message. Option length : this 1-byte field defines the length of the total option parameters Option parameters : Each option parameter itself has two subfields: o the length of the parameter o the parameter value The only option parameter defined so far is authentication. Update Message Unfeasible routes length. This 2-byte field defines the length of the next field. Withdrawn routes. This field lists all the routes that must be deleted from the previously advertised list Path attributes length. This 2-byte field defines the length of the next field. Path attributes. This field defines the attributes of the path (route) to the network whose reachability is being announced in this message. Network layer reachability information (NLRI). This field defines the network that is actually advertised by this message. MTech CSE (PT, ) SRM, Ramapuram 34 hcr:innovationcse@gg

35 Keepalive Message The routers running the BGP protocols exchange keepalive messages regularly (before their hold time expires) to tell each other that they are alive Notification Message A notification message is sent by a router whenever an error condition is detected or a router wants to close the connection Encapsulation BGP uses the services of TCP on port 179 MTech CSE (PT, ) SRM, Ramapuram 35 hcr:innovationcse@gg

36 MULTICAST ROUTING Multicasting one source and a group of destinations one to many relationship the source address is a unicast address, but the destination address is a group address the router may forward the received datagram through several of its interfaces Multicast Routing A multicast packet may have destinations in more than one network. Forwarding of a single packet to members of a group requires a shortest path tree. If we have n groups, we may need n shortest path trees each involved router needs to construct a shortest path tree for each group Two approaches: source-based trees, group-shared trees Source-Based Tree each router needs to have one shortest path tree for each group Group-Shared Tree only the core router, which has a shortest path tree for each group, is involved in multicasting. MTech CSE (PT, ) SRM, Ramapuram 36 hcr:innovationcse@gg

37 MULTICAST ROUTING PROTOCOLS Taxonomy of common multicast protocols Multicast Link State Routing Multicast link state routing is a direct extension of unicast routing and uses a source-based tree approach A node advertises every group that has any loyal member on the link When a router receives all these LSPs, it creates n (n is the number of groups) topologies, from which n shortest path trees are made using Dijkstra s algorithm Create a routing table that represents as many shortest path trees as there are groups time and space needed to create and save the many shortest path trees o create the trees only when needed Multicast Open Shortest Path First (MOSPF) extension of the OSPF protocol that uses multicast link state routing to create source-based trees group membership LSA o new link state update packet to associate the unicast address of a host with the group address or addresses the host is sponsoring data-driven protocol o the first time an MOSPF router sees a datagram with a given source and group address, the router constructs the Dijkstra shortest path tree Multicast Distance Vector Routing uses source-based trees router never actually makes a routing table. o When a router receives a multicast packet, it forwards the packet as though it is consulting a routing table. o the shortest path tree is momentary o After its use (after a packet is forwarded) the table is destroyed Four decision-making strategies o Flooding o Reverse Path Forwarding (RPF) o Reverse Path Broadcasting (RPB) o Reverse Path Multicasting (RPM) Flooding the router sends the received packet out from every interface except the one from which it was received, without even looking at the destination group address every network with active members receives the packet broadcasts packets, but creates loops in the systems Reverse Path Forwarding (RPF) a router forwards only the copy that has traveled the shortest path from the source to the router, it discards it otherwise uses the unicast routing table eliminates the loop in the flooding process MTech CSE (PT, ) SRM, Ramapuram 37 hcr:innovationcse@gg

38 Reverse Path Broadcasting (RPB) only one parent router for each network A network can receive a multicast packet from a particular source only through a designated parent router the router sends the packet only out of those interfaces for which it is the designated parent RPB creates a shortest path broadcast tree from the source to each destination. It guarantees that each destination receives one and only one copy of the packet Reverse Path Multicasting (RPM) To increase efficiency, the multicast packet must reach only those networks that have active members for that particular group To convert broadcasting to multicasting, the protocol uses two procedures, o pruning o grafting RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes Pruning The designated parent router of each network is responsible for holding the membership information The router sends a prune message to the upstream router so that it can prune the corresponding interface. the upstream router can stop sending multicast messages for this group through that interface. If this router receives prune messages from all downstream routers, it, in turn, sends a prune message to its upstream router Grafting The graft message forces the upstream router to resume sending the multicast messages o a leaf router that has sent a prune message, realizes that one of its networks is again interested in receiving the multicast packet MTech CSE (PT, ) SRM, Ramapuram 38 hcr:innovationcse@gg

39 Distance Vector Multicast Routing Protocol (DVMRP) implementation of multicast distance vector routing. It is a source-based routing protocol, based on Routing Information Protocol (RIP) Core-Based Tree (CBT) Protocol Aa group-shared protocol that uses a core as the root of the tree. The autonomous system is divided into regions A core (center router or rendezvous router) is chosen for each region Group-shared tree with rendezvous router Next diagram without flow Sending a multicast packet to the rendezvous router MTech CSE (PT, ) SRM, Ramapuram 39 hcr:innovationcse@gg

40 Formation of the Tree After the rendezvous point is selected, every router is informed of the unicast address of the selected router Each router with an intercreated group then sends a unicast join message (similar to a grafting message) to show that it wants to join the group. This message passes through all routers that are located between the sender and the rendezvous router. Each intermediate router extracts the necessary information from the message, such as the unicast address of the sender and the interface through which the packet has arrived, and forwards the message to the next router in the path. When the rendezvous router has received all join messages from every member of the group, the tree is formed. Now every router knows its upstream router (the router that leads to the root) and the downstream router (the router that leads to the leaf) Sending Multicast Packets sends the packet to the rendezvous router, using the unicast address of the rendezvous router; the rendezvous router distributes the packet to all members of the group The source sends the multicast packet (encapsulated in a unicast packet) to the core router. The core router decapsulates the packet and forwards it to all interested interfaces Protocol Independent Multicast (PIM) Protocol Independent Multicast, Dense Mode (PIM-DM) Protocol Independent Multicast, Sparse Mode (PIM-SM) PIM-DM PIM-DM is used in a dense multicast environment, such as a LAN. PIM-DM uses RPF and pruning/grafting strategies to handle multicasting. However, it is independent from the underlying unicast protocol PIM-DM is a source-based tree routing protocol that uses RPF and pruning/grafting strategies for multicasting Its operation is like DVMRP; however, unlike DVMRP, it does not depend on a specific unicasting protocol. It assumes that the autonomous system is using a unicast protocol and each router has a table that can find the outgoing interface that has an optimal path to a destination. This unicast protocol can be a distance vector protocol (RIP) or link state protocol (OSPF). PIM-SM Used in a sparse multicast environment such as a WAN Group-shared tree routing protocol that has a rendezvous point (RP) as the source of the tree. Like CBT; but simpler because it does not require acknowledgment from a join message It creates a backup set of RPs for each region to cover RP failures. Can switch from a group-shared tree strategy to a source-based tree strategy when necessary. o Can happen if there is a dense area of activity far from the RP. o It can be more efficiently handled with a source-based tree strategy Comments & Feedback Thanks to my family members who supported me while I spent long hours to prepare this. Your feedback is always welcome at GHCRajan@gmail.com MTech CSE (PT, ) SRM, Ramapuram 40 hcr:innovationcse@gg

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

ITEC310 Computer Networks II

ITEC310 Computer Networks II ITEC310 Computer Networks II Chapter 22 Network Layer:, and Routing Department of Information Technology Eastern Mediterranean University Objectives 2/131 After completing this chapter you should be able

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer IS370 Data Communications and Computer Networks Chapter 5 : Transport Layer Instructor : Mr Mourad Benchikh Introduction Transport layer is responsible on process-to-process delivery of the entire message.

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

II. Principles of Computer Communications Network and Transport Layer

II. Principles of Computer Communications Network and Transport Layer II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

IP Multicast Technology Overview

IP Multicast Technology Overview IP multicast is a bandwidth-conserving technology that reduces traffic by delivering a single stream of information simultaneously to potentially thousands of businesses and homes. Applications that take

More information

UNIT IV- TCP/IP-II. Transport Control Protocol (TCP) Port addresses

UNIT IV- TCP/IP-II. Transport Control Protocol (TCP) Port addresses UNIT IV- TCP/IP-II Transport Control Protocol (TCP) TCP is a connection oriented, reliable protocol used in internet to provide a reliable endto-end byte stream over an unreliable internetwork (IP) An

More information

Chapter 19 Network Layer: Logical Addressing

Chapter 19 Network Layer: Logical Addressing Chapter 19 Network Layer: Logical Addressing 19.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 19.2 19-1 IPv4 ADDRESSES An IPv4 address is a 32-bit address

More information

Multicast Communications

Multicast Communications Multicast Communications Multicast communications refers to one-to-many or many-tomany communications. Unicast Broadcast Multicast Dragkedja IP Multicasting refers to the implementation of multicast communication

More information

UNIT IV- TCP/IP-II. Transport Control Protocol (TCP) Port addresses

UNIT IV- TCP/IP-II. Transport Control Protocol (TCP) Port addresses UNIT IV- TCP/IP-II Transport Control Protocol (TCP) TCP is a connection oriented, reliable protocol used in internet to provide a reliable endto-end byte stream over an unreliable internetwork (IP) An

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24 Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202

More information

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals What is Multicasting? Multicasting Fundamentals Unicast transmission transmitting a packet to one receiver point-to-point transmission used by most applications today Multicast transmission transmitting

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

Chapter 09 Network Protocols

Chapter 09 Network Protocols Chapter 09 Network Protocols Copyright 2011, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Outline Protocol: Set of defined rules to allow communication between entities Open Systems

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application

More information

7. TCP 최양희서울대학교컴퓨터공학부

7. TCP 최양희서울대학교컴퓨터공학부 7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Introduction to Networking Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Distributed File Systems Operating Systems In Depth XXVII 2 Copyright 2017 Thomas W.

More information

Unicast Routing Protocols (RIP, OSPF, and BGP)

Unicast Routing Protocols (RIP, OSPF, and BGP) CHAPTER 4 Unicast Routing Protocols (RIP, OSPF, and BGP) Exercises. RIP is an intradomain routing protocol that enables routers to update their routing tables within an autonomous system. 3. The expiration

More information

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of Routing Protocols MITA DUTTA The routers in an internet are responsible for receiving and forwarding IP datagrams through the interconnected set of sub-networks from source to destination. Routing protocols

More information

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Da t e: August 2 0 th a t 9: :00 SOLUTIONS Interne t working, Examina tion 2G1 3 0 5 Da t e: August 2 0 th 2 0 0 3 a t 9: 0 0 1 3:00 SOLUTIONS 1. General (5p) a) Place each of the following protocols in the correct TCP/IP layer (Application, Transport,

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Chapter 12 Network Protocols

Chapter 12 Network Protocols Chapter 12 Network Protocols 1 Outline Protocol: Set of defined rules to allow communication between entities Open Systems Interconnection (OSI) Transmission Control Protocol/Internetworking Protocol (TCP/IP)

More information

Network Layer: Routing

Network Layer: Routing Network Layer: Routing The Problem A B R 1 R 2 R 4 R 3 Goal: for each destination, compute next hop 1 Lecture 9 2 Basic Assumptions Trivial solution: Flooding Dynamic environment: links and routers unreliable:

More information

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk Date: January 17 th 2006 at 14:00 18:00 SOLUTIONS 1. General (5p) a) Draw the layered

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

TCP/IP Protocol Suite 1

TCP/IP Protocol Suite 1 TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

ETSF10 Internet Protocols Routing on the Internet

ETSF10 Internet Protocols Routing on the Internet ETSF10 Internet Protocols Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) Routing on the Internet Unicast routing protocols (part 2) [ed.5 ch.20.3] Multicast routing, IGMP [ed.5

More information

Routing Protocols --- Exterior Gateway Protocol

Routing Protocols --- Exterior Gateway Protocol Content Routing Protocols --- Exterior Gateway Protocol Linda Wu (CMPT 471 23-3) Limiting router interaction Autonomous system BGP protocol BGP messages Other issues on BGP Reference: chapter 15 Notes-13

More information

IP Multicast Technology Overview

IP Multicast Technology Overview IP multicast is a bandwidth-conserving technology that reduces traffic by delivering a single stream of information simultaneously to potentially thousands of businesses and homes. Applications that take

More information

Using MSDP to Interconnect Multiple PIM-SM Domains

Using MSDP to Interconnect Multiple PIM-SM Domains Using MSDP to Interconnect Multiple PIM-SM Domains This module describes the tasks associated with using Multicast Source Discovery Protocol (MSDP) to interconnect multiple Protocol Independent Multicast

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

CS321: Computer Networks Unicast Routing

CS321: Computer Networks Unicast Routing CS321: Computer Networks Unicast Routing Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Introduction The goal of the network layer is deliver a datagram from

More information

CS321: Computer Networks Error and Flow Control in TCP

CS321: Computer Networks Error and Flow Control in TCP CS321: Computer Networks Error and Flow Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in SEQ and ACK numbers in TCP TCP views data as an unstructured,

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP Outline Connecting to the access network: DHCP and mobile IP, LTE Transport layer: UDP and TCP IETF TCP/IP protocol suite User application, e.g., http with Mozilla Communication for each process on computer

More information

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao EEC-484/584 Computer Networks Lecture 16 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review Services provided by transport layer

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

Transport Protocols. Raj Jain. Washington University in St. Louis

Transport Protocols. Raj Jain. Washington University in St. Louis Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features

More information

Intro to LAN/WAN. Transport Layer

Intro to LAN/WAN. Transport Layer Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface

More information

Topics for This Week

Topics for This Week Topics for This Week Routing Protocols in the Internet OSPF, BGP More on IP Fragmentation and Reassembly ICMP Readings Sections 5.6.4-5.6.5 1 Hierarchical Routing aggregate routers into regions, autonomous

More information

Example questions for the Final Exam, part A

Example questions for the Final Exam, part A ETSF10, ETSF05 Ht 2010 Example questions for the Final Exam, part A 1. In AdHoc routing there are two main strategies, reactive and proactive routing. Describe in a small number of words the concept of

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Unit 3: Dynamic Routing

Unit 3: Dynamic Routing Unit 3: Dynamic Routing Basic Routing The term routing refers to taking a packet from one device and sending it through the network to another device on a different network. Routers don t really care about

More information

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1 Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 22-3 UNICAST ROUTING PROTOCOLS 22.2 A routing

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

More information

Introduction to Network. Topics

Introduction to Network. Topics Introduction to Network Security Chapter 7 Transport Layer Protocols 1 TCP Layer Topics Responsible for reliable end-to-end transfer of application data. TCP vulnerabilities UDP UDP vulnerabilities DNS

More information

Acknowledgments. Part One - Introduction to the TCP/IP Protocol

Acknowledgments. Part One - Introduction to the TCP/IP Protocol Illustrated TCP/IP by Matthew G. Naugle Wiley Computer Publishing, John Wiley & Sons, Inc. ISBN: 0471196568 Pub Date: 11/01/98 Acknowledgments Part One - Introduction to the TCP/IP Protocol Chapter 1 -

More information

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

CS118 Discussion Week 7. Taqi

CS118 Discussion Week 7. Taqi CS118 Discussion Week 7 Taqi Outline Hints for project 2 Lecture review: routing About Course Project 2 Please implement byte-stream reliable data transfer Cwnd is in unit of bytes, not packets How to

More information

Multicast routing protocols

Multicast routing protocols Multicast routing protocols IGMP IP Group Management Protocol PIM Protocol Independent Multicast MOSPF Multicast OSPF DVMRP DV Multicast Routing Protocol E7310-Multicast-2/Comnet 1 Multicast in local area

More information

What is the difference between unicast and multicast? (P# 114)

What is the difference between unicast and multicast? (P# 114) 1 FINAL TERM FALL2011 (eagle_eye) CS610 current final term subjective all solved data by eagle_eye MY paper of CS610 COPUTER NETWORKS There were 30 MCQs Question no. 31 (Marks2) Find the class in 00000001.001011.1001.111

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22 23-3 TCP 23.22 TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics

More information

Kent State University

Kent State University CS 4/54201 Computer Communication Network Kent State University Dept. of Computer Science www.mcs.kent.edu/~javed/class-net06f/ 1 A Course on Networking and Computer Communication LECT-10, S-2 IP- Internet

More information

UNIT IV TRANSPORT LAYER

UNIT IV TRANSPORT LAYER Transport Layer UNIT IV TRANSPORT LAYER Congestion Control and Quality of Service Ref: Data Communication & Networking, 4 th edition, Forouzan IV-1 DATA TRAFFIC The main focus of congestion control and

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 13 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of lecture 12 Routing Congestion

More information

Table of Contents 1 PIM Configuration 1-1

Table of Contents 1 PIM Configuration 1-1 Table of Contents 1 PIM Configuration 1-1 PIM Overview 1-1 Introduction to PIM-DM 1-2 How PIM-DM Works 1-2 Introduction to PIM-SM 1-4 How PIM-SM Works 1-5 Introduction to Administrative Scoping in PIM-SM

More information

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis Session 8. TCP/IP Dongsoo S. Kim (dskim@iupui.edu) Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis IP Packet 0 4 8 16 19 31 Version IHL Type of Service Total Length Identification

More information

UDP, TCP, IP multicast

UDP, TCP, IP multicast UDP, TCP, IP multicast Dan Williams In this lecture UDP (user datagram protocol) Unreliable, packet-based TCP (transmission control protocol) Reliable, connection oriented, stream-based IP multicast Process-to-Process

More information

Sequence Number. Acknowledgment Number. Data

Sequence Number. Acknowledgment Number. Data CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make

More information

Routing Protocols. Autonomous System (AS)

Routing Protocols. Autonomous System (AS) Routing Protocols Two classes of protocols: 1. Interior Routing Information Protocol (RIP) Open Shortest Path First (OSPF) 2. Exterior Border Gateway Protocol (BGP) Autonomous System (AS) What is an AS?

More information

9th Slide Set Computer Networks

9th Slide Set Computer Networks Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

ETSF10 Internet Protocols Routing on the Internet

ETSF10 Internet Protocols Routing on the Internet ETSF10 Internet Protocols Routing on the Internet 2012, Part 2, Lecture 1.2 Kaan Bür, Jens Andersson Routing on the Internet Unicast routing protocols (part 2) [ed.4 ch.22.4] [ed.5 ch.20.3] Forwarding

More information

Top-Down Network Design

Top-Down Network Design Top-Down Network Design Chapter Seven Selecting Switching and Routing Protocols Original slides by Cisco Press & Priscilla Oppenheimer Selection Criteria for Switching and Routing Protocols Network traffic

More information

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management

More information

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

ETSF10 Internet Protocols Routing on the Internet

ETSF10 Internet Protocols Routing on the Internet ETSF10 Internet Protocols Routing on the Internet 2014, Part 2, Lecture 1.2 Jens Andersson Internet Hierarchy 2014-11-10 ETSF05/ETSF05/ETSF10 - Internet Protocols 2 Hierarchical Routing aggregate routers

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport

More information

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa Multicast Communications Slide Set were original prepared by Dr. Tatsuya Susa Outline 1. Advantages of multicast 2. Multicast addressing 3. Multicast Routing Protocols 4. Multicast in the Internet 5. IGMP

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

Transport Layer: Outline

Transport Layer: Outline Transport Layer: Outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

HY 335 Φροντιστήριο 8 ο

HY 335 Φροντιστήριο 8 ο HY 335 Φροντιστήριο 8 ο Χειμερινό Εξάμηνο 2009-2010 Παπακωνσταντίνου Άρτεμις artpap@csd.uoc.gr 4/12/2009 Roadmap IP: The Internet Protocol IPv4 Addressing Datagram Format Transporting a datagram from source

More information

Networking: Network layer

Networking: Network layer control Networking: Network layer Comp Sci 3600 Security Outline control 1 2 control 3 4 5 Network layer control Outline control 1 2 control 3 4 5 Network layer purpose: control Role of the network layer

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

Routing. Advanced Computer Networks: Routing 1

Routing. Advanced Computer Networks: Routing 1 Routing Advanced Computer Networks: Routing 1 Gateway To internet or wide area network Metropolitan Area Network (MAN) s s Organization Servers Backbone R S R R Departmental Server s R S R s S R s s s

More information