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 HTTP Web Domain Name Service Telnet Transmission Control Protocol User Datagram Protocol Internet Protocol SONET Ethernet Simple Network Management ATM Internet Architecture interdomain protocols dial in access ISP 2 private peering intradomain protocols ISP 1 destination NAP gateway router access router ISP 3 commercial customer destination The Physical Layer A network spans different hardware Ethernet switch dial in access Ethernet cable server Physical components can work however they want as long as the interface between them is consistent Then different hardware can be connected The Role of the IP Layer Internet Protocol IP gives a standard way to package messages across different hardware types 3 Routers look at destination 1 Message is put in IP packet decide where to send it next 2 Dial up hardware gets packet to router however it wants but intact 4 Packet gets to destination network router router modem PPP FDDI access point router 5 Original message extracted from packet server 100BaseT Ethernet hub 10BaseT Ethernet 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 IP Packet Structure 4 bit 8 bit 4 bit Version Header Type of Service Length TOS 16 bit Identification 8 bit Time to Live TTL 8 bit Protocol 16 bit Total Length Bytes 3 bit Flags 13 bit Fragment Offset 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 Encapsulation original msg original msg msg TCP or without TCP Destination or without TCP Source TCP IP IP hardware TCP hdr IP hdr msg TCP hdr msg 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 TCP connection directions Multiplexing of multiple logical connections source network destination TCP Header 16 bit source port number 16 bit destination port number 32 bit sequence number 32 bit acknowledgement number 4 bit header length U A P R S F R C S S Y I G K H T N N 16 bit window size 16 bit urgent pointer 16 bit TCP checksum Options if any Payload 20 byte Header Establishing a TCP Connection FIN Data ACK C FIN A ACK K A CK SYN A SY N B time 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 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 Packet loss rates are high e g 10 packets 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 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 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 Autonomous System AS Autonomous System AS EarthLink AOL 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 6 8 9 0 24 7 0 0 0 8 5 5 5 0 24 2 3 2 1 1 1 3 link router 5 12 34 0 0 16 OSPF domain 4 3 1 2 3 0
View Full Document