750 likes | 851 Views
The Internet and TCP/IP. 45-879: Session #2. The Internet. 30 years ago the DoD began funding research in computer networks ARPANET inaugurated in 1969 emphasis on Remote Job Entry Has evolved today to encompass: > 1,000,000 interconnected networks >200 countries 6 million domains
E N D
The Internet and TCP/IP 45-879: Session #2
The Internet • 30 years ago the DoD began funding research in computer networks • ARPANET inaugurated in 1969 • emphasis on Remote Job Entry • Has evolved today to encompass: • > 1,000,000 interconnected networks • >200 countries • 6 million domains • more than 10 petabytes (1016) per month over multiple backbones
Some Definitions • An internet: A network of networks of computer hosts able to seamlessly communicate - usually through the Internet Protocol (IP) and services • Intranet: An Internet within an organization • The Internet: More than 100,000 internets which are linked through public Internet Service Providers for the exchange of traffic • Extranet: A closed network for a corporation and its trading partners.
The Enterprise Intranet Every machine transparently connected to every other Outside World
Internet Philosophy • Peer to Peer Network • every Host able to communicate with every other host • End-to-end design principle • Assume end systems are smart • Maximize functionality in the end systems • “stupid networks” • Internet Protocol provides “glue” for running over a variety of subnetwork types • Network merely carries packets. Services are provided by applications running on Hosts • Rough consensus and running code
Internet Architecture APPLICATION Electronic Mail Video Server Voice Web Browsing Financial Services IP ADSL Wireless LANs Private Lines Satellite ATM SMDS Dial-up SONET Frame Relay CableModem Access DWDM
A Network of Networks • Q: Who Manages the Internet? • A: No One • The Internet is a collection of independently operated and managed networks that agree to exchange traffic using open standards
TCP/IP STANDARDS BODIES The Internet Society Internet Architecture Board RFCs Internet Standards Internet Engineering Steering Group Internet Engineering Task Force 120+ working groups in 8 Areas
TCP/IP Standards Process nope IETF working group Internet Draft Is it nifty yet? Tinker with it yeah! not yet... Do they interoperate ? Ask IAB for "proposed" Proposed Standard Build at least two imple- mentations refused yeah! almost... Ask IAB for "draft" Draft Standard Is it really nifty? refused Field test extensively yeah! RFC 2500 ”Internet Official Protocol Standards" Internet Standard refused Ask IAB for "final"
Internet Hosts Source: http://www.netsizer.com/
Internet Hosts (000s) 1989-2001 Source: Vint Cerf, MCI
Regional Growth Projections 100,000,000 Host Computers 10,000,000 1,000,000 100,000 North America Europe, West 10,000 CC&S America Europe, East Africa 1,000 Pacific Asia Middle East 100 Dec.91 Dec.92 Dec.93 Dec.94 Dec.95 Dec.96 Dec.97
US Internet User Trends US has 50% of total Internet population
Generic Network Switching Switching Node Node Trunks Terminals Switching Switching Node Node Access Lines
Types of Switching • Circuit Switching • a fixed capacity path from origin to destination is committed for the duration of a “call” • Store and Forward Message Switching • the full capacity of a channel is committed from one node to the next for the duration of a message. • Store and Forward Packet Switching • the full capacity of a channel is committed from one node to the next for the duration of a variable length packet with a maximum size of 100 - 10,000 octets. • Cell Switching • full capacity of a channel is committed from one node to the next for the duration of a short fixed length packet = 53 octets
Message Switching vs Packet Switching vs Cell Switching • Message switching • telegraph operators receiving and forwarding messages • Packet Switching • allows short messages not to get delayed behind longer messages • Cell Switching • fixed length cells easier to switch in hardware • can handle higher speeds • short cells necessary to avoid speech packetization delay problems
Packet Switching • Each packet of information carries address information in a header • Packet switches route packets to destination • Switches (routers) connected by direct links or by a subnetwork
Internetwork Store and Forward Network A Router Network B
Internetworking Wireless LAN Ethernet ATM Cable Modem FDDI xDSL Private Line
AP 'X' AP 'Y' LAYERED PROTOCOLS Application Application AP Application Data Transport TH Transport Transport Data Network NH Network Network Data Data Link F A C FCS F Data Link Link Level Data Data Link Frame Physical BITS Physical Communication Path Communications path Physical Transmission Media
Internet DatagramEncapsulated in Subnetwork Frame Internet Packet Dest Address Source Address Data Network # Host # Network # Host # Subnetwork Source Address Internet Packet Subnetwork Dest Address Subnetwork Frame
IP Packet Header • Shown in rows of 32 bits each Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Packet Header • Version • Version number of IP protocol • Current version is Version 4 (No 1, 2, or 3 were used) • Moving to Version 6 (No 5 was used) • Version 4 Header shown Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Packet Header • Type of Service (TOS) • Allows different types of service to be requested • Initially, meaning was not defined well • Currently being defined Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Packet Header • Time to Live • Initially set by sending host transport process • Up to 255 • Decremented by each router • At 0, discarded to avoid infinite loops Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Packet Header • Protocol • Value indicates what is in the data field • TCP-PDU is only one possibility Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Packet Header • Header Checksum • Checks for error in the header only • Bad headers can harm the network • Very little work compared to checking the entire packet • If error found, packet is simply discarded Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Indication (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any)
IP Addresses • Each host has an internet address • Addresses are hierarchical • network number and host number • Original design: 4 classes of networks type network host A 0 7 24 B 10 14 16 C 110 21 8 D 1110 28 Example: 128.2.237.54
Subnetworks • If subnetwork is other than point to point, IP packet must be encapsulated in subnetwork packet, and forwarded over the subnetwork to the proper destination • Subnetwork addresses • Vary by type of subnetwork • IEEE 802 LANs 48 bit number • Point-to-Point Protocol (PPP) 8 bit number • ATM various (e.g. E.164)
Flag Address Control Data Frame Flag • Check Point-to-Point Protocol Frame • Flag: identifies beginning of frame 01111110 • Address: used to distinguish terminals on a multi-drop line • Control: type of frame; sequence numbers • Data: contains higher layer protocols and data • Frame Check: a checksum calculated on the preceeding data. • if checksum doesn’t match data can detect transmission errors • Flag: terminates frame
Preamble Dest Source Length Data PAD FCS Ethernet Frame • Preamble: identify start of a frame • Dest and Source: Ethernet addresses • Length: how many bytes of data • Data • PAD: padding if data not an integer multiple of 4 bytes • FCS: 32 bit Frame Check Sequence for error detection
Internetwork Store and Forward B d A s DATA Host Address on Network B Network B Source host # s Source Process Network Interface Routing Encapsulation Host Address on Network B Router # r Encapsulation Network Interface Routing Network Interface Decapsulation Host Address on Network A Decapsulation Network Interface Routing Host Address on Network A Dest Process Network A B d A s DATA Destination Host #d
Router Tables To reach host on Net: Send to Host: • Use of hierarchical IP addresses simplifies routing • Router need only know how to reach other nets, not every possible host • Most hosts have a default router for sending anywhere off the subnetwork A <direct to host> R1 elsewhere
Internetwork Store and Forward B d A s DATA Host Address on Network B Network B Source host # s Source Process Network Interface Routing Encapsulation Host Address on Network B Router # r Encapsulation Network Interface Routing Network Interface Decapsulation Host Address on Network A Decapsulation Network Interface Routing Host Address on Network A Dest Process Network A B d A s DATA Destination Host #d
Names and Addresses • What is the difference between a name and an address? • nothing! • A name is a binding from a domain of labels to a range of objects • Marvin Sirbu ==> <a particular person> • An "address" at one layer is a "name" at another layer • Example: • the print service named mango is located at the address "morse.ini.andrew.cmu.edu" • the host "named" morse.ini.andrew.cmu.edu is bound to the internet address 128.2.237.8 • the "name" 128.2.237.8 is bound to the Ethernet address "08002B129F93" • At each router in a network we need to bind the destination "name" to an "address" which is the next machine to which the packet should be sent.
Types of Names • Hierarchical • disjointly partitions the name space • hierarchy may or may not be related to geography • Advantages • can partition name assignment and resolution • Disadvantages • If name hierarchy based on geographical components, then when the object moves, its name changes • If the Duke of York moves to London, does his name change to 'Duke of London'? • Flat or unstructured • mobile objects can take their addresses • name resolution is more difficult
How Are Names Resolved? • Use a mapping table • example: /etc/hosts • Progressive resolution of hierarchical names • resolution of a name component indicates location of table where next component can be resolved • last component resolves to addresses • example: Internet Domain Names
Domain Name System • Translates “Domain names” into IP addresses • DNS uses a hierarchical naming sceme • hawaii.cmcl.cs.cmu.edu • Main idea: a separate authority for the namey.z manages the name space X.y.z • The CMC lab manages X.cmcl.cs.cmu.edu • Computer science manages X.cs.cmu.edu • CMU manages X.cmu.edu • Naming authority is distributed • Who manages the root?
DNS Lookup c.cs.ucb.edu • Recursive calls involve forwarding requests • Alternative: return the address a.cs.cmu.edu cs.cmu.edu ISPs may operate Domain Name Servers for their customers a.root-servers.net ucb.edu Authoritative records are always correct. Cached records have to be flushed periodically cs.ucb.edu
How Are Names Resolved? • Resolution by exhaustive query • ask each object of type 'address', "Is your name, '<name>'....?" • broadcast protocol
Address Resolution Protocol (ARP) • Consider: sending host wants to send a packet to destination host #r on network A • Problem: how to determine the LAN [Ethernet] address for host #[A,r]? • Solution: broadcast a packet to all hosts on LAN A with the query "Are you host #[A,r]' • broadcast easy on shared medium LAN • all hosts on LAN A must process all ARP request packets • may cause performance problems for large networks • host #[A,r] responds by return packet to sender with correct LAN address. • cache the LAN address for host #[A,r] so it can be used for future packets sent to [A,r].
Internetwork Store and Forward B d A s DATA Host Address on Network B Network B Source host # s Source Process Network Interface Routing Encapsulation Host Address on Network B Router # r Encapsulation Network Interface Routing Network Interface Decapsulation Host Address on Network A Decapsulation Network Interface Routing Host Address on Network A Dest Process Network A B d A s DATA Destination Host #d
Source Port Dest Port Sequence Number Acknowledgement HL/Flags Window D. Checksum Urgent Pointer Options... TCP/IP • The Internet Protocol (IP) provides a “best effort” service • most of the time packets arrive intact at their destination • may arrive out of order because they take different routes • Transmission Control Protocol (TCP) • an end-to-end protocol between origin and destination hosts • provides for reliable, sequenced communications • checksums • sequence numbers • positive acknowledgements • flow control
Transmission Control Protocolis End-to-End End End System System End-to-End TCP Connection IPRouting Bridge Repeater Physical Media
TCP Sequence Numbers • Each packet has a sequence number and a data checksum • Receiver sends positive acknowledgement when packets received without error • receiver uses sequence numbers to detect out of order or missing packets • Sender retransmits unacknowledged packets • Result: TCP delivers to application all data in order and without bit errors
TCP Flow Control • A single packet from receiver can acknowledge multiple data packets • Adjustable Window size determines maximum allowable number of unacknowledged packets • by delaying acknowledgements, receiver can avoid being overrun with data • Flow Control Window SizeMaximum Throughput = Roundtrip Time
TCP/IP • • • Time of Day Telnet FTP SMTP HTTP Transmission Control Protocol Unacknowledged Datagram Protocol Internet Control Message Protocol Internet Protocol Subnetwork A Subnetwork B