DOC PREVIEW
Yale CPSC 155 - How Does the Internet Work?

This preview shows page 1-2-24-25 out of 25 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS155a: E-CommerceLecture 4: Sept. 18, 2001How Does the Internet Work? (continued)Acknowledgements: J. Rexford and V. RamachandranLayering in theIP ProtocolsInternet ProtocolTransmission ControlProtocolUser Datagram ProtocolTelnetHTTP(Web)SONET ATMEthernetReal-TimeProtocolDomain NameServiceInternet ArchitectureISP 1ISP 2ISP 3NAPcommercialcustomeraccess routergateway routerdial-in accessdestinationdestinationinterdomainprotocolsintradomainprotocolsprivate peeringIP Connectionless Paradigm• No error detection or correction forpacket 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 delayIP Packet Structure4-bitVersion4-bitHeaderLength8-bitType of Service(TOS)16-bitTotal Length (Bytes)16-bit Identification3-bitFlags13-bit Fragment Offset8-bit Time to Live (TTL)8-bitProtocol16-bit Header Checksum32-bit Source IP Address32-bit Destination IP AddressOptions (if any)Payload20-byteHeaderMain 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.)Time-to-Live Field• Potential robustness problem– What happens if a packet gets stuck in a routing loop?– What happens 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– Discard generates “timer expired” message to source• Expiry message exploited in traceroute tool– Generate packets with TTL of i=1, 2, 3, 4, …– Extract router id from the “timer expired” message– Provides a way to gauge the path to destinationType-of-Service Bits• Initially, envisioned for type-of-service routing– Low-delay, high-throughput, high-reliability, etc.– However, current IP routing protocols are static– And, most routers have first-in-first-out queuing– So, the ToS bits are ignored in most routers today• Now, heated debate for differentiated services– ToS bits used to define a small number of classes– Affect router packet scheduling and buffering polices– Arguments about consistent meaning across networksTransmission 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 connectionssource network destinationTCP connectionTCP Header16-bit destination port number32-bit sequence number32-bit acknowledgement number16-bit TCP checksumOptions (if any)Payload20-byteHeader16-bit source port number16-bit window size4-bitheaderlengthFINSYNRSTPSHACKURG16-bit urgent pointerEstablishing 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 bytesSYNSYNACKACKDataFINFINACKACKtimeABLost 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 packetsPacket loss rates are high (e.g., 10%),causing significant delay (especially forshort Web transfers)!TCP Flow Control• Packet loss used to indicate network congestion– Router drop 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• Amount 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 behaviorGetting an IP PacketFrom A to B• Host must know at least three IP addresses– Host IP address (to use as its own source address)– Domain Name Service (to map names to addresses)– Default router to reach other hosts (e.g., gateway)• Simple customer/company– Connected to a single service provider– Has just one router connecting to the provider– Has a set of IP addresses allocated in advance– Does not run an Internet routing protocolConnecting NetworksAOLAutonomousSystem (AS)EarthLinkAutonomousSystem (AS)WorldNetAutonomous System: A collection of IP subnets and routersunder the same administrative authority.Interior Routing Protocol (e.g., Open Shortest Path First)Exterior Routing Protocol (e.g., Border Gateway Protocol)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 intomultiple domainsExample Network and Shortest Path3221131453linkrouterOSPF


View Full Document

Yale CPSC 155 - How Does the Internet Work?

Documents in this Course
Portals

Portals

16 pages

Lecture 4

Lecture 4

30 pages

Lecture 2

Lecture 2

20 pages

Lecture 2

Lecture 2

19 pages

Lecture 9

Lecture 9

25 pages

Lecture 7

Lecture 7

23 pages

Load more
Download How Does the Internet Work?
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view How Does the Internet Work? and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view How Does the Internet Work? 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?