Internet Routing COS 598A Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm.

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

CCNA – Network Fundamentals
© 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.
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7: Objectives Part 1
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Computer Networks Guest Lecture in COS 318 Jennifer Rexford
CPSC156a: The Internet Co-Evolution of Technology and Society Lecture 3: September 11, 2003 Internet Basics, continued Acknowledgments: R. Wang and J.
Network Architectures Week 3 Part 2. Comparing The Internet & OSI.
Networking and Internetworking: Standards and Protocols i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
CPSC156a: The Internet Co-Evolution of Technology and Society Lecture 4: September 16, 2003 Internet Layers and “the Web”
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
CPSC156: The Internet Co-Evolution of Technology and Society Lecture 2: January 18, 2007 Internet Basics, continued Acknowledgments: R. Wang and J. Rexford.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Transport Layer TCP and UDP IS250 Spring 2010
Chapter 4 OSI Transport Layer
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
1 Transport Layer Computer Networks. 2 Where are we?
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Chapter 5 Transport layer With special emphasis on Transmission Control Protocol (TCP)
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 Chapter 5 Protocol Underlying HTTP Web Protocols and Practice.
1 Introduction. 2 Goals for Today’s Class Course overview –Goals of the course –Structure of the course –Learning the material –Course grading –Academic.
1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
TCP/IP Transport and Application (Topic 6)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Networking Basics CCNA 1 Chapter 11.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
Chapter 9: Transport Layer
Transmission Control Protocol (TCP) BSAD 146 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Transport Protocols.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
© 2002, Cisco Systems, Inc. All rights reserved..
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).
The Transport Layer Implementation Services Functions Protocols
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Magda El Zarki Professor, ICS UC, Irvine
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Internet Routing COS 598A Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm

Who am I, and Who are You? Who am I? –Joined the CS faculty in Feb 2005 (i.e., today) –Worked for 8.5 years at AT&T Labs—Research –Research on routing protocols, network measurement, and network operations Who are you, and what do you do? –Introductions…

What is Internet Routing? The glue that holds the Internet together How routers know where to forward packets How operators control the load on their links How networks achieve business relationships ClientWeb server

What Does This Course Cover? Internet architecture –Best-effort packet-delivery service –Intradomain and interdomain routing Network topology –Inside a network, and between networks Traffic engineering –Getting the traffic to go where you want Convergence –Delay to respond to change –Whether the protocol ever converges

What Does the Course Cover? (Continued) Routers –Router hardware and software –Router configuration –Scaling to many destinations, routers, & networks Measurement –Monitoring the routing protocols –Characterizing the routing system –Troubleshooting routing problems Routing protocol security New architectural directions

Emphasis of the Course Not so much on the protocols –…though we will cover BGP, OSPF, IS-IS, MPLS, and various other acronyms of the day Or on the routers –…though we will talk about how routers work But more on how people manage routing –Selecting which protocols to use –Deciding how to set the parameters –Troubleshooting problems as they arise –Preventing attacks –…

Structure of the Course Classroom time –Mixture of lecture and discussion of papers Readings –Selected research papers and surveys –Videocasts of presentations (e.g., from NANOG) –Optional short “food for thought” reading each week Course project –Literature survey, measurement or simulation study, protocol design, theoretical analysis, etc. Grading –Final course project (written report and oral presentation) –Class participation (written reviews, class discussion, etc.)

Today, and Thursday Goal –Explain IP best-effort delivery model Today –What is the service model? –How can you do anything useful with this? Thursday –How do the routers support the service model? –How do the routing protocols work?

IP Service Model: Best-Effort Packet Delivery Packet switching –Send data in packets –Header with source & destination address Best-effort delivery –Packets may be lost –Packets may be corrupted –Packets may be delivered out of order source destination IP network

IP Service Model: Why Packets? Data traffic is bursty –Logging in to remote machines –Exchanging messages Don’t want to waste reserved bandwidth –No traffic exchanged during idle periods Better to allow multiplexing –Different transfers share access to same links Packets can be delivered by most anything –RFC 2549: IP over Avian Carriers (aka birds) … still, packet switching can be inefficient –Extra header bits on every packet

IP Packet Structure 4-bit Version 4-bit Header Length 8-bit Type of Service (TOS) 16-bit Total Length (Bytes) 16-bit Identification 3-bit Flags 13-bit Fragment Offset 8-bit Time to Live (TTL) 8-bit Protocol 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Options (if any) Payload 20-byteHeader usually IPv4 usually 20 bytes fragments more later error check header

IP Service Model: Why Best-Effort? It’s easier not to make promises –Don’t need to reserve bandwidth and memory –Don’t need to do error detection & correction –Don’t need to remember from one packet to next Easier to survive failures –Transient disruptions are okay during failover … but, applications do want efficient, accurate transfer of data in order, in a timely fashion

IP Service Model: Best-Effort is Enough No error detection or correction –Higher-level protocol can provide error checking Successive packets may not follow the same path –Not a problem as long as packets reach the destination Packets can be delivered out-of-order –Receiver can put packets back in order (if necessary) Packets may be lost or arbitrarily delayed –Sender can send the packets again (if desired) No network congestion control (beyond “drop”) –Sender can slow down in response to loss or delay

Layering in the IP Protocols Internet Protocol Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Telnet HTTP SONETATM Ethernet RTPDNS FTP

