1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols Introduction Instructor: Dr. Mohamed Hefeeda
2 Course Objectives Understand principles of designing and operating computer networks structure and protocols of the Internet services that can/cannot be offered by the Internet Know how to analytically analyze performance of a system/protocol implement network protocols and applications And, more importantly, … Have fun!
3 Course Info Most of the course will be lectures given by the instructor Last 2-3 weeks, each student presents a paper on one of the current hot topics Course web page Or access it from my web page:
4 Course Info: Textbooks and References Kurose and Rose, Computer Networking: A top- down Approach Featuring the Internet, 2005 Background materials Chapters 6 and 7: Wireless and Multimedia Networking Hassan and Jain, High Performance TCP/IP Networking, 2004 Several chapters on analyzing TCP/IP in different environments Stallings, High-speed Networks and Internets: Performance and Quality of Service, 2002 Three chapters on (basics of) probability and queuing Papers: will be posted on the course web page
5 Course Info: Grading Homework: 20% 3 – 4 problem sets Projects: 35% Several projects; some in group of two students Class participation: 10% Ask and answer questions Present one chapter/paper Final exam: 35% Comprehensive
6 Course Info: Topics Internet Architecture and Services TCP/IP Protocol Suit Inter- and Intra-domain Routing Protocols Introduction to Performance Modeling and Evaluation TCP/IP Performance Modeling in Different Environments Quality of Service Support in the Internet Wireless Networks Multimedia Networking Overlays and Peer-to-Peer Computing
7 Basic Networking Concepts
8 Review of Basic Networking Concepts Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing Transport layer Reliability and congestion control TCP, UDP Link Layer Multiple Access Protocols Ethernet
9 The Internet Millions of hosts (end systems) Inter-connected, running network apps Diverse communication links fiber, copper, radio, satellite Routers forward packets Internet: “network of networks” loosely hierarchical Public, versus private intranet local ISP company network regional ISP router workstation server mobile
10 Internet structure: network of networks roughly hierarchical at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable and Wireless), national/international coverage treat each other as equals Tier 1 ISP Tier-1 providers interconnect (peer) privately NAP Tier-1 providers also interconnect at public network access points (NAPs)
11 Tier-1 ISP: e.g., Sprint Sprint US backbone network Seattle Atlanta Chicago Roachdale Stockton San Jose Anaheim Fort Worth Orlando Kansas City Cheyenne New York Pennsauken Relay Wash. DC Tacoma DS3 (45 Mbps) OC3 (155 Mbps) OC12 (622 Mbps) OC48 (2.4 Gbps) … to/from customers peering to/from backbone ….…. … … … POP: point-of-presence
12 Internet structure: Tier-2 ISPs “Tier-2” ISPs: smaller (often regional) ISPs Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs Tier 1 ISP NAP Tier-2 ISP Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet Tier-2 ISP is customer of tier-1 provider Tier-2 ISPs also peer privately with each other, interconnect at NAP
13 Internet structure: Tier-3 ISPs “Tier-3” ISPs and local ISPs last hop (“access”) network (closest to end systems) Tier 1 ISP NAP Tier-2 ISP local ISP local ISP local ISP local ISP local ISP Tier 3 ISP local ISP local ISP local ISP Local and tier- 3 ISPs are customers of higher tier ISPs connecting them to rest of Internet
14 Internet structure: packet journey a packet passes through many networks! Tier 1 ISP NAP Tier-2 ISP local ISP local ISP local ISP local ISP local ISP Tier 3 ISP local ISP local ISP local ISP
15 Review of Basic Networking Concepts Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing Transport layer Reliability and congestion control TCP, UDP Link Layer Multiple Access Protocols Ethernet
16 Protocol Layers Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks?
17 ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival airport intermediate air-traffic control centers airplane routing ticket (complain) baggage (claim gates (unload) runway (land) airplane routing ticket baggage gate takeoff/landing airplane routing Layering of Airline Functionality Layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below
18 Why layering? Dealing with complex systems: explicit structure allows identifying complex relationships among system’s pieces modularization eases maintenance, updating of system change of implementation of layer’s service transparent to rest of system e.g., change in gate procedure doesn’t affect rest of system What is the downside of layering?
19 Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: host-host data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements PPP, Ethernet physical: bits “on the wire” application transport network link physical
20 datagram frame HtHt HnHn HlHl M HtHt HnHn M segment HtHt M message M HtHt HnHn HlHl M HtHt HnHn M HtHt M M application transport network link physical application transport network link physical link physical network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn HlHl M HtHt HnHn HlHl M source destination router switch Encapsulation
21 Review of Basic Networking Concepts Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing Transport layer Reliability and congestion control TCP, UDP Link Layer Multiple Access Protocols Ethernet
22 Internet Services View the Internet as a communication infrastructure that provides services to apps Web, , games, e-commerce, file sharing, … Two communication services Connectionless unreliable Connection-oriented reliable
23 Internet Services Connection-oriented Prepare for data transfer ahead of time establish connection set up state in the two communicating hosts Usually comes with reliability, flow and congestion control TCP: Transmission Control Protocol Connectionless No connection set up, simply send Faster, less overhead No reliability, flow control, or congestion control UDP: User Datagram Protocol How can we access these services?
24 Network (Socket) Programming Process sends/receives messages to/from its socket Socket analogous to door sending process shoves message out door sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet controlled by OS controlled by app developer Socket is the interface (API) between application and transport layer