Outline Major Internet components Network architecture and protocols Switching strategies Internet protocol stack, history to network performance TCP/IP Internet Motivations Most networks are established and maintained by independent entities. Recognized need for universal connection for computer networks, as is provided by the phone network for voice Originally implemented in software rather than hardware. Why? True or false? No universal hardware network can be built for data. 1
Internet Services The Internet provides a universal connection and services independent of technology Layered network architecture Each layer provides services to higher layer Collectively, provides end-to-end connections (incl. end-to-end reliability, as required) Protocol standards provided at each layer, including the application layer (examples: email, ftp, http, etc.) Internet protocol stack application: protocols and libraries supporting networked applications FTP, SMTP, HTTP transport: process-to-process data transfer, flow control, reliability TCP, UDP network: routing of datagrams from source to destination, congestion control IP, routing protocols link: data transfer between neighboring network elements, error control, frames, sometimes flow control Ethernet, PPP physical: defines how to send bits on the wire application transport network link physical 2
Host-to-Network Layer Note: Many texts refer to the TCP/IP protocol stack as a four layer model The link layer and physical layer are combined into a host-to-network, or network interface, layer Driver, interface card and signaling method combined into one layer. Arguments can be made either way for a four or five layer model ISO/OSI reference model presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machinespecific conventions session: synchronization, checkpointing, recovery of data exchange Internet stack missing these layers! these services, if needed, must be implemented in application Often integrated in middleware services application presentation session transport network link physical 3
Physical Layer Defines how to transmit and receive bits on the physical medium Issues: Analog or digital transmission (?) Definition (signal) of 0 and 1 bits Bit rate Type of multiplexing Circuit or packet switching (this layer?) NOT the physical medium (e.g., wire,fiber) Link Layer Provides (close to) error-free bit stream to network layer Issues sender breaking data stream into frames error correction and/or detection on frames receiver acknowledging good frames and deleting duplicates Sometimes provides flow control on the channel May have a medium access control sublayer Supports physical addresses 4
Internet Protocol (IP) Basic unit of data transfer is IP datagram Unreliable, connectionless datagram delivery among machines Performs routing using IP addresses IPv6 developed in the 1990 s and deployed The Internet currently operates both IPv4 and IPv6 Major difference between versions? Transport Layer in the Internet Two main flavors UDP: connectionless, best effort datagram service How different from IP? TCP: connection-oriented reliable stream service How to implement reliability? 5
User Datagram Protocol (UDP) Enables processes to send datagrams to one another. Unreliable, connectionless, no ordering Uses abstraction called protocol port within machine to identify endpoint (process) Why not use process id? Transmission Control Protocol (TCP) Full-duplex, reliable transport service Flow control and congestion control Stream delivery service, that is, precisely the same sequence of bytes is delivered to the receiver as was transmitted by the sender Like UDP, uses protocol port to match stream to process Does not include details of application interface (e.g., sockets) 6
Internet History 1961-1972: Early packet-switching principles 1961: Kleinrock - queueing theory shows effectiveness of packet switching 1964: Baran packet switching in military nets 1967: ARPAnet conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational 1972: ARPAnet public demonstration NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes Internet History 1972-1980: Internetworking, new and proprietary nets 1970: ALOHAnet satellite network in Hawaii 1971: Initial work on ftp 1974: Vinton Cerf (developer of ARPAnet NCP protocol) and Bob Kahn of DARPA start developing new protocols for interconnecting networks 1974: First specification of TCP 1976: Ethernet at Xerox PARC (Bob Metcalf, David Boggs) 1978: Stable version of TCP (v4) 1979: ARPAnet has 200 nodes 7
Internet Philosophy Cerf and Kahn s internetworking principles: minimalism, autonomy - no internal changes required to interconnect networks best effort service model stateless routers decentralized control How does this differ from the traditional model in telephony? Why this model? Internet History 1980: ARPANET crashes due to routing protocol failure 1982: US DoD declares TCP/IP standard for all military networking 1982: SMTP e-mail protocol defined 1983: completion of deployment of TCP/IP on the ARPANET 1983: DNS defined for name-to-ip-address translation 1985: TCP-based ftp protocol defined 1988: TCP congestion control implemented 1988: Robert Morris s worm program bring Internet nodes to their knees. 8
Internet History 1990, 2000 s: commercialization, the Web, new apps Early 1990 s: ARPANET decommissioned 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) early 1990s: Web hypertext concept [Bush 1945!] 1990: HTML, HTTP: Berners-Lee 1993: Mosaic, later Netscape late 1990 s: commercialization of the Web Late 1990 s 2000 s: more killer apps: instant messaging, P2P file sharing network security to forefront est. 50 million host, 100 million+ users backbone links running at Gbps Internet History 2007-current: ~1 billion hosts Voice, Video over IP P2P applications: BitTorrent (file sharing) Skype (VoIP), PPLive (video), others more applications: YouTube, Facebook, gaming wireless, mobility continue to expand 9
The Current Internet: Network edge: applications and hosts access networks, physical media: wired, wireless communication links Network core: interconnected routers network of networks The network edge: End systems (hosts): run application programs e.g. Web, email at edge of network Client/server model client host requests, receives service from always-on server e.g. Web browser/server; email client/server Peer-peer model: minimal (or no) use of dedicated servers e.g. Skype, BitTorrent peer-peer client/server 10
Internet structure: network of networks a packet passes through many networks! Tier 3 Tier-2 Tier-2 Tier 1 Tier 1 Tier 1 Tier-2 Tier-2 Tier-2 Real Internet routes and delays #Hops: number of links crossed in network path. What do real Internet delay & loss look like? Traceroute program: provides delay measurement from source to router along end-end Internet path towards destination. For all i: sends three packets that will reach router i on path towards destination router i will return packets to sender sender times interval between transmission and reply. 3 probes 3 probes 3 probes Visualization example: http://www.yougetsignal.com/tools/visual-tracert/ http://www.monitis.com/traceroute/ 11
Real Internet delays and routes traceroute: gaia.cs.umass.edu to www.eurecom.fr Three delay measurements from gaia.cs.umass.edu to cs-gw.cs.umass.edu 1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms 8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms trans-oceanic link * means no response (probe lost, router not replying) CSE to that other school <1026 arctic:~ >traceroute www.umich.edu traceroute to www.umich.edu (141.211.144.188), 30 hops max, 40 byte packets 1 cse-gw.cse.msu.edu (35.9.20.1) 0.607 ms 1.031 ms 1.459 ms 2 eng-cps-gw.cse.msu.edu (35.9.21.1) 0.249 ms 0.252 ms 0.263 ms 3 core-srx-xe010-1.net.msu.edu (35.9.100.129) 0.572 ms 0.554 ms 0.551 ms 4 core-mx-xe210-1.net.msu.edu (35.9.100.130) 1.656 ms 1.673 ms 1.628 ms 5 xe-0-1-0x178.wsu5.mich.net (192.122.183.233) 46.632 ms 46.659 ms 46.562 ms 6 v-bin-arbl-i2-wsu5.r-bin-arbl.umnet.umich.edu (192.12.80.70) 5.271 ms 5.233 ms 5.276 ms 7 l3-barb-rarb.r-arbl.umnet.umich.edu (192.12.80.128) 5.258 ms 5.208 ms 5.290 ms 8 l3-arbl-fxb.r-fxb.umnet.umich.edu (141.211.0.136) 5.416 ms 5.586 ms 5.470 ms 9 d-aldc1-fxb.r-aldc-a.umnet.umich.edu (198.108.11.161) 5.373 ms 5.355 ms 5.389 ms 10 www.umich.edu (141.211.144.188) 5.323 ms 5.400 ms 5.363 ms 12
Trans-Pacific Example <1025 arctic:~ >traceroute www.tsinghua.edu.cn traceroute to www.tsinghua.edu.cn (121.52.160.5), 30 hops max, 40 byte packets 1 cse-in-gw.cse.msu.edu (35.9.20.1) 2.249 ms 2.672 ms 3.093 ms 2 eng-cps-gw.cse.msu.edu (35.9.21.1) 0.273 ms 15.460 ms 15.451 ms 3 core-srx-xe010-1.net.msu.edu (35.9.100.129) 0.692 ms 0.686 ms 0.629 ms 4 core-mx-xe210-1.net.msu.edu (35.9.100.130) 1.867 ms 1.885 ms 1.851 ms 5 xe-0-1-0x178.wsu5.mich.net (192.122.183.233) 3.895 ms 3.818 ms 3.761 ms 6 198.109.37.22 (198.109.37.22) 21.771 ms 21.619 ms 21.623 ms 7 te3-1--210.tr01-asbnva01.transitrail.net (137.164.131.77) 24.613 ms 24.736 ms 24.665 ms 8 te4-1.tr01-chcgil01.transitrail.net (137.164.129.11) 24.217 ms 24.097 ms 24.136 ms 9 te4-1.tr01-sttlwa01.transitrail.net (137.164.129.2) 77.640 ms 77.630 ms 77.704 ms 10 te4-1--260.tr01-plalca01.transitrail.net (137.164.129.34) 96.226 ms 96.226 ms 96.262 ms 11 137.164.130.254 (137.164.130.254) 87.503 ms 87.747 ms 87.669 ms 12 202.97.51.205 (202.97.51.205) 239.389 ms 239.433 ms * 13 202.97.53.202 (202.97.53.202) 237.221 ms 237.281 ms 237.267 ms 14 202.97.57.214 (202.97.57.214) 243.415 ms 236.989 ms 236.972 ms 15 bj141-130-81.bjtelecom.net (219.141.130.81) 257.199 ms 257.247 ms 257.170 ms 16 bj141-131-14.bjtelecom.net (219.141.131.14) 232.808 ms 232.744 ms 232.994 ms 17 219.142.19.250 (219.142.19.250) 258.496 ms 258.249 ms 258.350 ms 18 211.151.88.249 (211.151.88.249) 269.982 ms 270.182 ms 270.578 ms 19 211.151.88.233 (211.151.88.233) 270.179 ms 270.506 ms 269.731 ms 20 211.151.88.218 (211.151.88.218) 252.947 ms 252.877 ms 252.815 ms 21 121.52.160.5 (121.52.160.5) 239.229 ms 239.352 ms 239.214 ms 13