1-1 school of computing science simon fraser university cmpt 371: data communications and networking...

40
1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and CMPT 371: Data Communications and Networking Networking Review Review

Post on 19-Dec-2015

227 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 2: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 3: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 4: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 5: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 6: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 7: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 8: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 9: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 10: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 11: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 12: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 13: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 14: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 15: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 16: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 17: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 18: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 19: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 20: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 21: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 22: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 23: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 24: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 25: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 26: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 27: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 28: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 29: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 30: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 31: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 32: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 33: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 34: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 35: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 36: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 37: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 38: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 39: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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
Page 40: 1-1 School of Computing Science Simon Fraser University CMPT 371: Data Communications and Networking Review

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