Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 381 Introduction to computer networks Lecture 2 1/29/2015.

Similar presentations


Presentation on theme: "CS 381 Introduction to computer networks Lecture 2 1/29/2015."— Presentation transcript:

1

2 CS 381 Introduction to computer networks Lecture 2 1/29/2015

3 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching, packet switching, network structure 1.4 Delay, loss and throughput in packet-switched networks 1.5 Protocol layers, service models 1.6 Networks under attack: security 1.7 History Introduction 1-3

4 A closer look at network structure: network edge: applications and hosts Introduction 1-4 access networks Connects end system to 1 st router physical media: wired, wireless communication links network core: interconnected routers network of networks

5 Introduction 1-5 The network edge: End systems (hosts): All Internet applications are implemented at the end systems. HTTP, FTP, SSH, SCP, DNS, SMTP Reasons for this?

6 Introduction 1-6 Access networks and physical media Question: How to connect end systems to edge router? Most common ways: residential access networks Cable modems, DSL, Dial-Up modem NAT router with Wi-Fi, Ethernet institutional access networks (school, company) mobile access networks

7 Introduction 1-7 Access networks and physical media Two important characteristics of access networks bandwidth (bits per second) of access network Residential (Outgoing): 2Mbps – 50Mbps (and higher) Residential (Local): 11Mbps – 1.2Gpbs Institutional (Outgoing): 100s Mbps – multiple Gbps Institutional (Local): 54Mbps – 10Gpbs Mobile: Kbps - ~40Mbps shared or dedicated

8 telephone network Internet home dial-up modem ISP modem (e.g., AOL) home PC central office Problems: Extremely slow with max speed of 56 kbps ~42.5 hours to download 1GB worth of data ~4KHz bandwidth compared to 500MHz using CAT6a cable Have to choose: Computer or telephone. Circuit switched, non-shared access to ISP Dial-up Modem

9 telephone network DSL modem home PC home phone Internet DSLAM Existing phone line: 0-4KHz phone; 4-50KHz upstream data; 50KHz-1MHz downstream data splitter central office Digital Subscriber Line (DSL) Telephone line carries both digital and telephone signals Encoded at different frequencies. Phone line at 0 - 4KHz Upstream data at 4 - 50KHz(128 kbps - 1 mbps) Downstream data at 50KHz - 1MHz (1 - 2 megabits per second)  New technologies emerging for DSL: up to 1Gbps (~2016)

10 100 Mbps 1 Gbps server Ethernet switch Institutional router To Institution’s ISP Ethernet Internet access Typically used in companies, universities, etc 10 Mbps, 100Mbps, 1Gbps, 10Gbps Ethernet Multiple switches per building Serves rooms with Ethernet ports and Wi-Fi access points Fiber connection between switches

11 100 Mbps 1 Gbps server Ethernet switch Institutional router To Institution’s ISP Ethernet Internet access Few routers on campus Why? Campus network can be thought of as a large LAN (Local Area Network) Similar to your network at home, but with thousands of end systems Greater complexity, but basic topology is exactly the same Large number of switches allow local communication (layer 2 routing) Only communication off campus requires the use of routers (layer 3 routing)

12 Introduction 1-12 The Network Core Mesh of interconnected routers The fundamental question: how is data transferred through net? Compare telephone network and Internet Telephone network employs “circuit switching” resources necessary to make call are reserved for duration of communication

13 Introduction 1-13 Network Core: Packet Switching Internet is a packet switching network. Reservations not accepted No reserving of communication links, no guarantee of given bandwidth In fact, No guarantees at all! How can we demonstrate this? Ping command

14 Introduction 1-14 “Real” Internet delays and routes What do “real” Internet delay & loss look like? Traceroute program: Sends UDP packet to each router on the path from source to destination. Each router on the path sends back a “special” message to source Source tracks the time from when it sent the UDP packet and when it receives the message from the router. Actually sends three UDP packets to each router to provide three different timings.

15 Introduction Protocol “layers” Networks are complex, with many “pieces”: Hosts Clients/Servers Switches Layer 2 routing: MAC Routers Layer 3 routing: IP Links Copper, fiber, air Applications HTTP, FTP, SCP Protocols IP, TCP, UDP Hardware Software 1-15

16 Introduction Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, 802.11 (WiFi), PPP physical: bits “on the wire” application transport network link physical 1-16

