CS155b: E-Commerce Lecture 3: Jan. 21, 2003 How Does the Internet Work? (continued) Acknowledgements: J. Rexford and V. Ramachandran.

Slides:



Advertisements
Similar presentations
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
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)
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
Transmission Control Protocol (TCP) Basics
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
CP476 Internet Computing TCP/IP 1 Lecture 3. TCP / IP Objective: A in-step look at TCP/IP Purposes and operations Header specifications Implementations.
CSE331: Introduction to Networks and Security Lecture 10 Fall 2002.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
CS155b: E-Commerce Lecture 4: Jan 18, 2001 How Does the Internet Work? (continued) Acknowledgement: J. Rexford and Lessons Learned From Netscape.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Network Layer Packet Forwarding IS250 Spring 2010
CPSC156a: The Internet Co-Evolution of Technology and Society Lecture 3: September 11, 2003 Internet Basics, continued Acknowledgments: R. Wang and J.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
CSCI 4550/8556 Computer Networks Comer, Chapter 20: IP Datagrams and Datagram Forwarding.
Networking and Internetworking: Standards and Protocols i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
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.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
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.
Transport Layer TCP and UDP IS250 Spring 2010
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?
Internet Technologies and Applications
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
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.
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.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Dr. John P. Abraham Professor UTPA
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,
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
1 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
Transport Protocols.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
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).
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
1 Transmission Control Protocol (TCP) RFC: Introduction The TCP is intended to provide a reliable process-to-process communication service in a.
Process-to-Process Delivery:
Two Transport Protocols Available Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Provides unreliable transfer Requires minimal – Overhead.
Introduction to TCP/IP networking
IP : Internet Protocol Surasak Sanguanpong
Computer Networking TCP/IP Part 2
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

CS155b: E-Commerce Lecture 3: Jan. 21, 2003 How Does the Internet Work? (continued) Acknowledgements: J. Rexford and V. Ramachandran

Announcement Professor Feigenbaum’s office hours are canceled on Thursday, 1/23. The TA will hold usual office hours on Wednesday, 1/22, from 3-4pm.

Layering in the IP Protocols Internet Protocol Transmission Control Protocol User Datagram Protocol Telnet HTTP (Web) SONETATM Ethernet Simple Network Management Domain Name Service

Internet Architecture ISP 1 ISP 2 ISP 3 NAP commercial customer access router gateway router dial-in access destination interdomain protocols intradomain protocols private peering

The Physical Layer A network spans different hardware. Physical components can work however they want, as long as the interface between them is consistent. Then, different hardware can be connected. dial-in access Ethernet cable server Ethernet switch

Internet Protocol (IP): gives a standard way to “package” messages across different hardware types. The Role of the IP Layer modem access point PPP hub server 10BaseT Ethernet … … FDDI 100BaseT Ethernet router 1. Message is put in IP packet. 2. Dial-up hardware gets packet to router (however it wants, but intact). 3. Routers look at destination, decide where to send it next. 4. Packet gets to destination network. 5. Original message extracted from packet.

IP Connectionless Paradigm No error detection or correction for packet data –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”) –Send can slow down in response to loss or delay

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-byte Header

Main IP Header Fields Version number (e.g., version 4, version 6) Header length (number of 4-byte words) Header checksum (error check on header) Source and destination IP addresses Upper-level protocol (e.g., TCP, UDP) Length in bytes (up to 65,535 bytes) IP options (security, routing, timestamping, etc.) TTL (prevents messages from looping around forever; packets “die” if they “get lost”)

Adding Some Functionality More guarantees, e.g., that packets go in order, require more work at both ends. Solution: add another layer (e.g., TCP) original msg TCP Source IP original msg TCP Destination IP hardware Encapsulation msg TCP hdr msg TCP hdr IP hdr (or without TCP)

Transmission Control Protocol (TCP) Byte-stream socket abstraction for applications Retransmission of lost or corrupted packets Flow-control to respond to network congestion Simultaneous transmission in both directions Multiplexing of multiple logical connections sourcenetworkdestination TCP connection

TCP Header 16-bit destination port number 32-bit sequence number 32-bit acknowledgement number 16-bit TCP checksum Options (if any) Payload 20-byte Header 16-bit source port number 16-bit window size 4-bit header length FINFIN SYNSYN RSTRST PSHPSH ACKACK URGURG 16-bit urgent pointer

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

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 Retransmission from sender –Sender retransmits lost/corrupted packets –Receiver reassembles and reorders packets –Receiver discards corrupted and duplicated packets Packet loss rates are high (e.g., 10%), causing significant delay (especially for short Web transfers)!

