Chap 1,2,3.pptx
Document Details
Uploaded by ForemostBigBen134
New York University
Full Transcript
Chapter 1 Introductio n A note on the use of these PowerPoint slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs...
Chapter 1 Introductio n A note on the use of these PowerPoint slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!) Computer If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Networking: A Top- For a revision history, see the slide note for this page. Down Approach Thanks and enjoy! JFK/KWR 8th edition Jim Kurose, Keith Ross All material copyright 1996-2020 Pearson, 2020 J.F Kurose and K.W. Ross, All Rights Reserved Introduction: 1-1 Chapter 1: introduction Chapter goal: Overview/roadmap: Get “feel,” “big What is the Internet? What is a picture,” introduction to protocol? terminology Network edge: hosts, access network, physical media more depth, detail Network core: packet/circuit later in course switching, internet structure Performance: loss, delay, throughput Protocol layers, service models Security History Introduction: 1-2 The Internet: a “nuts and bolts” view Billions of connected mobile network computing devices: national or global ISP hosts = end systems running network apps at Internet’s “edge” Packet switches: forward packets local or (chunks of data) ISP Internet regional routers, switches home network content Communication links provider fiber, copper, radio, network datacenter satellite network transmission rate: bandwidth Networks enterprise collection of devices, routers, network links: managed by an organization Introduction: 1-3 “Fun” Internet-connected devices Tweet-a-watt: monitor energy use bikes Pacemaker & Monitor Amazon Echo Web-enabled toaster + IP picture frame weather forecaster Internet refrigerator Slingbox: remote cars control cable TV Security Camera AR devices sensorized, scooters bed mattress Gaming devices Others? Internet phones Fitbit Introduction: 1-4 The Internet: a “nuts and bolts” view mobile network 4G Internet: “network of national or global ISP networks” Interconnected ISPs protocols are everywhere IP Streaming Skype video control sending, receiving of messages local or e.g., HTTP (Web), streaming regional ISP video, Skype, TCP, IP, WiFi, 4G, Ethernet home network content provider HTTP network Internet standards datacenter network Ethernet RFC: Request for Comments IETF: Internet Engineering TCP enterprise Task Force network WiFi Introduction: 1-5 The Internet: a “services” view Infrastructure that mobile network provides services to national or global ISP applications: Web, streaming video, Streaming video multimedia teleconferencing, Skype email, games, e-commerce, local or social media, provides inter-connected programming regional ISP appliances, interface … to distributed home network content provider applications: HTTP network datacenter “hooks” allowing network sending/receiving apps to “connect” to, use Internet enterprise transport service network provides service options, Introduction: 1-6 What’s a protocol? Human Network protocols: protocols: computers (devices) rather than “what’s the time?” humans “I have a question” all communication activity in Internet governed by protocols introductions Rules for: … specific messages Protocols define the format, sent order of messages sent and … specific actions taken when message received among network received, or other events entities, and actions taken on message transmission, receipt Introduction: 1-7 What’s a protocol? A human protocol and a computer network protocol: Hi TCP connection request Hi TCP connection response Got the time? GET http://gaia.cs.umass.edu/kurose_ro 2:00 ss time Q: other human protocols? Introduction: 1-8 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-9 A closer look at Internet structure mobile network Network edge: national or global ISP hosts: clients and servers servers often in data centers local or regional ISP home network content provider network datacenter network enterprise network Introduction: 1-10 A closer look at Internet structure mobile network Network edge: national or global ISP hosts: clients and servers servers often in data centers local or Access networks, physical regional ISP media: home network content provider wired, wireless network datacenter network communication links enterprise network Introduction: 1-11 A closer look at Internet structure mobile network Network edge: national or global ISP hosts: clients and servers servers often in data centers Access networks, physical local or regional media: ISP home network content wired, wireless communication provider network links datacenter network Network core: interconnected routers enterprise network network of networks Introduction: 1-12 Access networks and physical media Q: How to connect end mobile network systems to edge router? national or global ISP residential access nets institutional access networks (school, company) mobile access networks (WiFi, local or 4G/5G) regional ISP home network content provider network datacenter network enterprise network Introduction: 1-13 Access networks: cable-based access cable headend … cable splitter modem C O V V V V V V N I I I I I I D D T D D D D D D A A R E E E E E E T T O O O O O O O A A L 1 2 3 4 5 6 7 8 9 Channels frequency division multiplexing (FDM): different channels transmitted in different frequency bands Introduction: 1-14 Access networks: cable-based access cable headend … cable splitter cable modem modem CMTS termination system data, TV transmitted at different frequencies over shared cable ISP distribution network HFC: hybrid fiber coax asymmetric: up to 40 Mbps – 1.2 Gbps downstream transmission rate, 30-100 Mbps upstream transmission rate network of cable, fiber attaches homes to ISP router homes share access network to cable headend Introduction: 1-15 Access networks: digital subscriber line (DSL) central office telephone network DSL splitter modem DSLAM voice, data transmitted ISP at different frequencies over DSL access dedicated line to central office multiplexer use existing telephone line to central office DSLAM data over DSL phone line goes to Internet voice over DSL phone line goes to telephone net 24-52 Mbps dedicated downstream transmission rate 3.5-16 Mbps dedicated upstream transmission rate Introduction: 1-16 Access networks: home networks Wireless and wired devices to/from headend or central office often combined in single box cable or DSL modem WiFi wireless router, firewall, access NAT point (54, 450 wired Ethernet (1 Mbps) Gbps) Introduction: 1-17 Wireless access networks Shared wireless access network connects end system to router via base station aka “access point” Wireless local area Wide-area cellular access networks (WLANs) networks typically within or around provided by mobile, cellular building (~100 ft) network operator (10’s km) 802.11b/g/n (WiFi): 11, 54, 10’s Mbps 450 Mbps transmission 4G cellular networks (5G rate coming) to Internet to Internet Introduction: 1-18 Access networks: enterprise networks Enterprise link to ISP (Internet) institutional router Ethernet institutional mail, switch web servers companies, universities, etc. mix of wired, wireless link technologies, connecting a mix of switches and routers (we’ll cover differences shortly) Ethernet: wired access at 100Mbps, 1Gbps, 10Gbps WiFi: wireless access points at 11, 54, 450 Mbps Introduction: 1-19 Access networks: data center networks mobile network high-bandwidth links (10s to 100s national or global ISP Gbps) connect hundreds to thousands of servers together, and to Internet local or regional ISP home network content provider network datacenter network Courtesy: Massachusetts Green High Performance enterprise Computing Center (mghpcc.org) network Introduction: 1-20 Host: sends packets of data host sending function: takes application message breaks into smaller chunks, two packets, known as packets, of length L bits each L bits transmits packet into access 2 1 network at transmission rate R host R: link transmission rate link transmission rate, aka link capacity, aka link packet time needed to L (bits) bandwidth transmission= transmit L-bit = delay packet into link R (bits/sec) Introduction: 1-21 Links: physical media bit: propagates between Twisted pair (TP) transmitter/receiver pairs two insulated copper wires physical link: what lies Category 5: 100 Mbps, 1 Gbps between transmitter & Ethernet receiver Category 6: 10Gbps Ethernet guided media: signals propagate in solid media: copper, fiber, coax unguided media: signals propagate freely, e.g., radio Introduction: 1-22 Links: physical media Coaxial cable: Fiber optic cable: two concentric copper glass fiber carrying light pulses, conductors each pulse a bit high-speed operation: bidirectional high-speed point-to-point broadband: transmission (10’s-100’s multiple frequency channels Gbps) on cable low error rate: 100’s Mbps per channel repeaters spaced far apart immune to electromagnetic noise Introduction: 1-23 Links: physical media Wireless radio Radio link types: signal carried in various Wireless LAN (WiFi) “bands” in electromagnetic 10-100’s Mbps; 10’s of meters spectrum wide-area (e.g., 4G cellular) 10’s Mbps over ~10 Km no physical “wire” Bluetooth: cable broadcast, “half-duplex” replacement (sender to receiver) short distances, limited rates propagation environment terrestrial microwave effects: point-to-point; 45 Mbps reflection channels obstruction by objects satellite Interference/noise up to 45 Mbps per channel 270 msec end-end delay Introduction: 1-24 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-25 The network core mesh of interconnected routers mobile network national or global ISP packet-switching: hosts break application-layer messages into packets network forwards packets local or from one router to the next, regional ISP across links on path from home network content source to destination provider network datacenter network enterprise network Introduction: 1-26 Two key network-core functions routing Routing: algorithm global action: Forwarding: local forwarding local forwardingtable determine aka “switching” table header value output link source- 0100 3 local action: 0101 0111 2 2 destination paths move arriving 1001 1 taken by packets packets from router’s input routing link to 1 algorithms appropriate router output 3 2 link 01 11 destination address in arriving packet’s header Introduction: 1-27 routing Introduction: 1-28 forwarding forwarding Introduction: 1-29 Packet-switching: store-and- forward L bits per packet 321 source destination R bps R bps packet transmission delay: takes L/R One-hop numerical seconds to transmit (push out) L-bit example: packet into link at R bps L = 10 Kbits store and forward: entire packet must R = 100 Mbps arrive at router before it can be one-hop transmission transmitted on next link delay = 0.1 msec Introduction: 1-30 Packet-switching: queueing R = 100 Mb/s A C D B R = 1.5 Mb/s E queue of packets waiting for transmission over output link Queueing occurs when work arrives faster than it can be serviced: Introduction: 1-31 Packet-switching: queueing R = 100 Mb/s A C D B R = 1.5 Mb/s E queue of packets waiting for transmission over output link Packet queuing and loss: if arrival rate (in bps) to link exceeds transmission rate (bps) of link for some period of time: packets will queue, waiting to be transmitted on output link packets can be dropped (lost) if memory (buffer) in Introduction: 1-32 Alternative to packet switching: circuit switching end-end resources allocated to, reserved for “call” between source and destination in diagram, each link has four circuits. call gets 2nd circuit in top link and 1st circuit in right link. dedicated resources: no sharing circuit-like (guaranteed) performance commonly circuit segment used idle if not used in traditional telephone by call (no sharing) networks * Check out the online interactive exercises for more examples: h ttp://gaia.cs.umass.edu/kurose_ross/interactive Introduction: 1-33 Circuit switching: FDM and TDM Frequency Division Multiplexing (FDM) 4 users frequency optical, electromagnetic frequencies divided into (narrow) frequency bands each call allocated its own time band, can transmit at max rate of that narrow band frequency Time Division Multiplexing (TDM) each time divided into slots call allocated periodic slot(s), can transmit at time maximum rate of (wider) frequency band (only) during Introduction: 1-34 Packet switching versus circuit switching example: 1 Gb/s link ….. N each user: users 1 Gbps link 100 Mb/s when “active” active 10% of time Q: how many users can use this network under circuit-switching and packet switching? circuit-switching: 10 users packet switching: with 35 Q: how did we get value 0.0004? users, probability > 10 active A: HW problem (for those at same time is less with course in probability only) than.0004 * * Check out the online interactive exercises for more examples: h ttp://gaia.cs.umass.edu/kurose_ross/interactive Introduction: 1-35 Packet switching versus circuit switching Is packet switching a “slam dunk winner”? great for “bursty” data – sometimes has data to send, but at other times not resource sharing simpler, no call setup excessive congestion possible: packet delay and loss due to buffer overflow protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior with packet-switching? “It’s complicated.” We’ll study various techniques that try to Q: make human packet switching analogies of as “circuit-like” reserved as possible. resources (circuit switching) versus on-demand allocation (packet switching)? Introduction: 1-36 Internet structure: a “network of networks” hosts connect to Internet via mobile network national or global ISP access Internet Service Providers (ISPs) access ISPs in turn must be interconnected local or so that any two hosts regional ISP (anywhere!) can send home network content packets to each other provider network datacenter resulting network of networks network is very complex enterprise evolution driven by network economics, national policies Let’s take a stepwise approach to describe current Internet structure Internet structure: a “network of networks” Question: given millions of access ISPs, how to connect them together? access … access net access net … net access access net net access access net net … … access access net net access net access net access net access … net access net access net … access net Introduction: 1-38 Internet structure: a “network of networks” Question: given millions of access ISPs, how to connect them together? access … access net access net … net access access net … … net access access net net connecting each access … … ISP to each other directly … access access doesn’t scale: O(N2) … net net access connections. net access net access net access … … net access net access net … access net Introduction: 1-39 Internet structure: a “network of networks” Option: connect each access ISP to one global transit ISP? Customer and provider ISPs have economic agreement. access … access net access net … net access access net net access access net net … … global access net ISP access net access net access net access net access … net access net access net … access net Introduction: 1-40 Internet structure: a “network of networks” But if one global ISP is viable business, there will be competitors …. access … access net access net … net access access net net access access net net ISP A … … access net ISP B access net access net ISP C access net access net access … net access net access net … access net Introduction: 1-41 Internet structure: a “network of networks” But if one global ISP is viable business, there will be competitors …. who will want to be connected Internet exchange point access … access access net net … net access access net net IXP access access net net ISP A … … access net IXP ISP B access net access net ISP C access net access net peering link access … net access net access net … access net Introduction: 1-42 Internet structure: a “network of networks” … and regional networks may arise to connect access nets to ISPs … … access access net access net net access access net net IXP access access net net ISP A … … access net IXP ISP B access net access net ISP C access net access net regional ISP access … net access net access net … access net Introduction: 1-43 Internet structure: a “network of networks” … and content provider networks (e.g., Google, Microsoft, Akamai) may run their own network, to bring services, content close to end … users … access net access net access net access access net net IXP access access net net ISP A … … Content provider network access net IXP ISP B access net access net ISP C access net access net regional ISP access … net access net access net … access net Introduction: 1-44 Internet structure: a “network of networks” Tier 1 ISP Tier 1 ISP Google IXP IXP IXP Regional ISP Regional ISP access access access access access access access access ISP ISP ISP ISP ISP ISP ISP ISP At “center”: small # of well-connected large networks “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national & international coverage content provider networks (e.g., Google, Facebook): private network that connects its data centers to Internet, often bypassing tier-1, regionalIntroduction: ISPs 1-45 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-46 How do packet delay and loss occur? packets queue in router buffers, waiting for turn for transmission queue length grows when arrival rate to link (temporarily) exceeds output link capacity packet loss occurs when memory to hold queued packets fills up packet being transmitted (transmission delay) A B packets in buffers (queueing delay) free (available) buffers: arriving packets dropped (loss) if no free buffers Introduction: 1-47 Packet delay: four sources transmission A propagation B nodal processingqueueing dnodal = dproc + dqueue + dtrans + dprop dproc: nodal dqueue: queueing delay processing time waiting at output link for check bit errors transmission determine output depends on congestion level link of router Introduction: 1-48 Packet delay: four sources transmission A propagation B nodal processingqueueing dnodal = dproc + dqueue + dtrans + dprop dprop: propagation delay: dtrans: transmission delay: d: length of physical link L: packet length (bits) s: propagation speed (~2x108 R: link transmission rate m/sec) (bps) dtrans and dprop dprop = d/s dtrans = L/R very Introduction: 1-49 Caravan analogy 100 100 km km ten-car toll booth toll booth toll booth caravan (aka link) (aka 10-bit carpacket) ~ bit; caravan ~ packet; time to “push” entire toll service ~ link transmission caravan through toll toll booth takes 12 sec to booth onto highway = service car (bit transmission 12*10 = 120 sec time) “propagate” at 100 km/hr time for last car to Q: How long until caravan is propagate from 1st to lined up before 2nd toll 2nd toll both: booth? 100km/(100km/hr) = 1 hr Introduction: 1-50 Caravan analogy 100 100 km km ten-car toll booth toll booth caravan (aka router) (aka 10-bit packet) suppose cars now “propagate” at 1000 km/hr and suppose toll booth now takes one min to service a car Q: Will cars arrive to 2nd booth before all cars serviced at first booth? A: Yes! after 7 min, first car arrives at second booth; three cars still at first booth Introduction: 1-51 Packet queueing delay (revisited) a: average packet arrival rate average queueing L: packet length (bits) delay R: link bandwidth (bit transmission rate) L. a arrival rate of bits “traffic : R service rate of bits intensity” traffic intensity = La/R 1 La/R ~ 0: avg. queueing delay La/R ~ 0 small La/R -> 1: avg. queueing delay large La/R > 1: more “work” arriving La/R -> 1 is more than can be serviced - Introduction: 1-52 “Real” Internet delays and routes 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 (with time-to-live field value of i) router i will return packets to sender sender measures time interval between transmission and reply 3 probes 3 probes 3 probes Introduction: 1-53 Real Internet delays and routes traceroute: gaia.cs.umass.edu to www.eurecom.fr 3 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 3 delay measurements 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 to border1-rt-fa5-1- 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 0.gw.umass.edu 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 trans-oceanic link 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 looks like delays 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 decrease! Why? 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 * * * * means no response (probe lost, router not replying) 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms * Do some traceroutes from exotic countries at www.traceroute.org Introduction: 1-54 Packet loss queue (aka buffer) preceding link in buffer has finite capacity packet arriving to full queue dropped (aka lost) lost packet may be retransmitted by previous node, by source end system, or not at all buffer (waiting area)packet being transmitted A B packet arriving to full buffer is lost * Check out the Java applet for an interactive animation (on publisher’s website) of queuing and loss Introduction: 1-55 Throughput throughput: rate (bits/time unit) at which bits are being sent from sender to receiver instantaneous: rate at given point in time average: rate over longer period of time link capacity pipe that can link capacity pipe that can server sends R carry bits/sec carry Rc bits/sec server, with fluid s at rate fluid at rate bits file of F bits to (fluid) send to client (Rs bits/sec) into (Rc bits/sec) pipe Introduction: 1-56 Throughput Rs < Rc What is average end-end throughput? Rs bits/sec Rc bits/sec Rs > Rc What is average end-end throughput? Rs bits/sec Rc bits/sec bottleneck link onlink end-end path that constrains end-end throughput Introduction: 1-57 Throughput: network scenario per-connection Rs end-end Rs Rs throughput: min(Rc,Rs,R/10) R in practice: Rc or Rs Rc Rc is often bottleneck Rc * Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/ 10 connections (fairly) share backbone bottleneck link R bits/sec Introduction: 1-58 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-59 Network security Internet not originally designed with (much) security in mind original vision: “a group of mutually trusting users attached to a transparent network” Internet protocol designers playing “catch-up” security considerations in all layers! We now need to think about: how bad guys can attack computer networks how we can defend networks against attacks how to design architectures that are immune to attacks Introduction: 1-60 Network security Internet not originally designed with (much) security in mind original vision: “a group of mutually trusting users attached to a transparent network” Internet protocol designers playing “catch-up” security considerations in all layers! We now need to think about: how bad guys can attack computer networks how we can defend networks against attacks how to design architectures that are immune to attacks Introduction: 1-61 Bad guys: packet interception packet “sniffing”: broadcast media (shared Ethernet, wireless) promiscuous network interface reads/records all packets (e.g., including passwords!) passing by A C src:B dest:A payload B Wireshark software used for our end-of-chapter labs is a (free) packet-sniffer Introduction: 1-62 Bad guys: fake identity IP spoofing: injection of packet with false source address A C src:B dest:A payload B Introduction: 1-63 Bad guys: denial of service Denial of Service (DoS): attackers make resources (server, bandwidth) unavailable to legitimate traffic by overwhelming resource with bogus traffic 1. select target 2. break into hosts around the network (see target 3. send packets to botnet) target from compromised hosts Introduction: 1-64 Lines of defense: authentication: proving you are who you say you are cellular networks provides hardware identity via SIM card; no such hardware assist in traditional Internet confidentiality: via encryption integrity checks: digital signatures prevent/detect tampering access restrictions: password-protected VPNs firewalls: specialized “middleboxes” in access and core networks: off-by-default: filter incoming packets to restrict senders, receivers, applications detecting/reacting to DOS attacks … lots more on security (throughout, Chapter 8) Introduction: 1-65 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-66 Protocol “layers” and reference models Networks are complex, Question: is there with many “pieces”: any hope of hosts organizing structure routers of network? links of various media and/or our applications discussion of networks? protocols hardware, software Introduction: 1-67 Example: organization of air travel end-to-end transfer of person plus baggage ticket (purchase) ticket (complain) baggage (check) baggage (claim) gates (load) gates (unload) runway takeoff runway landing airplane routing airplane routing airplane routing How would you define/discuss the system of airline travel? a series of steps, involving many services Introduction: 1-68 Example: organization of air travel ticket (purchase) ticketing service ticket (complain) baggage (check) baggage service baggage (claim) gates (load) gate service gates (unload) runway takeoff runway service runway landing airplane routing routing service airplane routing airplane routing layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below Introduction: 1-69 Why layering? Approach to designing/discussing complex systems: explicit structure allows identification, relationship of system’s pieces layered reference model for discussion modularization eases maintenance, updating of system change in layer's service implementation: transparent to rest of system e.g., change in gate procedure doesn’t affect rest of system Introduction: 1-70 Layered Internet protocol stack application: supporting network applications HTTP, IMAP, SMTP, DNS application application transport: process-process data transfer TCP, UDP transport transport network: routing of datagrams from network source to destination IP, routing protocols link link: data transfer between neighboring network elements physical Ethernet, 802.11 (WiFi), PPP physical: bits “on the wire” Introduction: 1-71 Services, Layering and Encapsulation M Application exchanges messages to implement applicatio some application service using services of applicatio transport layer Ht M n Transport-layer protocol transfers M (e.g., n reliably) from one process to another, using services of network layer transport transport-layer protocol transport encapsulates application-layer message, M, with transport layer- network network layer header Ht to create a transport-layer segment link Ht used by transport layer link protocol to implement its service source physical destination physical Introduction: 1-72 Services, Layering and Encapsulation M applicatio applicatio Ht M n Transport-layer protocol transfers M (e.g., n reliably) from one process to another, using services of network layer Hn Ht M transport Network-layer protocol transfers transport-layer transport segment [Ht | M] from one host to another, using link layer services network network-layer protocol network encapsulates transport-layer link segment [Ht | M] with network link layer-layer header Hn to create a source physical network-layer datagram destination physical Hn used by network layer protocol to implement its service Introduction: 1-73 Services, Layering and Encapsulation M applicatio applicatio Ht M n n Hn Ht M transport Network-layer protocol transfers transport-layer transport segment [Ht | M] from one host to another, using Hl Hlink n Ht layer M services network network Link-layer protocol transfers datagram [Hn| [Ht |M] from host to neighboring host, using network-layer services link link-layer protocol encapsulates link network datagram [Hn| [Ht |M], with source physical link-layer header Hl to create a destination physical link-layer frame Introduction: 1-74 Services, Layering and Encapsulation M applicatio M applicatio message Ht M n Ht M n segment Hn Ht M Hn Ht M transport transport datagram Hl Hn Ht M Hl Hn Ht M network network frame link link source physical destination physical Introduction: 1-75 source Encapsulation: message segment M application an end-end Htt M transport datagram Hn Ht M network view frame Hl Hn Ht M link physical link physical switch destination Hn Ht M network M application Hl Hn Ht M link Hn Ht M Ht M transport physical Hn Ht M network Hl Hn Ht M link router physical Introduction: 1-76 Chapter 1: roadmap What is the Internet? What is a protocol? Network edge: hosts, access network, physical media Network core: packet/circuit switching, internet structure Performance: loss, delay, throughput Security Protocol layers, service models History Introduction: 1-77 Internet history 1961-1972: Early packet-switching principles 1961: Kleinrock - queueing 1972: theory shows ARPAnet public demo effectiveness of packet- switching NCP (Network Control 1964: Baran - packet- Protocol) first host-host switching in military nets protocol 1967: ARPAnet conceived first e-mail program by Advanced Research ARPAnet has 15 nodes Projects Agency 1969: first ARPAnet node operational Internet history 1972-1980: Internetworking, new and proprietary networks 1970: ALOHAnet satellite network in Hawaii Cerf and Kahn’s internetworking principles: 1974: Cerf and Kahn - minimalism, autonomy - architecture for no internal changes interconnecting networks required to interconnect 1976: Ethernet at Xerox PARC networks late70’s: proprietary best-effort service model architectures: DECnet, SNA, stateless routing XNA decentralized control 1979: ARPAnet has 200 define today’s Internet nodes architecture Introduction: 1-79 Internet history 1980-1990: new protocols, a proliferation of networks 1983: deployment of new national networks: TCP/IP CSnet, BITnet, NSFnet, 1982: smtp e-mail Minitel protocol defined 100,000 hosts connected to 1983: DNS defined for confederation of networks name-to-IP-address translation 1985: ftp protocol defined 1988: TCP congestion control Introduction: 1-80 Internet history 990, 2000s: commercialization, the Web, new applications early 1990s: ARPAnet late 1990s – 2000s: decommissioned more killer apps: instant 1991: NSF lifts restrictions on messaging, P2P file sharing commercial use of NSFnet network security to (decommissioned, 1995) forefront early 1990s: Web est. 50 million host, 100 hypertext [Bush 1945, Nelson 1960’s] HTML, HTTP: Berners-Lee million+ users 1994: Mosaic, later Netscape backbone links running at late 1990s: commercialization Gbps of the Web Introduction: 1-81 Internet history 2005-present: scale, SDN, mobility, cloud aggressive deployment of broadband home access (10-100’s Mbps) 2008: software-defined networking (SDN) increasing ubiquity of high-speed wireless access: 4G/5G, WiFi service providers (Google, FB, Microsoft) create their own networks bypass commercial Internet to connect “close” to end user, providing “instantaneous” access to social media, search, video content, … enterprises run their services in “cloud” (e.g., Amazon Web Services, Microsoft Azure) rise of smartphones: more mobile than fixed devices on Internet (2017) ~18B devices attached to Internet (2017) Introduction: 1-82 Chapter 1: summary We’ve covered a “ton” of material! Internet overview what’s a protocol? You now have: network edge, access network, context, core overview, packet-switching versus circuit- vocabulary, switching “feel” of Internet structure networking performance: loss, delay, more depth, throughput detail, and fun to layering, service models follow! security history Introduction: 1-83 Additional Chapter 1 slides Introduction: 1-84 ISO/OSI reference model Two layers not found in Internet protocol stack! application presentation: allow applications to presentation interpret meaning of data, e.g., session encryption, compression, machine- specific conventions transport session: synchronization, network checkpointing, recovery of data link exchange Internet stack “missing” these layers! physical these services, if needed, must be The seven layer OSI/ISO implemented in application reference model needed? Introduction: 1-85 Wireshark application (www browser, packet email client) analyzer application OS packet Transport (TCP/UDP) capture copy of all Network (IP) Ethernet frames Link (Ethernet) (pcap) sent/received Physical Introduction: 1-86 Chapter 2 Application Layer A note on the use of these PowerPoint slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!) Computer If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Networking: A Top- For a revision history, see the slide note for this page. Down Approach Thanks and enjoy! JFK/KWR 8th edition n Jim Kurose, Keith Ross All material copyright 1996-2020 Pearson, 2020 J.F Kurose and K.W. Ross, All Rights Reserved Application Layer: 2-87 Application layer: overview P2P applications Principles of network video streaming and applications content distribution Web and HTTP networks E-mail, SMTP, IMAP socket programming The Domain Name with UDP and TCP System DNS Application Layer: 2-88 Application layer: overview Our goals: learn about protocols by conceptual and examining popular application-layer protocols implementation and infrastructure aspects of application- HTTP layer protocols SMTP, IMAP transport-layer DNS video streaming systems, service models CDNs client-server programming network paradigm applications peer-to-peer socket API paradigm Application Layer: 2-89 Some network apps social networking voice over IP (e.g., Web Skype) text messaging real-time video conferencing (e.g., e-mail Zoom) multi-user network Internet search games remote login streaming stored video (YouTube, Hulu, Netflix) … Q: your favorites? P2P file sharing Application Layer: 2-90 Creating a network app application write programs that: transport network mobile network data link physical run on (different) end systems national or global ISP communicate over network e.g., web server software communicates with browser software local or regional ISP no need to write software home network content for network-core devices application transport provider network network datacenter network-core devices do not data link physical application network transport network run user applications data link physical applications on end systems enterprise allows for rapid app network development, propagation Application Layer: 2-91 Client-server paradigm server: mobile network always-on host national or global ISP permanent IP address often in data centers, for scaling local or clients: regional ISP contact, communicate with home network content server provider network datacenter may be intermittently network connected may have dynamic IP enterprise network addresses do not communicate directly Application Layer: 2-92 Peer-peer architecture no always-on server mobile network arbitrary end systems directly national or global ISP communicate peers request service from other peers, provide service in return to other peers local or self scalability – new peers bring regional ISP new service capacity, as well as home network content new service demands provider network datacenter peers are intermittently network connected and change IP addresses enterprise complex management network example: P2P file sharing Application Layer: 2-93 Processes communicating process: program clients, servers running within a host client process: process that initiates within same host, two communication processes server process: communicate using process that waits to inter-process be contacted communication note: applications (defined by OS) with P2P architectures have processes in different client processes & hosts communicate by server processes exchanging messages Application Layer: 2-94 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 two sockets involved: one on each side application application socket controlled by process process app developer transport transport network network controlled by OS link Internet link physical physical Application Layer: 2-95 Addressing processes to receive messages, identifier includes both IP process must have address and port numbers identifier associated with process on host device has unique host. 32-bit IP address example port numbers: Q: does IP address of HTTP server: 80 host on which process mail server: 25 runs suffice A: no, many for to send HTTP message to identifying processesthecanprocess? be gaia.cs.umass.edu web running on same server: host IP address: 128.119.245.12 port number: 80 more shortly… Application Layer: 2-96 An application-layer protocol defines: types of messages open protocols: exchanged, defined in RFCs, e.g., request, response everyone has access to message syntax: protocol definition what fields in messages allows for & how fields are interoperability delineated e.g., HTTP, SMTP message semantics proprietary protocols: meaning of information e.g., Skype, Zoom in fields rules for when and how processes send & respond Application Layer: 2-97 What transport service does an app need? data integrity throughput some apps (e.g., file some apps (e.g., transfer, web multimedia) require transactions) require minimum amount of 100% reliable data throughput to be transfer “effective” other apps (e.g., audio) other apps (“elastic can tolerate some loss timing apps”) make use of whatever throughput some apps (e.g., Internet security they get telephony, interactive encryption, data games) require low delay to integrity, … be “effective” Application Layer: 2-98 Transport service requirements: common apps applicationdata loss throughput time sensitive? file transfer/downloadno loss elastic e-mailno loss elastic no Web documentsno loss elastic no real-time audio/videoloss-tolerant audio: 5Kbps- no 1Mbps yes, 10’s msec streaming audio/videoloss-tolerant video:10Kbps- interactive gamesloss-tolerant 5Mbps yes, few secs text messagingno loss same as above yes, 10’s msec Kbps+ yes and no Application Layer: 2-99 Internet transport protocols services TCP service: UDP service: reliable transport between unreliable data transfer sending and receiving process between sending and flow control: sender won’t receiving process overwhelm receiver does not provide: congestion control: throttle reliability, flow control, sender when network congestion control, overloaded timing, throughput guarantee, security, or connection-oriented: setup connection setup. required between client and Q: why bother? server processes Why is there a does not provide: timing, UDP? Application Layer: 2-100 Internet applications, and transport protocols application application layer protocol transport protocol file transfer/download FTP [RFC 959] TCP e-mail SMTP [RFC 5321] TCP Web documents HTTP 1.1 [RFC 7320] TCP Internet telephony SIP [RFC 3261], RTP TCP or UDP [RFC 3550], or streaming audio/video proprietary HTTP TCP interactive games [RFC 7320], DASH UDP or TCP WOW, FPS (proprietary) Application Layer: 2-101 Securing TCP Vanilla TCP & UDP sockets: TSL implemented in no encryption application layer cleartext passwords sent into apps use TSL socket traverse Internet in libraries, that use TCP cleartext (!) in turn Transport Layer Security cleartext sent into (TLS) “socket” traverse provides encrypted TCP Internet encrypted connections more: Chapter 8 data integrity end-point authentication Application Layer: 2-102 Application layer: overview P2P applications Principles of network video streaming and applications content distribution Web and HTTP networks E-mail, SMTP, IMAP socket programming The Domain Name with UDP and TCP System DNS Application Layer: 2-103 Web and HTTP First, a quick review… web page consists of objects, each of which can be stored on different Web servers object can be HTML file, JPEG image, Java applet, audio file,… web page consists of base HTML-file which includes several referenced objects, each www.someschool.edu/someDept/pic.gif addressable by a URL, e.g., host name path name Application Layer: 2-104 HTTP overview HTTP: hypertext transfer protocol Web’s application-layer HT TP req ues PC running H protocol Firefox browser TTP res t client/server model: pon se client: browser that es t u requests, receives, (using req e T TP o ns server running H p HTTP protocol) and TP res Apache Web T server “displays” Web objects H server: Web server sends iPhone running (using HTTP protocol) Safari browser objects in response to requests Application Layer: 2-105 HTTP overview (continued) HTTP uses TCP: HTTP is “stateless” client initiates TCP server maintains no connection (creates socket) information about past to server, port 80 client requests server accepts TCP aside connection from client protocols that maintain HTTP messages “state” are complex! past history (state) must be (application-layer protocol maintained messages) exchanged if server/client crashes, their between browser (HTTP views of “state” may be client) and Web server inconsistent, must be (HTTP server) reconciled TCP connection closed Application Layer: 2-106 HTTP connections: two types Non-persistent HTTP Persistent HTTP 1. TCP connection TCP connection opened opened to a server 2. at most one object multiple objects can sent over TCP be sent over single connection TCP connection 3. TCP connection between client, and closed that server TCP connection downloading multiple closed objects required Application Layer: 2-107 Non-persistent HTTP: example User enters URL: www.someSchool.edu/someDepartment/home.index (containing text, references to 10 jpeg images) 1a. HTTP client initiates TCP connection to HTTP server 1b. HTTP server at host (process) at www.someSchool.edu waiting for www.someSchool.edu on port TCP connection at port 80 80 “accepts” connection, notifying 2. HTTP client sends HTTP client request message (containing URL) into 3. HTTP server receives request TCP connection socket. message, forms response time Message indicates that message containing requested client wants object object, and sends message into someDepartment/home.inde its socket Application Layer: 2-108 Non-persistent HTTP: example (cont.) User enters URL: www.someSchool.edu/someDepartment/home.index (containing text, references to 10 jpeg images) 4. HTTP server closes 5. HTTP client receives TCP connection. response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 6. Steps 1-5 repeated for each of 10 jpeg time objects Application Layer: 2-109 Non-persistent HTTP: response time RTT (definition): time for a small packet to travel from initiate TCP client to server and back connection RTT HTTP response time (per object): request file one RTT to initiate TCP RTT time to transmit connection file one RTT for HTTP request and file received first few bytes of HTTP response to return time time obect/file transmission time Non-persistent HTTP response time = 2RTT+ file transmission time Application Layer: 2-110 Persistent HTTP (HTTP 1.1) Non-persistent HTTP Persistent HTTP (HTTP1.1): issues: server leaves connection requires 2 RTTs per object open after sending response OS overhead for each TCP subsequent HTTP messages connection between same client/server browsers often open sent over open connection multiple parallel TCP client sends requests as connections to fetch soon as it encounters a referenced objects in referenced object parallel as little as one RTT for all the referenced objects (cutting response time in half) Application Layer: 2-111 HTTP request message two types of HTTP messages: request, response HTTP request message: ASCII (human-readable format) carriage return character line-feed character request line (GET, GET /index.html HTTP/1.1\r\n POST, Host: www-net.cs.umass.edu\r\n HEAD commands) User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0 \r\n header Accept: text/html,application/xhtml+xml\r\n lines Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Connection: keep-alive\r\n \r\n carriage return, line feed at start of line indicates end of * Check out the online interactive exercises for more header lines examples: http://gaia.cs.umass.edu/kurose_ross/interactive/ Application Layer: 2-112 HTTP request message: general format method sp URL sp version cr lf request line header field name value cr lf header ~ ~ ~ ~ lines header field name value cr lf cr lf ~ ~ entity body ~ ~ body Application Layer: 2-113 Other HTTP request messages POST method: HEAD method: web page often includes requests headers (only) form input that would be returned if user input sent from client specified URL were to server in entity body of requested with an HTTP HTTP POST request GET method. message PUT method: uploads new file (object) to GET method (for sending data to server server): completely replaces file include user data in URL field of that exists at specified URL HTTP GET request message www.somesite.com/animalsearch?monkeys&banana with content in entity body (following a ‘?’): of POST HTTP request