17 Introduction source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M network link physical link physical HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn M HtHt HnHn HlHl M router switch Encapsulation message M HtHt M HnHn frame 1-17

18 Introduction Internet history 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 demo NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes 1961-1972: Early packet-switching principles 1-18

19 Introduction 1970: ALOHAnet radio network in Hawaii 1974: Cerf and Kahn - architecture for interconnecting networks 1976: Ethernet at Xerox late70’s: proprietary architectures: DECnet, SNA, XNA late 70’s: switching fixed length packets (ATM precursor) 1979: ARPAnet has 200 nodes Cerf and Kahn’s internetworking principles: minimalism, autonomy - no internal changes required to interconnect networks best effort service model stateless routers decentralized control define today’s Internet architecture 1972-1980: Internetworking, new and proprietary nets Internet history 1-19

20 Introduction 1982: SMTP e-mail protocol defined 1983: deployment of TCP/IP 1983: DNS defined for name-to-IP-address translation 1985: ftp protocol defined 1988: TCP congestion control 100,000 hosts connected to confederation of networks 1980-1990: new protocols, a proliferation of networks Internet history 1-20

21 Introduction early 1990’s: ARPAnet decommissioned early 1990s: Web hypertext [Bush 1945, Nelson 1960’s] HTML, HTTP: Berners-Lee 1994: 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 1990, 2000’s: commercialization, the Web, new apps Internet history 1-21

22 Introduction 2005-present ~950 million hosts Smartphones and tablets Aggressive deployment of broadband access Increasing ubiquity of high-speed wireless access Emergence of online social networks: Facebook: ~1.2 billion users Service providers (Google, Microsoft) create their own networks Bypass Internet, providing “instantaneous” access to search, emai, etc. E-commerce, universities, enterprises running their services in “cloud” (eg, Amazon EC2) Internet history 1-22

23 Application Layer2-23 Application layer Goals: conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm peer-to-peer paradigm

24 Application Layer2-24 Application layer learn about protocols by examining popular application- level protocols HTTP Request/response protocol for exchanging information FTP Transfer files SMTP / POP3 / IMAP Email DNS Domain name to IP conversions creating network applications socket API

25 Application Layer2-25 Some network apps e-mail web text messaging remote login P2P file sharing multi-user network games streaming stored video (YouTube, Hulu, Netflix) voice over IP (e.g., Skype) real-time video conferencing social networking search …

26 Application Layer2-26 Creating a network app write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical

27 Application Layer2-27 Sockets 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 to deliver message to socket at receiving process Internet controlled by OS controlled by app developer transport application physical link network process transport application physical link network process socket

28 Application Layer2-28 DNS: services, structure why not centralize DNS? single point of failure traffic volume distant centralized database maintenance DNS services hostname to IP address translation host aliasing canonical, alias names mail server aliasing load distribution replicated Web servers: many IP addresses correspond to one name A: doesn’t scale!

29 2: Application Layer 29 Socket programming Socket API introduced in BSD4.1 UNIX, 1981 explicitly created, used, released by apps client/server paradigm two types of transport service via socket API: unreliable datagram reliable, byte stream-oriented a host-local, application-created, OS-controlled interface (a “door”) into which application process can both send and receive messages to/from another application process socket Goal: learn how to build client/server application that communicate using sockets

30 2: Application Layer 30 Socket-programming using TCP Socket: a door between application process and end-end- transport protocol (UCP or TCP) TCP service: reliable transfer of bytes from one process to another process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server internet

31 Transport Layer 3-31 Internet transport-layer protocols TCP: reliable, in-order delivery congestion control flow control connection setup UDP: unreliable, unordered delivery no-frills extension of “best-effort” IP Connectionless, unreliable UDP only offers process-to-process communication and error checking Services not available: delay guarantees bandwidth guarantees application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

32 2: Application Layer 32 Socket programming with TCP Client must contact server server process must first be running server must have created socket (door) that welcomes client’s contact Client contacts server by: creating client-local TCP socket specifying IP address, port number of server process When client creates socket: client TCP establishes connection to server TCP When contacted by client, server TCP creates new socket for server process to communicate with client allows server to talk with multiple clients source port numbers used to distinguish clients (more in Chap 3) TCP provides reliable, in-order transfer of bytes (“pipe”) between client and server application viewpoint


Download ppt "CS 381 Introduction to computer networks Lecture 2 1/29/2015."

Similar presentations


Ads by Google