Datornätverk A – lektion 13 Kapitel 19: Routing. Kapitel 21: Routing Protocols Forts. kapitel 22: UDP och TCP. (Kapitel 23: Congestion control and QoS.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
Chapter 7: Transport Layer
24.1 Chapter 24 Congestion Control and Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Transport Layer PART V.
PART V Transport Layer.
Chapter 7 – Transport Layer Protocols
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
6/9/2015 Unit-4 : Transport Layer 1 CS 1302 Computer Networks — Unit - 4 — — Transport Layer — Text Book Behrouz.A. Forouzan, “Data communication and Networking”,
1 K. Salah Module 6.0: Transport Layer Protocols UDP & TCP Chapter 23 & 24.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Institute of Technology Sligo - Dept of Computing Chapter 11 Layer 3 Protocols Paul Flynn.
Process-to-Process Delivery:
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Transport Layer Computer Networks. 2 Where are we?
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 23 Congestion Control and Quality of Service.
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
Hyung-Min Lee©Networking Lab., 2001 Chapter 11 User Datagram Protocol (UDP)
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
Routers and Routing Basics CCNA 2 Chapter 10.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Transport Layer3-1 Chapter 3 Transport Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added for.
Multimedie- och kommunikationssystem Föreläsning 11 Kapitel 12: Transportprotokoll. Flödesstyrning och trafikstocknings­hantering. Sliding window.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Networking Basics CCNA 1 Chapter 11.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
1 Kyung Hee University PART 5 Transport Layer. 2 Kyung Hee University Role of position of Transport Layer  Overseeing the delivery of data from a process,
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Process-to-Process Delivery:
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Kapitel 19: Routing. Kapitel 21: Routing Protocols
Chapter 9: Transport Layer
(Kapitel 23: Congestion control and QoS översiktligt.)
Datornätverk A – lektion 13
Instructor Materials Chapter 9: Transport Layer
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
Net 221D : Computer Networks Fundamentals
TCP Transport layer Er. Vikram Dhiman LPU.
Process-to-Process Delivery:
Datornätverk A – lektion 13
PART V Transport Layer.
PART 5 Transport Layer.
CS 1302 Computer Networks — Unit - 4 — — Transport Layer —
Lecture 21 and 22 5/29/2019.
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Datornätverk A – lektion 13 Kapitel 19: Routing. Kapitel 21: Routing Protocols Forts. kapitel 22: UDP och TCP. (Kapitel 23: Congestion control and QoS översiktligt.)

Hosts and Routers The computers in Internet terminology are called hosts. They usually have one NIC (network interface card = network adapter = nätverkskort) Routers are special purpose computers and they have more than one NIC ○An old name for routers is gateways ○Forward packets between networks (route and switch) ○Transform packets as necessary to meet standards for each network ○A Windows PC can act as a router if it has more than one NIC, and IP forwarding is enabled in the networking settings.

What Does a Router Do? Accepts incoming packets Checks the destination address in the IP header Look up for destination in the forwarding table Sends packet to the appropriate next hop The packet may be dropped if ○There is no space in the router’s buffers ○The TTL=0 ○There is no matching row in the routing table

Forwarding (Routing) Table The forwarding table consists of two columns: “Destination network” and “Next hop”. Destination network is some network address and the next hop is the address of the next router. When the router is connected directly to a network, the “Next hop” is labeled as “Direct” meaning “Directly connected”

Figure Network-specific routing

Figure Default routing

Default Route In order to make the forwarding table shorter (smaller number of rows) the default route is introduced “Default” or “Else” is a row that points to some “Next hop” and is used whenever a destination is not found in the forwarding table. Hosts send all packets out of their network to the default router (or gateway)

Figure Example: Subnet mask based routing table

Example 10 Using the table in Figure 19.32, the router receives a packet for destination For each row, the mask is applied to the destination address until a match with the destination address is found. In this example, the router sends the packet through interface m0 (host specific).

Example 11 Using the table in Figure 19.32, the router receives a packet for destination For each row, the mask is applied to the destination address until a match with the next-hop address is found. In this example, the router sends the packet through interface m2 (network specific).

Example 12 Using the table in Figure 19.32, the router receives a packet for destination For each row, the mask is applied to the destination address, but no match is found. In this example, the router sends the packet through the default interface m0.

Example: Unicast Routing Host with IP address sends a packet to host Router R1 checks its table and sends it to R2 through its interface 2. Router R2 checks its table and sends it to its interface / / R2 R1 R3

The Forwarding Table Necessary in every host and the router ○On Windows OS it can be seen using the command netstat –rn at the command prompt ○Entries in the destination column are networks, not hosts ○Once the interface on the router through which the packet is to be delivered is known, the physical address is used for delivery Contains the columns: Destination (Network destination), Mask (Netmask), Next hop (Gateway), Interface and Metric

Example

How Routers Build the Routing Tables Preprogrammed or Static Routes ○The table is manually configured by a human ○The routes cannot be dynamically changed if something fails Dynamically calculated routes ○Calculated by the software built in the routers that provide communication among routers ○Algorithms that calculate shortest path are used ○Complexity is increased, but the routes change automatically if some part of the network fails

Metric A metric is a cost assigned for passing through a network The total cost of the path is the sum of the metrics for the networks that are on the path Metrics are assigned in such a way that the “best pat” is the path with the minimum total cost

The “Best Path” Factors determining the best path ○Bandwidth ○Delay ○Hop-count ○Load ○Money ○Reliability The cost or the metric can involve a single or several of these factors SD A B C The “best path” from S to D is A  C  B

Interior vs. Exterior Protocols The worldwide Internet is a very large network ○It needs to be segmented in areas based upon the entity that administrates the networks and routers in the area ○Autonomous System (AS) is a collection of networks and routers under single administration authority Interior protocols or IGP (Interior Gateway Protocols) ○Used for routing inside AS Exterior protocols or EGP (Exterior Gateway Protocols) ○Used for routing between ASs

Figure 21.3 Autonomous systems

Figure 21.5 Initial routing tables in a small autonomous system

Figure 21.6 Final routing tables for Figure 21.5

Interior Routing Protocols The goal: To choose the best path, among a set of alternatives based on some or a combination of criteria (e. g. minimum delay, maximum throughput etc.) The objectives are to use the network resources (bandwidth and the router’s buffers and processing power) in the best way Two groups of interior protocols ○Distance Vector protocols ○Link State protocols

Figure 21.2 Popular routing protocols RIP = Routing Information Protocol OSPF = Open Shortest Path First BGP = Boarder Gateway Protocol

Unicast vs. Multicast Unicast: ○One source to one destination Multicast: ○One source to many destinations ○Many sources to many destinations ○Many sources to one destination Motivation for multicast routing ○Growing demand (vide/audio conferences, vide streaming etc) ○Bandwidth need to be saved

Example If unicast routing is used, the links between the sender and the Router 1 will be overloaded (bandwidth required will depend on the number of receivers) Sender Router 2 Receiver 1 Receiver 2 Receiver 3 Router 1 Router 3

Figure Multicasting

Group Membership vs. Multicast Routing IGMP (Internet Group Management Protocol) ○Keeps router up-to-date with group membership of entire LAN ○A device can join or leave a group at any moment Multicast Routing Protocols ○MBone – A set of routers on the Internet that are running multicast routing protocols ○ Tunneling (encapsulation of multicast packets into unicast packets) is used in the rest of the network

In multicast routing, the router may forward the received packet through several of its ports. Note:

IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface. Note:

Figure MBONE

Transport Layer PART V

Position of transport layer

Transport layer duties

Chapters Chapter 22 Process-to-Process Delivery Chapter 23 Congestion Control and QoS

Chapter 22 Process-to-Process Delivery: UDP and TCP

The transport layer is responsible for process-to-process delivery. Note:

Figure 22.1 Types of data deliveries

Virtual Connection at the Transport Layer TCP, UDP IP Application Physical IP Physical IP Physical Router Host TCP, UDP IP Application Physical Protocol stack in the host Protocol stack in the router

Figure 22.5 Socket address A socket is a data flow between two processes that is identified by its socket address pair, i.e. a unique combination of: - Transport protocol (UDP or TCP). - Source IP address and port number. - Destination IP address and port number.

Figure 22.7 Connection establishment

Figure 22.8 Connection termination

Client-Server Paradigm Used most often in Internet process-to-process communication, for example, , web, file transfer, etc. The client process initiates the communication. The server process waits for the client to initiate communication, and responds by sending the information required. Example: Web server, server, ftp server, etc. A firewall often stops external clients from accessing internal servers, except certain web Opposite: Peer-to-peer communication, where a program can act both as client (taking initiative) and server (responding to other).

Multiplexing and Demultiplexing Web MP3 TCPUDP IP Web MP3 TCPUDP IP IP datagrams Sender processes Receiver processes

Connection-oriented vs. Conectionless A connection-oriented service requires both sender and receiver to create a connection before any data is transferred ○TCP provides connection oriented service to the applications A connectionless service does not create a connection first but simply sends the data ○UDP provides connectionless service to the applications

Example: Connection-oriented Service An analogy to the connection-oriented service is telephone conversation

Example: Connectionless Service An analogy to connectionless service is the delivery of the mail

Data-link vs. Transport Layer Data link layer ○Responsibile for reliability between two directly connected points Transport layer ○Resposibe for reliability over the internetwork Network 1 Network 2 Network 3 Internetwork Duties of the transport layer Duties of the data-link layer

Reliable vs. Unreliable Transport layer can offer ○Unreliable service (UDP) No guarantee that the packet will be delivered to the destination Useful especially for transmitting audio and video files where waiting for acknowledgement can be annoying for the user ○Reliable service (TCP) Connection establishment Connection maintenance Connection termination

User Datagram Protocol (UDP) No reliability or connection management! Serves solely as a labeling mechanism for demultiplexing at the receiver end Use predominantly by protocols that do no require the strict service guarantees offered by TCP (e.g. real-time multimedia protocols) Additional intelligence built at the application layer if needed

Transmission Control protocol (TCP) Provides a connection-oriented end-to-end (user-to-user) reliable byte stream service in both directions (full duplex) Divides a byte stream into a sequence of segments and sends them to the destination via IP Uses the destination port, source port to identify the application to which the segment is sent (multiplexing the sessions) Uses sliding window like scheme for flow control and congestion control

Connection Management Two way handshake protocol is not enough because of potential delays in either A’s request or B’s responce, as shown below. Possibility of confusion exists. time t1t1 A sends a connection request t2t2 t5t5 t4t4 t3t3 A sends connection request again B receives connection request B establishes a connection and sends an acknowledgement A B A receives the acknowledgement and establishes a connection A and B exchange data and eventually disconnect B receives connection request B establishes a connection and sends an acknowledgement

Three-way Handshake Protocol for Connection Establishment time t1t1 A sends a connection request with seq. no. x t2t2 t5t5 t4t4 t3t3 A sends connection request again with seq. no. y B sends acknowledgement y+1 and seq. no. z A B A receives the acknowledgement y+1 and sends acknowledgement z+1 B sends acknowledgement x+1 and seq. no. w A does not send an acknowledgement and no connection is established t6t6 The connection is established

Connection Establishment and Termination 3-way handshake used for connection establishment Randomly chosen sequence number is conveyed to the other end Similar FIN, FIN+ACK exchange used for connection termination SYN SYN+ACK ACK DATA Server does passive open Accept connection request Send acceptance Start connection Active open Send connection request The three-way handshake TCP segments are labeled with SYN. The length of data in the first two is 0

TCP’s Segments TCP treats data as a sequence of bytes to be divided and sent in segments. The size of the segment depends on the underlying physical network and on the number of bytes the sender is allowed to send (window size) Rather than numbering each segment, TCP stores the sequence number of the data byte in the segment The source and the destination each have separate sequence numbers The acknowledgement numbers are equal to the next expected sequence number

Window Management in TCP Sliding window scheme is used with variable window ○The window can change depending on the traffic in the network (TCP provides congestion control) The size of the window is expressed in bytes instead of packets The window size depends on the receiver’s capabilites and the congestion in the network

TCP Sliding Window segment bytes of data numbered from 1 to bytes of data numbered from 101 to 200, ack 801 acknowledge 801 segment 2 acknowledge 901 segment 3 acknowledge 201 segment 2 acknowledge 101 segment bytes of data numbered from 701 to 800, ack bytes of data numbered from 801 to 900, ack 201

TCP/IP Client-Server Model The clent request an unassigned port number from TCP for its own connection. It incorrporates randomly chosen port number in the TCP header and the well known port for the particular application. Then it passes the packet to IP IP handels the routing of the datagram using source/destination address and delivers the datagram to the destination network and then to the destination host

TCP/IP Client-Server Model (cont.) The datagram is processed and delivered to the TCP layer. TCP processes the segment and delivers the data to the server through its port number The server now knows the port number of the client (as it was contained in the TCP header) enabling bidirectional communication

22.2 UDP Port Numbers User Datagram Applications

UDP is a connectionless, unreliable protocol that has no flow and error control. It uses port numbers to multiplex data from the application layer. Note:

Table 22.1 Well-known ports used by UDP PortProtocolDescription 7EchoEchoes a received datagram back to the sender 9DiscardDiscards any datagram that is received 11UsersActive users 13DaytimeReturns the date and the time 17QuoteReturns a quote of the day 19ChargenReturns a string of characters 53NameserverDomain Name Service 67BootpsServer port to download bootstrap information 68BootpcClient port to download bootstrap information 69TFTPTrivial File Transfer Protocol 111RPCRemote Procedure Call 123NTPNetwork Time Protocol 161SNMPSimple Network Management Protocol 162SNMPSimple Network Management Protocol (trap)

Figure User datagram format

The calculation of checksum and its inclusion in the user datagram are optional. Note:

UDP is a convenient transport-layer protocol for applications that provide flow and error control. It is also used by multimedia applications. Note:

22.3 TCP Port Numbers Services Sequence Numbers Segments Connection Transition Diagram Flow and Error Control Silly Window Syndrome

Table 22.2 Well-known ports used by TCP PortProtocolDescription 7EchoEchoes a received datagram back to the sender 9DiscardDiscards any datagram that is received 11UsersActive users 13DaytimeReturns the date and the time 17QuoteReturns a quote of the day 19ChargenReturns a string of characters 20FTP, DataFile Transfer Protocol (data connection) 21FTP, ControlFile Transfer Protocol (control connection) 23TELNETTerminal Network 25SMTPSimple Mail Transfer Protocol 53DNSDomain Name Server 67BOOTPBootstrap Protocol 79Finger 80HTTPHypertext Transfer Protocol 111RPCRemote Procedure Call

Figure Stream delivery

Figure Sending and receiving buffers

Figure TCP segments

Example 1 Imagine a TCP connection is transferring a file of 6000 bytes. The first byte is numbered What are the sequence numbers for each segment if data are sent in five segments with the first four segments carrying 1000 bytes and the last segment carrying 2000 bytes? Solution The following shows the sequence number for each segment: Segment 1 ==> sequence number: 10,010 (range: 10,010 to 11,009) Segment 2 ==> sequence number: 11,010 (range: 11,010 to 12,009) Segment 3 ==> sequence number: 12,010 (range: 12,010 to 13,009) Segment 4 ==> sequence number: 13,010 (range: 13,010 to 14,009) Segment 5 ==> sequence number: 14,010 (range: 14,010 to 16,009)

The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number. Note:

The value of the sequence number field in a segment defines the number of the first data byte contained in that segment. Note:

The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative. Note:

Figure TCP segment format

Figure Control field

Table 22.3 Description of flags in the control field FlagDescription URGThe value of the urgent pointer field is valid. ACKThe value of the acknowledgment field is valid. PSHPush the data. RSTThe connection must be reset. SYNSynchronize sequence numbers during connection. FINTerminate the connection.

Figure Three-step connection establishment

Figure Four-step connection termination

Table 22.4 States for TCP StateDescription CLOSEDThere is no connection. LISTENThe server is waiting for calls from the client. SYN-SENTA connection request is sent; waiting for acknowledgment. SYN-RCVDA connection request is received. ESTABLISHEDConnection is established. FIN-WAIT-1The application has requested the closing of the connection. FIN-WAIT-2The other side has accepted the closing of the connection. TIME-WAITWaiting for retransmitted segments to die. CLOSE-WAITThe server is waiting for the application to close. LAST-ACKThe server is waiting for the last acknowledgment.

Figure State transition diagram

A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data. TCP’s sliding windows are byte-oriented. Note:

Figure Sender buffer

Figure Receiver window

Figure Sender buffer and sender window

Figure Sliding the sender window

Figure Expanding the sender window

Figure Shrinking the sender window

In TCP, the sender window size is totally controlled by the receiver window value (the number of empty locations in the receiver buffer). However, the actual window size can be smaller if there is congestion in the network. Note:

Some points about TCP’s sliding windows: Note: The source does not have to send a full window’s worth of data. The size of the window can be increased or decreased by the destination. The destination can send an acknowledgment at any time.

Figure Lost segment

Figure Lost acknowledgment

Figure TCP timers

Chapter 23 Congestion Control and Quality of Service

23.1 Data Traffic Traffic Descriptor Traffic Profiles

Figure 23.1 Traffic descriptors

Figure 23.2 Constant-bit-rate traffic

Figure 23.3 Variable-bit-rate traffic

Figure 23.4 Bursty traffic

23.2 Congestion Network Performance

Figure 23.5 Incoming packet

Figure 23.6 Packet delay and network load

Figure 23.7 Throughput versus network load

23.3 Congestion Control Open Loop Closed Loop

23.4 Two Examples Congestion Control in TCP Congestion Control in Frame Relay

TCP assumes that the cause of a lost segment is due to congestion in the network. Note:

If the cause of the lost segment is congestion, retransmission of the segment does not remove the cause—it aggravates it. Note:

Figure 23.8 Multiplicative decrease

Figure 23.9 BECN

Figure FECN

Figure Four cases of congestion

23.5 Quality of Service Flow Characteristics Flow Classes

23.6 Techniques to Improve QoS Scheduling Traffic Shaping Resource Reservation Admission Control

Figure Flow characteristics

Figure FIFO queue

Figure Priority queuing

Figure Weighted fair queuing

Figure Leaky bucket

Figure Leaky bucket implementation

A leaky bucket algorithm shapes bursty traffic into fixed-rate traffic by averaging the data rate. It may drop the packets if the bucket is full. Note:

Figure Token bucket

The token bucket allows bursty traffic at a regulated maximum rate. Note:

23.7 Integrated Services Signaling Flow Specification Admission Service Classes RSVP

Integrated Services is a flow-based QoS model designed for IP. Note:

Figure Path messages

Figure Resv messages

Figure Reservation merging

Figure Reservation styles

23.8 Differentiated Services An Alternative to Integrated Services

Differentiated Services is a class-based QoS model designed for IP. Note:

Figure DS field

Figure Traffic conditioner

23.9 QoS in Switched Networks QoS in Frame Relay QoS in ATM

Figure Relationship between traffic control attributes

Figure User rate in relation to Bc and Bc + Be

Figure Service classes

Figure Relationship of service classes to the total capacity