computer communication networks foundation · computer communication networks foundation ... Ø...
TRANSCRIPT
![Page 1: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/1.jpg)
1
Computer Communication Networks
FoundationICEN/ICSI 416 – Fall 2017Prof. Dola Saha
![Page 2: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/2.jpg)
2
FoundationØ ApplicationsØ RequirementsØ Network ArchitectureØ Implementing Network SoftwareØ Performance
![Page 3: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/3.jpg)
3
GoalsØ Exploring the requirements that different applications and
different communities place on the computer network
Ø Introducing the idea of network architecture
Ø Introducing some key elements in implementing Network Software
Ø Define key metrics that will be used to evaluate the performance of computer network
![Page 4: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/4.jpg)
4
Applications
Ø Most people know about the Internet (a computer network) through applications
§ World Wide Web§ Email§ Online Social Network§ Streaming Audio Video§ File Sharing§ Instant Messaging§ …
![Page 5: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/5.jpg)
5
Example of an application
A multimedia application including video-conferencing
![Page 6: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/6.jpg)
6
Application ProtocolØ URL§ Uniform Resource Locater § http://www.albany.edu/faculty/dsaha/
Ø HTTP§ Hyper Text Transfer Protocol
Ø TCP§ Transmission Control Protocol
Ø 17 messages for one URL request§ 6 to find the IP (Internet Protocol) address§ 3 for connection establishment of TCP§ 4 for HTTP request and acknowledgemento Request: I got your request and I will send the datao Reply: Here is the data you requested; I got the data
§ 4 messages for tearing down TCP connection
![Page 7: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/7.jpg)
7
RequirementsØ Application Programmer§ List the services that his application needs: delay bounded delivery of
data
Ø Network Designer§ Design a cost-effective network with sharable resources
Ø Network Provider§ List the characteristics of a system that is easy to manage
![Page 8: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/8.jpg)
8
“Fun” Internet-connected devices
IP picture framehttp://www.ceiva.com/
Web-enabled toaster +weather forecaster
Internet phonesInternet refrigerator
Slingbox: watch,control cable TV remotely
Tweet-a-watt: monitor energy use
sensorized,bedmattress
![Page 9: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/9.jpg)
9
What’s the Internet: “nuts and bolts” view
wiredlinks
wirelesslinks
router
mobile network
global ISP
regional ISP
home network
institutionalnetwork
smartphone
PC
server
wirelesslaptop
Ø Packet switches: forward packets (chunks of data)
§ routers and switches
Ø Millions of connected computing devices:
§ hosts = end systems§ running network apps
Ø Communication links§ Fiber, copper, radio, satellite§ Transmission rate: bandwidth
![Page 10: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/10.jpg)
10
What’s the Internet: “nuts and bolts” view
mobile network
global ISP
regional ISP
home network
institutionalnetwork
Ø Internet: “network of networks”§ Interconnected ISPs
Ø protocols control sending, receiving of msgs
§ e.g., TCP, IP, HTTP, Skype, 802.11
Ø Internet standards§ RFC: Request for comments§ IETF: Internet Engineering Task Force
![Page 11: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/11.jpg)
11
What’s the Internet: “service” view
mobile network
global ISP
regional ISP
home network
institutionalnetwork
Ø Infrastructure that provides services to applications:
§ Web, VoIP, email, games, e-commerce, social nets, …
Ø provides programming interface to apps
§ hooks that allow sending and receiving app programs to “connect” to Internet
§ provides service options, analogous to postal service
![Page 12: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/12.jpg)
12
Connectivity
Ø Need to understand the following terminologies
§ Scale§ Link§ Nodes§ Point-to-point§ Multiple access§ Switched Networko Circuit Switchedo Packet Switched
§ Packet, message§ Store-and-forward
(a) Point-to-point(b) Multiple access
![Page 13: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/13.jpg)
13
Connectivity
Ø Terminologies (contd.)§ Cloud§ Hosts§ Switches§ Internetwork§ Router/gateway§ Host-to-host connectivity§ Address§ Routing§ Unicast/broadcast/multicast
(a) A switched network(b) Interconnection of networks
(a)
(b)
![Page 14: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/14.jpg)
14
A closer look at network structure:Ø network edge:§ hosts: clients and servers§ servers often in data centers
v access networks, physical media: wired, wireless communication links
v network core: §interconnected routers§network of networks
mobile network
global ISP
regional ISP
home network
institutionalnetwork
![Page 15: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/15.jpg)
15
Access networks and physical media
Q: How to connect end systems to edge router?
Ø residential access netsØ institutional access networks (school,
company)Ø mobile access networks
keep in mind: Ø bandwidth (bits per second) of access
network?Ø shared or dedicated?
![Page 16: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/16.jpg)
16
Access net: digital subscriber line (DSL)
Ø 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
Ø < 2.5 Mbps upstream transmission rate (typically < 1 Mbps)Ø < 24 Mbps downstream transmission rate (typically < 10 Mbps)
central office
ISP
telephonenetwork
DSLAM
voice, data transmittedat different frequencies over
dedicated line to central office
DSLmodem
splitter
DSL access multiplexer
![Page 17: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/17.jpg)
17
Access net: cable network
cablemodem
splitter
…cable headend
Channels
VIDEO
VIDEO
VIDEO
VIDEO
VIDEO
VIDEO
DATA
DATA
CONTROL
1 2 3 4 5 6 7 8 9
frequency division multiplexing: different channels transmittedin different frequency bands
![Page 18: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/18.jpg)
18
Access net: cable network
data, TV transmitted at different frequencies over shared cable
distribution network
cablemodem
splitter
…cable headend
CMTS
ISP
cable modemtermination system
v HFC: hybrid fiber coax§ asymmetric: up to 30Mbps downstream transmission rate, 2 Mbps
upstream transmission ratev network of cable, fiber attaches homes to ISP router
§ homes share access network to cable headend§ unlike DSL, which has dedicated access to central office
![Page 19: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/19.jpg)
19
Access net: home network
to/from headend or central office
cable or DSL modem
router, firewall, NAT
wired Ethernet (100 Mbps)
wireless access point (54 Mbps)
wirelessdevices
often combined in single box
![Page 20: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/20.jpg)
20
Enterprise access networks (Ethernet)
Ø typically used in companies, universities, etcØ 10 Mbps, 100Mbps, 1Gbps, 10Gbps transmission ratesØ today, end systems typically connect into Ethernet switch
Ethernet switch
institutional mail,web servers
institutional router
institutional link to ISP (Internet)
![Page 21: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/21.jpg)
21
Wireless access networksØ shared wireless access network connects end system to router§ via base station aka “access point”
wireless LANs:§ within building (100 ft)§ 802.11b/g (WiFi): 11, 54 Mbps
transmission rate
wide-area wireless access§ provided by AT&T (cellular) operator,
10’s km§ between 1 and 10 Mbps § 3G, 4G: LTE
to Internetto Internet
![Page 22: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/22.jpg)
22
Host: sends packets of datahost sending function:v takes application messagev breaks into smaller chunks,
known as packets, of length Lbits
v transmits packet into access network at transmission rate R
§ link transmission rate, aka link capacity, aka link bandwidth
R: link transmission ratehost
12
two packets, L bits each
packettransmission
delay
time needed totransmit L-bit
packet into link
L (bits)R (bits/sec)= =
![Page 23: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/23.jpg)
23
Physical mediaØ bit: propagates between
transmitter/receiver pairsØ physical link: what lies between
transmitter & receiverØ guided media: § signals propagate in solid media:
copper, fiber, coaxØ unguided media:§ signals propagate freely, e.g., radio
twisted pair (TP)two insulated copper wiresCategory 5: 100 Mbps, 1 Gpbs EthernetCategory 6: 10Gbps
![Page 24: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/24.jpg)
24
Physical media: coax, fiber
coaxial cable:Ø two concentric copper conductorsØ bidirectionalØ broadband:§ multiple channels on cable§ HFC
fiber optic cable:Ø glass fiber carrying light pulses,
each pulse a bitØ high-speed operation:§ high-speed point-to-point transmission
(e.g., 10’s-100’s Gpbs transmission rate)Ø low error rate: § repeaters spaced far apart § immune to electromagnetic noise
![Page 25: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/25.jpg)
25
Physical media: radioØ signal carried in
electromagnetic spectrumØ no physical “wire”Ø bidirectionalØ propagation environment
effects:§ reflection § obstruction by objects§ interference
radio link types:Ø terrestrial microwave§ e.g. up to 45 Mbps channels
Ø LAN (e.g., WiFi)§ 11Mbps, 54 Mbps
Ø wide-area (e.g., cellular)§ 3G cellular: ~ few Mbps
Ø satellite§ Kbps to 45Mbps channel (or
multiple smaller channels)§ 270 msec end-end delay§ geosynchronous versus low
altitude
![Page 26: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/26.jpg)
26
Cost-Effective Resource Sharing
Ø Resource: links and nodesØ How to share a link?§ Multiplexing§ De-multiplexing§ Synchronous Time-division
Multiplexing§ Time slots/data transmitted in
predetermined slotsMultiplexing multiple logical flows over a single physical link
![Page 27: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/27.jpg)
27
Cost-Effective Resource Sharing
Ø FDM: Frequency Division Multiplexing
§ Statistical Multiplexing§ Data is transmitted based on
demand of each flow.
Ø What is a flow? § Packets vs. Messages§ FIFO, Round-Robin, Priorities
(Quality-of-Service (QoS))§ Congested?§ LAN, MAN, WAN§ SAN (System Area Networks)
A switch multiplexing packets from multiple sources onto one shared link
![Page 28: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/28.jpg)
28
Packet-switching: store-and-forward
takes L/R seconds to transmit (push out) L-bit packet into link at R bpsstore and forward: entire packet must arrive at router before it can be transmitted on next link
one-hop numerical example:§L = 7.5 Mbits§R = 1.5 Mbps§one-hop transmission delay = 5 sec
more on delay shortly …
sourceR bps destination
123
L bitsper packet
R bps
v end-end delay = 2L/R (assuming zero propagation delay)
![Page 29: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/29.jpg)
29
Packet Switching: queueing delay, loss
A
B
CR = 100 Mb/s
R = 1.5 Mb/sD
Equeue of packetswaiting for output link
queuing and loss: v If arrival rate (in bits) to link exceeds transmission rate of link for a
period of time:§ packets will queue, wait to be transmitted on link § packets can be dropped (lost) if memory (buffer) fills up
![Page 30: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/30.jpg)
30Network Layer
Two key network-core functions
forwarding: move packets from router’s input to appropriate router output
routing: determines source-destination route taken by packets
§ routing algorithms
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
1
23
dest address in arrivingpacket’s header
![Page 31: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/31.jpg)
31
Alternative core: circuit switchingend-end resources allocated to,
reserved for “call” between source & dest:
Ø 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
Ø circuit segment idle if not used by call (no sharing)
Ø Commonly used in traditional telephone networks
![Page 32: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/32.jpg)
32
Circuit switching: FDM versus TDM
FDM
frequency
timeTDM
frequency
time
4 users
Example:
![Page 33: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/33.jpg)
33
Packet switching versus circuit switching
example:§ 1 Mb/s link§ each user:
• 100 kb/s when “active”• active 10% of time
circuit-switching:10 users
packet switching:with 35 users, probability > 10 active
at same time is less than .0004 *
packet switching allows more users to use network!
Nusers
1 Mbps link
Q: how did we get value 0.0004?
Q: what happens if > 35 users ?
![Page 34: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/34.jpg)
34
great for bursty dataresource sharingsimpler, no call setupexcessive congestion possible: packet delay and lossprotocols needed for reliable data transfer, congestion controlQ: How to provide circuit-like behavior?bandwidth guarantees needed for audio/video appsstill an unsolved problem
is packet switching a “slam dunk winner?”
Q: human analogies of reserved resources (circuit switching) versus on-demand allocation (packet-switching)?
Packet switching versus circuit switching
![Page 35: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/35.jpg)
35
Internet structure: network of networks
Ø End systems connect to Internet via access ISPs (Internet Service Providers)§ Residential, company and university ISPs
Ø Access ISPs in turn must be interconnected. § So that any two hosts can send packets to each other
Ø Resulting network of networks is very complex§ Evolution was driven by economics and national policies
Ø Let’s take a stepwise approach to describe current Internet structure
![Page 36: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/36.jpg)
36
Internet structure: network of networksQuestion: given millions of access ISPs, how to connect them together?
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
![Page 37: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/37.jpg)
37
Internet structure: network of networksOption: connect each access ISP to every other access ISP?
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
connecting each access ISP to each other directly doesn’t scale: O(N2)
connections.
![Page 38: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/38.jpg)
38
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
Option: connect each access ISP to a global transit ISP? Customer and provider ISPs have economic agreement.
globalISP
![Page 39: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/39.jpg)
39
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
But if one global ISP is viable business, there will be competitors ….
ISP B
ISP A
ISP C
![Page 40: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/40.jpg)
40
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
But if one global ISP is viable business, there will be competitors …. which must be interconnected
ISP B
ISP A
ISP C
IXP
IXP
peering link
Internet exchange point
![Page 41: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/41.jpg)
41
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
… and regional networks may arise to connect access nets to ISPS
ISP B
ISP A
ISP C
IXP
IXP
regional net
![Page 42: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/42.jpg)
42
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
… and content provider networks (e.g., Google, Microsoft, Akamai ) may run their own network, to bring services, content close to end users
ISP B
ISP A
ISP B
IXP
IXP
regional net
Content provider network
![Page 43: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/43.jpg)
43
Internet structure: network of networks
Ø 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 network (e.g, Google): private network that connects it data centers to
Internet, often bypassing tier-1, regional ISPs
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
Regional ISP Regional ISP
IXP IXP
Tier 1 ISP Tier 1 ISP Google
IXP
![Page 44: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/44.jpg)
44
Tier-1 ISP: e.g., Sprint
…
to/from customers
peering
to/from backbone
…
………
POP: point-of-presence
![Page 45: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/45.jpg)
45
Support for Common ServicesØ Logical Channels§ Application-to-Application communication path or a pipe
Process communicating over an abstract channel
![Page 46: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/46.jpg)
46
Common Communication Patterns
Ø Client/ServerØ Two types of communication channel§ Request/Reply Channels§ Message Stream Channels
![Page 47: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/47.jpg)
47
Reliability
Ø Network should hide the errorsØ Bits are lost§ Bit errors (1 to a 0, and vice versa)§ Burst errors – several consecutive errors
Ø Packets are lost (Congestion)Ø Links and Node failuresØ Messages are delayedØ Messages are delivered out-of-orderØ Third parties eavesdrop
![Page 48: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/48.jpg)
48
Network Architecture
Example of a layered network system
![Page 49: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/49.jpg)
49
Network Architecture
Layered system with alternative abstractions available at a given layer
![Page 50: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/50.jpg)
50
What is a protocol?
Ø Human Protocols:§ What’s the time?§ I have a question….§ Hi, I am XYZ….§ Hello, how are you?
Ø Network Protocols:§ Nodes / machines in the
network participate§ Communication activity in
Internet is governed by Network Protocols
§ Are you alive?§ Do you know the route to node
X?
Protocols define format, order of messages sent and received among network entities, and actions taken on message transmission, receipt
![Page 51: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/51.jpg)
51
What is a protocol?
Ø Human Protocols: Ø Network Protocols:
Hi
Hi
Got thetime?
2:00
TCP connectionresponse
Get http://www.albany.edu/faculty/dsaha/
<file>time
TCP connectionrequest
![Page 52: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/52.jpg)
52
Protocols
Ø Protocol defines the interfaces between the layers in the same system and with the layers of peer system
Ø Building blocks of a network architectureØ Each protocol object has two different interfaces§ service interface: operations on this protocol§ peer-to-peer interface: messages exchanged with peer
Ø Term “protocol” is overloaded§ specification of peer-to-peer interface§ module that implements this interface
![Page 53: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/53.jpg)
53
Interfaces
Service and Peer Interfaces
![Page 54: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/54.jpg)
54
Protocols
Ø Protocol Specification: prose, pseudo-code, state transition diagram
Ø Interoperable: when two or more protocols that implement the specification accurately
Ø IETF: Internet Engineering Task Force
![Page 55: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/55.jpg)
55
Protocol Graph
Example of a protocol graph nodes are the protocols and links the “depends-on” relation
Message Stream ProtocolRequest Reply ProtocolHost-to-Host Protocol
![Page 56: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/56.jpg)
56
Protocol Layers
Ø Networks are complex, with many “pieces”:§ hosts§ routers§ links of various media§ applications§ protocols§ hardware, software
Question:is there any hope of organizing structure of network?
![Page 57: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/57.jpg)
57
Organization of air travel
ticket (purchase)
baggage (check)
gates (load)
runway takeoff
airplane routing
ticket (complain)
baggage (claim)
gates (unload)
runway landing
airplane routing
airplane routing
![Page 58: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/58.jpg)
58
Layering of airline functionality
ticket (purchase)
baggage (check)
gates (load)
runway (takeoff)
airplane routing
departureairport
arrivalairport
intermediate air-trafficcontrol centers
airplane routing airplane routing
ticket (complain)
baggage (claim
gates (unload)
runway (land)
airplane routing
ticket
baggage
gate
takeoff/landing
airplane routing
Ø layers: each layer implements a service§ via its own internal-layer actions§ relying on services provided by layer below
![Page 59: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/59.jpg)
59
Why layering?
Ø dealing with complex systems:§ explicit structure allows identification, relationship of complex
system’s pieceso layered reference model for discussion
Ø 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
Ø layering considered harmful?
![Page 60: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/60.jpg)
60
OSI ArchitectureThe OSI 7-layer Model
OSI – Open Systems Interconnection
![Page 61: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/61.jpg)
61
Description of Layers
Ø Physical Layer§ Handles the transmission of raw bits over a communication link
Ø Data Link Layer§ Collects a stream of bits into a larger aggregate called a frame§ Network adaptor along with device driver in OS implement the
protocol in this layer§ Frames are actually delivered to hosts
Ø Network Layer§ Handles routing among nodes within a packet-switched network§ Unit of data exchanged between nodes in this layer is called a packet
The lower three layers are implemented on all network nodes
![Page 62: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/62.jpg)
62
Description of LayersØ Transport Layer§ Implements a process-to-process channel§ Unit of data exchanges in this layer is called a message
Ø Session Layer§ Provides a name space that is used to tie together the potentially different transport
streams that are part of a single application
Ø Presentation Layer§ Concerned about the format of data exchanged between peers
Ø Application Layer§ Standardize common type of exchanges
The transport layer and the higher layers typically run only on end-hosts and not on the intermediate switches and routers
![Page 63: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/63.jpg)
63
Internet Protocol Stack (RFC 1122, 1989)
Ø 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)
Ø physical: bits “on the wire” / “over the air”
application
transport
network
link
physical
![Page 64: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/64.jpg)
64
High-level messages are encapsulated inside of low-level messages
Encapsulation
![Page 65: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/65.jpg)
65
Encapsulation
source
applicationtransportnetwork
linkphysical
HtHn M
segment Ht
datagram
destination
applicationtransportnetwork
linkphysical
HtHnHl M
HtHn M
Ht M
Mnetwork
linkphysical
linkphysical
HtHnHl M
HtHn M
HtHn M
HtHnHl M
router
switch
message M
Ht M
Hn
frame
![Page 66: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/66.jpg)
66
Internet Architecture
Internet Protocol Graph
Alternative view of the Internet architecture. The “Network” layer shown here is sometimes referred to as the “sub-network” or “link” layer.
![Page 67: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/67.jpg)
67
Internet ArchitectureØ Defined by IETF (The Internet Engineering Task Force)
Ø Three main features§ Does not imply strict layering. The application is free to bypass the
defined transport layers and to directly use IP or other underlying networks
§ An hour-glass shape – wide at the top, narrow in the middle and wide at the bottom. IP serves as the focal point for the architecture
§ In order for a new protocol to be officially included in the architecture, there needs to be both a protocol specification and at least one (and preferably two) representative implementations of the specification
![Page 68: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/68.jpg)
68
Application Programming InterfaceØ Interface exported by the network
Ø Since most network protocols are implemented (those in the high protocol stack) in software and nearly all computer systems implement their network protocols as part of the operating system, when we refer to the interface “exported by the network”, we are generally referring to the interface that the OS provides to its networking subsystem
Ø The interface is called the network Application Programming Interface (API)
![Page 69: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/69.jpg)
69
Application Programming Interface (Sockets)
Ø Socket Interface was originally provided by the Berkeley distribution of Unix
§ Now supported in virtually all operating systems
Ø Each protocol provides a certain set of services, and the API provides a syntax by which those services can be invoked in this particular OS
![Page 70: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/70.jpg)
70
Socket
Ø What is a socket?§ The point where a local application process attaches to the
network§ An interface between an application and the network§ An application creates the socket
Ø The interface defines operations for§ Creating a socket§ Attaching a socket to the network§ Sending and receiving messages through the socket§ Closing the socket
![Page 71: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/71.jpg)
71
Ø process sends/receives messages to/from its socketØ socket analogous to door between application process &
end-end-transport§ 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
Sockets
Internet
controlledby OS
controlled byapp developer
transport
application
physical
link
network
process
transport
application
physical
link
network
processsocket
![Page 72: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/72.jpg)
72
Socket programming Two socket types for two transport services:§ User Datagram Protocol (UDP):o unreliable datagram
§ Transmission Control Protocol (TCP):o reliable, byte stream-oriented
Application Example:1. client reads a line of characters (data) from its keyboard
and sends data to server2. server receives the data and converts characters to
uppercase3. server sends modified data to client4. client receives modified data and displays line on its screen
![Page 73: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/73.jpg)
73
Socket programming with UDPUDP: no “connection” between client & serverØ no handshaking before sending dataØ sender explicitly attaches IP destination address and port # to each
packetØ receiver extracts sender IP address and port# from received packet
UDP: transmitted data may be lost or received out-of-order
Application viewpoint:Ø UDP provides unreliable transfer of groups of bytes (“datagrams”)
between client and server
![Page 74: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/74.jpg)
74
Port NumbersØ Commonly used:§ 21: File Transfer Protocol (FTP)§ 22: Secure Shell (SSH)§ 23: Telnet remote login service§ 25: Simple Mail Transfer Protocol (SMTP)§ 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web§ 110: Post Office Protocol (POP3)§ 123: Network Time Protocol (NTP)§ 143: Internet Message Access Protocol (IMAP)§ 443: HTTP Secure (HTTPS)
Ø The registered ports are those from 1024 through 49151. IANA maintains the official list of registered ports.
Ø The dynamic or private ports are those from 49152 through 65535.
![Page 75: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/75.jpg)
75
Client/server socket interaction: UDP
closeclientSocket
read datagram fromclientSocket
create socket:clientSocket =socket(AF_INET,SOCK_DGRAM)
Create datagram with server IP andport=x; send datagram viaclientSocket
create socket, port= x:serverSocket =socket(AF_INET,SOCK_DGRAM)
read datagram fromserverSocket
write reply toserverSocketspecifying client address,port number
server (running on serverIP) client
![Page 76: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/76.jpg)
76
Socket programming with TCPclient 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 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 that particular client
§ allows server to talk with multiple clients
§ source port numbers used to distinguish clients (more in Chap 3)
TCP provides reliable, in-orderbyte-stream transfer (“pipe”) between client and server
application viewpoint:
![Page 77: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/77.jpg)
77
Client/server socket interaction: TCP
wait for incomingconnection requestconnectionSocket =serverSocket.accept()
create socket,port=x, for incoming request:serverSocket = socket()
create socket,connect to hostid, port=xclientSocket = socket()
server (running on hostid) client
send request usingclientSocketread request from
connectionSocket
write reply toconnectionSocket
TCP connection setup
closeconnectionSocket
read reply fromclientSocket
closeclientSocket
![Page 78: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/78.jpg)
78
Socket Programming in C
Ø http://beej.us/guide/bgnet/
![Page 79: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/79.jpg)
79
C Program OutputUDP Server UDP Client
TCP Server TCP Client
![Page 80: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/80.jpg)
80
Socket Programming in Python
Ø https://docs.python.org/2/howto/sockets.html
![Page 81: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/81.jpg)
81
Example app: UDP client
from socket import *serverName = ‘hostname’serverPort = 12000clientSocket = socket(AF_INET,
SOCK_DGRAM)message = raw_input(’Input lowercase sentence:’)clientSocket.sendto(message.encode(),
(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print modifiedMessage.decode()clientSocket.close()
Python UDPClientinclude Python’s socket library
create UDP socket for server
get user keyboardinput
Attach server name, port to message; send into socket
print out received string and close socket
read reply characters fromsocket into string
![Page 82: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/82.jpg)
82
Example app: UDP server
from socket import *serverPort = 12000serverSocket = socket(AF_INET, SOCK_DGRAM)serverSocket.bind(('', serverPort))print (“The server is ready to receive”)while True:
message, clientAddress = serverSocket.recvfrom(2048)modifiedMessage = message.decode().upper()serverSocket.sendto(modifiedMessage.encode(),
clientAddress)
Python UDPServer
create UDP socket
bind socket to local port number 12000
loop forever
Read from UDP socket into message, getting client’s address (client IP and port)
send upper case string back to this client
![Page 83: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/83.jpg)
83
Example app: TCP client
from socket import *serverName = ’servername’serverPort = 12000clientSocket = socket(AF_INET, SOCK_STREAM)clientSocket.connect((serverName,serverPort))sentence = raw_input(‘Input lowercase sentence:’)clientSocket.send(sentence.encode())modifiedSentence = clientSocket.recv(1024)print (‘From Server:’, modifiedSentence.decode())clientSocket.close()
Python TCPClient
create TCP socket for server, remote port 12000
No need to attach server name, port
![Page 84: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/84.jpg)
84
Example app: TCP server
from socket import *serverPort = 12000serverSocket = socket(AF_INET,SOCK_STREAM)serverSocket.bind((‘’,serverPort))serverSocket.listen(1)print ‘The server is ready to receive’while True:
connectionSocket, addr = serverSocket.accept()
sentence = connectionSocket.recv(1024).decode()capitalizedSentence = sentence.upper()connectionSocket.send(capitalizedSentence.
encode())connectionSocket.close()
Python TCPServer
create TCP welcomingsocket
server begins listening for incoming TCP requests
loop forever
server waits on accept()for incoming requests, new socket created on return
read bytes from socket (but not address as in UDP)
close connection to this client (but not welcoming socket)
![Page 85: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/85.jpg)
85
PerformanceØ Bandwidth § Width of the frequency band§ Number of bits per second that can be transmitted over a
communication link
Ø 1 Mbps: 1 x 106 bits/second = 1x220 bits/secØ 1 x 10-6 seconds to transmit each bit or imagine that a
timeline, now each bit occupies 1 micro second space.Ø On a 2 Mbps link the width is 0.5 micro second.Ø Smaller the width more will be transmission per unit time.
![Page 86: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/86.jpg)
86
Bandwidth
Bits transmitted at a particular bandwidth can be regarded as having some width: (a) bits transmitted at 1Mbps (each bit 1 µs wide); (b) bits transmitted at 2Mbps (each bit 0.5 µs wide).
![Page 87: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/87.jpg)
87
How do loss and delay occur?
packets queue in router buffersØ packet arrival rate to link (temporarily) exceeds output link capacityØ packets queue, wait for turn
A
B
packet being transmitted (delay)
packets queueing (delay)
free (available) buffers: arriving packets dropped (loss) if no free buffers
![Page 88: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/88.jpg)
88
Four sources of packet delay
dproc: nodal processing§ check bit errors§ determine output link§ typically < msec
A
B
propagation
transmission
nodalprocessing queueing
dqueue: queueing delay§ time waiting at output link for
transmission § depends on congestion level of
router
dnodal = dproc + dqueue + dtrans + dprop
![Page 89: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/89.jpg)
89
Four Sources of Packet Delay
dtrans: transmission delay:§ L: packet length (bits) § R: link bandwidth (bps)§ dtrans = L/R
dprop: propagation delay:§ d: length of physical link§ s: propagation speed in medium (~3x108
m/sec)§ dprop = d/sdtrans and dprop
very different
propagation
nodalprocessing queueing
dnodal = dproc + dqueue + dtrans + dprop
A
B
transmission
![Page 90: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/90.jpg)
90
Caravan analogy
Ø cars “propagate” at 100 km/hr
Ø toll booth takes 12 sec to service car (bit transmission time)
Ø car~bit; caravan ~ packetØ Q: How long until caravan is
lined up before 2nd toll booth?
Ø time to “push” entire caravan through toll booth onto highway = 12*10 = 120 sec
Ø time for last car to propagate from 1st to 2nd toll both: 100km/(100km/hr)= 1 hr
Ø A: 62 minutes
toll booth
toll booth
ten-car caravan
100 km 100 km
![Page 91: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/91.jpg)
91
Caravan analogy (more)
Ø 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, 1st car arrives at second booth; three cars still at 1st booth.
toll booth
toll booth
ten-car caravan
100 km 100 km
![Page 92: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/92.jpg)
92
Queueing delay (revisited)Ø R: link bandwidth (bps)Ø L: packet length (bits)Ø a: average packet arrival rate
traffic intensity = La/Rv La/R ~ 0: avg. queueing delay small
v La/R -> 1: avg. queueing delay largev La/R > 1: more “work” arriving
than can be serviced, average delay infinite!av
erag
e q
ueue
ing
dela
y
La/R ~ 0 La/R -> 1
![Page 93: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/93.jpg)
93
“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§ router i will return packets to sender§ sender times interval between transmission and reply.
3 probes
3 probes
3 probes
![Page 94: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/94.jpg)
94
Real Internet Delays, routestraceroute to openairinterface.org
trans-oceaniclink
3 delay measurements
* means no response (probe lost, router not replying)
From UAlbany
From Home
![Page 95: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/95.jpg)
95
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
A
B
packet being transmitted
packet arriving tofull buffer is lost
buffer (waiting area)
![Page 96: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/96.jpg)
96
Throughput
Ø throughput: rate (bits/time unit) at which bits transferred between sender/receiver
§ instantaneous: rate at given point in time§ average: rate over longer period of time
server, withfile of F bits
to send to client
link capacityRs bits/sec
link capacityRc bits/sec
server sends bits (fluid) into pipe
pipe that can carryfluid at rateRs bits/sec)
pipe that can carryfluid at rateRc bits/sec)
![Page 97: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/97.jpg)
97
Throughput (more)
Ø Rs < Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec
v Rs > Rc What is average end-end throughput?
link on end-end path that constrains end-end throughputbottleneck link
Rs bits/sec Rc bits/sec
![Page 98: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/98.jpg)
98
Throughput: Internet scenarioØ per-connection end-end
throughput: min(Rc,Rs,R/10)
Ø in practice: Rc or Rs is often bottleneck
10 connections (fairly) share backbone bottleneck link R bits/sec
Rs
Rs
Rs
Rc
Rc
Rc
R
![Page 99: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/99.jpg)
99
PerformanceØ Latency = Propagation + processing + transmit + queueØ Propagation = distance/speed of lightØ Transmit = size/bandwidthØ Processing = depends on the node (hardware + software)Ø RTT => Round Trip Time
Ø One bit transmission => propagation is importantØ Large bytes transmission => bandwidth is important
A
B
Internet
![Page 100: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/100.jpg)
100
Delay X BandwidthØ We think the channel between a pair of processes as a hollow
pipeØ Latency (delay) length of the pipe and bandwidth the width
of the pipeØ Delay of 50 ms and bandwidth of 45 Mbps§ 50 x 10-3 seconds x 45 x 106 bits/second§ 2.25 x 106 bits = 280 KB data.
Network as a pipe
![Page 101: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/101.jpg)
101
Delay X BandwidthØ Relative importance of bandwidth and latency depends on
application§ For large file transfer, bandwidth is critical§ For small messages (HTTP, NFS, etc.), latency is critical§ Variance in latency (jitter) can also affect some applications (e.g.,
audio/video conferencing)
![Page 102: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/102.jpg)
102
Delay X Bandwidth
Ø How many bits the sender must transmit before the first bit arrives at the receiver if the sender keeps the pipe full
Ø Takes another one-way latency to receive a response from the receiver
Ø If the sender does not fill the pipe—send a whole delay ×bandwidth product’s worth of data before it stops to wait for a signal—the sender will not fully utilize the network
![Page 103: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/103.jpg)
103
Delay X Bandwidth
Ø Infinite bandwidth§ RTT dominates§ Throughput = TransferSize / TransferTime§ TransferTime = RTT + 1/Bandwidth x TransferSize
Ø Its all relative§ 1-MB file to 1-Gbps link looks like a 1-KB packet to 1-Mbps link
![Page 104: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/104.jpg)
104
Relationship between bandwidth and latency
A 1-MB file would fill the 1-Mbps link 80 times, but only fill the 1-Gbps link 1/12 of one time
![Page 105: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/105.jpg)
105
Internet History
Ø 1961: Kleinrock - queueingtheory 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
Introduction
1961-1972: Early packet-switching principles
![Page 106: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/106.jpg)
106
Ø 1970: ALOHAnet satellite network in Hawaii
Ø 1974: Cerf and Kahn -architecture for interconnecting networks
Ø 1976: Ethernet at Xerox PARCØ late70’s: proprietary
architectures: DECnet, SNA, XNAØ late 70’s: switching fixed length
packets (ATM precursor)Ø 1979: ARPAnet has 200 nodes
Introduction
1972-1980: Internetworking, new and proprietary nets
Internet History
Cerf and Kahn’s internetworking principles:
minimalism, autonomy - no internal changes required to interconnect networksbest effort service modelstateless routersdecentralized control
define today’s Internet architecture
![Page 107: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/107.jpg)
107
Ø 1983: deployment of TCP/IP
Ø 1982: smtp e-mail protocol defined
Ø 1983: DNS defined for name-to-IP-address translation
Ø 1985: ftp protocol definedØ 1988: TCP congestion
control
Internet History
Ø new national networks: Csnet, BITnet, NSFnet, Minitel
Ø 100,000 hosts connected to confederation of networks
1980-1990: new protocols, a proliferation of networks
![Page 108: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/108.jpg)
108
Ø early 1990’s: ARPAnetdecommissioned
Ø 1991: NSF lifts restrictions on commercial use of NSFnet(decommissioned, 1995)
Ø 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
Introduction
1990, 2000’s: commercialization, the Web, new apps
Internet History
![Page 109: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/109.jpg)
109
2005-presentØ ~750 million hosts§ Smartphones and tablets
Ø Aggressive deployment of broadband accessØ Increasing ubiquity of high-speed wireless accessØ Emergence of online social networks: § Facebook: 1.71 billion active users
Ø Service providers (Google, Microsoft) create their own networks§ Bypass Internet, providing “instantaneous” access to search, email,
etc.Ø E-commerce, universities, enterprises running their services in “cloud”
(eg, Amazon EC2)
Internet History
![Page 110: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/110.jpg)
110
SummaryØ We have identified what we expect from a computer network
Ø We have defined a layered architecture for computer network that will serve as a blueprint for our design
Ø We have discussed the socket interface which will be used by applications for invoking the services of the network subsystem
Ø We have discussed two performance metrics using which we can analyze the performance of computer networks
![Page 111: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/111.jpg)
111
ProblemØ Calculate the total time required to transfer a 1.5MB file in
following cases with assumptions a) RTT is 80ms, b) packet size is 1KB, c) initial 2xRTT is required for handshaking before transmission:
§ Bandwidth is 10Mbps and data packets can be sent continuously
§ Convert everything in same unito 1.5MB = 1.5x1000KB = 1.5x1000x1000x8 bits = 12000000bits o 10Mbps = 10000000bps
§ Total Time = initial 2RTT + Transmit Delay + Propagation Delay (RTT/2)o 80x2/1000 + 12000000/10000000 + 40/1000 secso 1.2 secs
![Page 112: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/112.jpg)
112
ProblemØ Calculate the total time required to transfer a 1.5MB file in
following cases with assumptions a) RTT is 80ms, b) packet size is 1KB, c) initial 2xRTT is required for handshaking before transmission:
§ Bandwidth is 10Mbps, but wait for one RTT between packets
§ Number of packetso 1.5MB / 1KB = 1.5x1000 = 1500
§ 1499 interpacket gaps between 1500 packets§ Add 1499xRTT to previous solutiono 1499x80/1000secs + 1.2secso 121.12 secs
![Page 113: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/113.jpg)
113
ProblemØ Calculate the total time required to transfer a 1.5MB file in
following cases with assumptions a) RTT is 80ms, b) packet size is 1KB, c) initial 2xRTT is required for handshaking before transmission:
§ Link allows infinitely fast transmit, but limits bandwidth – 20 packets can be sent in one RTT
§ Transmit Time = 0§ 1500 packets / 20 = 75 batches§ Propagation delay for the first batch = RTT/2§ Initial Setup = RTTx2§ 75 batches in 75xRTT time§ Total = 80x2/1000 + 40/1000 + 75x80/1000 secs = 6.2 secs
![Page 114: Computer Communication Networks Foundation · Computer Communication Networks Foundation ... Ø unguided media: ... § So that any two hosts can send packets to each other Ø Resulting](https://reader031.vdocuments.site/reader031/viewer/2022022511/5ae23b7c7f8b9a495c8bcef8/html5/thumbnails/114.jpg)
114
ProblemØ Calculate the total time required to transfer a 1.5MB file in
following cases with assumptions a) RTT is 80ms, b) packet size is 1KB, c) initial 2xRTT is required for handshaking before transmission:
§ Zero transmit time, but limits 1 packet in first RTT, 2 in second, 23-1 in third RTT and so on.
§ 1 + 2 + 23-1 + ….. + 2n = 2n+1 - 1. o At n=9, total packets = 1023o At n=10, total packets = 2047o Thus, we can send all in 11 batches
§ Propagation delay for the first batch = RTT/2, Initial Setup = RTTx2§ 10 batches in 10xRTT time§ Total = 80x2/1000 + 40/1000 + 10x80/1000 secs = 1sec