TCP Flow Control Packet loss used to indicate network congestion –Router drops packets when buffers are (nearly) full –Affected TCP connection reacts by backing off Window-based flow control –Sender limits number of outstanding bytes –Sender reduces window size when packets are lost –Initial slow-start phase to learn a good window size TCP flow-control header fields –Window size (maximum # of outstanding bytes) –Sequence number (byte offset from starting #) –Acknowledgement number (cumulative bytes)

User Datagram Protocol (UDP) Some applications do not want or need TCP –Don’t need recovery from lost or corrupted packets –Don’t want flow control to respond to loss/congestion Fraction of UDP packets is rapidly increasing –Commonly used for multimedia applications –UDP traffic interferes with TCP performance –But, many firewalls do not accept UDP packets Dealing with the growth in UDP traffic –Pressure for applications to apply flow control –Future routers may enforce “TCP-like” behavior –Need better mathematical models of TCP behavior

Getting from A to B: Summary Need IP addresses for: Self (to use as source address) DNS Server (to map names to addresses) Default router to reach other hosts (e.g., gateway) Use DNS to get destination address Pass message through TCP/IP handler Send it off! Routers will do the work: Physically connecting different networks Deciding where to next send packets (HOW??)

Connecting Networks AOL Autonomous System (AS) EarthLink Autonomous System (AS) WorldNet Autonomous System:A collection of IP subnets and routers under the same administrative authority. Interior Routing Protocol (e.g., Open Shortest Path First) Exterior Routing Protocol (e.g., Border Gateway Protocol)

Where to Go Next Routers contain a forwarding table that pairs destination with next hop (on what physical wire to send msg.). The table gets populated with information learned internally (e.g., OSPF) and externally (e.g., BGP). OSPF and BGP are protocols that communicate knowledge about destinations between routers.

Open Shortest-Path First (OSPF) Routing Network is a graph with routers and links –Each unidirectional link has a weight (1-63,535) –Shortest-path routes from sum of link weights Weights are assigned statically (configuration file) –Weights based on capacity, distance, and traffic –Flooding of info about weights and IP addresses Large networks can be divided into multiple domains

Example Network and Shortest Path link router OSPF domain / /24, / /24, / /24

IP Routing in OSPF Each router has a complete view of the topology –Each router transmits information about its links –Reliable flooding to all routers in the domain –Updates periodically or on link failure/installation Each router computes shortest path(s) –Maintenance of a complete link-state database –Execution of Dijkstra’s shortest-path algorithm Each router constructs a forwarding table –Forwarding table with next hop for each destination –Hop-by-hop routing independently by each router

OSPF Won’t Work Between Companies OSPF nodes are managed by the same authority. They have a common goal (find shortest path). Domain is small enough that nodes can flood each other with information. Across companies, business relationships determine routing policy. More complicated!

Business Relationships Connect the Internet AT&T Large Provider UUNet Tier 1 Middle Tiers Small Customers Big Company ISP peering relationship customer relationship

Border Gateway Protocol (BGP) BGP routes traffic through a network where the AS’s can be connected in any way. Three types of AS’s: stub (local traffic only); multihomed (multiple connections but local traffic only); transit (“thru” and local traffic). AS 1 (transit) AS 6 (stub) AS 4 (transit) AS 5 (transit) AS 2 (multihomed) AS 3 (multi- homed)

Border Gateway Protocol (BGP) Concepts Reachability: from one AS, what other AS’s can be reached from it? Every AS has a BGP Speaker node that advertises its reachability info by sending complete paths to reachable networks. Given advertised updates, we calculate loop-free routes to networks. Problem of scale: too many networks; don’t know how an AS works, so it’s hard to determine cost to send through each.

BGP Preferences Nodes have to choose a path from all those advertised by their neighbors. BGP table contains all the collected routes and their local preference. Choose route with highest rank. How to set rank? –Based on routing policy: prefer customers first, then peers, then upstream providers. –Other factors? Geography, special agreements with neighbors (see HW problem for example).

References For more information, see: Peterson and Davie, Computer Networks: A Systems Approach. Morgan Kaufmann Publishers, or: RFCs that define the protocols (see “Useful Links” page on course home page).

Homework Assignment For January 23 Chapter 2 of Text. Chapter 4 of Blown to Bits, Evans and Wurster, HBS Press: (Available in print form only) First written HW, due 1/28, is now available online. (