Datorntverk A lektion 13 Kapitel 19 Routing Kapitel
- Slides: 136
Datornätverk A – lektion 13 Kapitel 19: Routing. Kapitel 21: Routing Protocols Forts. kapitel 22: UDP och TCP. (Kapitel 23: Congestion control and Qo. S ö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 19. 29 Network-specific routing
Figure 19. 31 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 19. 32 Example: Subnet mask based routing table
Example 10 Using the table in Figure 19. 32, the router receives a packet for destination 192. 16. 7. 1. 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 m 0 (host specific).
Example 11 Using the table in Figure 19. 32, the router receives a packet for destination 193. 14. 5. 22. 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 m 2 (network specific).
Example 12 Using the table in Figure 19. 32, the router receives a packet for destination 200. 34. 12. 34. 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 m 0.
Example: Unicast Routing 128. 47. 23. 10 1 128. 47. 23. 00 /24 Router R 1 checks its table and sends it to R 2 through its interface 2. R 2 2 128. 47. 92. 67 R 3 2 1 R 1 3 Host with IP address 128. 47. 92. 67 sends a packet to host 128. 47. 23. 10 128. 47. 36. 00 /24 128. 47. 36. 97 Router R 2 checks its table and sends it to its interface 1
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 S • The cost or the metric can involve a single or several of these factors The “best path” from S to D is A C B A B 4 2 C 1 D
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 one destination • Motivation for multicast routing ○ Growing demand (vide/audio conferences, vide streaming etc) ○ Bandwidth need to be saved
Example Router 3 Receiver 1 Router 1 Receiver 2 Sender Router 2 Receiver 3 • 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)
Figure 21. 23 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
Note: 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.
Figure 21. 32 MBONE
PART V Transport Layer
Position of transport layer
Transport layer duties
Chapters Chapter 22 Process-to-Process Delivery Chapter 23 Congestion Control and Qo. S
Chapter 22 Process-to-Process Delivery: UDP and TCP
Note: The transport layer is responsible for process-to-process delivery.
Figure 22. 1 Types of data deliveries
Virtual Connection at the Transport Layer Host Router Application TCP, UDP IP Physical Protocol stack in the host Host TCP, UDP IP IP Physical Protocol stack in the router IP Physical Protocol stack in the host
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, email, 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, email 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 Sender processes Web Email TCP MP 3 UDP IP IP datagrams Receiver processes Web Email TCP UDP IP IP datagrams MP 3
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 Duties of the data-link layer Network 1 Network 3 Network 2 Internetwork Duties of the data-link layer Duties of the transport 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. A B A sends a t 1 connection request A sends connection t 2 request again A receives the acknowledgement and establishes a t 4 connection t 3 A and B exchange data and eventually disconnect time B receives connection request B establishes a connection and sends an acknowledgement B receives connection t 5 request B establishes a connection and sends an acknowledgement time
Three-way Handshake Protocol for Connection Establishment A A sends a connection request with seq. no. x t 1 A sends connection request t 2 again with seq. no. y A receives the acknowledgement y+1 and t 4 sends acknowledgement z+1 A does not send an acknowledgement and no connection is established B t 3 B sends acknowledgement y+1 and seq. no. z The connection is established t 5 B sends acknowledgement x+1 and seq. no. w t 6 time
Connection Establishment and Termination Active open SYN Send connection request SYN+ACK Server does passive open Accept connection request Send acceptance ACK DATA Start connection The three-way handshake TCP segments are labeled with SYN. The length of data in the first two is 0 • 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
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 1 100 bytes of data numbered from 1 to 100 acknowledge 801 segment 2 100 bytes of data numbered from 701 to 800, ack 101 acknowledge 101 segment 1 100 bytes of data numbered from 101 to 200, ack 801 acknowledge 901 segment 3 100 bytes of data numbered from 801 to 900, ack 201 acknowledge 201 segment 2
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
Note: UDP is a connectionless, unreliable protocol that has no flow and error control. It uses port numbers to multiplex data from the application layer.
Table 22. 1 Well-known ports used by UDP Port Protocol Description 7 Echoes a received datagram back to the sender 9 Discard 11 Users 13 Daytime 17 Quote 19 Chargen 53 Nameserver 67 Bootps Server port to download bootstrap information 68 Bootpc Client port to download bootstrap information 69 TFTP Trivial File Transfer Protocol 111 RPC Remote Procedure Call 123 NTP Network Time Protocol 161 SNMP Simple Network Management Protocol 162 SNMP Simple Network Management Protocol (trap) Discards any datagram that is received Active users Returns the date and the time Returns a quote of the day Returns a string of characters Domain Name Service
Figure 22. 10 User datagram format
Note: 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.
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 Port Protocol Description 7 Echoes a received datagram back to the sender 9 Discard 11 Users 13 Daytime 17 Quote 19 Chargen 20 FTP, Data 21 FTP, Control 23 TELNET 25 SMTP 53 DNS 67 BOOTP 79 Finger 80 HTTP Hypertext Transfer Protocol 111 RPC Discards any datagram that is received Active users Returns the date and the time Returns a quote of the day Returns a string of characters File Transfer Protocol (data connection) File Transfer Protocol (control connection) Terminal Network Simple Mail Transfer Protocol Domain Name Server Bootstrap Protocol Remote Procedure Call
Figure 22. 11 Stream delivery
Figure 22. 12 Sending and receiving buffers
Figure 22. 13 TCP segments
Example 1 Imagine a TCP connection is transferring a file of 6000 bytes. The first byte is numbered 10010. 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 Segment 1 ==> Segment 2 ==> Segment 3 ==> Segment 4 ==> Segment 5 ==> the sequence number for each segment: sequence number: 10, 010 (range: 10, 010 sequence number: 11, 010 (range: 11, 010 sequence number: 12, 010 (range: 12, 010 sequence number: 13, 010 (range: 13, 010 sequence number: 14, 010 (range: 14, 010 to to to 11, 009) 12, 009) 13, 009) 14, 009) 16, 009)
Note: 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.
Figure 22. 14 TCP segment format
Figure 22. 15 Control field
Table 22. 3 Description of flags in the control field Flag Description URG The value of the urgent pointer field is valid. ACK The value of the acknowledgment field is valid. PSH Push the data. RST The connection must be reset. SYN Synchronize sequence numbers during connection. FIN Terminate the connection.
Figure 22. 16 Three-step connection establishment
Figure 22. 17 Four-step connection termination
Table 22. 4 States for TCP State Description CLOSED There is no connection. LISTEN The server is waiting for calls from the client. SYN-SENT A connection request is sent; waiting for acknowledgment. SYN-RCVD A connection request is received. ESTABLISHED Connection is established. FIN-WAIT-1 The application has requested the closing of the connection. FIN-WAIT-2 The other side has accepted the closing of the connection. TIME-WAIT Waiting for retransmitted segments to die. CLOSE-WAIT The server is waiting for the application to close. LAST-ACK The server is waiting for the last acknowledgment.
Figure 22. 18 State transition diagram
Note: 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.
Figure 22. 19 Sender buffer
Figure 22. 20 Receiver window
Figure 22. 21 Sender buffer and sender window
Figure 22. 22 Sliding the sender window
Figure 22. 23 Expanding the sender window
Figure 22. 24 Shrinking the sender window
Note: 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: 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 22. 25 Lost segment
Figure 22. 26 Lost acknowledgment
Figure 22. 27 TCP timers
Chapter 23 Congestion Control and Quality of Service
23. 1 Data 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
Note: 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.
Figure 23. 8 Multiplicative decrease
Figure 23. 9 BECN
Figure 23. 10 FECN
Figure 23. 11 Four cases of congestion
23. 5 Quality of Service Flow Characteristics Flow Classes
23. 6 Techniques to Improve Qo. S Scheduling Traffic Shaping Resource Reservation Admission Control
Figure 23. 12 Flow characteristics
Figure 23. 13 FIFO queue
Figure 23. 14 Priority queuing
Figure 23. 15 Weighted fair queuing
Figure 23. 16 Leaky bucket
Figure 23. 17 Leaky bucket implementation
Note: 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.
Figure 23. 18 Token bucket
Note: The token bucket allows bursty traffic at a regulated maximum rate.
23. 7 Integrated Services Signaling Flow Specification Admission Service Classes RSVP
Note: Integrated Services is a flow-based Qo. S model designed for IP.
Figure 23. 19 Path messages
Figure 23. 20 Resv messages
Figure 23. 21 Reservation merging
Figure 23. 22 Reservation styles
23. 8 Differentiated Services An Alternative to Integrated Services
Note: Differentiated Services is a class-based Qo. S model designed for IP.
Figure 23. 23 DS field
Figure 23. 24 Traffic conditioner
23. 9 Qo. S in Switched Networks Qo. S in Frame Relay Qo. S in ATM
Figure 23. 25 Relationship between traffic control attributes
Figure 23. 26 User rate in relation to Bc and Bc + Be
Figure 23. 27 Service classes
Figure 23. 28 Relationship of service classes to the total capacity
- Kapitel 5 lektion a answers
- Give comparison of clock routing and power routing
- Goodrich method is used for
- Static routing and dynamic routing
- Continuity equation hydrology
- Eriksdalskolan
- Schritte international 2 test zu lektion 10
- Borklorid
- Lektion des lebens
- Ki i anden test
- Lektion 6
- Lektion 14
- Lektion 24
- Helvetestratt
- Kungsngen
- Lektion 10
- Lektion 2
- Lektion se
- Deutsch mit max 2 download
- Kalciumbromid
- Infinitiv
- Malin nielsen
- Lektion,se
- Lektion 3 essen und trinken
- Kallocain summary
- Lena unser dorf und der krieg zusammenfassung
- Kapitel
- Markusevangelium kapitel 10
- Das doppelte lottchen kapitel zusammenfassung
- Emil hilft köpfe waschen
- Good pizza great pizza kapitel 3
- Markus kapitel 16
- Perfekt 1 kapitel 4
- Kapitel
- Implementering lgr 22
- Qmhandbuch überlingen
- Control kapitel
- Im vorangegangenen kapitel
- Brief an die galater kapitel 6
- Druden ronja räubertochter
- Fabian oder der gang vor die hunde wien
- The australian connection zusammenfassung kapitel 7
- Korinthisieren
- Hiob kapitel 42
- Fliegender stern kapitel 5
- Jordabalken kapitel 12
- Bitterschokolade buch kapitel zusammenfassung
- In diesem kapitel
- Trasowanie co to jest
- Layer 7 routing
- Interplay between routing and forwarding
- Segment routing ipv6
- Lumped flow routing
- Routing in sdn
- Routing is the responsibility of _______
- Broadcast and multicast routing
- Konfigurasi static routing
- Routing sections
- Tabel routing static
- Dynamic routing
- Routing number cih
- Call routing in gsm in mobile computing
- Matrix capsules with em routing
- Ap layer in vlsi
- Lh stallings
- Ppdioo cisco
- Inter vlan routing challenge
- Sales quotas and sales territories
- Dhcp routing protocol
- Enterprise integration pattern
- Introduction to dynamic routing protocols
- How eigrp works
- Protocolo de roteamento
- 325181028 routing
- Generic routing encapsulation vpn
- Distance vector algorithm example
- Cisco ucce
- Declarative routing
- Monotonic routing
- Disjoint
- Rumor routing
- Setting in jekyll and hyde quotes
- Territory routing
- Routing table contains information entered manually
- Rumor routing
- 274976067
- Routing protocols
- Routing protocols administrative distance
- Routing table
- Computer networks routing algorithms
- Routing table
- Flood routing example
- Routing tabelle erstellen
- Advantages and disadvantages of distance vector routing
- Internet routing registry
- Delivery routing algorithms
- Routing table
- Routing fabric
- Intelligent customer routing
- Obss router
- Routing system 2
- Vroom bug evolution
- Routing operation
- Bgp path vector
- Cisco autostate
- Inter vlan routing layer 3 switch
- Block placement meaning
- Natural language call routing
- Link2be
- Routing magazijn
- What is unicast routing
- Routing
- Dragonfly network topology
- Hydraulic routing
- Onion protocol
- Routing table
- Route card in ppc
- Routing table longest prefix match
- Xiang cheng mit
- Ortec routing and dispatch
- Layer 4 routing
- Ospf routing protocol
- Tora algorithm
- L7 routing
- Routing statyczny
- Segment routing binding sid
- Link state routing
- Hydraulic routing methods
- Fixed routing
- Lumped flow routing
- Write a detailed note on unicast routing protocols
- Routing
- Troubleshooting a vlan implementation scenario 1
- Hp partner portal
- Alsa routing
- Routing table
- Hydrologic routing