1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review.
Post on 19-Dec-2015
227 Views
Preview:
Transcript
1-1
School of Computing Science
Simon Fraser University
CMPT 371 Data Communications and CMPT 371 Data Communications and NetworkingNetworking
ReviewReview
1-2
Course Objectives Understand principles of designing and
operating computer networks
Understand the structure and protocols of the largest network of networks (Internet)
Know how to implement network protocols and networked applications and hellip
Have fun
1-3
A snapshot of the Internet in 1999 showing major ISPs
1-4
Internet structure packet journey
a packet passes through many networks
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
1-5
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
takeofflanding
airplane routing
Layering of airline functionality
Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-2
Course Objectives Understand principles of designing and
operating computer networks
Understand the structure and protocols of the largest network of networks (Internet)
Know how to implement network protocols and networked applications and hellip
Have fun
1-3
A snapshot of the Internet in 1999 showing major ISPs
1-4
Internet structure packet journey
a packet passes through many networks
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
1-5
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
takeofflanding
airplane routing
Layering of airline functionality
Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-3
A snapshot of the Internet in 1999 showing major ISPs
1-4
Internet structure packet journey
a packet passes through many networks
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
1-5
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
takeofflanding
airplane routing
Layering of airline functionality
Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-4
Internet structure packet journey
a packet passes through many networks
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
1-5
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
takeofflanding
airplane routing
Layering of airline functionality
Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-5
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
takeofflanding
airplane routing
Layering of airline functionality
Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-6
Internet protocol stack
application supporting network applications FTP SMTP HTTP
transport host-host data transfer TCP UDP
network routing of datagrams from source to destination IP routing protocols
link data transfer between neighboring network elements PPP Ethernet
physical bits ldquoon the wirerdquo
application
transport
network
link
physical
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-7
datagram
frame HtHnHl M
HtHn M
segment Ht M
message M
HtHnHl M
HtHn M
Ht M
M
application
transportnetwork
linkphysical
application
transportnetwork
linkphysical
linkphysical
networklink
physical
HtHnHl M
HtHn M
HtHnHl M
HtHn M
HtHnHl M HtHnHl M
source
destination
router
switch
Encapsulation
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-8
What is a network app
Programs that run on different end
systems and communicate over a
network eg Web Web server
software communicates with browser software
little software written for devices in network core network core devices do not
run user application code application on end systems
allows for rapid app development propagation
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-9
How to create a network app Design application architecture
how to organize the app over end systems Choose network transport service(s)
which service to use (TCP UDP) depends on app requirements (delay loss
bw hellip) Design app protocol
message types format actions hellip Write code
implement the protocol
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-10
Socket Programming
process sendsreceives messages tofrom its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
process
TCP withbuffersvariables
socket
host orserver
process
TCP withbuffersvariables
socket
host orserver
Internet
controlledby OS
controlled byapp developer
socket is the interface (API) between application and transport layer
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-11
Sample app-level protocols
Web and HTTP web caching
FTP
Domain Name System (DNS)
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-12
Transport layer provide logical
communication between app processes
transport protocols run in end systems send side breaks app
messages into segments passes to network layer
rcv side reassembles segments into messages passes to app layer
more than one transport protocol available to apps Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-13
Reliable data transfer principles
sendside
receiveside
rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer
udt_send() called by rdtto transfer packet over unreliable channel to
receiver
rdt_rcv() called when packet arrives on rcv-side of channel
deliver_data() called by rdt to deliver data to
upper
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-14
Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed
ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)
timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in
window ie go back to n
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-15
Reliable data transfer Selective repeat
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-16
TCP Overview RFCs 793 1122 1323 2018 2581
full duplex data bi-directional data flow
in same connection MSS maximum
segment size
connection-oriented handshaking (exchange
of control msgs) initrsquos sender receiver state before data exchange
flow controlled sender will not
overwhelm receiver
point-to-point one sender one
receiver
reliable in-order byte steam no ldquomessage
boundariesrdquo
congestion controlled will not overwhelm
network
send amp receive bufferssocketdoor
T C Psend buffer
T C Preceive buffer
socketdoor
segm ent
applicationwrites data
applicationreads data
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-17
TCP Congestion Control Summary Initially
Threshold is set to large value (65 Kbytes) has not effect
CongWin = 1 MSS
Slow Start (SS) CongWin grows exponentially
till a loss event occurs (timeout or 3 dup ack) or reaches Threshold
Congestion Avoidance (CA) CongWin grows linearly
3 duplicate ACK occurs
Threshold = CongWin2 CongWin = Threshold CA
Timeout occurs
Threshold = CongWin2 CongWin = 1 MSS SS till Threshold
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-18
Network layer transport segment from
sending to receiving host
on sending side encapsulates segments into datagrams
on receiving side delivers segments to transport layer
network layer protocols in every host router
Router examines header fields in all IP datagrams passing through it
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-19
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-20
1
23
0111
value in arrivingpacketrsquos header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-21
Router Architecture OverviewTwo key router functions
run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-22
Addressing Subnets22311024
22312024
22313024
Subnet is a group of devices that
can reach each other without intervening router
identified by high order bits of IP addresses
11011111 00000001 00000001 00000001
22311024
Subnet ID Host ID
24 bits in subnet portion of address subnet mask
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-23
Hierarchical addressing route aggregation
ldquoSend me anythingwith addresses beginning 2002316020rdquo
2002316023
2002318023
2002330023
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo
2002320023Organization 2
Hierarchical addressing allows efficient advertisement of routing information
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-24
Routing algorithms Graph abstraction
u
yx
wv
z2
2
13
1
1
2
53
5bull
Routing algorithm algorithm that finds least-cost path
cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion
Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-
1xp)
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-25
Classification of Routing AlgorithmsGlobal or local information
Global all routers have complete topology link cost info ldquolink staterdquo algorithms
local router knows physically-connected neighbors
link costs to neighbors iterative process of computation exchange of
info with neighbors ldquodistance vectorrdquo algorithms
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-26
Hierarchical Routing
aggregate routers into regions ldquoautonomous systemsrdquo (AS)
routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing
protocol
Gateway router Direct link to router in another AS
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-27
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Hierarchical Routing
Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries
for internal dests Inter-AS amp Intra-As
sets entries for external dests
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-28
BGP reachability and policy routing
Figure 45-BGPnew a simple BGP scenario
A
B
C
W X
Y
legend
customer network
provider network
ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider
networks X does not want to route traffic from B via X to
C so X will not advertise to B a route to C
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-29
Unicast multicast broadcast Unicast one source one destination
Eg web session
Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans
Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a
domain in OSPF protocol
Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-30
Link Layer Some terminology hosts and routers are nodes communication channels
that connect adjacent nodes along communication path are links wired links wireless links LANs
layer-2 packet is a frame encapsulates datagram
ldquolinkrdquo
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-31
Adaptors Communicating
link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card
80211 card
sending side encapsulates datagram in
a frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram
passes to rcving node
adapter is semi-autonomous
link amp physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-32
CRC basic idea Sender and receiver agree on a divisor
polynomial G(x) of degree r Sender transmits T(x) which consists
of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is
0 Receiver gets Trsquo(x) which may have
corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred
d bits r bits
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-33
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can
take longer turns
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-34
MAC and IP addresses Why do we have TWO addresses (IPMAC)
Do we have to have MAC addresses Yes we must have both
To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)
Enable flexibility mobility of cards
Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-35
Ethernet CSMACD algorithm
1 Adaptor receives datagram from net layer amp creates frame
2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits
3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame
4 If adapter detects another transmission while transmitting aborts and sends jam signal
5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-36
Institutional network
hub
hubhub
switch
to externalnetwork
router
IP subnet
mail server
web server
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-37
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-38
The Internet virtualizing networks
ARPAnet satellite net
gateway
Internetwork layer (IP) addressing internetwork
appears as a single uniform entity despite underlying local network heterogeneity
network of networks
Gateway ldquoembed internetwork packets
in local packet format or extract themrdquo
route (at internetwork level) to next gateway
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-39
What is next If you have passion for networking
More networking CMPT 471 (Systems) CMPT 408 (Theory)
Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory
Some systems CC++ coding and Unix OS CMPT 300 CMPT 401
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
1-40
That is all
Good luck on your final
- School of Computing Science Simon Fraser University
- Course Objectives
- Slide 3
- Internet structure packet journey
- Layering of airline functionality
- Internet protocol stack
- Encapsulation
- What is a network app
- How to create a network app
- Socket Programming
- Sample app-level protocols
- Transport layer
- Reliable data transfer principles
- Reliable data transfer Go-Back-N
- Reliable data transfer Selective repeat
- TCP Overview RFCs 793 1122 1323 2018 2581
- TCP Congestion Control Summary
- Network layer
- Network Taxonomy
- Slide 20
- Router Architecture Overview
- Addressing Subnets
- Hierarchical addressing route aggregation
- Routing algorithms Graph abstraction
- Classification of Routing Algorithms
- Hierarchical Routing
- Slide 27
- BGP reachability and policy routing
- Unicast multicast broadcast
- Link Layer
- Adaptors Communicating
- CRC basic idea
- MAC Protocols a taxonomy
- MAC and IP addresses
- Ethernet CSMACD algorithm
- Institutional network
- Point to Point Data Link Control
- The Internet virtualizing networks
- What is next
- Slide 40
top related