Transmission Control Protocol (TCP) Communication service (socket) –Ordered, reliable byte stream –Simultaneous transmission in both directions Key mechanisms at end hosts –Retransmit lost and corrupted packets –Discard duplicate packets and put packets in order –Flow control to avoid overloading the receiver buffer –Congestion control to adapt sending rate to network load sourcenetworkdestination TCP connection

Source and Destination Port Numbers Motivation for port numbers –Unique identifier of the TCP connection on each end –Necessary to (de)multiplex packets at the end-points Assigning port numbers –Port numbers below 1024 are assigned –Well-known port numbers for common applications Web client contacting a web server –Browser click results in creation of a TCP socket –Client machine assigns an available port (>=1024) –Client machine requests a connection with the server –Open TCP connection to port 80 at the server

Opening and Closing a TCP Connection Three-way handshake to establish connection –Host A sends a SYN to the host B –Host B returns a SYN and acknowledgement –Host A sends an ACK to acknowledge the SYN ACK Four-way handshake to close the connection –Finish (FIN) to close and receive remaining bytes, or –Reset (RST) to close and not receive remaining bytes SYN SYN ACK ACK Data FIN ACK time A B FIN ACK

Lost and Corrupted Packets Detecting corrupted and lost packets –Error detection via checksum on header and data –Sender sends packet, sets timeout, and waits for ACK –Receiver sends ACKs for received packets –Sender infers loss from timeout or duplicate ACKs Retransmission by sender –Sender retransmits lost/corrupted packets –Receiver reassembles and reorders packets –Receiver discards corrupted and duplicated packets

TCP Flow and Congestion Control Window-based flow control –Sender limits number of outstanding bytes (window size) –Receiver window ensures data does not overflow receiver Adapting to network congestion –Congestion window tries to avoid overloading the network (increase with successful delivery, decrease with loss) –TCP connection starts with small initial congestion window time congestion window slow start congestion avoidance

User Datagram Protocol (UDP) Some applications do not want or need TCP –Avoid overhead of opening/closing a connection –Avoid recovery from lost/corrupted packets –Avoid sender adaptation to loss/congestion Example applications that use UDP –Multimedia streaming applications –Domain Name System (DNS) queries/replies Dealing with the growth in UDP traffic –Interference with TCP performance –Pressure to apply congestion control –Future routers may enforce “TCP-friendly” behavior

Domain Name System (DNS) Properties of DNS –Hierarchical name space divided into zones –Translation of names to/from IP addresses –Distributed over a collection of DNS servers Client application –Extract server name (e.g., from the URL) –Invoke system call to trigger DNS resolver code –E.g., gethostbyname() on “ Server application –Extract client IP address from socket –Optionally invoke system call to translate into name –E.g., gethostbyaddr() on “ ”

Domain Name System comeduorgac uk zw arpa unnamed root bar westeast foomy ac cam usr in- addr generic domainscountry domains my.east.bar.edu usr.cam.ac.uk /24

DNS Resolver and Local DNS Server Application DNS resolver Local DNS server 1 10 DNS cache DNS query 2 DNS response 9 Root server 3 4 Top-level domain server 5 6 Second-level domain server 7 8 Caching based on a time-to-live (TTL) assigned by the DNS server responsible for the host name to reduce latency in DNS translation.

Application-Layer Protocols Messages exchanged between applications –Syntax and semantics of the messages between hosts –Tailored to the specific application (e.g., Web, ) –Messages transferred over transport connection (e.g., TCP) Popular application-layer protocols –Telnet, FTP, SMTP, NNTP, HTTP, … ClientServer GET /index.html HTTP/1.1 HTTP/ OK

Example: Many Steps in Web Download Browser cache DNS resolution TCP open 1 st byte response Last byte response Sources of variability of delay Browser cache hit/miss, need for cache revalidation DNS cache hit/miss, multiple DNS servers, errors Packet loss, high RTT, server accept queue RTT, busy server, CPU overhead (e.g., CGI script) Response size, receive buffer size, congestion … downloading embedded image(s) on the page

IP Suite: End Hosts vs. Routers HTTP TCP IP Ethernet interface HTTP TCP IP Ethernet interface IP Ethernet interface Ethernet interface SONET interface SONET interface host router HTTP message TCP segment IP packet This course focuses on the routers…

Happy Routers Make Happy Packets Routers forward packets –Forward incoming packet to outgoing link –Store packets in queues –Drop packets when necessary Routers compute paths –Routers run routing protocols –Routers compute forwarding tables A famous quotation from RFC 791 –“A name indicates what we seek. An address indicates where it is. A route indicates how we get there.” -- Jon Postel

Reading for Thursday Two classic papers –End-to-end arguments in system design (1984) –Design philosophy of the DARPA Internet protocols (1988) New perspectives on success of the Internet –Tussle in cyberspace: Defining tomorrow’s Internet (2002)

Backup Slides TTL and traceroute

Time-to-Live Field Potential robustness problem –Routing loops can cause packets to cycle forever –Confusing if the packet arrives much later Time-to-live field in packet header –TTL field decremented by each router on the path –Packet is discarded when TTL field reaches 0… –…and send “timer expired” message to source

Traceroute: Measuring the Forwarding Path Time-To-Live field in IP packet header –Source sends a packet with a TTL of n –Each router along the path decrements the TTL –“TTL exceeded” sent when TTL reaches 0 Traceroute tool exploits this TTL behavior source destination TTL=1 Time exceeded TTL=2 Send packets with TTL=1, 2, 3, … and record source of “time exceeded” message