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

Post on 19-Dec-2015

227 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

Transcript

1-1

School of Computing Science

Simon Fraser University

CMPT 371 Data Communications and CMPT 371 Data Communications and NetworkingNetworking

ReviewReview

1-2

Course Objectives Understand principles of designing and

operating computer networks

Understand the structure and protocols of the largest network of networks (Internet)

Know how to implement network protocols and networked applications and hellip

Have fun

1-3

A snapshot of the Internet in 1999 showing major ISPs

1-4

Internet structure packet journey

a packet passes through many networks

Tier 1 ISP

Tier 1 ISP

Tier 1 ISP

NAP

Tier-2 ISPTier-2 ISP

Tier-2 ISP Tier-2 ISP

Tier-2 ISP

localISPlocal

ISPlocalISP

localISP

localISP Tier 3

ISP

localISP

localISP

localISP

1-5

ticket (purchase)

baggage (check)

gates (load)

runway (takeoff)

airplane routing

departureairport

arrivalairport

intermediate air-trafficcontrol centers

airplane routing airplane routing

ticket (complain)

baggage (claim

gates (unload)

runway (land)

airplane routing

ticket

baggage

gate

takeofflanding

airplane routing

Layering of airline functionality

Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below

1-6

Internet protocol stack

application supporting network applications FTP SMTP HTTP

transport host-host data transfer TCP UDP

network routing of datagrams from source to destination IP routing protocols

link data transfer between neighboring network elements PPP Ethernet

physical bits ldquoon the wirerdquo

application

transport

network

link

physical

1-7

datagram

frame HtHnHl M

HtHn M

segment Ht M

message M

HtHnHl M

HtHn M

Ht M

M

application

transportnetwork

linkphysical

application

transportnetwork

linkphysical

linkphysical

networklink

physical

HtHnHl M

HtHn M

HtHnHl M

HtHn M

HtHnHl M HtHnHl M

source

destination

router

switch

Encapsulation

1-8

What is a network app

Programs that run on different end

systems and communicate over a

network eg Web Web server

software communicates with browser software

little software written for devices in network core network core devices do not

run user application code application on end systems

allows for rapid app development propagation

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1-9

How to create a network app Design application architecture

how to organize the app over end systems Choose network transport service(s)

which service to use (TCP UDP) depends on app requirements (delay loss

bw hellip) Design app protocol

message types format actions hellip Write code

implement the protocol

1-10

Socket Programming

process sendsreceives messages tofrom its socket

socket analogous to door sending process shoves

message out door sending process relies on

transport infrastructure on other side of door which brings message to socket at receiving process

process

TCP withbuffersvariables

socket

host orserver

process

TCP withbuffersvariables

socket

host orserver

Internet

controlledby OS

controlled byapp developer

socket is the interface (API) between application and transport layer

1-11

Sample app-level protocols

Web and HTTP web caching

FTP

Domain Name System (DNS)

1-12

Transport layer provide logical

communication between app processes

transport protocols run in end systems send side breaks app

messages into segments passes to network layer

rcv side reassembles segments into messages passes to app layer

more than one transport protocol available to apps Internet TCP and UDP

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

1-13

Reliable data transfer principles

sendside

receiveside

rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

udt_send() called by rdtto transfer packet over unreliable channel to

receiver

rdt_rcv() called when packet arrives on rcv-side of channel

deliver_data() called by rdt to deliver data to

upper

1-14

Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

window ie go back to n

1-15

Reliable data transfer Selective repeat

1-16

TCP Overview RFCs 793 1122 1323 2018 2581

full duplex data bi-directional data flow

in same connection MSS maximum

segment size

connection-oriented handshaking (exchange

of control msgs) initrsquos sender receiver state before data exchange

flow controlled sender will not

overwhelm receiver

point-to-point one sender one

receiver

reliable in-order byte steam no ldquomessage

boundariesrdquo

congestion controlled will not overwhelm

network

send amp receive bufferssocketdoor

T C Psend buffer

T C Preceive buffer

socketdoor

segm ent

applicationwrites data

applicationreads data

1-17

TCP Congestion Control Summary Initially

Threshold is set to large value (65 Kbytes) has not effect

CongWin = 1 MSS

Slow Start (SS) CongWin grows exponentially

till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

Congestion Avoidance (CA) CongWin grows linearly

3 duplicate ACK occurs

Threshold = CongWin2 CongWin = Threshold CA

Timeout occurs

Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

1-18

Network layer transport segment from

sending to receiving host

on sending side encapsulates segments into datagrams

on receiving side delivers segments to transport layer

network layer protocols in every host router

Router examines header fields in all IP datagrams passing through it

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1-19

Network Taxonomy

Telecommunicationnetworks

Circuit-switchednetworks

FDM TDM

Packet-switchednetworks

Networkswith VCs

DatagramNetworks

bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

1-20

1

23

0111

value in arrivingpacketrsquos header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Interplay between routing and forwarding

1-21

Router Architecture OverviewTwo key router functions

run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

1-22

Addressing Subnets22311024

22312024

22313024

Subnet is a group of devices that

can reach each other without intervening router

identified by high order bits of IP addresses

11011111 00000001 00000001 00000001

22311024

Subnet ID Host ID

24 bits in subnet portion of address subnet mask

1-23

Hierarchical addressing route aggregation

ldquoSend me anythingwith addresses beginning 2002316020rdquo

2002316023

2002318023

2002330023

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

2002320023Organization 2

Hierarchical addressing allows efficient advertisement of routing information

1-24

Routing algorithms Graph abstraction

u

yx

wv

z2

2

13

1

1

2

53

5bull

Routing algorithm algorithm that finds least-cost path

cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

1xp)

1-25

Classification of Routing AlgorithmsGlobal or local information

Global all routers have complete topology link cost info ldquolink staterdquo algorithms

local router knows physically-connected neighbors

link costs to neighbors iterative process of computation exchange of

info with neighbors ldquodistance vectorrdquo algorithms

1-26

Hierarchical Routing

aggregate routers into regions ldquoautonomous systemsrdquo (AS)

routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

protocol

Gateway router Direct link to router in another AS

1-27

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Hierarchical Routing

Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

for internal dests Inter-AS amp Intra-As

sets entries for external dests

1-28

BGP reachability and policy routing

Figure 45-BGPnew a simple BGP scenario

A

B

C

W X

Y

legend

customer network

provider network

ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

networks X does not want to route traffic from B via X to

C so X will not advertise to B a route to C

1-29

Unicast multicast broadcast Unicast one source one destination

Eg web session

Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

domain in OSPF protocol

Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

1-30

Link Layer Some terminology hosts and routers are nodes communication channels

that connect adjacent nodes along communication path are links wired links wireless links LANs

layer-2 packet is a frame encapsulates datagram

ldquolinkrdquo

data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

1-31

Adaptors Communicating

link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

80211 card

sending side encapsulates datagram in

a frame adds error checking bits

rdt flow control etc

receiving side looks for errors rdt flow

control etc extracts datagram

passes to rcving node

adapter is semi-autonomous

link amp physical layers

sendingnode

frame

rcvingnode

datagram

frame

adapter adapter

link layer protocol

1-32

CRC basic idea Sender and receiver agree on a divisor

polynomial G(x) of degree r Sender transmits T(x) which consists

of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

0 Receiver gets Trsquo(x) which may have

corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

d bits r bits

1-33

MAC Protocols a taxonomy

Three broad classes Channel Partitioning

divide channel into smaller ldquopiecesrdquo (time slots frequency code)

allocate piece to node for exclusive use

Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

take longer turns

1-34

MAC and IP addresses Why do we have TWO addresses (IPMAC)

Do we have to have MAC addresses Yes we must have both

To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

Enable flexibility mobility of cards

Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

1-35

Ethernet CSMACD algorithm

1 Adaptor receives datagram from net layer amp creates frame

2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

4 If adapter detects another transmission while transmitting aborts and sends jam signal

5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

1-36

Institutional network

hub

hubhub

switch

to externalnetwork

router

IP subnet

mail server

web server

1-37

Point to Point Data Link Control one sender one receiver one link easier than

broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

1-38

The Internet virtualizing networks

ARPAnet satellite net

gateway

Internetwork layer (IP) addressing internetwork

appears as a single uniform entity despite underlying local network heterogeneity

network of networks

Gateway ldquoembed internetwork packets

in local packet format or extract themrdquo

route (at internetwork level) to next gateway

1-39

What is next If you have passion for networking

More networking CMPT 471 (Systems) CMPT 408 (Theory)

Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

1-40

That is all

Good luck on your final

  • School of Computing Science Simon Fraser University
  • Course Objectives
  • Slide 3
  • Internet structure packet journey
  • Layering of airline functionality
  • Internet protocol stack
  • Encapsulation
  • What is a network app
  • How to create a network app
  • Socket Programming
  • Sample app-level protocols
  • Transport layer
  • Reliable data transfer principles
  • Reliable data transfer Go-Back-N
  • Reliable data transfer Selective repeat
  • TCP Overview RFCs 793 1122 1323 2018 2581
  • TCP Congestion Control Summary
  • Network layer
  • Network Taxonomy
  • Slide 20
  • Router Architecture Overview
  • Addressing Subnets
  • Hierarchical addressing route aggregation
  • Routing algorithms Graph abstraction
  • Classification of Routing Algorithms
  • Hierarchical Routing
  • Slide 27
  • BGP reachability and policy routing
  • Unicast multicast broadcast
  • Link Layer
  • Adaptors Communicating
  • CRC basic idea
  • MAC Protocols a taxonomy
  • MAC and IP addresses
  • Ethernet CSMACD algorithm
  • Institutional network
  • Point to Point Data Link Control
  • The Internet virtualizing networks
  • What is next
  • Slide 40

    1-2

    Course Objectives Understand principles of designing and

    operating computer networks

    Understand the structure and protocols of the largest network of networks (Internet)

    Know how to implement network protocols and networked applications and hellip

    Have fun

    1-3

    A snapshot of the Internet in 1999 showing major ISPs

    1-4

    Internet structure packet journey

    a packet passes through many networks

    Tier 1 ISP

    Tier 1 ISP

    Tier 1 ISP

    NAP

    Tier-2 ISPTier-2 ISP

    Tier-2 ISP Tier-2 ISP

    Tier-2 ISP

    localISPlocal

    ISPlocalISP

    localISP

    localISP Tier 3

    ISP

    localISP

    localISP

    localISP

    1-5

    ticket (purchase)

    baggage (check)

    gates (load)

    runway (takeoff)

    airplane routing

    departureairport

    arrivalairport

    intermediate air-trafficcontrol centers

    airplane routing airplane routing

    ticket (complain)

    baggage (claim

    gates (unload)

    runway (land)

    airplane routing

    ticket

    baggage

    gate

    takeofflanding

    airplane routing

    Layering of airline functionality

    Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below

    1-6

    Internet protocol stack

    application supporting network applications FTP SMTP HTTP

    transport host-host data transfer TCP UDP

    network routing of datagrams from source to destination IP routing protocols

    link data transfer between neighboring network elements PPP Ethernet

    physical bits ldquoon the wirerdquo

    application

    transport

    network

    link

    physical

    1-7

    datagram

    frame HtHnHl M

    HtHn M

    segment Ht M

    message M

    HtHnHl M

    HtHn M

    Ht M

    M

    application

    transportnetwork

    linkphysical

    application

    transportnetwork

    linkphysical

    linkphysical

    networklink

    physical

    HtHnHl M

    HtHn M

    HtHnHl M

    HtHn M

    HtHnHl M HtHnHl M

    source

    destination

    router

    switch

    Encapsulation

    1-8

    What is a network app

    Programs that run on different end

    systems and communicate over a

    network eg Web Web server

    software communicates with browser software

    little software written for devices in network core network core devices do not

    run user application code application on end systems

    allows for rapid app development propagation

    application

    transportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    1-9

    How to create a network app Design application architecture

    how to organize the app over end systems Choose network transport service(s)

    which service to use (TCP UDP) depends on app requirements (delay loss

    bw hellip) Design app protocol

    message types format actions hellip Write code

    implement the protocol

    1-10

    Socket Programming

    process sendsreceives messages tofrom its socket

    socket analogous to door sending process shoves

    message out door sending process relies on

    transport infrastructure on other side of door which brings message to socket at receiving process

    process

    TCP withbuffersvariables

    socket

    host orserver

    process

    TCP withbuffersvariables

    socket

    host orserver

    Internet

    controlledby OS

    controlled byapp developer

    socket is the interface (API) between application and transport layer

    1-11

    Sample app-level protocols

    Web and HTTP web caching

    FTP

    Domain Name System (DNS)

    1-12

    Transport layer provide logical

    communication between app processes

    transport protocols run in end systems send side breaks app

    messages into segments passes to network layer

    rcv side reassembles segments into messages passes to app layer

    more than one transport protocol available to apps Internet TCP and UDP

    application

    transportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysicalnetwork

    data linkphysical

    logical end-end transport

    1-13

    Reliable data transfer principles

    sendside

    receiveside

    rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

    udt_send() called by rdtto transfer packet over unreliable channel to

    receiver

    rdt_rcv() called when packet arrives on rcv-side of channel

    deliver_data() called by rdt to deliver data to

    upper

    1-14

    Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

    ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

    timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

    window ie go back to n

    1-15

    Reliable data transfer Selective repeat

    1-16

    TCP Overview RFCs 793 1122 1323 2018 2581

    full duplex data bi-directional data flow

    in same connection MSS maximum

    segment size

    connection-oriented handshaking (exchange

    of control msgs) initrsquos sender receiver state before data exchange

    flow controlled sender will not

    overwhelm receiver

    point-to-point one sender one

    receiver

    reliable in-order byte steam no ldquomessage

    boundariesrdquo

    congestion controlled will not overwhelm

    network

    send amp receive bufferssocketdoor

    T C Psend buffer

    T C Preceive buffer

    socketdoor

    segm ent

    applicationwrites data

    applicationreads data

    1-17

    TCP Congestion Control Summary Initially

    Threshold is set to large value (65 Kbytes) has not effect

    CongWin = 1 MSS

    Slow Start (SS) CongWin grows exponentially

    till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

    Congestion Avoidance (CA) CongWin grows linearly

    3 duplicate ACK occurs

    Threshold = CongWin2 CongWin = Threshold CA

    Timeout occurs

    Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

    1-18

    Network layer transport segment from

    sending to receiving host

    on sending side encapsulates segments into datagrams

    on receiving side delivers segments to transport layer

    network layer protocols in every host router

    Router examines header fields in all IP datagrams passing through it

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    networkdata linkphysical

    application

    transportnetworkdata linkphysical

    application

    transportnetworkdata linkphysical

    1-19

    Network Taxonomy

    Telecommunicationnetworks

    Circuit-switchednetworks

    FDM TDM

    Packet-switchednetworks

    Networkswith VCs

    DatagramNetworks

    bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

    1-20

    1

    23

    0111

    value in arrivingpacketrsquos header

    routing algorithm

    local forwarding tableheader value output link

    0100010101111001

    3221

    Interplay between routing and forwarding

    1-21

    Router Architecture OverviewTwo key router functions

    run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

    1-22

    Addressing Subnets22311024

    22312024

    22313024

    Subnet is a group of devices that

    can reach each other without intervening router

    identified by high order bits of IP addresses

    11011111 00000001 00000001 00000001

    22311024

    Subnet ID Host ID

    24 bits in subnet portion of address subnet mask

    1-23

    Hierarchical addressing route aggregation

    ldquoSend me anythingwith addresses beginning 2002316020rdquo

    2002316023

    2002318023

    2002330023

    Fly-By-Night-ISP

    Organization 0

    Organization 7Internet

    Organization 1

    ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

    2002320023Organization 2

    Hierarchical addressing allows efficient advertisement of routing information

    1-24

    Routing algorithms Graph abstraction

    u

    yx

    wv

    z2

    2

    13

    1

    1

    2

    53

    5bull

    Routing algorithm algorithm that finds least-cost path

    cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

    Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

    1xp)

    1-25

    Classification of Routing AlgorithmsGlobal or local information

    Global all routers have complete topology link cost info ldquolink staterdquo algorithms

    local router knows physically-connected neighbors

    link costs to neighbors iterative process of computation exchange of

    info with neighbors ldquodistance vectorrdquo algorithms

    1-26

    Hierarchical Routing

    aggregate routers into regions ldquoautonomous systemsrdquo (AS)

    routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

    protocol

    Gateway router Direct link to router in another AS

    1-27

    3b

    1d

    3a

    1c2aAS3

    AS1

    AS21a

    2c2b

    1b

    Intra-ASRouting algorithm

    Inter-ASRouting algorithm

    Forwardingtable

    3c

    Hierarchical Routing

    Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

    for internal dests Inter-AS amp Intra-As

    sets entries for external dests

    1-28

    BGP reachability and policy routing

    Figure 45-BGPnew a simple BGP scenario

    A

    B

    C

    W X

    Y

    legend

    customer network

    provider network

    ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

    networks X does not want to route traffic from B via X to

    C so X will not advertise to B a route to C

    1-29

    Unicast multicast broadcast Unicast one source one destination

    Eg web session

    Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

    Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

    domain in OSPF protocol

    Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

    1-30

    Link Layer Some terminology hosts and routers are nodes communication channels

    that connect adjacent nodes along communication path are links wired links wireless links LANs

    layer-2 packet is a frame encapsulates datagram

    ldquolinkrdquo

    data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

    1-31

    Adaptors Communicating

    link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

    80211 card

    sending side encapsulates datagram in

    a frame adds error checking bits

    rdt flow control etc

    receiving side looks for errors rdt flow

    control etc extracts datagram

    passes to rcving node

    adapter is semi-autonomous

    link amp physical layers

    sendingnode

    frame

    rcvingnode

    datagram

    frame

    adapter adapter

    link layer protocol

    1-32

    CRC basic idea Sender and receiver agree on a divisor

    polynomial G(x) of degree r Sender transmits T(x) which consists

    of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

    0 Receiver gets Trsquo(x) which may have

    corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

    d bits r bits

    1-33

    MAC Protocols a taxonomy

    Three broad classes Channel Partitioning

    divide channel into smaller ldquopiecesrdquo (time slots frequency code)

    allocate piece to node for exclusive use

    Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

    ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

    take longer turns

    1-34

    MAC and IP addresses Why do we have TWO addresses (IPMAC)

    Do we have to have MAC addresses Yes we must have both

    To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

    Enable flexibility mobility of cards

    Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

    1-35

    Ethernet CSMACD algorithm

    1 Adaptor receives datagram from net layer amp creates frame

    2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

    3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

    4 If adapter detects another transmission while transmitting aborts and sends jam signal

    5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

    1-36

    Institutional network

    hub

    hubhub

    switch

    to externalnetwork

    router

    IP subnet

    mail server

    web server

    1-37

    Point to Point Data Link Control one sender one receiver one link easier than

    broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

    popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

    1-38

    The Internet virtualizing networks

    ARPAnet satellite net

    gateway

    Internetwork layer (IP) addressing internetwork

    appears as a single uniform entity despite underlying local network heterogeneity

    network of networks

    Gateway ldquoembed internetwork packets

    in local packet format or extract themrdquo

    route (at internetwork level) to next gateway

    1-39

    What is next If you have passion for networking

    More networking CMPT 471 (Systems) CMPT 408 (Theory)

    Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

    Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

    1-40

    That is all

    Good luck on your final

    • School of Computing Science Simon Fraser University
    • Course Objectives
    • Slide 3
    • Internet structure packet journey
    • Layering of airline functionality
    • Internet protocol stack
    • Encapsulation
    • What is a network app
    • How to create a network app
    • Socket Programming
    • Sample app-level protocols
    • Transport layer
    • Reliable data transfer principles
    • Reliable data transfer Go-Back-N
    • Reliable data transfer Selective repeat
    • TCP Overview RFCs 793 1122 1323 2018 2581
    • TCP Congestion Control Summary
    • Network layer
    • Network Taxonomy
    • Slide 20
    • Router Architecture Overview
    • Addressing Subnets
    • Hierarchical addressing route aggregation
    • Routing algorithms Graph abstraction
    • Classification of Routing Algorithms
    • Hierarchical Routing
    • Slide 27
    • BGP reachability and policy routing
    • Unicast multicast broadcast
    • Link Layer
    • Adaptors Communicating
    • CRC basic idea
    • MAC Protocols a taxonomy
    • MAC and IP addresses
    • Ethernet CSMACD algorithm
    • Institutional network
    • Point to Point Data Link Control
    • The Internet virtualizing networks
    • What is next
    • Slide 40

      1-3

      A snapshot of the Internet in 1999 showing major ISPs

      1-4

      Internet structure packet journey

      a packet passes through many networks

      Tier 1 ISP

      Tier 1 ISP

      Tier 1 ISP

      NAP

      Tier-2 ISPTier-2 ISP

      Tier-2 ISP Tier-2 ISP

      Tier-2 ISP

      localISPlocal

      ISPlocalISP

      localISP

      localISP Tier 3

      ISP

      localISP

      localISP

      localISP

      1-5

      ticket (purchase)

      baggage (check)

      gates (load)

      runway (takeoff)

      airplane routing

      departureairport

      arrivalairport

      intermediate air-trafficcontrol centers

      airplane routing airplane routing

      ticket (complain)

      baggage (claim

      gates (unload)

      runway (land)

      airplane routing

      ticket

      baggage

      gate

      takeofflanding

      airplane routing

      Layering of airline functionality

      Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below

      1-6

      Internet protocol stack

      application supporting network applications FTP SMTP HTTP

      transport host-host data transfer TCP UDP

      network routing of datagrams from source to destination IP routing protocols

      link data transfer between neighboring network elements PPP Ethernet

      physical bits ldquoon the wirerdquo

      application

      transport

      network

      link

      physical

      1-7

      datagram

      frame HtHnHl M

      HtHn M

      segment Ht M

      message M

      HtHnHl M

      HtHn M

      Ht M

      M

      application

      transportnetwork

      linkphysical

      application

      transportnetwork

      linkphysical

      linkphysical

      networklink

      physical

      HtHnHl M

      HtHn M

      HtHnHl M

      HtHn M

      HtHnHl M HtHnHl M

      source

      destination

      router

      switch

      Encapsulation

      1-8

      What is a network app

      Programs that run on different end

      systems and communicate over a

      network eg Web Web server

      software communicates with browser software

      little software written for devices in network core network core devices do not

      run user application code application on end systems

      allows for rapid app development propagation

      application

      transportnetworkdata linkphysical

      application

      transportnetworkdata linkphysical

      application

      transportnetworkdata linkphysical

      1-9

      How to create a network app Design application architecture

      how to organize the app over end systems Choose network transport service(s)

      which service to use (TCP UDP) depends on app requirements (delay loss

      bw hellip) Design app protocol

      message types format actions hellip Write code

      implement the protocol

      1-10

      Socket Programming

      process sendsreceives messages tofrom its socket

      socket analogous to door sending process shoves

      message out door sending process relies on

      transport infrastructure on other side of door which brings message to socket at receiving process

      process

      TCP withbuffersvariables

      socket

      host orserver

      process

      TCP withbuffersvariables

      socket

      host orserver

      Internet

      controlledby OS

      controlled byapp developer

      socket is the interface (API) between application and transport layer

      1-11

      Sample app-level protocols

      Web and HTTP web caching

      FTP

      Domain Name System (DNS)

      1-12

      Transport layer provide logical

      communication between app processes

      transport protocols run in end systems send side breaks app

      messages into segments passes to network layer

      rcv side reassembles segments into messages passes to app layer

      more than one transport protocol available to apps Internet TCP and UDP

      application

      transportnetworkdata linkphysical

      application

      transportnetworkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysicalnetwork

      data linkphysical

      logical end-end transport

      1-13

      Reliable data transfer principles

      sendside

      receiveside

      rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

      udt_send() called by rdtto transfer packet over unreliable channel to

      receiver

      rdt_rcv() called when packet arrives on rcv-side of channel

      deliver_data() called by rdt to deliver data to

      upper

      1-14

      Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

      ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

      timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

      window ie go back to n

      1-15

      Reliable data transfer Selective repeat

      1-16

      TCP Overview RFCs 793 1122 1323 2018 2581

      full duplex data bi-directional data flow

      in same connection MSS maximum

      segment size

      connection-oriented handshaking (exchange

      of control msgs) initrsquos sender receiver state before data exchange

      flow controlled sender will not

      overwhelm receiver

      point-to-point one sender one

      receiver

      reliable in-order byte steam no ldquomessage

      boundariesrdquo

      congestion controlled will not overwhelm

      network

      send amp receive bufferssocketdoor

      T C Psend buffer

      T C Preceive buffer

      socketdoor

      segm ent

      applicationwrites data

      applicationreads data

      1-17

      TCP Congestion Control Summary Initially

      Threshold is set to large value (65 Kbytes) has not effect

      CongWin = 1 MSS

      Slow Start (SS) CongWin grows exponentially

      till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

      Congestion Avoidance (CA) CongWin grows linearly

      3 duplicate ACK occurs

      Threshold = CongWin2 CongWin = Threshold CA

      Timeout occurs

      Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

      1-18

      Network layer transport segment from

      sending to receiving host

      on sending side encapsulates segments into datagrams

      on receiving side delivers segments to transport layer

      network layer protocols in every host router

      Router examines header fields in all IP datagrams passing through it

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      networkdata linkphysical

      application

      transportnetworkdata linkphysical

      application

      transportnetworkdata linkphysical

      1-19

      Network Taxonomy

      Telecommunicationnetworks

      Circuit-switchednetworks

      FDM TDM

      Packet-switchednetworks

      Networkswith VCs

      DatagramNetworks

      bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

      1-20

      1

      23

      0111

      value in arrivingpacketrsquos header

      routing algorithm

      local forwarding tableheader value output link

      0100010101111001

      3221

      Interplay between routing and forwarding

      1-21

      Router Architecture OverviewTwo key router functions

      run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

      1-22

      Addressing Subnets22311024

      22312024

      22313024

      Subnet is a group of devices that

      can reach each other without intervening router

      identified by high order bits of IP addresses

      11011111 00000001 00000001 00000001

      22311024

      Subnet ID Host ID

      24 bits in subnet portion of address subnet mask

      1-23

      Hierarchical addressing route aggregation

      ldquoSend me anythingwith addresses beginning 2002316020rdquo

      2002316023

      2002318023

      2002330023

      Fly-By-Night-ISP

      Organization 0

      Organization 7Internet

      Organization 1

      ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

      2002320023Organization 2

      Hierarchical addressing allows efficient advertisement of routing information

      1-24

      Routing algorithms Graph abstraction

      u

      yx

      wv

      z2

      2

      13

      1

      1

      2

      53

      5bull

      Routing algorithm algorithm that finds least-cost path

      cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

      Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

      1xp)

      1-25

      Classification of Routing AlgorithmsGlobal or local information

      Global all routers have complete topology link cost info ldquolink staterdquo algorithms

      local router knows physically-connected neighbors

      link costs to neighbors iterative process of computation exchange of

      info with neighbors ldquodistance vectorrdquo algorithms

      1-26

      Hierarchical Routing

      aggregate routers into regions ldquoautonomous systemsrdquo (AS)

      routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

      protocol

      Gateway router Direct link to router in another AS

      1-27

      3b

      1d

      3a

      1c2aAS3

      AS1

      AS21a

      2c2b

      1b

      Intra-ASRouting algorithm

      Inter-ASRouting algorithm

      Forwardingtable

      3c

      Hierarchical Routing

      Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

      for internal dests Inter-AS amp Intra-As

      sets entries for external dests

      1-28

      BGP reachability and policy routing

      Figure 45-BGPnew a simple BGP scenario

      A

      B

      C

      W X

      Y

      legend

      customer network

      provider network

      ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

      networks X does not want to route traffic from B via X to

      C so X will not advertise to B a route to C

      1-29

      Unicast multicast broadcast Unicast one source one destination

      Eg web session

      Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

      Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

      domain in OSPF protocol

      Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

      1-30

      Link Layer Some terminology hosts and routers are nodes communication channels

      that connect adjacent nodes along communication path are links wired links wireless links LANs

      layer-2 packet is a frame encapsulates datagram

      ldquolinkrdquo

      data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

      1-31

      Adaptors Communicating

      link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

      80211 card

      sending side encapsulates datagram in

      a frame adds error checking bits

      rdt flow control etc

      receiving side looks for errors rdt flow

      control etc extracts datagram

      passes to rcving node

      adapter is semi-autonomous

      link amp physical layers

      sendingnode

      frame

      rcvingnode

      datagram

      frame

      adapter adapter

      link layer protocol

      1-32

      CRC basic idea Sender and receiver agree on a divisor

      polynomial G(x) of degree r Sender transmits T(x) which consists

      of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

      0 Receiver gets Trsquo(x) which may have

      corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

      d bits r bits

      1-33

      MAC Protocols a taxonomy

      Three broad classes Channel Partitioning

      divide channel into smaller ldquopiecesrdquo (time slots frequency code)

      allocate piece to node for exclusive use

      Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

      ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

      take longer turns

      1-34

      MAC and IP addresses Why do we have TWO addresses (IPMAC)

      Do we have to have MAC addresses Yes we must have both

      To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

      Enable flexibility mobility of cards

      Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

      1-35

      Ethernet CSMACD algorithm

      1 Adaptor receives datagram from net layer amp creates frame

      2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

      3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

      4 If adapter detects another transmission while transmitting aborts and sends jam signal

      5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

      1-36

      Institutional network

      hub

      hubhub

      switch

      to externalnetwork

      router

      IP subnet

      mail server

      web server

      1-37

      Point to Point Data Link Control one sender one receiver one link easier than

      broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

      popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

      1-38

      The Internet virtualizing networks

      ARPAnet satellite net

      gateway

      Internetwork layer (IP) addressing internetwork

      appears as a single uniform entity despite underlying local network heterogeneity

      network of networks

      Gateway ldquoembed internetwork packets

      in local packet format or extract themrdquo

      route (at internetwork level) to next gateway

      1-39

      What is next If you have passion for networking

      More networking CMPT 471 (Systems) CMPT 408 (Theory)

      Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

      Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

      1-40

      That is all

      Good luck on your final

      • School of Computing Science Simon Fraser University
      • Course Objectives
      • Slide 3
      • Internet structure packet journey
      • Layering of airline functionality
      • Internet protocol stack
      • Encapsulation
      • What is a network app
      • How to create a network app
      • Socket Programming
      • Sample app-level protocols
      • Transport layer
      • Reliable data transfer principles
      • Reliable data transfer Go-Back-N
      • Reliable data transfer Selective repeat
      • TCP Overview RFCs 793 1122 1323 2018 2581
      • TCP Congestion Control Summary
      • Network layer
      • Network Taxonomy
      • Slide 20
      • Router Architecture Overview
      • Addressing Subnets
      • Hierarchical addressing route aggregation
      • Routing algorithms Graph abstraction
      • Classification of Routing Algorithms
      • Hierarchical Routing
      • Slide 27
      • BGP reachability and policy routing
      • Unicast multicast broadcast
      • Link Layer
      • Adaptors Communicating
      • CRC basic idea
      • MAC Protocols a taxonomy
      • MAC and IP addresses
      • Ethernet CSMACD algorithm
      • Institutional network
      • Point to Point Data Link Control
      • The Internet virtualizing networks
      • What is next
      • Slide 40

        1-4

        Internet structure packet journey

        a packet passes through many networks

        Tier 1 ISP

        Tier 1 ISP

        Tier 1 ISP

        NAP

        Tier-2 ISPTier-2 ISP

        Tier-2 ISP Tier-2 ISP

        Tier-2 ISP

        localISPlocal

        ISPlocalISP

        localISP

        localISP Tier 3

        ISP

        localISP

        localISP

        localISP

        1-5

        ticket (purchase)

        baggage (check)

        gates (load)

        runway (takeoff)

        airplane routing

        departureairport

        arrivalairport

        intermediate air-trafficcontrol centers

        airplane routing airplane routing

        ticket (complain)

        baggage (claim

        gates (unload)

        runway (land)

        airplane routing

        ticket

        baggage

        gate

        takeofflanding

        airplane routing

        Layering of airline functionality

        Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below

        1-6

        Internet protocol stack

        application supporting network applications FTP SMTP HTTP

        transport host-host data transfer TCP UDP

        network routing of datagrams from source to destination IP routing protocols

        link data transfer between neighboring network elements PPP Ethernet

        physical bits ldquoon the wirerdquo

        application

        transport

        network

        link

        physical

        1-7

        datagram

        frame HtHnHl M

        HtHn M

        segment Ht M

        message M

        HtHnHl M

        HtHn M

        Ht M

        M

        application

        transportnetwork

        linkphysical

        application

        transportnetwork

        linkphysical

        linkphysical

        networklink

        physical

        HtHnHl M

        HtHn M

        HtHnHl M

        HtHn M

        HtHnHl M HtHnHl M

        source

        destination

        router

        switch

        Encapsulation

        1-8

        What is a network app

        Programs that run on different end

        systems and communicate over a

        network eg Web Web server

        software communicates with browser software

        little software written for devices in network core network core devices do not

        run user application code application on end systems

        allows for rapid app development propagation

        application

        transportnetworkdata linkphysical

        application

        transportnetworkdata linkphysical

        application

        transportnetworkdata linkphysical

        1-9

        How to create a network app Design application architecture

        how to organize the app over end systems Choose network transport service(s)

        which service to use (TCP UDP) depends on app requirements (delay loss

        bw hellip) Design app protocol

        message types format actions hellip Write code

        implement the protocol

        1-10

        Socket Programming

        process sendsreceives messages tofrom its socket

        socket analogous to door sending process shoves

        message out door sending process relies on

        transport infrastructure on other side of door which brings message to socket at receiving process

        process

        TCP withbuffersvariables

        socket

        host orserver

        process

        TCP withbuffersvariables

        socket

        host orserver

        Internet

        controlledby OS

        controlled byapp developer

        socket is the interface (API) between application and transport layer

        1-11

        Sample app-level protocols

        Web and HTTP web caching

        FTP

        Domain Name System (DNS)

        1-12

        Transport layer provide logical

        communication between app processes

        transport protocols run in end systems send side breaks app

        messages into segments passes to network layer

        rcv side reassembles segments into messages passes to app layer

        more than one transport protocol available to apps Internet TCP and UDP

        application

        transportnetworkdata linkphysical

        application

        transportnetworkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysicalnetwork

        data linkphysical

        logical end-end transport

        1-13

        Reliable data transfer principles

        sendside

        receiveside

        rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

        udt_send() called by rdtto transfer packet over unreliable channel to

        receiver

        rdt_rcv() called when packet arrives on rcv-side of channel

        deliver_data() called by rdt to deliver data to

        upper

        1-14

        Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

        ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

        timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

        window ie go back to n

        1-15

        Reliable data transfer Selective repeat

        1-16

        TCP Overview RFCs 793 1122 1323 2018 2581

        full duplex data bi-directional data flow

        in same connection MSS maximum

        segment size

        connection-oriented handshaking (exchange

        of control msgs) initrsquos sender receiver state before data exchange

        flow controlled sender will not

        overwhelm receiver

        point-to-point one sender one

        receiver

        reliable in-order byte steam no ldquomessage

        boundariesrdquo

        congestion controlled will not overwhelm

        network

        send amp receive bufferssocketdoor

        T C Psend buffer

        T C Preceive buffer

        socketdoor

        segm ent

        applicationwrites data

        applicationreads data

        1-17

        TCP Congestion Control Summary Initially

        Threshold is set to large value (65 Kbytes) has not effect

        CongWin = 1 MSS

        Slow Start (SS) CongWin grows exponentially

        till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

        Congestion Avoidance (CA) CongWin grows linearly

        3 duplicate ACK occurs

        Threshold = CongWin2 CongWin = Threshold CA

        Timeout occurs

        Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

        1-18

        Network layer transport segment from

        sending to receiving host

        on sending side encapsulates segments into datagrams

        on receiving side delivers segments to transport layer

        network layer protocols in every host router

        Router examines header fields in all IP datagrams passing through it

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        networkdata linkphysical

        application

        transportnetworkdata linkphysical

        application

        transportnetworkdata linkphysical

        1-19

        Network Taxonomy

        Telecommunicationnetworks

        Circuit-switchednetworks

        FDM TDM

        Packet-switchednetworks

        Networkswith VCs

        DatagramNetworks

        bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

        1-20

        1

        23

        0111

        value in arrivingpacketrsquos header

        routing algorithm

        local forwarding tableheader value output link

        0100010101111001

        3221

        Interplay between routing and forwarding

        1-21

        Router Architecture OverviewTwo key router functions

        run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

        1-22

        Addressing Subnets22311024

        22312024

        22313024

        Subnet is a group of devices that

        can reach each other without intervening router

        identified by high order bits of IP addresses

        11011111 00000001 00000001 00000001

        22311024

        Subnet ID Host ID

        24 bits in subnet portion of address subnet mask

        1-23

        Hierarchical addressing route aggregation

        ldquoSend me anythingwith addresses beginning 2002316020rdquo

        2002316023

        2002318023

        2002330023

        Fly-By-Night-ISP

        Organization 0

        Organization 7Internet

        Organization 1

        ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

        2002320023Organization 2

        Hierarchical addressing allows efficient advertisement of routing information

        1-24

        Routing algorithms Graph abstraction

        u

        yx

        wv

        z2

        2

        13

        1

        1

        2

        53

        5bull

        Routing algorithm algorithm that finds least-cost path

        cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

        Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

        1xp)

        1-25

        Classification of Routing AlgorithmsGlobal or local information

        Global all routers have complete topology link cost info ldquolink staterdquo algorithms

        local router knows physically-connected neighbors

        link costs to neighbors iterative process of computation exchange of

        info with neighbors ldquodistance vectorrdquo algorithms

        1-26

        Hierarchical Routing

        aggregate routers into regions ldquoautonomous systemsrdquo (AS)

        routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

        protocol

        Gateway router Direct link to router in another AS

        1-27

        3b

        1d

        3a

        1c2aAS3

        AS1

        AS21a

        2c2b

        1b

        Intra-ASRouting algorithm

        Inter-ASRouting algorithm

        Forwardingtable

        3c

        Hierarchical Routing

        Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

        for internal dests Inter-AS amp Intra-As

        sets entries for external dests

        1-28

        BGP reachability and policy routing

        Figure 45-BGPnew a simple BGP scenario

        A

        B

        C

        W X

        Y

        legend

        customer network

        provider network

        ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

        networks X does not want to route traffic from B via X to

        C so X will not advertise to B a route to C

        1-29

        Unicast multicast broadcast Unicast one source one destination

        Eg web session

        Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

        Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

        domain in OSPF protocol

        Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

        1-30

        Link Layer Some terminology hosts and routers are nodes communication channels

        that connect adjacent nodes along communication path are links wired links wireless links LANs

        layer-2 packet is a frame encapsulates datagram

        ldquolinkrdquo

        data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

        1-31

        Adaptors Communicating

        link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

        80211 card

        sending side encapsulates datagram in

        a frame adds error checking bits

        rdt flow control etc

        receiving side looks for errors rdt flow

        control etc extracts datagram

        passes to rcving node

        adapter is semi-autonomous

        link amp physical layers

        sendingnode

        frame

        rcvingnode

        datagram

        frame

        adapter adapter

        link layer protocol

        1-32

        CRC basic idea Sender and receiver agree on a divisor

        polynomial G(x) of degree r Sender transmits T(x) which consists

        of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

        0 Receiver gets Trsquo(x) which may have

        corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

        d bits r bits

        1-33

        MAC Protocols a taxonomy

        Three broad classes Channel Partitioning

        divide channel into smaller ldquopiecesrdquo (time slots frequency code)

        allocate piece to node for exclusive use

        Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

        ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

        take longer turns

        1-34

        MAC and IP addresses Why do we have TWO addresses (IPMAC)

        Do we have to have MAC addresses Yes we must have both

        To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

        Enable flexibility mobility of cards

        Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

        1-35

        Ethernet CSMACD algorithm

        1 Adaptor receives datagram from net layer amp creates frame

        2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

        3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

        4 If adapter detects another transmission while transmitting aborts and sends jam signal

        5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

        1-36

        Institutional network

        hub

        hubhub

        switch

        to externalnetwork

        router

        IP subnet

        mail server

        web server

        1-37

        Point to Point Data Link Control one sender one receiver one link easier than

        broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

        popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

        1-38

        The Internet virtualizing networks

        ARPAnet satellite net

        gateway

        Internetwork layer (IP) addressing internetwork

        appears as a single uniform entity despite underlying local network heterogeneity

        network of networks

        Gateway ldquoembed internetwork packets

        in local packet format or extract themrdquo

        route (at internetwork level) to next gateway

        1-39

        What is next If you have passion for networking

        More networking CMPT 471 (Systems) CMPT 408 (Theory)

        Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

        Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

        1-40

        That is all

        Good luck on your final

        • School of Computing Science Simon Fraser University
        • Course Objectives
        • Slide 3
        • Internet structure packet journey
        • Layering of airline functionality
        • Internet protocol stack
        • Encapsulation
        • What is a network app
        • How to create a network app
        • Socket Programming
        • Sample app-level protocols
        • Transport layer
        • Reliable data transfer principles
        • Reliable data transfer Go-Back-N
        • Reliable data transfer Selective repeat
        • TCP Overview RFCs 793 1122 1323 2018 2581
        • TCP Congestion Control Summary
        • Network layer
        • Network Taxonomy
        • Slide 20
        • Router Architecture Overview
        • Addressing Subnets
        • Hierarchical addressing route aggregation
        • Routing algorithms Graph abstraction
        • Classification of Routing Algorithms
        • Hierarchical Routing
        • Slide 27
        • BGP reachability and policy routing
        • Unicast multicast broadcast
        • Link Layer
        • Adaptors Communicating
        • CRC basic idea
        • MAC Protocols a taxonomy
        • MAC and IP addresses
        • Ethernet CSMACD algorithm
        • Institutional network
        • Point to Point Data Link Control
        • The Internet virtualizing networks
        • What is next
        • Slide 40

          1-5

          ticket (purchase)

          baggage (check)

          gates (load)

          runway (takeoff)

          airplane routing

          departureairport

          arrivalairport

          intermediate air-trafficcontrol centers

          airplane routing airplane routing

          ticket (complain)

          baggage (claim

          gates (unload)

          runway (land)

          airplane routing

          ticket

          baggage

          gate

          takeofflanding

          airplane routing

          Layering of airline functionality

          Layers each layer implements a service via its own internal-layer actions relying on services provided by layer below

          1-6

          Internet protocol stack

          application supporting network applications FTP SMTP HTTP

          transport host-host data transfer TCP UDP

          network routing of datagrams from source to destination IP routing protocols

          link data transfer between neighboring network elements PPP Ethernet

          physical bits ldquoon the wirerdquo

          application

          transport

          network

          link

          physical

          1-7

          datagram

          frame HtHnHl M

          HtHn M

          segment Ht M

          message M

          HtHnHl M

          HtHn M

          Ht M

          M

          application

          transportnetwork

          linkphysical

          application

          transportnetwork

          linkphysical

          linkphysical

          networklink

          physical

          HtHnHl M

          HtHn M

          HtHnHl M

          HtHn M

          HtHnHl M HtHnHl M

          source

          destination

          router

          switch

          Encapsulation

          1-8

          What is a network app

          Programs that run on different end

          systems and communicate over a

          network eg Web Web server

          software communicates with browser software

          little software written for devices in network core network core devices do not

          run user application code application on end systems

          allows for rapid app development propagation

          application

          transportnetworkdata linkphysical

          application

          transportnetworkdata linkphysical

          application

          transportnetworkdata linkphysical

          1-9

          How to create a network app Design application architecture

          how to organize the app over end systems Choose network transport service(s)

          which service to use (TCP UDP) depends on app requirements (delay loss

          bw hellip) Design app protocol

          message types format actions hellip Write code

          implement the protocol

          1-10

          Socket Programming

          process sendsreceives messages tofrom its socket

          socket analogous to door sending process shoves

          message out door sending process relies on

          transport infrastructure on other side of door which brings message to socket at receiving process

          process

          TCP withbuffersvariables

          socket

          host orserver

          process

          TCP withbuffersvariables

          socket

          host orserver

          Internet

          controlledby OS

          controlled byapp developer

          socket is the interface (API) between application and transport layer

          1-11

          Sample app-level protocols

          Web and HTTP web caching

          FTP

          Domain Name System (DNS)

          1-12

          Transport layer provide logical

          communication between app processes

          transport protocols run in end systems send side breaks app

          messages into segments passes to network layer

          rcv side reassembles segments into messages passes to app layer

          more than one transport protocol available to apps Internet TCP and UDP

          application

          transportnetworkdata linkphysical

          application

          transportnetworkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysicalnetwork

          data linkphysical

          logical end-end transport

          1-13

          Reliable data transfer principles

          sendside

          receiveside

          rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

          udt_send() called by rdtto transfer packet over unreliable channel to

          receiver

          rdt_rcv() called when packet arrives on rcv-side of channel

          deliver_data() called by rdt to deliver data to

          upper

          1-14

          Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

          ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

          timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

          window ie go back to n

          1-15

          Reliable data transfer Selective repeat

          1-16

          TCP Overview RFCs 793 1122 1323 2018 2581

          full duplex data bi-directional data flow

          in same connection MSS maximum

          segment size

          connection-oriented handshaking (exchange

          of control msgs) initrsquos sender receiver state before data exchange

          flow controlled sender will not

          overwhelm receiver

          point-to-point one sender one

          receiver

          reliable in-order byte steam no ldquomessage

          boundariesrdquo

          congestion controlled will not overwhelm

          network

          send amp receive bufferssocketdoor

          T C Psend buffer

          T C Preceive buffer

          socketdoor

          segm ent

          applicationwrites data

          applicationreads data

          1-17

          TCP Congestion Control Summary Initially

          Threshold is set to large value (65 Kbytes) has not effect

          CongWin = 1 MSS

          Slow Start (SS) CongWin grows exponentially

          till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

          Congestion Avoidance (CA) CongWin grows linearly

          3 duplicate ACK occurs

          Threshold = CongWin2 CongWin = Threshold CA

          Timeout occurs

          Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

          1-18

          Network layer transport segment from

          sending to receiving host

          on sending side encapsulates segments into datagrams

          on receiving side delivers segments to transport layer

          network layer protocols in every host router

          Router examines header fields in all IP datagrams passing through it

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          networkdata linkphysical

          application

          transportnetworkdata linkphysical

          application

          transportnetworkdata linkphysical

          1-19

          Network Taxonomy

          Telecommunicationnetworks

          Circuit-switchednetworks

          FDM TDM

          Packet-switchednetworks

          Networkswith VCs

          DatagramNetworks

          bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

          1-20

          1

          23

          0111

          value in arrivingpacketrsquos header

          routing algorithm

          local forwarding tableheader value output link

          0100010101111001

          3221

          Interplay between routing and forwarding

          1-21

          Router Architecture OverviewTwo key router functions

          run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

          1-22

          Addressing Subnets22311024

          22312024

          22313024

          Subnet is a group of devices that

          can reach each other without intervening router

          identified by high order bits of IP addresses

          11011111 00000001 00000001 00000001

          22311024

          Subnet ID Host ID

          24 bits in subnet portion of address subnet mask

          1-23

          Hierarchical addressing route aggregation

          ldquoSend me anythingwith addresses beginning 2002316020rdquo

          2002316023

          2002318023

          2002330023

          Fly-By-Night-ISP

          Organization 0

          Organization 7Internet

          Organization 1

          ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

          2002320023Organization 2

          Hierarchical addressing allows efficient advertisement of routing information

          1-24

          Routing algorithms Graph abstraction

          u

          yx

          wv

          z2

          2

          13

          1

          1

          2

          53

          5bull

          Routing algorithm algorithm that finds least-cost path

          cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

          Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

          1xp)

          1-25

          Classification of Routing AlgorithmsGlobal or local information

          Global all routers have complete topology link cost info ldquolink staterdquo algorithms

          local router knows physically-connected neighbors

          link costs to neighbors iterative process of computation exchange of

          info with neighbors ldquodistance vectorrdquo algorithms

          1-26

          Hierarchical Routing

          aggregate routers into regions ldquoautonomous systemsrdquo (AS)

          routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

          protocol

          Gateway router Direct link to router in another AS

          1-27

          3b

          1d

          3a

          1c2aAS3

          AS1

          AS21a

          2c2b

          1b

          Intra-ASRouting algorithm

          Inter-ASRouting algorithm

          Forwardingtable

          3c

          Hierarchical Routing

          Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

          for internal dests Inter-AS amp Intra-As

          sets entries for external dests

          1-28

          BGP reachability and policy routing

          Figure 45-BGPnew a simple BGP scenario

          A

          B

          C

          W X

          Y

          legend

          customer network

          provider network

          ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

          networks X does not want to route traffic from B via X to

          C so X will not advertise to B a route to C

          1-29

          Unicast multicast broadcast Unicast one source one destination

          Eg web session

          Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

          Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

          domain in OSPF protocol

          Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

          1-30

          Link Layer Some terminology hosts and routers are nodes communication channels

          that connect adjacent nodes along communication path are links wired links wireless links LANs

          layer-2 packet is a frame encapsulates datagram

          ldquolinkrdquo

          data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

          1-31

          Adaptors Communicating

          link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

          80211 card

          sending side encapsulates datagram in

          a frame adds error checking bits

          rdt flow control etc

          receiving side looks for errors rdt flow

          control etc extracts datagram

          passes to rcving node

          adapter is semi-autonomous

          link amp physical layers

          sendingnode

          frame

          rcvingnode

          datagram

          frame

          adapter adapter

          link layer protocol

          1-32

          CRC basic idea Sender and receiver agree on a divisor

          polynomial G(x) of degree r Sender transmits T(x) which consists

          of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

          0 Receiver gets Trsquo(x) which may have

          corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

          d bits r bits

          1-33

          MAC Protocols a taxonomy

          Three broad classes Channel Partitioning

          divide channel into smaller ldquopiecesrdquo (time slots frequency code)

          allocate piece to node for exclusive use

          Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

          ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

          take longer turns

          1-34

          MAC and IP addresses Why do we have TWO addresses (IPMAC)

          Do we have to have MAC addresses Yes we must have both

          To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

          Enable flexibility mobility of cards

          Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

          1-35

          Ethernet CSMACD algorithm

          1 Adaptor receives datagram from net layer amp creates frame

          2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

          3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

          4 If adapter detects another transmission while transmitting aborts and sends jam signal

          5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

          1-36

          Institutional network

          hub

          hubhub

          switch

          to externalnetwork

          router

          IP subnet

          mail server

          web server

          1-37

          Point to Point Data Link Control one sender one receiver one link easier than

          broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

          popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

          1-38

          The Internet virtualizing networks

          ARPAnet satellite net

          gateway

          Internetwork layer (IP) addressing internetwork

          appears as a single uniform entity despite underlying local network heterogeneity

          network of networks

          Gateway ldquoembed internetwork packets

          in local packet format or extract themrdquo

          route (at internetwork level) to next gateway

          1-39

          What is next If you have passion for networking

          More networking CMPT 471 (Systems) CMPT 408 (Theory)

          Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

          Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

          1-40

          That is all

          Good luck on your final

          • School of Computing Science Simon Fraser University
          • Course Objectives
          • Slide 3
          • Internet structure packet journey
          • Layering of airline functionality
          • Internet protocol stack
          • Encapsulation
          • What is a network app
          • How to create a network app
          • Socket Programming
          • Sample app-level protocols
          • Transport layer
          • Reliable data transfer principles
          • Reliable data transfer Go-Back-N
          • Reliable data transfer Selective repeat
          • TCP Overview RFCs 793 1122 1323 2018 2581
          • TCP Congestion Control Summary
          • Network layer
          • Network Taxonomy
          • Slide 20
          • Router Architecture Overview
          • Addressing Subnets
          • Hierarchical addressing route aggregation
          • Routing algorithms Graph abstraction
          • Classification of Routing Algorithms
          • Hierarchical Routing
          • Slide 27
          • BGP reachability and policy routing
          • Unicast multicast broadcast
          • Link Layer
          • Adaptors Communicating
          • CRC basic idea
          • MAC Protocols a taxonomy
          • MAC and IP addresses
          • Ethernet CSMACD algorithm
          • Institutional network
          • Point to Point Data Link Control
          • The Internet virtualizing networks
          • What is next
          • Slide 40

            1-6

            Internet protocol stack

            application supporting network applications FTP SMTP HTTP

            transport host-host data transfer TCP UDP

            network routing of datagrams from source to destination IP routing protocols

            link data transfer between neighboring network elements PPP Ethernet

            physical bits ldquoon the wirerdquo

            application

            transport

            network

            link

            physical

            1-7

            datagram

            frame HtHnHl M

            HtHn M

            segment Ht M

            message M

            HtHnHl M

            HtHn M

            Ht M

            M

            application

            transportnetwork

            linkphysical

            application

            transportnetwork

            linkphysical

            linkphysical

            networklink

            physical

            HtHnHl M

            HtHn M

            HtHnHl M

            HtHn M

            HtHnHl M HtHnHl M

            source

            destination

            router

            switch

            Encapsulation

            1-8

            What is a network app

            Programs that run on different end

            systems and communicate over a

            network eg Web Web server

            software communicates with browser software

            little software written for devices in network core network core devices do not

            run user application code application on end systems

            allows for rapid app development propagation

            application

            transportnetworkdata linkphysical

            application

            transportnetworkdata linkphysical

            application

            transportnetworkdata linkphysical

            1-9

            How to create a network app Design application architecture

            how to organize the app over end systems Choose network transport service(s)

            which service to use (TCP UDP) depends on app requirements (delay loss

            bw hellip) Design app protocol

            message types format actions hellip Write code

            implement the protocol

            1-10

            Socket Programming

            process sendsreceives messages tofrom its socket

            socket analogous to door sending process shoves

            message out door sending process relies on

            transport infrastructure on other side of door which brings message to socket at receiving process

            process

            TCP withbuffersvariables

            socket

            host orserver

            process

            TCP withbuffersvariables

            socket

            host orserver

            Internet

            controlledby OS

            controlled byapp developer

            socket is the interface (API) between application and transport layer

            1-11

            Sample app-level protocols

            Web and HTTP web caching

            FTP

            Domain Name System (DNS)

            1-12

            Transport layer provide logical

            communication between app processes

            transport protocols run in end systems send side breaks app

            messages into segments passes to network layer

            rcv side reassembles segments into messages passes to app layer

            more than one transport protocol available to apps Internet TCP and UDP

            application

            transportnetworkdata linkphysical

            application

            transportnetworkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysicalnetwork

            data linkphysical

            logical end-end transport

            1-13

            Reliable data transfer principles

            sendside

            receiveside

            rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

            udt_send() called by rdtto transfer packet over unreliable channel to

            receiver

            rdt_rcv() called when packet arrives on rcv-side of channel

            deliver_data() called by rdt to deliver data to

            upper

            1-14

            Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

            ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

            timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

            window ie go back to n

            1-15

            Reliable data transfer Selective repeat

            1-16

            TCP Overview RFCs 793 1122 1323 2018 2581

            full duplex data bi-directional data flow

            in same connection MSS maximum

            segment size

            connection-oriented handshaking (exchange

            of control msgs) initrsquos sender receiver state before data exchange

            flow controlled sender will not

            overwhelm receiver

            point-to-point one sender one

            receiver

            reliable in-order byte steam no ldquomessage

            boundariesrdquo

            congestion controlled will not overwhelm

            network

            send amp receive bufferssocketdoor

            T C Psend buffer

            T C Preceive buffer

            socketdoor

            segm ent

            applicationwrites data

            applicationreads data

            1-17

            TCP Congestion Control Summary Initially

            Threshold is set to large value (65 Kbytes) has not effect

            CongWin = 1 MSS

            Slow Start (SS) CongWin grows exponentially

            till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

            Congestion Avoidance (CA) CongWin grows linearly

            3 duplicate ACK occurs

            Threshold = CongWin2 CongWin = Threshold CA

            Timeout occurs

            Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

            1-18

            Network layer transport segment from

            sending to receiving host

            on sending side encapsulates segments into datagrams

            on receiving side delivers segments to transport layer

            network layer protocols in every host router

            Router examines header fields in all IP datagrams passing through it

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            networkdata linkphysical

            application

            transportnetworkdata linkphysical

            application

            transportnetworkdata linkphysical

            1-19

            Network Taxonomy

            Telecommunicationnetworks

            Circuit-switchednetworks

            FDM TDM

            Packet-switchednetworks

            Networkswith VCs

            DatagramNetworks

            bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

            1-20

            1

            23

            0111

            value in arrivingpacketrsquos header

            routing algorithm

            local forwarding tableheader value output link

            0100010101111001

            3221

            Interplay between routing and forwarding

            1-21

            Router Architecture OverviewTwo key router functions

            run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

            1-22

            Addressing Subnets22311024

            22312024

            22313024

            Subnet is a group of devices that

            can reach each other without intervening router

            identified by high order bits of IP addresses

            11011111 00000001 00000001 00000001

            22311024

            Subnet ID Host ID

            24 bits in subnet portion of address subnet mask

            1-23

            Hierarchical addressing route aggregation

            ldquoSend me anythingwith addresses beginning 2002316020rdquo

            2002316023

            2002318023

            2002330023

            Fly-By-Night-ISP

            Organization 0

            Organization 7Internet

            Organization 1

            ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

            2002320023Organization 2

            Hierarchical addressing allows efficient advertisement of routing information

            1-24

            Routing algorithms Graph abstraction

            u

            yx

            wv

            z2

            2

            13

            1

            1

            2

            53

            5bull

            Routing algorithm algorithm that finds least-cost path

            cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

            Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

            1xp)

            1-25

            Classification of Routing AlgorithmsGlobal or local information

            Global all routers have complete topology link cost info ldquolink staterdquo algorithms

            local router knows physically-connected neighbors

            link costs to neighbors iterative process of computation exchange of

            info with neighbors ldquodistance vectorrdquo algorithms

            1-26

            Hierarchical Routing

            aggregate routers into regions ldquoautonomous systemsrdquo (AS)

            routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

            protocol

            Gateway router Direct link to router in another AS

            1-27

            3b

            1d

            3a

            1c2aAS3

            AS1

            AS21a

            2c2b

            1b

            Intra-ASRouting algorithm

            Inter-ASRouting algorithm

            Forwardingtable

            3c

            Hierarchical Routing

            Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

            for internal dests Inter-AS amp Intra-As

            sets entries for external dests

            1-28

            BGP reachability and policy routing

            Figure 45-BGPnew a simple BGP scenario

            A

            B

            C

            W X

            Y

            legend

            customer network

            provider network

            ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

            networks X does not want to route traffic from B via X to

            C so X will not advertise to B a route to C

            1-29

            Unicast multicast broadcast Unicast one source one destination

            Eg web session

            Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

            Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

            domain in OSPF protocol

            Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

            1-30

            Link Layer Some terminology hosts and routers are nodes communication channels

            that connect adjacent nodes along communication path are links wired links wireless links LANs

            layer-2 packet is a frame encapsulates datagram

            ldquolinkrdquo

            data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

            1-31

            Adaptors Communicating

            link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

            80211 card

            sending side encapsulates datagram in

            a frame adds error checking bits

            rdt flow control etc

            receiving side looks for errors rdt flow

            control etc extracts datagram

            passes to rcving node

            adapter is semi-autonomous

            link amp physical layers

            sendingnode

            frame

            rcvingnode

            datagram

            frame

            adapter adapter

            link layer protocol

            1-32

            CRC basic idea Sender and receiver agree on a divisor

            polynomial G(x) of degree r Sender transmits T(x) which consists

            of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

            0 Receiver gets Trsquo(x) which may have

            corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

            d bits r bits

            1-33

            MAC Protocols a taxonomy

            Three broad classes Channel Partitioning

            divide channel into smaller ldquopiecesrdquo (time slots frequency code)

            allocate piece to node for exclusive use

            Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

            ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

            take longer turns

            1-34

            MAC and IP addresses Why do we have TWO addresses (IPMAC)

            Do we have to have MAC addresses Yes we must have both

            To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

            Enable flexibility mobility of cards

            Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

            1-35

            Ethernet CSMACD algorithm

            1 Adaptor receives datagram from net layer amp creates frame

            2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

            3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

            4 If adapter detects another transmission while transmitting aborts and sends jam signal

            5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

            1-36

            Institutional network

            hub

            hubhub

            switch

            to externalnetwork

            router

            IP subnet

            mail server

            web server

            1-37

            Point to Point Data Link Control one sender one receiver one link easier than

            broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

            popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

            1-38

            The Internet virtualizing networks

            ARPAnet satellite net

            gateway

            Internetwork layer (IP) addressing internetwork

            appears as a single uniform entity despite underlying local network heterogeneity

            network of networks

            Gateway ldquoembed internetwork packets

            in local packet format or extract themrdquo

            route (at internetwork level) to next gateway

            1-39

            What is next If you have passion for networking

            More networking CMPT 471 (Systems) CMPT 408 (Theory)

            Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

            Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

            1-40

            That is all

            Good luck on your final

            • School of Computing Science Simon Fraser University
            • Course Objectives
            • Slide 3
            • Internet structure packet journey
            • Layering of airline functionality
            • Internet protocol stack
            • Encapsulation
            • What is a network app
            • How to create a network app
            • Socket Programming
            • Sample app-level protocols
            • Transport layer
            • Reliable data transfer principles
            • Reliable data transfer Go-Back-N
            • Reliable data transfer Selective repeat
            • TCP Overview RFCs 793 1122 1323 2018 2581
            • TCP Congestion Control Summary
            • Network layer
            • Network Taxonomy
            • Slide 20
            • Router Architecture Overview
            • Addressing Subnets
            • Hierarchical addressing route aggregation
            • Routing algorithms Graph abstraction
            • Classification of Routing Algorithms
            • Hierarchical Routing
            • Slide 27
            • BGP reachability and policy routing
            • Unicast multicast broadcast
            • Link Layer
            • Adaptors Communicating
            • CRC basic idea
            • MAC Protocols a taxonomy
            • MAC and IP addresses
            • Ethernet CSMACD algorithm
            • Institutional network
            • Point to Point Data Link Control
            • The Internet virtualizing networks
            • What is next
            • Slide 40

              1-7

              datagram

              frame HtHnHl M

              HtHn M

              segment Ht M

              message M

              HtHnHl M

              HtHn M

              Ht M

              M

              application

              transportnetwork

              linkphysical

              application

              transportnetwork

              linkphysical

              linkphysical

              networklink

              physical

              HtHnHl M

              HtHn M

              HtHnHl M

              HtHn M

              HtHnHl M HtHnHl M

              source

              destination

              router

              switch

              Encapsulation

              1-8

              What is a network app

              Programs that run on different end

              systems and communicate over a

              network eg Web Web server

              software communicates with browser software

              little software written for devices in network core network core devices do not

              run user application code application on end systems

              allows for rapid app development propagation

              application

              transportnetworkdata linkphysical

              application

              transportnetworkdata linkphysical

              application

              transportnetworkdata linkphysical

              1-9

              How to create a network app Design application architecture

              how to organize the app over end systems Choose network transport service(s)

              which service to use (TCP UDP) depends on app requirements (delay loss

              bw hellip) Design app protocol

              message types format actions hellip Write code

              implement the protocol

              1-10

              Socket Programming

              process sendsreceives messages tofrom its socket

              socket analogous to door sending process shoves

              message out door sending process relies on

              transport infrastructure on other side of door which brings message to socket at receiving process

              process

              TCP withbuffersvariables

              socket

              host orserver

              process

              TCP withbuffersvariables

              socket

              host orserver

              Internet

              controlledby OS

              controlled byapp developer

              socket is the interface (API) between application and transport layer

              1-11

              Sample app-level protocols

              Web and HTTP web caching

              FTP

              Domain Name System (DNS)

              1-12

              Transport layer provide logical

              communication between app processes

              transport protocols run in end systems send side breaks app

              messages into segments passes to network layer

              rcv side reassembles segments into messages passes to app layer

              more than one transport protocol available to apps Internet TCP and UDP

              application

              transportnetworkdata linkphysical

              application

              transportnetworkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysicalnetwork

              data linkphysical

              logical end-end transport

              1-13

              Reliable data transfer principles

              sendside

              receiveside

              rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

              udt_send() called by rdtto transfer packet over unreliable channel to

              receiver

              rdt_rcv() called when packet arrives on rcv-side of channel

              deliver_data() called by rdt to deliver data to

              upper

              1-14

              Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

              ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

              timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

              window ie go back to n

              1-15

              Reliable data transfer Selective repeat

              1-16

              TCP Overview RFCs 793 1122 1323 2018 2581

              full duplex data bi-directional data flow

              in same connection MSS maximum

              segment size

              connection-oriented handshaking (exchange

              of control msgs) initrsquos sender receiver state before data exchange

              flow controlled sender will not

              overwhelm receiver

              point-to-point one sender one

              receiver

              reliable in-order byte steam no ldquomessage

              boundariesrdquo

              congestion controlled will not overwhelm

              network

              send amp receive bufferssocketdoor

              T C Psend buffer

              T C Preceive buffer

              socketdoor

              segm ent

              applicationwrites data

              applicationreads data

              1-17

              TCP Congestion Control Summary Initially

              Threshold is set to large value (65 Kbytes) has not effect

              CongWin = 1 MSS

              Slow Start (SS) CongWin grows exponentially

              till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

              Congestion Avoidance (CA) CongWin grows linearly

              3 duplicate ACK occurs

              Threshold = CongWin2 CongWin = Threshold CA

              Timeout occurs

              Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

              1-18

              Network layer transport segment from

              sending to receiving host

              on sending side encapsulates segments into datagrams

              on receiving side delivers segments to transport layer

              network layer protocols in every host router

              Router examines header fields in all IP datagrams passing through it

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              networkdata linkphysical

              application

              transportnetworkdata linkphysical

              application

              transportnetworkdata linkphysical

              1-19

              Network Taxonomy

              Telecommunicationnetworks

              Circuit-switchednetworks

              FDM TDM

              Packet-switchednetworks

              Networkswith VCs

              DatagramNetworks

              bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

              1-20

              1

              23

              0111

              value in arrivingpacketrsquos header

              routing algorithm

              local forwarding tableheader value output link

              0100010101111001

              3221

              Interplay between routing and forwarding

              1-21

              Router Architecture OverviewTwo key router functions

              run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

              1-22

              Addressing Subnets22311024

              22312024

              22313024

              Subnet is a group of devices that

              can reach each other without intervening router

              identified by high order bits of IP addresses

              11011111 00000001 00000001 00000001

              22311024

              Subnet ID Host ID

              24 bits in subnet portion of address subnet mask

              1-23

              Hierarchical addressing route aggregation

              ldquoSend me anythingwith addresses beginning 2002316020rdquo

              2002316023

              2002318023

              2002330023

              Fly-By-Night-ISP

              Organization 0

              Organization 7Internet

              Organization 1

              ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

              2002320023Organization 2

              Hierarchical addressing allows efficient advertisement of routing information

              1-24

              Routing algorithms Graph abstraction

              u

              yx

              wv

              z2

              2

              13

              1

              1

              2

              53

              5bull

              Routing algorithm algorithm that finds least-cost path

              cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

              Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

              1xp)

              1-25

              Classification of Routing AlgorithmsGlobal or local information

              Global all routers have complete topology link cost info ldquolink staterdquo algorithms

              local router knows physically-connected neighbors

              link costs to neighbors iterative process of computation exchange of

              info with neighbors ldquodistance vectorrdquo algorithms

              1-26

              Hierarchical Routing

              aggregate routers into regions ldquoautonomous systemsrdquo (AS)

              routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

              protocol

              Gateway router Direct link to router in another AS

              1-27

              3b

              1d

              3a

              1c2aAS3

              AS1

              AS21a

              2c2b

              1b

              Intra-ASRouting algorithm

              Inter-ASRouting algorithm

              Forwardingtable

              3c

              Hierarchical Routing

              Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

              for internal dests Inter-AS amp Intra-As

              sets entries for external dests

              1-28

              BGP reachability and policy routing

              Figure 45-BGPnew a simple BGP scenario

              A

              B

              C

              W X

              Y

              legend

              customer network

              provider network

              ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

              networks X does not want to route traffic from B via X to

              C so X will not advertise to B a route to C

              1-29

              Unicast multicast broadcast Unicast one source one destination

              Eg web session

              Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

              Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

              domain in OSPF protocol

              Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

              1-30

              Link Layer Some terminology hosts and routers are nodes communication channels

              that connect adjacent nodes along communication path are links wired links wireless links LANs

              layer-2 packet is a frame encapsulates datagram

              ldquolinkrdquo

              data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

              1-31

              Adaptors Communicating

              link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

              80211 card

              sending side encapsulates datagram in

              a frame adds error checking bits

              rdt flow control etc

              receiving side looks for errors rdt flow

              control etc extracts datagram

              passes to rcving node

              adapter is semi-autonomous

              link amp physical layers

              sendingnode

              frame

              rcvingnode

              datagram

              frame

              adapter adapter

              link layer protocol

              1-32

              CRC basic idea Sender and receiver agree on a divisor

              polynomial G(x) of degree r Sender transmits T(x) which consists

              of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

              0 Receiver gets Trsquo(x) which may have

              corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

              d bits r bits

              1-33

              MAC Protocols a taxonomy

              Three broad classes Channel Partitioning

              divide channel into smaller ldquopiecesrdquo (time slots frequency code)

              allocate piece to node for exclusive use

              Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

              ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

              take longer turns

              1-34

              MAC and IP addresses Why do we have TWO addresses (IPMAC)

              Do we have to have MAC addresses Yes we must have both

              To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

              Enable flexibility mobility of cards

              Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

              1-35

              Ethernet CSMACD algorithm

              1 Adaptor receives datagram from net layer amp creates frame

              2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

              3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

              4 If adapter detects another transmission while transmitting aborts and sends jam signal

              5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

              1-36

              Institutional network

              hub

              hubhub

              switch

              to externalnetwork

              router

              IP subnet

              mail server

              web server

              1-37

              Point to Point Data Link Control one sender one receiver one link easier than

              broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

              popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

              1-38

              The Internet virtualizing networks

              ARPAnet satellite net

              gateway

              Internetwork layer (IP) addressing internetwork

              appears as a single uniform entity despite underlying local network heterogeneity

              network of networks

              Gateway ldquoembed internetwork packets

              in local packet format or extract themrdquo

              route (at internetwork level) to next gateway

              1-39

              What is next If you have passion for networking

              More networking CMPT 471 (Systems) CMPT 408 (Theory)

              Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

              Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

              1-40

              That is all

              Good luck on your final

              • School of Computing Science Simon Fraser University
              • Course Objectives
              • Slide 3
              • Internet structure packet journey
              • Layering of airline functionality
              • Internet protocol stack
              • Encapsulation
              • What is a network app
              • How to create a network app
              • Socket Programming
              • Sample app-level protocols
              • Transport layer
              • Reliable data transfer principles
              • Reliable data transfer Go-Back-N
              • Reliable data transfer Selective repeat
              • TCP Overview RFCs 793 1122 1323 2018 2581
              • TCP Congestion Control Summary
              • Network layer
              • Network Taxonomy
              • Slide 20
              • Router Architecture Overview
              • Addressing Subnets
              • Hierarchical addressing route aggregation
              • Routing algorithms Graph abstraction
              • Classification of Routing Algorithms
              • Hierarchical Routing
              • Slide 27
              • BGP reachability and policy routing
              • Unicast multicast broadcast
              • Link Layer
              • Adaptors Communicating
              • CRC basic idea
              • MAC Protocols a taxonomy
              • MAC and IP addresses
              • Ethernet CSMACD algorithm
              • Institutional network
              • Point to Point Data Link Control
              • The Internet virtualizing networks
              • What is next
              • Slide 40

                1-8

                What is a network app

                Programs that run on different end

                systems and communicate over a

                network eg Web Web server

                software communicates with browser software

                little software written for devices in network core network core devices do not

                run user application code application on end systems

                allows for rapid app development propagation

                application

                transportnetworkdata linkphysical

                application

                transportnetworkdata linkphysical

                application

                transportnetworkdata linkphysical

                1-9

                How to create a network app Design application architecture

                how to organize the app over end systems Choose network transport service(s)

                which service to use (TCP UDP) depends on app requirements (delay loss

                bw hellip) Design app protocol

                message types format actions hellip Write code

                implement the protocol

                1-10

                Socket Programming

                process sendsreceives messages tofrom its socket

                socket analogous to door sending process shoves

                message out door sending process relies on

                transport infrastructure on other side of door which brings message to socket at receiving process

                process

                TCP withbuffersvariables

                socket

                host orserver

                process

                TCP withbuffersvariables

                socket

                host orserver

                Internet

                controlledby OS

                controlled byapp developer

                socket is the interface (API) between application and transport layer

                1-11

                Sample app-level protocols

                Web and HTTP web caching

                FTP

                Domain Name System (DNS)

                1-12

                Transport layer provide logical

                communication between app processes

                transport protocols run in end systems send side breaks app

                messages into segments passes to network layer

                rcv side reassembles segments into messages passes to app layer

                more than one transport protocol available to apps Internet TCP and UDP

                application

                transportnetworkdata linkphysical

                application

                transportnetworkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysicalnetwork

                data linkphysical

                logical end-end transport

                1-13

                Reliable data transfer principles

                sendside

                receiveside

                rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                udt_send() called by rdtto transfer packet over unreliable channel to

                receiver

                rdt_rcv() called when packet arrives on rcv-side of channel

                deliver_data() called by rdt to deliver data to

                upper

                1-14

                Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                window ie go back to n

                1-15

                Reliable data transfer Selective repeat

                1-16

                TCP Overview RFCs 793 1122 1323 2018 2581

                full duplex data bi-directional data flow

                in same connection MSS maximum

                segment size

                connection-oriented handshaking (exchange

                of control msgs) initrsquos sender receiver state before data exchange

                flow controlled sender will not

                overwhelm receiver

                point-to-point one sender one

                receiver

                reliable in-order byte steam no ldquomessage

                boundariesrdquo

                congestion controlled will not overwhelm

                network

                send amp receive bufferssocketdoor

                T C Psend buffer

                T C Preceive buffer

                socketdoor

                segm ent

                applicationwrites data

                applicationreads data

                1-17

                TCP Congestion Control Summary Initially

                Threshold is set to large value (65 Kbytes) has not effect

                CongWin = 1 MSS

                Slow Start (SS) CongWin grows exponentially

                till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                Congestion Avoidance (CA) CongWin grows linearly

                3 duplicate ACK occurs

                Threshold = CongWin2 CongWin = Threshold CA

                Timeout occurs

                Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                1-18

                Network layer transport segment from

                sending to receiving host

                on sending side encapsulates segments into datagrams

                on receiving side delivers segments to transport layer

                network layer protocols in every host router

                Router examines header fields in all IP datagrams passing through it

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                networkdata linkphysical

                application

                transportnetworkdata linkphysical

                application

                transportnetworkdata linkphysical

                1-19

                Network Taxonomy

                Telecommunicationnetworks

                Circuit-switchednetworks

                FDM TDM

                Packet-switchednetworks

                Networkswith VCs

                DatagramNetworks

                bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                1-20

                1

                23

                0111

                value in arrivingpacketrsquos header

                routing algorithm

                local forwarding tableheader value output link

                0100010101111001

                3221

                Interplay between routing and forwarding

                1-21

                Router Architecture OverviewTwo key router functions

                run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                1-22

                Addressing Subnets22311024

                22312024

                22313024

                Subnet is a group of devices that

                can reach each other without intervening router

                identified by high order bits of IP addresses

                11011111 00000001 00000001 00000001

                22311024

                Subnet ID Host ID

                24 bits in subnet portion of address subnet mask

                1-23

                Hierarchical addressing route aggregation

                ldquoSend me anythingwith addresses beginning 2002316020rdquo

                2002316023

                2002318023

                2002330023

                Fly-By-Night-ISP

                Organization 0

                Organization 7Internet

                Organization 1

                ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                2002320023Organization 2

                Hierarchical addressing allows efficient advertisement of routing information

                1-24

                Routing algorithms Graph abstraction

                u

                yx

                wv

                z2

                2

                13

                1

                1

                2

                53

                5bull

                Routing algorithm algorithm that finds least-cost path

                cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                1xp)

                1-25

                Classification of Routing AlgorithmsGlobal or local information

                Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                local router knows physically-connected neighbors

                link costs to neighbors iterative process of computation exchange of

                info with neighbors ldquodistance vectorrdquo algorithms

                1-26

                Hierarchical Routing

                aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                protocol

                Gateway router Direct link to router in another AS

                1-27

                3b

                1d

                3a

                1c2aAS3

                AS1

                AS21a

                2c2b

                1b

                Intra-ASRouting algorithm

                Inter-ASRouting algorithm

                Forwardingtable

                3c

                Hierarchical Routing

                Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                for internal dests Inter-AS amp Intra-As

                sets entries for external dests

                1-28

                BGP reachability and policy routing

                Figure 45-BGPnew a simple BGP scenario

                A

                B

                C

                W X

                Y

                legend

                customer network

                provider network

                ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                networks X does not want to route traffic from B via X to

                C so X will not advertise to B a route to C

                1-29

                Unicast multicast broadcast Unicast one source one destination

                Eg web session

                Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                domain in OSPF protocol

                Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                1-30

                Link Layer Some terminology hosts and routers are nodes communication channels

                that connect adjacent nodes along communication path are links wired links wireless links LANs

                layer-2 packet is a frame encapsulates datagram

                ldquolinkrdquo

                data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                1-31

                Adaptors Communicating

                link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                80211 card

                sending side encapsulates datagram in

                a frame adds error checking bits

                rdt flow control etc

                receiving side looks for errors rdt flow

                control etc extracts datagram

                passes to rcving node

                adapter is semi-autonomous

                link amp physical layers

                sendingnode

                frame

                rcvingnode

                datagram

                frame

                adapter adapter

                link layer protocol

                1-32

                CRC basic idea Sender and receiver agree on a divisor

                polynomial G(x) of degree r Sender transmits T(x) which consists

                of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                0 Receiver gets Trsquo(x) which may have

                corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                d bits r bits

                1-33

                MAC Protocols a taxonomy

                Three broad classes Channel Partitioning

                divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                allocate piece to node for exclusive use

                Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                take longer turns

                1-34

                MAC and IP addresses Why do we have TWO addresses (IPMAC)

                Do we have to have MAC addresses Yes we must have both

                To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                Enable flexibility mobility of cards

                Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                1-35

                Ethernet CSMACD algorithm

                1 Adaptor receives datagram from net layer amp creates frame

                2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                4 If adapter detects another transmission while transmitting aborts and sends jam signal

                5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                1-36

                Institutional network

                hub

                hubhub

                switch

                to externalnetwork

                router

                IP subnet

                mail server

                web server

                1-37

                Point to Point Data Link Control one sender one receiver one link easier than

                broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                1-38

                The Internet virtualizing networks

                ARPAnet satellite net

                gateway

                Internetwork layer (IP) addressing internetwork

                appears as a single uniform entity despite underlying local network heterogeneity

                network of networks

                Gateway ldquoembed internetwork packets

                in local packet format or extract themrdquo

                route (at internetwork level) to next gateway

                1-39

                What is next If you have passion for networking

                More networking CMPT 471 (Systems) CMPT 408 (Theory)

                Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                1-40

                That is all

                Good luck on your final

                • School of Computing Science Simon Fraser University
                • Course Objectives
                • Slide 3
                • Internet structure packet journey
                • Layering of airline functionality
                • Internet protocol stack
                • Encapsulation
                • What is a network app
                • How to create a network app
                • Socket Programming
                • Sample app-level protocols
                • Transport layer
                • Reliable data transfer principles
                • Reliable data transfer Go-Back-N
                • Reliable data transfer Selective repeat
                • TCP Overview RFCs 793 1122 1323 2018 2581
                • TCP Congestion Control Summary
                • Network layer
                • Network Taxonomy
                • Slide 20
                • Router Architecture Overview
                • Addressing Subnets
                • Hierarchical addressing route aggregation
                • Routing algorithms Graph abstraction
                • Classification of Routing Algorithms
                • Hierarchical Routing
                • Slide 27
                • BGP reachability and policy routing
                • Unicast multicast broadcast
                • Link Layer
                • Adaptors Communicating
                • CRC basic idea
                • MAC Protocols a taxonomy
                • MAC and IP addresses
                • Ethernet CSMACD algorithm
                • Institutional network
                • Point to Point Data Link Control
                • The Internet virtualizing networks
                • What is next
                • Slide 40

                  1-9

                  How to create a network app Design application architecture

                  how to organize the app over end systems Choose network transport service(s)

                  which service to use (TCP UDP) depends on app requirements (delay loss

                  bw hellip) Design app protocol

                  message types format actions hellip Write code

                  implement the protocol

                  1-10

                  Socket Programming

                  process sendsreceives messages tofrom its socket

                  socket analogous to door sending process shoves

                  message out door sending process relies on

                  transport infrastructure on other side of door which brings message to socket at receiving process

                  process

                  TCP withbuffersvariables

                  socket

                  host orserver

                  process

                  TCP withbuffersvariables

                  socket

                  host orserver

                  Internet

                  controlledby OS

                  controlled byapp developer

                  socket is the interface (API) between application and transport layer

                  1-11

                  Sample app-level protocols

                  Web and HTTP web caching

                  FTP

                  Domain Name System (DNS)

                  1-12

                  Transport layer provide logical

                  communication between app processes

                  transport protocols run in end systems send side breaks app

                  messages into segments passes to network layer

                  rcv side reassembles segments into messages passes to app layer

                  more than one transport protocol available to apps Internet TCP and UDP

                  application

                  transportnetworkdata linkphysical

                  application

                  transportnetworkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysicalnetwork

                  data linkphysical

                  logical end-end transport

                  1-13

                  Reliable data transfer principles

                  sendside

                  receiveside

                  rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                  udt_send() called by rdtto transfer packet over unreliable channel to

                  receiver

                  rdt_rcv() called when packet arrives on rcv-side of channel

                  deliver_data() called by rdt to deliver data to

                  upper

                  1-14

                  Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                  ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                  timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                  window ie go back to n

                  1-15

                  Reliable data transfer Selective repeat

                  1-16

                  TCP Overview RFCs 793 1122 1323 2018 2581

                  full duplex data bi-directional data flow

                  in same connection MSS maximum

                  segment size

                  connection-oriented handshaking (exchange

                  of control msgs) initrsquos sender receiver state before data exchange

                  flow controlled sender will not

                  overwhelm receiver

                  point-to-point one sender one

                  receiver

                  reliable in-order byte steam no ldquomessage

                  boundariesrdquo

                  congestion controlled will not overwhelm

                  network

                  send amp receive bufferssocketdoor

                  T C Psend buffer

                  T C Preceive buffer

                  socketdoor

                  segm ent

                  applicationwrites data

                  applicationreads data

                  1-17

                  TCP Congestion Control Summary Initially

                  Threshold is set to large value (65 Kbytes) has not effect

                  CongWin = 1 MSS

                  Slow Start (SS) CongWin grows exponentially

                  till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                  Congestion Avoidance (CA) CongWin grows linearly

                  3 duplicate ACK occurs

                  Threshold = CongWin2 CongWin = Threshold CA

                  Timeout occurs

                  Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                  1-18

                  Network layer transport segment from

                  sending to receiving host

                  on sending side encapsulates segments into datagrams

                  on receiving side delivers segments to transport layer

                  network layer protocols in every host router

                  Router examines header fields in all IP datagrams passing through it

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  networkdata linkphysical

                  application

                  transportnetworkdata linkphysical

                  application

                  transportnetworkdata linkphysical

                  1-19

                  Network Taxonomy

                  Telecommunicationnetworks

                  Circuit-switchednetworks

                  FDM TDM

                  Packet-switchednetworks

                  Networkswith VCs

                  DatagramNetworks

                  bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                  1-20

                  1

                  23

                  0111

                  value in arrivingpacketrsquos header

                  routing algorithm

                  local forwarding tableheader value output link

                  0100010101111001

                  3221

                  Interplay between routing and forwarding

                  1-21

                  Router Architecture OverviewTwo key router functions

                  run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                  1-22

                  Addressing Subnets22311024

                  22312024

                  22313024

                  Subnet is a group of devices that

                  can reach each other without intervening router

                  identified by high order bits of IP addresses

                  11011111 00000001 00000001 00000001

                  22311024

                  Subnet ID Host ID

                  24 bits in subnet portion of address subnet mask

                  1-23

                  Hierarchical addressing route aggregation

                  ldquoSend me anythingwith addresses beginning 2002316020rdquo

                  2002316023

                  2002318023

                  2002330023

                  Fly-By-Night-ISP

                  Organization 0

                  Organization 7Internet

                  Organization 1

                  ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                  2002320023Organization 2

                  Hierarchical addressing allows efficient advertisement of routing information

                  1-24

                  Routing algorithms Graph abstraction

                  u

                  yx

                  wv

                  z2

                  2

                  13

                  1

                  1

                  2

                  53

                  5bull

                  Routing algorithm algorithm that finds least-cost path

                  cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                  Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                  1xp)

                  1-25

                  Classification of Routing AlgorithmsGlobal or local information

                  Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                  local router knows physically-connected neighbors

                  link costs to neighbors iterative process of computation exchange of

                  info with neighbors ldquodistance vectorrdquo algorithms

                  1-26

                  Hierarchical Routing

                  aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                  routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                  protocol

                  Gateway router Direct link to router in another AS

                  1-27

                  3b

                  1d

                  3a

                  1c2aAS3

                  AS1

                  AS21a

                  2c2b

                  1b

                  Intra-ASRouting algorithm

                  Inter-ASRouting algorithm

                  Forwardingtable

                  3c

                  Hierarchical Routing

                  Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                  for internal dests Inter-AS amp Intra-As

                  sets entries for external dests

                  1-28

                  BGP reachability and policy routing

                  Figure 45-BGPnew a simple BGP scenario

                  A

                  B

                  C

                  W X

                  Y

                  legend

                  customer network

                  provider network

                  ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                  networks X does not want to route traffic from B via X to

                  C so X will not advertise to B a route to C

                  1-29

                  Unicast multicast broadcast Unicast one source one destination

                  Eg web session

                  Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                  Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                  domain in OSPF protocol

                  Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                  1-30

                  Link Layer Some terminology hosts and routers are nodes communication channels

                  that connect adjacent nodes along communication path are links wired links wireless links LANs

                  layer-2 packet is a frame encapsulates datagram

                  ldquolinkrdquo

                  data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                  1-31

                  Adaptors Communicating

                  link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                  80211 card

                  sending side encapsulates datagram in

                  a frame adds error checking bits

                  rdt flow control etc

                  receiving side looks for errors rdt flow

                  control etc extracts datagram

                  passes to rcving node

                  adapter is semi-autonomous

                  link amp physical layers

                  sendingnode

                  frame

                  rcvingnode

                  datagram

                  frame

                  adapter adapter

                  link layer protocol

                  1-32

                  CRC basic idea Sender and receiver agree on a divisor

                  polynomial G(x) of degree r Sender transmits T(x) which consists

                  of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                  0 Receiver gets Trsquo(x) which may have

                  corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                  d bits r bits

                  1-33

                  MAC Protocols a taxonomy

                  Three broad classes Channel Partitioning

                  divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                  allocate piece to node for exclusive use

                  Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                  ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                  take longer turns

                  1-34

                  MAC and IP addresses Why do we have TWO addresses (IPMAC)

                  Do we have to have MAC addresses Yes we must have both

                  To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                  Enable flexibility mobility of cards

                  Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                  1-35

                  Ethernet CSMACD algorithm

                  1 Adaptor receives datagram from net layer amp creates frame

                  2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                  3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                  4 If adapter detects another transmission while transmitting aborts and sends jam signal

                  5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                  1-36

                  Institutional network

                  hub

                  hubhub

                  switch

                  to externalnetwork

                  router

                  IP subnet

                  mail server

                  web server

                  1-37

                  Point to Point Data Link Control one sender one receiver one link easier than

                  broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                  popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                  1-38

                  The Internet virtualizing networks

                  ARPAnet satellite net

                  gateway

                  Internetwork layer (IP) addressing internetwork

                  appears as a single uniform entity despite underlying local network heterogeneity

                  network of networks

                  Gateway ldquoembed internetwork packets

                  in local packet format or extract themrdquo

                  route (at internetwork level) to next gateway

                  1-39

                  What is next If you have passion for networking

                  More networking CMPT 471 (Systems) CMPT 408 (Theory)

                  Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                  Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                  1-40

                  That is all

                  Good luck on your final

                  • School of Computing Science Simon Fraser University
                  • Course Objectives
                  • Slide 3
                  • Internet structure packet journey
                  • Layering of airline functionality
                  • Internet protocol stack
                  • Encapsulation
                  • What is a network app
                  • How to create a network app
                  • Socket Programming
                  • Sample app-level protocols
                  • Transport layer
                  • Reliable data transfer principles
                  • Reliable data transfer Go-Back-N
                  • Reliable data transfer Selective repeat
                  • TCP Overview RFCs 793 1122 1323 2018 2581
                  • TCP Congestion Control Summary
                  • Network layer
                  • Network Taxonomy
                  • Slide 20
                  • Router Architecture Overview
                  • Addressing Subnets
                  • Hierarchical addressing route aggregation
                  • Routing algorithms Graph abstraction
                  • Classification of Routing Algorithms
                  • Hierarchical Routing
                  • Slide 27
                  • BGP reachability and policy routing
                  • Unicast multicast broadcast
                  • Link Layer
                  • Adaptors Communicating
                  • CRC basic idea
                  • MAC Protocols a taxonomy
                  • MAC and IP addresses
                  • Ethernet CSMACD algorithm
                  • Institutional network
                  • Point to Point Data Link Control
                  • The Internet virtualizing networks
                  • What is next
                  • Slide 40

                    1-10

                    Socket Programming

                    process sendsreceives messages tofrom its socket

                    socket analogous to door sending process shoves

                    message out door sending process relies on

                    transport infrastructure on other side of door which brings message to socket at receiving process

                    process

                    TCP withbuffersvariables

                    socket

                    host orserver

                    process

                    TCP withbuffersvariables

                    socket

                    host orserver

                    Internet

                    controlledby OS

                    controlled byapp developer

                    socket is the interface (API) between application and transport layer

                    1-11

                    Sample app-level protocols

                    Web and HTTP web caching

                    FTP

                    Domain Name System (DNS)

                    1-12

                    Transport layer provide logical

                    communication between app processes

                    transport protocols run in end systems send side breaks app

                    messages into segments passes to network layer

                    rcv side reassembles segments into messages passes to app layer

                    more than one transport protocol available to apps Internet TCP and UDP

                    application

                    transportnetworkdata linkphysical

                    application

                    transportnetworkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysicalnetwork

                    data linkphysical

                    logical end-end transport

                    1-13

                    Reliable data transfer principles

                    sendside

                    receiveside

                    rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                    udt_send() called by rdtto transfer packet over unreliable channel to

                    receiver

                    rdt_rcv() called when packet arrives on rcv-side of channel

                    deliver_data() called by rdt to deliver data to

                    upper

                    1-14

                    Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                    ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                    timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                    window ie go back to n

                    1-15

                    Reliable data transfer Selective repeat

                    1-16

                    TCP Overview RFCs 793 1122 1323 2018 2581

                    full duplex data bi-directional data flow

                    in same connection MSS maximum

                    segment size

                    connection-oriented handshaking (exchange

                    of control msgs) initrsquos sender receiver state before data exchange

                    flow controlled sender will not

                    overwhelm receiver

                    point-to-point one sender one

                    receiver

                    reliable in-order byte steam no ldquomessage

                    boundariesrdquo

                    congestion controlled will not overwhelm

                    network

                    send amp receive bufferssocketdoor

                    T C Psend buffer

                    T C Preceive buffer

                    socketdoor

                    segm ent

                    applicationwrites data

                    applicationreads data

                    1-17

                    TCP Congestion Control Summary Initially

                    Threshold is set to large value (65 Kbytes) has not effect

                    CongWin = 1 MSS

                    Slow Start (SS) CongWin grows exponentially

                    till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                    Congestion Avoidance (CA) CongWin grows linearly

                    3 duplicate ACK occurs

                    Threshold = CongWin2 CongWin = Threshold CA

                    Timeout occurs

                    Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                    1-18

                    Network layer transport segment from

                    sending to receiving host

                    on sending side encapsulates segments into datagrams

                    on receiving side delivers segments to transport layer

                    network layer protocols in every host router

                    Router examines header fields in all IP datagrams passing through it

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    networkdata linkphysical

                    application

                    transportnetworkdata linkphysical

                    application

                    transportnetworkdata linkphysical

                    1-19

                    Network Taxonomy

                    Telecommunicationnetworks

                    Circuit-switchednetworks

                    FDM TDM

                    Packet-switchednetworks

                    Networkswith VCs

                    DatagramNetworks

                    bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                    1-20

                    1

                    23

                    0111

                    value in arrivingpacketrsquos header

                    routing algorithm

                    local forwarding tableheader value output link

                    0100010101111001

                    3221

                    Interplay between routing and forwarding

                    1-21

                    Router Architecture OverviewTwo key router functions

                    run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                    1-22

                    Addressing Subnets22311024

                    22312024

                    22313024

                    Subnet is a group of devices that

                    can reach each other without intervening router

                    identified by high order bits of IP addresses

                    11011111 00000001 00000001 00000001

                    22311024

                    Subnet ID Host ID

                    24 bits in subnet portion of address subnet mask

                    1-23

                    Hierarchical addressing route aggregation

                    ldquoSend me anythingwith addresses beginning 2002316020rdquo

                    2002316023

                    2002318023

                    2002330023

                    Fly-By-Night-ISP

                    Organization 0

                    Organization 7Internet

                    Organization 1

                    ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                    2002320023Organization 2

                    Hierarchical addressing allows efficient advertisement of routing information

                    1-24

                    Routing algorithms Graph abstraction

                    u

                    yx

                    wv

                    z2

                    2

                    13

                    1

                    1

                    2

                    53

                    5bull

                    Routing algorithm algorithm that finds least-cost path

                    cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                    Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                    1xp)

                    1-25

                    Classification of Routing AlgorithmsGlobal or local information

                    Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                    local router knows physically-connected neighbors

                    link costs to neighbors iterative process of computation exchange of

                    info with neighbors ldquodistance vectorrdquo algorithms

                    1-26

                    Hierarchical Routing

                    aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                    routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                    protocol

                    Gateway router Direct link to router in another AS

                    1-27

                    3b

                    1d

                    3a

                    1c2aAS3

                    AS1

                    AS21a

                    2c2b

                    1b

                    Intra-ASRouting algorithm

                    Inter-ASRouting algorithm

                    Forwardingtable

                    3c

                    Hierarchical Routing

                    Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                    for internal dests Inter-AS amp Intra-As

                    sets entries for external dests

                    1-28

                    BGP reachability and policy routing

                    Figure 45-BGPnew a simple BGP scenario

                    A

                    B

                    C

                    W X

                    Y

                    legend

                    customer network

                    provider network

                    ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                    networks X does not want to route traffic from B via X to

                    C so X will not advertise to B a route to C

                    1-29

                    Unicast multicast broadcast Unicast one source one destination

                    Eg web session

                    Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                    Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                    domain in OSPF protocol

                    Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                    1-30

                    Link Layer Some terminology hosts and routers are nodes communication channels

                    that connect adjacent nodes along communication path are links wired links wireless links LANs

                    layer-2 packet is a frame encapsulates datagram

                    ldquolinkrdquo

                    data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                    1-31

                    Adaptors Communicating

                    link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                    80211 card

                    sending side encapsulates datagram in

                    a frame adds error checking bits

                    rdt flow control etc

                    receiving side looks for errors rdt flow

                    control etc extracts datagram

                    passes to rcving node

                    adapter is semi-autonomous

                    link amp physical layers

                    sendingnode

                    frame

                    rcvingnode

                    datagram

                    frame

                    adapter adapter

                    link layer protocol

                    1-32

                    CRC basic idea Sender and receiver agree on a divisor

                    polynomial G(x) of degree r Sender transmits T(x) which consists

                    of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                    0 Receiver gets Trsquo(x) which may have

                    corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                    d bits r bits

                    1-33

                    MAC Protocols a taxonomy

                    Three broad classes Channel Partitioning

                    divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                    allocate piece to node for exclusive use

                    Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                    ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                    take longer turns

                    1-34

                    MAC and IP addresses Why do we have TWO addresses (IPMAC)

                    Do we have to have MAC addresses Yes we must have both

                    To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                    Enable flexibility mobility of cards

                    Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                    1-35

                    Ethernet CSMACD algorithm

                    1 Adaptor receives datagram from net layer amp creates frame

                    2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                    3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                    4 If adapter detects another transmission while transmitting aborts and sends jam signal

                    5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                    1-36

                    Institutional network

                    hub

                    hubhub

                    switch

                    to externalnetwork

                    router

                    IP subnet

                    mail server

                    web server

                    1-37

                    Point to Point Data Link Control one sender one receiver one link easier than

                    broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                    popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                    1-38

                    The Internet virtualizing networks

                    ARPAnet satellite net

                    gateway

                    Internetwork layer (IP) addressing internetwork

                    appears as a single uniform entity despite underlying local network heterogeneity

                    network of networks

                    Gateway ldquoembed internetwork packets

                    in local packet format or extract themrdquo

                    route (at internetwork level) to next gateway

                    1-39

                    What is next If you have passion for networking

                    More networking CMPT 471 (Systems) CMPT 408 (Theory)

                    Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                    Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                    1-40

                    That is all

                    Good luck on your final

                    • School of Computing Science Simon Fraser University
                    • Course Objectives
                    • Slide 3
                    • Internet structure packet journey
                    • Layering of airline functionality
                    • Internet protocol stack
                    • Encapsulation
                    • What is a network app
                    • How to create a network app
                    • Socket Programming
                    • Sample app-level protocols
                    • Transport layer
                    • Reliable data transfer principles
                    • Reliable data transfer Go-Back-N
                    • Reliable data transfer Selective repeat
                    • TCP Overview RFCs 793 1122 1323 2018 2581
                    • TCP Congestion Control Summary
                    • Network layer
                    • Network Taxonomy
                    • Slide 20
                    • Router Architecture Overview
                    • Addressing Subnets
                    • Hierarchical addressing route aggregation
                    • Routing algorithms Graph abstraction
                    • Classification of Routing Algorithms
                    • Hierarchical Routing
                    • Slide 27
                    • BGP reachability and policy routing
                    • Unicast multicast broadcast
                    • Link Layer
                    • Adaptors Communicating
                    • CRC basic idea
                    • MAC Protocols a taxonomy
                    • MAC and IP addresses
                    • Ethernet CSMACD algorithm
                    • Institutional network
                    • Point to Point Data Link Control
                    • The Internet virtualizing networks
                    • What is next
                    • Slide 40

                      1-11

                      Sample app-level protocols

                      Web and HTTP web caching

                      FTP

                      Domain Name System (DNS)

                      1-12

                      Transport layer provide logical

                      communication between app processes

                      transport protocols run in end systems send side breaks app

                      messages into segments passes to network layer

                      rcv side reassembles segments into messages passes to app layer

                      more than one transport protocol available to apps Internet TCP and UDP

                      application

                      transportnetworkdata linkphysical

                      application

                      transportnetworkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysicalnetwork

                      data linkphysical

                      logical end-end transport

                      1-13

                      Reliable data transfer principles

                      sendside

                      receiveside

                      rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                      udt_send() called by rdtto transfer packet over unreliable channel to

                      receiver

                      rdt_rcv() called when packet arrives on rcv-side of channel

                      deliver_data() called by rdt to deliver data to

                      upper

                      1-14

                      Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                      ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                      timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                      window ie go back to n

                      1-15

                      Reliable data transfer Selective repeat

                      1-16

                      TCP Overview RFCs 793 1122 1323 2018 2581

                      full duplex data bi-directional data flow

                      in same connection MSS maximum

                      segment size

                      connection-oriented handshaking (exchange

                      of control msgs) initrsquos sender receiver state before data exchange

                      flow controlled sender will not

                      overwhelm receiver

                      point-to-point one sender one

                      receiver

                      reliable in-order byte steam no ldquomessage

                      boundariesrdquo

                      congestion controlled will not overwhelm

                      network

                      send amp receive bufferssocketdoor

                      T C Psend buffer

                      T C Preceive buffer

                      socketdoor

                      segm ent

                      applicationwrites data

                      applicationreads data

                      1-17

                      TCP Congestion Control Summary Initially

                      Threshold is set to large value (65 Kbytes) has not effect

                      CongWin = 1 MSS

                      Slow Start (SS) CongWin grows exponentially

                      till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                      Congestion Avoidance (CA) CongWin grows linearly

                      3 duplicate ACK occurs

                      Threshold = CongWin2 CongWin = Threshold CA

                      Timeout occurs

                      Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                      1-18

                      Network layer transport segment from

                      sending to receiving host

                      on sending side encapsulates segments into datagrams

                      on receiving side delivers segments to transport layer

                      network layer protocols in every host router

                      Router examines header fields in all IP datagrams passing through it

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      networkdata linkphysical

                      application

                      transportnetworkdata linkphysical

                      application

                      transportnetworkdata linkphysical

                      1-19

                      Network Taxonomy

                      Telecommunicationnetworks

                      Circuit-switchednetworks

                      FDM TDM

                      Packet-switchednetworks

                      Networkswith VCs

                      DatagramNetworks

                      bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                      1-20

                      1

                      23

                      0111

                      value in arrivingpacketrsquos header

                      routing algorithm

                      local forwarding tableheader value output link

                      0100010101111001

                      3221

                      Interplay between routing and forwarding

                      1-21

                      Router Architecture OverviewTwo key router functions

                      run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                      1-22

                      Addressing Subnets22311024

                      22312024

                      22313024

                      Subnet is a group of devices that

                      can reach each other without intervening router

                      identified by high order bits of IP addresses

                      11011111 00000001 00000001 00000001

                      22311024

                      Subnet ID Host ID

                      24 bits in subnet portion of address subnet mask

                      1-23

                      Hierarchical addressing route aggregation

                      ldquoSend me anythingwith addresses beginning 2002316020rdquo

                      2002316023

                      2002318023

                      2002330023

                      Fly-By-Night-ISP

                      Organization 0

                      Organization 7Internet

                      Organization 1

                      ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                      2002320023Organization 2

                      Hierarchical addressing allows efficient advertisement of routing information

                      1-24

                      Routing algorithms Graph abstraction

                      u

                      yx

                      wv

                      z2

                      2

                      13

                      1

                      1

                      2

                      53

                      5bull

                      Routing algorithm algorithm that finds least-cost path

                      cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                      Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                      1xp)

                      1-25

                      Classification of Routing AlgorithmsGlobal or local information

                      Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                      local router knows physically-connected neighbors

                      link costs to neighbors iterative process of computation exchange of

                      info with neighbors ldquodistance vectorrdquo algorithms

                      1-26

                      Hierarchical Routing

                      aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                      routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                      protocol

                      Gateway router Direct link to router in another AS

                      1-27

                      3b

                      1d

                      3a

                      1c2aAS3

                      AS1

                      AS21a

                      2c2b

                      1b

                      Intra-ASRouting algorithm

                      Inter-ASRouting algorithm

                      Forwardingtable

                      3c

                      Hierarchical Routing

                      Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                      for internal dests Inter-AS amp Intra-As

                      sets entries for external dests

                      1-28

                      BGP reachability and policy routing

                      Figure 45-BGPnew a simple BGP scenario

                      A

                      B

                      C

                      W X

                      Y

                      legend

                      customer network

                      provider network

                      ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                      networks X does not want to route traffic from B via X to

                      C so X will not advertise to B a route to C

                      1-29

                      Unicast multicast broadcast Unicast one source one destination

                      Eg web session

                      Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                      Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                      domain in OSPF protocol

                      Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                      1-30

                      Link Layer Some terminology hosts and routers are nodes communication channels

                      that connect adjacent nodes along communication path are links wired links wireless links LANs

                      layer-2 packet is a frame encapsulates datagram

                      ldquolinkrdquo

                      data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                      1-31

                      Adaptors Communicating

                      link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                      80211 card

                      sending side encapsulates datagram in

                      a frame adds error checking bits

                      rdt flow control etc

                      receiving side looks for errors rdt flow

                      control etc extracts datagram

                      passes to rcving node

                      adapter is semi-autonomous

                      link amp physical layers

                      sendingnode

                      frame

                      rcvingnode

                      datagram

                      frame

                      adapter adapter

                      link layer protocol

                      1-32

                      CRC basic idea Sender and receiver agree on a divisor

                      polynomial G(x) of degree r Sender transmits T(x) which consists

                      of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                      0 Receiver gets Trsquo(x) which may have

                      corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                      d bits r bits

                      1-33

                      MAC Protocols a taxonomy

                      Three broad classes Channel Partitioning

                      divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                      allocate piece to node for exclusive use

                      Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                      ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                      take longer turns

                      1-34

                      MAC and IP addresses Why do we have TWO addresses (IPMAC)

                      Do we have to have MAC addresses Yes we must have both

                      To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                      Enable flexibility mobility of cards

                      Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                      1-35

                      Ethernet CSMACD algorithm

                      1 Adaptor receives datagram from net layer amp creates frame

                      2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                      3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                      4 If adapter detects another transmission while transmitting aborts and sends jam signal

                      5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                      1-36

                      Institutional network

                      hub

                      hubhub

                      switch

                      to externalnetwork

                      router

                      IP subnet

                      mail server

                      web server

                      1-37

                      Point to Point Data Link Control one sender one receiver one link easier than

                      broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                      popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                      1-38

                      The Internet virtualizing networks

                      ARPAnet satellite net

                      gateway

                      Internetwork layer (IP) addressing internetwork

                      appears as a single uniform entity despite underlying local network heterogeneity

                      network of networks

                      Gateway ldquoembed internetwork packets

                      in local packet format or extract themrdquo

                      route (at internetwork level) to next gateway

                      1-39

                      What is next If you have passion for networking

                      More networking CMPT 471 (Systems) CMPT 408 (Theory)

                      Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                      Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                      1-40

                      That is all

                      Good luck on your final

                      • School of Computing Science Simon Fraser University
                      • Course Objectives
                      • Slide 3
                      • Internet structure packet journey
                      • Layering of airline functionality
                      • Internet protocol stack
                      • Encapsulation
                      • What is a network app
                      • How to create a network app
                      • Socket Programming
                      • Sample app-level protocols
                      • Transport layer
                      • Reliable data transfer principles
                      • Reliable data transfer Go-Back-N
                      • Reliable data transfer Selective repeat
                      • TCP Overview RFCs 793 1122 1323 2018 2581
                      • TCP Congestion Control Summary
                      • Network layer
                      • Network Taxonomy
                      • Slide 20
                      • Router Architecture Overview
                      • Addressing Subnets
                      • Hierarchical addressing route aggregation
                      • Routing algorithms Graph abstraction
                      • Classification of Routing Algorithms
                      • Hierarchical Routing
                      • Slide 27
                      • BGP reachability and policy routing
                      • Unicast multicast broadcast
                      • Link Layer
                      • Adaptors Communicating
                      • CRC basic idea
                      • MAC Protocols a taxonomy
                      • MAC and IP addresses
                      • Ethernet CSMACD algorithm
                      • Institutional network
                      • Point to Point Data Link Control
                      • The Internet virtualizing networks
                      • What is next
                      • Slide 40

                        1-12

                        Transport layer provide logical

                        communication between app processes

                        transport protocols run in end systems send side breaks app

                        messages into segments passes to network layer

                        rcv side reassembles segments into messages passes to app layer

                        more than one transport protocol available to apps Internet TCP and UDP

                        application

                        transportnetworkdata linkphysical

                        application

                        transportnetworkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysicalnetwork

                        data linkphysical

                        logical end-end transport

                        1-13

                        Reliable data transfer principles

                        sendside

                        receiveside

                        rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                        udt_send() called by rdtto transfer packet over unreliable channel to

                        receiver

                        rdt_rcv() called when packet arrives on rcv-side of channel

                        deliver_data() called by rdt to deliver data to

                        upper

                        1-14

                        Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                        ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                        timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                        window ie go back to n

                        1-15

                        Reliable data transfer Selective repeat

                        1-16

                        TCP Overview RFCs 793 1122 1323 2018 2581

                        full duplex data bi-directional data flow

                        in same connection MSS maximum

                        segment size

                        connection-oriented handshaking (exchange

                        of control msgs) initrsquos sender receiver state before data exchange

                        flow controlled sender will not

                        overwhelm receiver

                        point-to-point one sender one

                        receiver

                        reliable in-order byte steam no ldquomessage

                        boundariesrdquo

                        congestion controlled will not overwhelm

                        network

                        send amp receive bufferssocketdoor

                        T C Psend buffer

                        T C Preceive buffer

                        socketdoor

                        segm ent

                        applicationwrites data

                        applicationreads data

                        1-17

                        TCP Congestion Control Summary Initially

                        Threshold is set to large value (65 Kbytes) has not effect

                        CongWin = 1 MSS

                        Slow Start (SS) CongWin grows exponentially

                        till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                        Congestion Avoidance (CA) CongWin grows linearly

                        3 duplicate ACK occurs

                        Threshold = CongWin2 CongWin = Threshold CA

                        Timeout occurs

                        Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                        1-18

                        Network layer transport segment from

                        sending to receiving host

                        on sending side encapsulates segments into datagrams

                        on receiving side delivers segments to transport layer

                        network layer protocols in every host router

                        Router examines header fields in all IP datagrams passing through it

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        networkdata linkphysical

                        application

                        transportnetworkdata linkphysical

                        application

                        transportnetworkdata linkphysical

                        1-19

                        Network Taxonomy

                        Telecommunicationnetworks

                        Circuit-switchednetworks

                        FDM TDM

                        Packet-switchednetworks

                        Networkswith VCs

                        DatagramNetworks

                        bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                        1-20

                        1

                        23

                        0111

                        value in arrivingpacketrsquos header

                        routing algorithm

                        local forwarding tableheader value output link

                        0100010101111001

                        3221

                        Interplay between routing and forwarding

                        1-21

                        Router Architecture OverviewTwo key router functions

                        run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                        1-22

                        Addressing Subnets22311024

                        22312024

                        22313024

                        Subnet is a group of devices that

                        can reach each other without intervening router

                        identified by high order bits of IP addresses

                        11011111 00000001 00000001 00000001

                        22311024

                        Subnet ID Host ID

                        24 bits in subnet portion of address subnet mask

                        1-23

                        Hierarchical addressing route aggregation

                        ldquoSend me anythingwith addresses beginning 2002316020rdquo

                        2002316023

                        2002318023

                        2002330023

                        Fly-By-Night-ISP

                        Organization 0

                        Organization 7Internet

                        Organization 1

                        ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                        2002320023Organization 2

                        Hierarchical addressing allows efficient advertisement of routing information

                        1-24

                        Routing algorithms Graph abstraction

                        u

                        yx

                        wv

                        z2

                        2

                        13

                        1

                        1

                        2

                        53

                        5bull

                        Routing algorithm algorithm that finds least-cost path

                        cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                        Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                        1xp)

                        1-25

                        Classification of Routing AlgorithmsGlobal or local information

                        Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                        local router knows physically-connected neighbors

                        link costs to neighbors iterative process of computation exchange of

                        info with neighbors ldquodistance vectorrdquo algorithms

                        1-26

                        Hierarchical Routing

                        aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                        routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                        protocol

                        Gateway router Direct link to router in another AS

                        1-27

                        3b

                        1d

                        3a

                        1c2aAS3

                        AS1

                        AS21a

                        2c2b

                        1b

                        Intra-ASRouting algorithm

                        Inter-ASRouting algorithm

                        Forwardingtable

                        3c

                        Hierarchical Routing

                        Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                        for internal dests Inter-AS amp Intra-As

                        sets entries for external dests

                        1-28

                        BGP reachability and policy routing

                        Figure 45-BGPnew a simple BGP scenario

                        A

                        B

                        C

                        W X

                        Y

                        legend

                        customer network

                        provider network

                        ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                        networks X does not want to route traffic from B via X to

                        C so X will not advertise to B a route to C

                        1-29

                        Unicast multicast broadcast Unicast one source one destination

                        Eg web session

                        Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                        Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                        domain in OSPF protocol

                        Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                        1-30

                        Link Layer Some terminology hosts and routers are nodes communication channels

                        that connect adjacent nodes along communication path are links wired links wireless links LANs

                        layer-2 packet is a frame encapsulates datagram

                        ldquolinkrdquo

                        data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                        1-31

                        Adaptors Communicating

                        link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                        80211 card

                        sending side encapsulates datagram in

                        a frame adds error checking bits

                        rdt flow control etc

                        receiving side looks for errors rdt flow

                        control etc extracts datagram

                        passes to rcving node

                        adapter is semi-autonomous

                        link amp physical layers

                        sendingnode

                        frame

                        rcvingnode

                        datagram

                        frame

                        adapter adapter

                        link layer protocol

                        1-32

                        CRC basic idea Sender and receiver agree on a divisor

                        polynomial G(x) of degree r Sender transmits T(x) which consists

                        of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                        0 Receiver gets Trsquo(x) which may have

                        corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                        d bits r bits

                        1-33

                        MAC Protocols a taxonomy

                        Three broad classes Channel Partitioning

                        divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                        allocate piece to node for exclusive use

                        Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                        ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                        take longer turns

                        1-34

                        MAC and IP addresses Why do we have TWO addresses (IPMAC)

                        Do we have to have MAC addresses Yes we must have both

                        To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                        Enable flexibility mobility of cards

                        Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                        1-35

                        Ethernet CSMACD algorithm

                        1 Adaptor receives datagram from net layer amp creates frame

                        2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                        3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                        4 If adapter detects another transmission while transmitting aborts and sends jam signal

                        5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                        1-36

                        Institutional network

                        hub

                        hubhub

                        switch

                        to externalnetwork

                        router

                        IP subnet

                        mail server

                        web server

                        1-37

                        Point to Point Data Link Control one sender one receiver one link easier than

                        broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                        popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                        1-38

                        The Internet virtualizing networks

                        ARPAnet satellite net

                        gateway

                        Internetwork layer (IP) addressing internetwork

                        appears as a single uniform entity despite underlying local network heterogeneity

                        network of networks

                        Gateway ldquoembed internetwork packets

                        in local packet format or extract themrdquo

                        route (at internetwork level) to next gateway

                        1-39

                        What is next If you have passion for networking

                        More networking CMPT 471 (Systems) CMPT 408 (Theory)

                        Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                        Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                        1-40

                        That is all

                        Good luck on your final

                        • School of Computing Science Simon Fraser University
                        • Course Objectives
                        • Slide 3
                        • Internet structure packet journey
                        • Layering of airline functionality
                        • Internet protocol stack
                        • Encapsulation
                        • What is a network app
                        • How to create a network app
                        • Socket Programming
                        • Sample app-level protocols
                        • Transport layer
                        • Reliable data transfer principles
                        • Reliable data transfer Go-Back-N
                        • Reliable data transfer Selective repeat
                        • TCP Overview RFCs 793 1122 1323 2018 2581
                        • TCP Congestion Control Summary
                        • Network layer
                        • Network Taxonomy
                        • Slide 20
                        • Router Architecture Overview
                        • Addressing Subnets
                        • Hierarchical addressing route aggregation
                        • Routing algorithms Graph abstraction
                        • Classification of Routing Algorithms
                        • Hierarchical Routing
                        • Slide 27
                        • BGP reachability and policy routing
                        • Unicast multicast broadcast
                        • Link Layer
                        • Adaptors Communicating
                        • CRC basic idea
                        • MAC Protocols a taxonomy
                        • MAC and IP addresses
                        • Ethernet CSMACD algorithm
                        • Institutional network
                        • Point to Point Data Link Control
                        • The Internet virtualizing networks
                        • What is next
                        • Slide 40

                          1-13

                          Reliable data transfer principles

                          sendside

                          receiveside

                          rdt_send() called from above (eg by app) Passed data to deliver to receiver upper layer

                          udt_send() called by rdtto transfer packet over unreliable channel to

                          receiver

                          rdt_rcv() called when packet arrives on rcv-side of channel

                          deliver_data() called by rdt to deliver data to

                          upper

                          1-14

                          Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                          ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                          timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                          window ie go back to n

                          1-15

                          Reliable data transfer Selective repeat

                          1-16

                          TCP Overview RFCs 793 1122 1323 2018 2581

                          full duplex data bi-directional data flow

                          in same connection MSS maximum

                          segment size

                          connection-oriented handshaking (exchange

                          of control msgs) initrsquos sender receiver state before data exchange

                          flow controlled sender will not

                          overwhelm receiver

                          point-to-point one sender one

                          receiver

                          reliable in-order byte steam no ldquomessage

                          boundariesrdquo

                          congestion controlled will not overwhelm

                          network

                          send amp receive bufferssocketdoor

                          T C Psend buffer

                          T C Preceive buffer

                          socketdoor

                          segm ent

                          applicationwrites data

                          applicationreads data

                          1-17

                          TCP Congestion Control Summary Initially

                          Threshold is set to large value (65 Kbytes) has not effect

                          CongWin = 1 MSS

                          Slow Start (SS) CongWin grows exponentially

                          till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                          Congestion Avoidance (CA) CongWin grows linearly

                          3 duplicate ACK occurs

                          Threshold = CongWin2 CongWin = Threshold CA

                          Timeout occurs

                          Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                          1-18

                          Network layer transport segment from

                          sending to receiving host

                          on sending side encapsulates segments into datagrams

                          on receiving side delivers segments to transport layer

                          network layer protocols in every host router

                          Router examines header fields in all IP datagrams passing through it

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          networkdata linkphysical

                          application

                          transportnetworkdata linkphysical

                          application

                          transportnetworkdata linkphysical

                          1-19

                          Network Taxonomy

                          Telecommunicationnetworks

                          Circuit-switchednetworks

                          FDM TDM

                          Packet-switchednetworks

                          Networkswith VCs

                          DatagramNetworks

                          bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                          1-20

                          1

                          23

                          0111

                          value in arrivingpacketrsquos header

                          routing algorithm

                          local forwarding tableheader value output link

                          0100010101111001

                          3221

                          Interplay between routing and forwarding

                          1-21

                          Router Architecture OverviewTwo key router functions

                          run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                          1-22

                          Addressing Subnets22311024

                          22312024

                          22313024

                          Subnet is a group of devices that

                          can reach each other without intervening router

                          identified by high order bits of IP addresses

                          11011111 00000001 00000001 00000001

                          22311024

                          Subnet ID Host ID

                          24 bits in subnet portion of address subnet mask

                          1-23

                          Hierarchical addressing route aggregation

                          ldquoSend me anythingwith addresses beginning 2002316020rdquo

                          2002316023

                          2002318023

                          2002330023

                          Fly-By-Night-ISP

                          Organization 0

                          Organization 7Internet

                          Organization 1

                          ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                          2002320023Organization 2

                          Hierarchical addressing allows efficient advertisement of routing information

                          1-24

                          Routing algorithms Graph abstraction

                          u

                          yx

                          wv

                          z2

                          2

                          13

                          1

                          1

                          2

                          53

                          5bull

                          Routing algorithm algorithm that finds least-cost path

                          cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                          Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                          1xp)

                          1-25

                          Classification of Routing AlgorithmsGlobal or local information

                          Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                          local router knows physically-connected neighbors

                          link costs to neighbors iterative process of computation exchange of

                          info with neighbors ldquodistance vectorrdquo algorithms

                          1-26

                          Hierarchical Routing

                          aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                          routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                          protocol

                          Gateway router Direct link to router in another AS

                          1-27

                          3b

                          1d

                          3a

                          1c2aAS3

                          AS1

                          AS21a

                          2c2b

                          1b

                          Intra-ASRouting algorithm

                          Inter-ASRouting algorithm

                          Forwardingtable

                          3c

                          Hierarchical Routing

                          Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                          for internal dests Inter-AS amp Intra-As

                          sets entries for external dests

                          1-28

                          BGP reachability and policy routing

                          Figure 45-BGPnew a simple BGP scenario

                          A

                          B

                          C

                          W X

                          Y

                          legend

                          customer network

                          provider network

                          ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                          networks X does not want to route traffic from B via X to

                          C so X will not advertise to B a route to C

                          1-29

                          Unicast multicast broadcast Unicast one source one destination

                          Eg web session

                          Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                          Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                          domain in OSPF protocol

                          Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                          1-30

                          Link Layer Some terminology hosts and routers are nodes communication channels

                          that connect adjacent nodes along communication path are links wired links wireless links LANs

                          layer-2 packet is a frame encapsulates datagram

                          ldquolinkrdquo

                          data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                          1-31

                          Adaptors Communicating

                          link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                          80211 card

                          sending side encapsulates datagram in

                          a frame adds error checking bits

                          rdt flow control etc

                          receiving side looks for errors rdt flow

                          control etc extracts datagram

                          passes to rcving node

                          adapter is semi-autonomous

                          link amp physical layers

                          sendingnode

                          frame

                          rcvingnode

                          datagram

                          frame

                          adapter adapter

                          link layer protocol

                          1-32

                          CRC basic idea Sender and receiver agree on a divisor

                          polynomial G(x) of degree r Sender transmits T(x) which consists

                          of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                          0 Receiver gets Trsquo(x) which may have

                          corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                          d bits r bits

                          1-33

                          MAC Protocols a taxonomy

                          Three broad classes Channel Partitioning

                          divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                          allocate piece to node for exclusive use

                          Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                          ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                          take longer turns

                          1-34

                          MAC and IP addresses Why do we have TWO addresses (IPMAC)

                          Do we have to have MAC addresses Yes we must have both

                          To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                          Enable flexibility mobility of cards

                          Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                          1-35

                          Ethernet CSMACD algorithm

                          1 Adaptor receives datagram from net layer amp creates frame

                          2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                          3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                          4 If adapter detects another transmission while transmitting aborts and sends jam signal

                          5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                          1-36

                          Institutional network

                          hub

                          hubhub

                          switch

                          to externalnetwork

                          router

                          IP subnet

                          mail server

                          web server

                          1-37

                          Point to Point Data Link Control one sender one receiver one link easier than

                          broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                          popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                          1-38

                          The Internet virtualizing networks

                          ARPAnet satellite net

                          gateway

                          Internetwork layer (IP) addressing internetwork

                          appears as a single uniform entity despite underlying local network heterogeneity

                          network of networks

                          Gateway ldquoembed internetwork packets

                          in local packet format or extract themrdquo

                          route (at internetwork level) to next gateway

                          1-39

                          What is next If you have passion for networking

                          More networking CMPT 471 (Systems) CMPT 408 (Theory)

                          Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                          Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                          1-40

                          That is all

                          Good luck on your final

                          • School of Computing Science Simon Fraser University
                          • Course Objectives
                          • Slide 3
                          • Internet structure packet journey
                          • Layering of airline functionality
                          • Internet protocol stack
                          • Encapsulation
                          • What is a network app
                          • How to create a network app
                          • Socket Programming
                          • Sample app-level protocols
                          • Transport layer
                          • Reliable data transfer principles
                          • Reliable data transfer Go-Back-N
                          • Reliable data transfer Selective repeat
                          • TCP Overview RFCs 793 1122 1323 2018 2581
                          • TCP Congestion Control Summary
                          • Network layer
                          • Network Taxonomy
                          • Slide 20
                          • Router Architecture Overview
                          • Addressing Subnets
                          • Hierarchical addressing route aggregation
                          • Routing algorithms Graph abstraction
                          • Classification of Routing Algorithms
                          • Hierarchical Routing
                          • Slide 27
                          • BGP reachability and policy routing
                          • Unicast multicast broadcast
                          • Link Layer
                          • Adaptors Communicating
                          • CRC basic idea
                          • MAC Protocols a taxonomy
                          • MAC and IP addresses
                          • Ethernet CSMACD algorithm
                          • Institutional network
                          • Point to Point Data Link Control
                          • The Internet virtualizing networks
                          • What is next
                          • Slide 40

                            1-14

                            Reliable data transfer Go-Back-NSender k-bit seq in pkt header ldquowindowrdquo of up to N consecutive unackrsquoed pkts allowed

                            ACK(n) ACKs all pkts up to including seq n - ldquocumulative ACKrdquo may receive duplicate ACKs (see receiver)

                            timer for each in-flight pkt timeout(n) retransmit pkt n and all higher seq pkts in

                            window ie go back to n

                            1-15

                            Reliable data transfer Selective repeat

                            1-16

                            TCP Overview RFCs 793 1122 1323 2018 2581

                            full duplex data bi-directional data flow

                            in same connection MSS maximum

                            segment size

                            connection-oriented handshaking (exchange

                            of control msgs) initrsquos sender receiver state before data exchange

                            flow controlled sender will not

                            overwhelm receiver

                            point-to-point one sender one

                            receiver

                            reliable in-order byte steam no ldquomessage

                            boundariesrdquo

                            congestion controlled will not overwhelm

                            network

                            send amp receive bufferssocketdoor

                            T C Psend buffer

                            T C Preceive buffer

                            socketdoor

                            segm ent

                            applicationwrites data

                            applicationreads data

                            1-17

                            TCP Congestion Control Summary Initially

                            Threshold is set to large value (65 Kbytes) has not effect

                            CongWin = 1 MSS

                            Slow Start (SS) CongWin grows exponentially

                            till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                            Congestion Avoidance (CA) CongWin grows linearly

                            3 duplicate ACK occurs

                            Threshold = CongWin2 CongWin = Threshold CA

                            Timeout occurs

                            Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                            1-18

                            Network layer transport segment from

                            sending to receiving host

                            on sending side encapsulates segments into datagrams

                            on receiving side delivers segments to transport layer

                            network layer protocols in every host router

                            Router examines header fields in all IP datagrams passing through it

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            networkdata linkphysical

                            application

                            transportnetworkdata linkphysical

                            application

                            transportnetworkdata linkphysical

                            1-19

                            Network Taxonomy

                            Telecommunicationnetworks

                            Circuit-switchednetworks

                            FDM TDM

                            Packet-switchednetworks

                            Networkswith VCs

                            DatagramNetworks

                            bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                            1-20

                            1

                            23

                            0111

                            value in arrivingpacketrsquos header

                            routing algorithm

                            local forwarding tableheader value output link

                            0100010101111001

                            3221

                            Interplay between routing and forwarding

                            1-21

                            Router Architecture OverviewTwo key router functions

                            run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                            1-22

                            Addressing Subnets22311024

                            22312024

                            22313024

                            Subnet is a group of devices that

                            can reach each other without intervening router

                            identified by high order bits of IP addresses

                            11011111 00000001 00000001 00000001

                            22311024

                            Subnet ID Host ID

                            24 bits in subnet portion of address subnet mask

                            1-23

                            Hierarchical addressing route aggregation

                            ldquoSend me anythingwith addresses beginning 2002316020rdquo

                            2002316023

                            2002318023

                            2002330023

                            Fly-By-Night-ISP

                            Organization 0

                            Organization 7Internet

                            Organization 1

                            ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                            2002320023Organization 2

                            Hierarchical addressing allows efficient advertisement of routing information

                            1-24

                            Routing algorithms Graph abstraction

                            u

                            yx

                            wv

                            z2

                            2

                            13

                            1

                            1

                            2

                            53

                            5bull

                            Routing algorithm algorithm that finds least-cost path

                            cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                            Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                            1xp)

                            1-25

                            Classification of Routing AlgorithmsGlobal or local information

                            Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                            local router knows physically-connected neighbors

                            link costs to neighbors iterative process of computation exchange of

                            info with neighbors ldquodistance vectorrdquo algorithms

                            1-26

                            Hierarchical Routing

                            aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                            routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                            protocol

                            Gateway router Direct link to router in another AS

                            1-27

                            3b

                            1d

                            3a

                            1c2aAS3

                            AS1

                            AS21a

                            2c2b

                            1b

                            Intra-ASRouting algorithm

                            Inter-ASRouting algorithm

                            Forwardingtable

                            3c

                            Hierarchical Routing

                            Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                            for internal dests Inter-AS amp Intra-As

                            sets entries for external dests

                            1-28

                            BGP reachability and policy routing

                            Figure 45-BGPnew a simple BGP scenario

                            A

                            B

                            C

                            W X

                            Y

                            legend

                            customer network

                            provider network

                            ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                            networks X does not want to route traffic from B via X to

                            C so X will not advertise to B a route to C

                            1-29

                            Unicast multicast broadcast Unicast one source one destination

                            Eg web session

                            Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                            Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                            domain in OSPF protocol

                            Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                            1-30

                            Link Layer Some terminology hosts and routers are nodes communication channels

                            that connect adjacent nodes along communication path are links wired links wireless links LANs

                            layer-2 packet is a frame encapsulates datagram

                            ldquolinkrdquo

                            data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                            1-31

                            Adaptors Communicating

                            link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                            80211 card

                            sending side encapsulates datagram in

                            a frame adds error checking bits

                            rdt flow control etc

                            receiving side looks for errors rdt flow

                            control etc extracts datagram

                            passes to rcving node

                            adapter is semi-autonomous

                            link amp physical layers

                            sendingnode

                            frame

                            rcvingnode

                            datagram

                            frame

                            adapter adapter

                            link layer protocol

                            1-32

                            CRC basic idea Sender and receiver agree on a divisor

                            polynomial G(x) of degree r Sender transmits T(x) which consists

                            of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                            0 Receiver gets Trsquo(x) which may have

                            corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                            d bits r bits

                            1-33

                            MAC Protocols a taxonomy

                            Three broad classes Channel Partitioning

                            divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                            allocate piece to node for exclusive use

                            Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                            ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                            take longer turns

                            1-34

                            MAC and IP addresses Why do we have TWO addresses (IPMAC)

                            Do we have to have MAC addresses Yes we must have both

                            To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                            Enable flexibility mobility of cards

                            Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                            1-35

                            Ethernet CSMACD algorithm

                            1 Adaptor receives datagram from net layer amp creates frame

                            2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                            3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                            4 If adapter detects another transmission while transmitting aborts and sends jam signal

                            5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                            1-36

                            Institutional network

                            hub

                            hubhub

                            switch

                            to externalnetwork

                            router

                            IP subnet

                            mail server

                            web server

                            1-37

                            Point to Point Data Link Control one sender one receiver one link easier than

                            broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                            popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                            1-38

                            The Internet virtualizing networks

                            ARPAnet satellite net

                            gateway

                            Internetwork layer (IP) addressing internetwork

                            appears as a single uniform entity despite underlying local network heterogeneity

                            network of networks

                            Gateway ldquoembed internetwork packets

                            in local packet format or extract themrdquo

                            route (at internetwork level) to next gateway

                            1-39

                            What is next If you have passion for networking

                            More networking CMPT 471 (Systems) CMPT 408 (Theory)

                            Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                            Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                            1-40

                            That is all

                            Good luck on your final

                            • School of Computing Science Simon Fraser University
                            • Course Objectives
                            • Slide 3
                            • Internet structure packet journey
                            • Layering of airline functionality
                            • Internet protocol stack
                            • Encapsulation
                            • What is a network app
                            • How to create a network app
                            • Socket Programming
                            • Sample app-level protocols
                            • Transport layer
                            • Reliable data transfer principles
                            • Reliable data transfer Go-Back-N
                            • Reliable data transfer Selective repeat
                            • TCP Overview RFCs 793 1122 1323 2018 2581
                            • TCP Congestion Control Summary
                            • Network layer
                            • Network Taxonomy
                            • Slide 20
                            • Router Architecture Overview
                            • Addressing Subnets
                            • Hierarchical addressing route aggregation
                            • Routing algorithms Graph abstraction
                            • Classification of Routing Algorithms
                            • Hierarchical Routing
                            • Slide 27
                            • BGP reachability and policy routing
                            • Unicast multicast broadcast
                            • Link Layer
                            • Adaptors Communicating
                            • CRC basic idea
                            • MAC Protocols a taxonomy
                            • MAC and IP addresses
                            • Ethernet CSMACD algorithm
                            • Institutional network
                            • Point to Point Data Link Control
                            • The Internet virtualizing networks
                            • What is next
                            • Slide 40

                              1-15

                              Reliable data transfer Selective repeat

                              1-16

                              TCP Overview RFCs 793 1122 1323 2018 2581

                              full duplex data bi-directional data flow

                              in same connection MSS maximum

                              segment size

                              connection-oriented handshaking (exchange

                              of control msgs) initrsquos sender receiver state before data exchange

                              flow controlled sender will not

                              overwhelm receiver

                              point-to-point one sender one

                              receiver

                              reliable in-order byte steam no ldquomessage

                              boundariesrdquo

                              congestion controlled will not overwhelm

                              network

                              send amp receive bufferssocketdoor

                              T C Psend buffer

                              T C Preceive buffer

                              socketdoor

                              segm ent

                              applicationwrites data

                              applicationreads data

                              1-17

                              TCP Congestion Control Summary Initially

                              Threshold is set to large value (65 Kbytes) has not effect

                              CongWin = 1 MSS

                              Slow Start (SS) CongWin grows exponentially

                              till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                              Congestion Avoidance (CA) CongWin grows linearly

                              3 duplicate ACK occurs

                              Threshold = CongWin2 CongWin = Threshold CA

                              Timeout occurs

                              Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                              1-18

                              Network layer transport segment from

                              sending to receiving host

                              on sending side encapsulates segments into datagrams

                              on receiving side delivers segments to transport layer

                              network layer protocols in every host router

                              Router examines header fields in all IP datagrams passing through it

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              networkdata linkphysical

                              application

                              transportnetworkdata linkphysical

                              application

                              transportnetworkdata linkphysical

                              1-19

                              Network Taxonomy

                              Telecommunicationnetworks

                              Circuit-switchednetworks

                              FDM TDM

                              Packet-switchednetworks

                              Networkswith VCs

                              DatagramNetworks

                              bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                              1-20

                              1

                              23

                              0111

                              value in arrivingpacketrsquos header

                              routing algorithm

                              local forwarding tableheader value output link

                              0100010101111001

                              3221

                              Interplay between routing and forwarding

                              1-21

                              Router Architecture OverviewTwo key router functions

                              run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                              1-22

                              Addressing Subnets22311024

                              22312024

                              22313024

                              Subnet is a group of devices that

                              can reach each other without intervening router

                              identified by high order bits of IP addresses

                              11011111 00000001 00000001 00000001

                              22311024

                              Subnet ID Host ID

                              24 bits in subnet portion of address subnet mask

                              1-23

                              Hierarchical addressing route aggregation

                              ldquoSend me anythingwith addresses beginning 2002316020rdquo

                              2002316023

                              2002318023

                              2002330023

                              Fly-By-Night-ISP

                              Organization 0

                              Organization 7Internet

                              Organization 1

                              ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                              2002320023Organization 2

                              Hierarchical addressing allows efficient advertisement of routing information

                              1-24

                              Routing algorithms Graph abstraction

                              u

                              yx

                              wv

                              z2

                              2

                              13

                              1

                              1

                              2

                              53

                              5bull

                              Routing algorithm algorithm that finds least-cost path

                              cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                              Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                              1xp)

                              1-25

                              Classification of Routing AlgorithmsGlobal or local information

                              Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                              local router knows physically-connected neighbors

                              link costs to neighbors iterative process of computation exchange of

                              info with neighbors ldquodistance vectorrdquo algorithms

                              1-26

                              Hierarchical Routing

                              aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                              routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                              protocol

                              Gateway router Direct link to router in another AS

                              1-27

                              3b

                              1d

                              3a

                              1c2aAS3

                              AS1

                              AS21a

                              2c2b

                              1b

                              Intra-ASRouting algorithm

                              Inter-ASRouting algorithm

                              Forwardingtable

                              3c

                              Hierarchical Routing

                              Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                              for internal dests Inter-AS amp Intra-As

                              sets entries for external dests

                              1-28

                              BGP reachability and policy routing

                              Figure 45-BGPnew a simple BGP scenario

                              A

                              B

                              C

                              W X

                              Y

                              legend

                              customer network

                              provider network

                              ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                              networks X does not want to route traffic from B via X to

                              C so X will not advertise to B a route to C

                              1-29

                              Unicast multicast broadcast Unicast one source one destination

                              Eg web session

                              Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                              Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                              domain in OSPF protocol

                              Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                              1-30

                              Link Layer Some terminology hosts and routers are nodes communication channels

                              that connect adjacent nodes along communication path are links wired links wireless links LANs

                              layer-2 packet is a frame encapsulates datagram

                              ldquolinkrdquo

                              data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                              1-31

                              Adaptors Communicating

                              link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                              80211 card

                              sending side encapsulates datagram in

                              a frame adds error checking bits

                              rdt flow control etc

                              receiving side looks for errors rdt flow

                              control etc extracts datagram

                              passes to rcving node

                              adapter is semi-autonomous

                              link amp physical layers

                              sendingnode

                              frame

                              rcvingnode

                              datagram

                              frame

                              adapter adapter

                              link layer protocol

                              1-32

                              CRC basic idea Sender and receiver agree on a divisor

                              polynomial G(x) of degree r Sender transmits T(x) which consists

                              of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                              0 Receiver gets Trsquo(x) which may have

                              corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                              d bits r bits

                              1-33

                              MAC Protocols a taxonomy

                              Three broad classes Channel Partitioning

                              divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                              allocate piece to node for exclusive use

                              Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                              ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                              take longer turns

                              1-34

                              MAC and IP addresses Why do we have TWO addresses (IPMAC)

                              Do we have to have MAC addresses Yes we must have both

                              To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                              Enable flexibility mobility of cards

                              Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                              1-35

                              Ethernet CSMACD algorithm

                              1 Adaptor receives datagram from net layer amp creates frame

                              2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                              3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                              4 If adapter detects another transmission while transmitting aborts and sends jam signal

                              5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                              1-36

                              Institutional network

                              hub

                              hubhub

                              switch

                              to externalnetwork

                              router

                              IP subnet

                              mail server

                              web server

                              1-37

                              Point to Point Data Link Control one sender one receiver one link easier than

                              broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                              popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                              1-38

                              The Internet virtualizing networks

                              ARPAnet satellite net

                              gateway

                              Internetwork layer (IP) addressing internetwork

                              appears as a single uniform entity despite underlying local network heterogeneity

                              network of networks

                              Gateway ldquoembed internetwork packets

                              in local packet format or extract themrdquo

                              route (at internetwork level) to next gateway

                              1-39

                              What is next If you have passion for networking

                              More networking CMPT 471 (Systems) CMPT 408 (Theory)

                              Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                              Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                              1-40

                              That is all

                              Good luck on your final

                              • School of Computing Science Simon Fraser University
                              • Course Objectives
                              • Slide 3
                              • Internet structure packet journey
                              • Layering of airline functionality
                              • Internet protocol stack
                              • Encapsulation
                              • What is a network app
                              • How to create a network app
                              • Socket Programming
                              • Sample app-level protocols
                              • Transport layer
                              • Reliable data transfer principles
                              • Reliable data transfer Go-Back-N
                              • Reliable data transfer Selective repeat
                              • TCP Overview RFCs 793 1122 1323 2018 2581
                              • TCP Congestion Control Summary
                              • Network layer
                              • Network Taxonomy
                              • Slide 20
                              • Router Architecture Overview
                              • Addressing Subnets
                              • Hierarchical addressing route aggregation
                              • Routing algorithms Graph abstraction
                              • Classification of Routing Algorithms
                              • Hierarchical Routing
                              • Slide 27
                              • BGP reachability and policy routing
                              • Unicast multicast broadcast
                              • Link Layer
                              • Adaptors Communicating
                              • CRC basic idea
                              • MAC Protocols a taxonomy
                              • MAC and IP addresses
                              • Ethernet CSMACD algorithm
                              • Institutional network
                              • Point to Point Data Link Control
                              • The Internet virtualizing networks
                              • What is next
                              • Slide 40

                                1-16

                                TCP Overview RFCs 793 1122 1323 2018 2581

                                full duplex data bi-directional data flow

                                in same connection MSS maximum

                                segment size

                                connection-oriented handshaking (exchange

                                of control msgs) initrsquos sender receiver state before data exchange

                                flow controlled sender will not

                                overwhelm receiver

                                point-to-point one sender one

                                receiver

                                reliable in-order byte steam no ldquomessage

                                boundariesrdquo

                                congestion controlled will not overwhelm

                                network

                                send amp receive bufferssocketdoor

                                T C Psend buffer

                                T C Preceive buffer

                                socketdoor

                                segm ent

                                applicationwrites data

                                applicationreads data

                                1-17

                                TCP Congestion Control Summary Initially

                                Threshold is set to large value (65 Kbytes) has not effect

                                CongWin = 1 MSS

                                Slow Start (SS) CongWin grows exponentially

                                till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                                Congestion Avoidance (CA) CongWin grows linearly

                                3 duplicate ACK occurs

                                Threshold = CongWin2 CongWin = Threshold CA

                                Timeout occurs

                                Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                                1-18

                                Network layer transport segment from

                                sending to receiving host

                                on sending side encapsulates segments into datagrams

                                on receiving side delivers segments to transport layer

                                network layer protocols in every host router

                                Router examines header fields in all IP datagrams passing through it

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                networkdata linkphysical

                                application

                                transportnetworkdata linkphysical

                                application

                                transportnetworkdata linkphysical

                                1-19

                                Network Taxonomy

                                Telecommunicationnetworks

                                Circuit-switchednetworks

                                FDM TDM

                                Packet-switchednetworks

                                Networkswith VCs

                                DatagramNetworks

                                bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                                1-20

                                1

                                23

                                0111

                                value in arrivingpacketrsquos header

                                routing algorithm

                                local forwarding tableheader value output link

                                0100010101111001

                                3221

                                Interplay between routing and forwarding

                                1-21

                                Router Architecture OverviewTwo key router functions

                                run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                1-22

                                Addressing Subnets22311024

                                22312024

                                22313024

                                Subnet is a group of devices that

                                can reach each other without intervening router

                                identified by high order bits of IP addresses

                                11011111 00000001 00000001 00000001

                                22311024

                                Subnet ID Host ID

                                24 bits in subnet portion of address subnet mask

                                1-23

                                Hierarchical addressing route aggregation

                                ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                2002316023

                                2002318023

                                2002330023

                                Fly-By-Night-ISP

                                Organization 0

                                Organization 7Internet

                                Organization 1

                                ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                2002320023Organization 2

                                Hierarchical addressing allows efficient advertisement of routing information

                                1-24

                                Routing algorithms Graph abstraction

                                u

                                yx

                                wv

                                z2

                                2

                                13

                                1

                                1

                                2

                                53

                                5bull

                                Routing algorithm algorithm that finds least-cost path

                                cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                1xp)

                                1-25

                                Classification of Routing AlgorithmsGlobal or local information

                                Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                local router knows physically-connected neighbors

                                link costs to neighbors iterative process of computation exchange of

                                info with neighbors ldquodistance vectorrdquo algorithms

                                1-26

                                Hierarchical Routing

                                aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                protocol

                                Gateway router Direct link to router in another AS

                                1-27

                                3b

                                1d

                                3a

                                1c2aAS3

                                AS1

                                AS21a

                                2c2b

                                1b

                                Intra-ASRouting algorithm

                                Inter-ASRouting algorithm

                                Forwardingtable

                                3c

                                Hierarchical Routing

                                Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                for internal dests Inter-AS amp Intra-As

                                sets entries for external dests

                                1-28

                                BGP reachability and policy routing

                                Figure 45-BGPnew a simple BGP scenario

                                A

                                B

                                C

                                W X

                                Y

                                legend

                                customer network

                                provider network

                                ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                networks X does not want to route traffic from B via X to

                                C so X will not advertise to B a route to C

                                1-29

                                Unicast multicast broadcast Unicast one source one destination

                                Eg web session

                                Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                domain in OSPF protocol

                                Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                1-30

                                Link Layer Some terminology hosts and routers are nodes communication channels

                                that connect adjacent nodes along communication path are links wired links wireless links LANs

                                layer-2 packet is a frame encapsulates datagram

                                ldquolinkrdquo

                                data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                1-31

                                Adaptors Communicating

                                link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                80211 card

                                sending side encapsulates datagram in

                                a frame adds error checking bits

                                rdt flow control etc

                                receiving side looks for errors rdt flow

                                control etc extracts datagram

                                passes to rcving node

                                adapter is semi-autonomous

                                link amp physical layers

                                sendingnode

                                frame

                                rcvingnode

                                datagram

                                frame

                                adapter adapter

                                link layer protocol

                                1-32

                                CRC basic idea Sender and receiver agree on a divisor

                                polynomial G(x) of degree r Sender transmits T(x) which consists

                                of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                0 Receiver gets Trsquo(x) which may have

                                corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                d bits r bits

                                1-33

                                MAC Protocols a taxonomy

                                Three broad classes Channel Partitioning

                                divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                allocate piece to node for exclusive use

                                Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                take longer turns

                                1-34

                                MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                Do we have to have MAC addresses Yes we must have both

                                To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                Enable flexibility mobility of cards

                                Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                1-35

                                Ethernet CSMACD algorithm

                                1 Adaptor receives datagram from net layer amp creates frame

                                2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                1-36

                                Institutional network

                                hub

                                hubhub

                                switch

                                to externalnetwork

                                router

                                IP subnet

                                mail server

                                web server

                                1-37

                                Point to Point Data Link Control one sender one receiver one link easier than

                                broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                1-38

                                The Internet virtualizing networks

                                ARPAnet satellite net

                                gateway

                                Internetwork layer (IP) addressing internetwork

                                appears as a single uniform entity despite underlying local network heterogeneity

                                network of networks

                                Gateway ldquoembed internetwork packets

                                in local packet format or extract themrdquo

                                route (at internetwork level) to next gateway

                                1-39

                                What is next If you have passion for networking

                                More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                1-40

                                That is all

                                Good luck on your final

                                • School of Computing Science Simon Fraser University
                                • Course Objectives
                                • Slide 3
                                • Internet structure packet journey
                                • Layering of airline functionality
                                • Internet protocol stack
                                • Encapsulation
                                • What is a network app
                                • How to create a network app
                                • Socket Programming
                                • Sample app-level protocols
                                • Transport layer
                                • Reliable data transfer principles
                                • Reliable data transfer Go-Back-N
                                • Reliable data transfer Selective repeat
                                • TCP Overview RFCs 793 1122 1323 2018 2581
                                • TCP Congestion Control Summary
                                • Network layer
                                • Network Taxonomy
                                • Slide 20
                                • Router Architecture Overview
                                • Addressing Subnets
                                • Hierarchical addressing route aggregation
                                • Routing algorithms Graph abstraction
                                • Classification of Routing Algorithms
                                • Hierarchical Routing
                                • Slide 27
                                • BGP reachability and policy routing
                                • Unicast multicast broadcast
                                • Link Layer
                                • Adaptors Communicating
                                • CRC basic idea
                                • MAC Protocols a taxonomy
                                • MAC and IP addresses
                                • Ethernet CSMACD algorithm
                                • Institutional network
                                • Point to Point Data Link Control
                                • The Internet virtualizing networks
                                • What is next
                                • Slide 40

                                  1-17

                                  TCP Congestion Control Summary Initially

                                  Threshold is set to large value (65 Kbytes) has not effect

                                  CongWin = 1 MSS

                                  Slow Start (SS) CongWin grows exponentially

                                  till a loss event occurs (timeout or 3 dup ack) or reaches Threshold

                                  Congestion Avoidance (CA) CongWin grows linearly

                                  3 duplicate ACK occurs

                                  Threshold = CongWin2 CongWin = Threshold CA

                                  Timeout occurs

                                  Threshold = CongWin2 CongWin = 1 MSS SS till Threshold

                                  1-18

                                  Network layer transport segment from

                                  sending to receiving host

                                  on sending side encapsulates segments into datagrams

                                  on receiving side delivers segments to transport layer

                                  network layer protocols in every host router

                                  Router examines header fields in all IP datagrams passing through it

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  networkdata linkphysical

                                  application

                                  transportnetworkdata linkphysical

                                  application

                                  transportnetworkdata linkphysical

                                  1-19

                                  Network Taxonomy

                                  Telecommunicationnetworks

                                  Circuit-switchednetworks

                                  FDM TDM

                                  Packet-switchednetworks

                                  Networkswith VCs

                                  DatagramNetworks

                                  bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                                  1-20

                                  1

                                  23

                                  0111

                                  value in arrivingpacketrsquos header

                                  routing algorithm

                                  local forwarding tableheader value output link

                                  0100010101111001

                                  3221

                                  Interplay between routing and forwarding

                                  1-21

                                  Router Architecture OverviewTwo key router functions

                                  run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                  1-22

                                  Addressing Subnets22311024

                                  22312024

                                  22313024

                                  Subnet is a group of devices that

                                  can reach each other without intervening router

                                  identified by high order bits of IP addresses

                                  11011111 00000001 00000001 00000001

                                  22311024

                                  Subnet ID Host ID

                                  24 bits in subnet portion of address subnet mask

                                  1-23

                                  Hierarchical addressing route aggregation

                                  ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                  2002316023

                                  2002318023

                                  2002330023

                                  Fly-By-Night-ISP

                                  Organization 0

                                  Organization 7Internet

                                  Organization 1

                                  ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                  2002320023Organization 2

                                  Hierarchical addressing allows efficient advertisement of routing information

                                  1-24

                                  Routing algorithms Graph abstraction

                                  u

                                  yx

                                  wv

                                  z2

                                  2

                                  13

                                  1

                                  1

                                  2

                                  53

                                  5bull

                                  Routing algorithm algorithm that finds least-cost path

                                  cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                  Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                  1xp)

                                  1-25

                                  Classification of Routing AlgorithmsGlobal or local information

                                  Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                  local router knows physically-connected neighbors

                                  link costs to neighbors iterative process of computation exchange of

                                  info with neighbors ldquodistance vectorrdquo algorithms

                                  1-26

                                  Hierarchical Routing

                                  aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                  routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                  protocol

                                  Gateway router Direct link to router in another AS

                                  1-27

                                  3b

                                  1d

                                  3a

                                  1c2aAS3

                                  AS1

                                  AS21a

                                  2c2b

                                  1b

                                  Intra-ASRouting algorithm

                                  Inter-ASRouting algorithm

                                  Forwardingtable

                                  3c

                                  Hierarchical Routing

                                  Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                  for internal dests Inter-AS amp Intra-As

                                  sets entries for external dests

                                  1-28

                                  BGP reachability and policy routing

                                  Figure 45-BGPnew a simple BGP scenario

                                  A

                                  B

                                  C

                                  W X

                                  Y

                                  legend

                                  customer network

                                  provider network

                                  ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                  networks X does not want to route traffic from B via X to

                                  C so X will not advertise to B a route to C

                                  1-29

                                  Unicast multicast broadcast Unicast one source one destination

                                  Eg web session

                                  Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                  Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                  domain in OSPF protocol

                                  Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                  1-30

                                  Link Layer Some terminology hosts and routers are nodes communication channels

                                  that connect adjacent nodes along communication path are links wired links wireless links LANs

                                  layer-2 packet is a frame encapsulates datagram

                                  ldquolinkrdquo

                                  data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                  1-31

                                  Adaptors Communicating

                                  link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                  80211 card

                                  sending side encapsulates datagram in

                                  a frame adds error checking bits

                                  rdt flow control etc

                                  receiving side looks for errors rdt flow

                                  control etc extracts datagram

                                  passes to rcving node

                                  adapter is semi-autonomous

                                  link amp physical layers

                                  sendingnode

                                  frame

                                  rcvingnode

                                  datagram

                                  frame

                                  adapter adapter

                                  link layer protocol

                                  1-32

                                  CRC basic idea Sender and receiver agree on a divisor

                                  polynomial G(x) of degree r Sender transmits T(x) which consists

                                  of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                  0 Receiver gets Trsquo(x) which may have

                                  corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                  d bits r bits

                                  1-33

                                  MAC Protocols a taxonomy

                                  Three broad classes Channel Partitioning

                                  divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                  allocate piece to node for exclusive use

                                  Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                  ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                  take longer turns

                                  1-34

                                  MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                  Do we have to have MAC addresses Yes we must have both

                                  To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                  Enable flexibility mobility of cards

                                  Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                  1-35

                                  Ethernet CSMACD algorithm

                                  1 Adaptor receives datagram from net layer amp creates frame

                                  2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                  3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                  4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                  5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                  1-36

                                  Institutional network

                                  hub

                                  hubhub

                                  switch

                                  to externalnetwork

                                  router

                                  IP subnet

                                  mail server

                                  web server

                                  1-37

                                  Point to Point Data Link Control one sender one receiver one link easier than

                                  broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                  popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                  1-38

                                  The Internet virtualizing networks

                                  ARPAnet satellite net

                                  gateway

                                  Internetwork layer (IP) addressing internetwork

                                  appears as a single uniform entity despite underlying local network heterogeneity

                                  network of networks

                                  Gateway ldquoembed internetwork packets

                                  in local packet format or extract themrdquo

                                  route (at internetwork level) to next gateway

                                  1-39

                                  What is next If you have passion for networking

                                  More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                  Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                  Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                  1-40

                                  That is all

                                  Good luck on your final

                                  • School of Computing Science Simon Fraser University
                                  • Course Objectives
                                  • Slide 3
                                  • Internet structure packet journey
                                  • Layering of airline functionality
                                  • Internet protocol stack
                                  • Encapsulation
                                  • What is a network app
                                  • How to create a network app
                                  • Socket Programming
                                  • Sample app-level protocols
                                  • Transport layer
                                  • Reliable data transfer principles
                                  • Reliable data transfer Go-Back-N
                                  • Reliable data transfer Selective repeat
                                  • TCP Overview RFCs 793 1122 1323 2018 2581
                                  • TCP Congestion Control Summary
                                  • Network layer
                                  • Network Taxonomy
                                  • Slide 20
                                  • Router Architecture Overview
                                  • Addressing Subnets
                                  • Hierarchical addressing route aggregation
                                  • Routing algorithms Graph abstraction
                                  • Classification of Routing Algorithms
                                  • Hierarchical Routing
                                  • Slide 27
                                  • BGP reachability and policy routing
                                  • Unicast multicast broadcast
                                  • Link Layer
                                  • Adaptors Communicating
                                  • CRC basic idea
                                  • MAC Protocols a taxonomy
                                  • MAC and IP addresses
                                  • Ethernet CSMACD algorithm
                                  • Institutional network
                                  • Point to Point Data Link Control
                                  • The Internet virtualizing networks
                                  • What is next
                                  • Slide 40

                                    1-18

                                    Network layer transport segment from

                                    sending to receiving host

                                    on sending side encapsulates segments into datagrams

                                    on receiving side delivers segments to transport layer

                                    network layer protocols in every host router

                                    Router examines header fields in all IP datagrams passing through it

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    networkdata linkphysical

                                    application

                                    transportnetworkdata linkphysical

                                    application

                                    transportnetworkdata linkphysical

                                    1-19

                                    Network Taxonomy

                                    Telecommunicationnetworks

                                    Circuit-switchednetworks

                                    FDM TDM

                                    Packet-switchednetworks

                                    Networkswith VCs

                                    DatagramNetworks

                                    bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                                    1-20

                                    1

                                    23

                                    0111

                                    value in arrivingpacketrsquos header

                                    routing algorithm

                                    local forwarding tableheader value output link

                                    0100010101111001

                                    3221

                                    Interplay between routing and forwarding

                                    1-21

                                    Router Architecture OverviewTwo key router functions

                                    run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                    1-22

                                    Addressing Subnets22311024

                                    22312024

                                    22313024

                                    Subnet is a group of devices that

                                    can reach each other without intervening router

                                    identified by high order bits of IP addresses

                                    11011111 00000001 00000001 00000001

                                    22311024

                                    Subnet ID Host ID

                                    24 bits in subnet portion of address subnet mask

                                    1-23

                                    Hierarchical addressing route aggregation

                                    ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                    2002316023

                                    2002318023

                                    2002330023

                                    Fly-By-Night-ISP

                                    Organization 0

                                    Organization 7Internet

                                    Organization 1

                                    ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                    2002320023Organization 2

                                    Hierarchical addressing allows efficient advertisement of routing information

                                    1-24

                                    Routing algorithms Graph abstraction

                                    u

                                    yx

                                    wv

                                    z2

                                    2

                                    13

                                    1

                                    1

                                    2

                                    53

                                    5bull

                                    Routing algorithm algorithm that finds least-cost path

                                    cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                    Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                    1xp)

                                    1-25

                                    Classification of Routing AlgorithmsGlobal or local information

                                    Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                    local router knows physically-connected neighbors

                                    link costs to neighbors iterative process of computation exchange of

                                    info with neighbors ldquodistance vectorrdquo algorithms

                                    1-26

                                    Hierarchical Routing

                                    aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                    routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                    protocol

                                    Gateway router Direct link to router in another AS

                                    1-27

                                    3b

                                    1d

                                    3a

                                    1c2aAS3

                                    AS1

                                    AS21a

                                    2c2b

                                    1b

                                    Intra-ASRouting algorithm

                                    Inter-ASRouting algorithm

                                    Forwardingtable

                                    3c

                                    Hierarchical Routing

                                    Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                    for internal dests Inter-AS amp Intra-As

                                    sets entries for external dests

                                    1-28

                                    BGP reachability and policy routing

                                    Figure 45-BGPnew a simple BGP scenario

                                    A

                                    B

                                    C

                                    W X

                                    Y

                                    legend

                                    customer network

                                    provider network

                                    ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                    networks X does not want to route traffic from B via X to

                                    C so X will not advertise to B a route to C

                                    1-29

                                    Unicast multicast broadcast Unicast one source one destination

                                    Eg web session

                                    Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                    Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                    domain in OSPF protocol

                                    Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                    1-30

                                    Link Layer Some terminology hosts and routers are nodes communication channels

                                    that connect adjacent nodes along communication path are links wired links wireless links LANs

                                    layer-2 packet is a frame encapsulates datagram

                                    ldquolinkrdquo

                                    data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                    1-31

                                    Adaptors Communicating

                                    link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                    80211 card

                                    sending side encapsulates datagram in

                                    a frame adds error checking bits

                                    rdt flow control etc

                                    receiving side looks for errors rdt flow

                                    control etc extracts datagram

                                    passes to rcving node

                                    adapter is semi-autonomous

                                    link amp physical layers

                                    sendingnode

                                    frame

                                    rcvingnode

                                    datagram

                                    frame

                                    adapter adapter

                                    link layer protocol

                                    1-32

                                    CRC basic idea Sender and receiver agree on a divisor

                                    polynomial G(x) of degree r Sender transmits T(x) which consists

                                    of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                    0 Receiver gets Trsquo(x) which may have

                                    corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                    d bits r bits

                                    1-33

                                    MAC Protocols a taxonomy

                                    Three broad classes Channel Partitioning

                                    divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                    allocate piece to node for exclusive use

                                    Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                    ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                    take longer turns

                                    1-34

                                    MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                    Do we have to have MAC addresses Yes we must have both

                                    To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                    Enable flexibility mobility of cards

                                    Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                    1-35

                                    Ethernet CSMACD algorithm

                                    1 Adaptor receives datagram from net layer amp creates frame

                                    2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                    3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                    4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                    5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                    1-36

                                    Institutional network

                                    hub

                                    hubhub

                                    switch

                                    to externalnetwork

                                    router

                                    IP subnet

                                    mail server

                                    web server

                                    1-37

                                    Point to Point Data Link Control one sender one receiver one link easier than

                                    broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                    popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                    1-38

                                    The Internet virtualizing networks

                                    ARPAnet satellite net

                                    gateway

                                    Internetwork layer (IP) addressing internetwork

                                    appears as a single uniform entity despite underlying local network heterogeneity

                                    network of networks

                                    Gateway ldquoembed internetwork packets

                                    in local packet format or extract themrdquo

                                    route (at internetwork level) to next gateway

                                    1-39

                                    What is next If you have passion for networking

                                    More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                    Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                    Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                    1-40

                                    That is all

                                    Good luck on your final

                                    • School of Computing Science Simon Fraser University
                                    • Course Objectives
                                    • Slide 3
                                    • Internet structure packet journey
                                    • Layering of airline functionality
                                    • Internet protocol stack
                                    • Encapsulation
                                    • What is a network app
                                    • How to create a network app
                                    • Socket Programming
                                    • Sample app-level protocols
                                    • Transport layer
                                    • Reliable data transfer principles
                                    • Reliable data transfer Go-Back-N
                                    • Reliable data transfer Selective repeat
                                    • TCP Overview RFCs 793 1122 1323 2018 2581
                                    • TCP Congestion Control Summary
                                    • Network layer
                                    • Network Taxonomy
                                    • Slide 20
                                    • Router Architecture Overview
                                    • Addressing Subnets
                                    • Hierarchical addressing route aggregation
                                    • Routing algorithms Graph abstraction
                                    • Classification of Routing Algorithms
                                    • Hierarchical Routing
                                    • Slide 27
                                    • BGP reachability and policy routing
                                    • Unicast multicast broadcast
                                    • Link Layer
                                    • Adaptors Communicating
                                    • CRC basic idea
                                    • MAC Protocols a taxonomy
                                    • MAC and IP addresses
                                    • Ethernet CSMACD algorithm
                                    • Institutional network
                                    • Point to Point Data Link Control
                                    • The Internet virtualizing networks
                                    • What is next
                                    • Slide 40

                                      1-19

                                      Network Taxonomy

                                      Telecommunicationnetworks

                                      Circuit-switchednetworks

                                      FDM TDM

                                      Packet-switchednetworks

                                      Networkswith VCs

                                      DatagramNetworks

                                      bullInternet provides both connection-oriented (TCP) and connectionless services (UDP) to apps

                                      1-20

                                      1

                                      23

                                      0111

                                      value in arrivingpacketrsquos header

                                      routing algorithm

                                      local forwarding tableheader value output link

                                      0100010101111001

                                      3221

                                      Interplay between routing and forwarding

                                      1-21

                                      Router Architecture OverviewTwo key router functions

                                      run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                      1-22

                                      Addressing Subnets22311024

                                      22312024

                                      22313024

                                      Subnet is a group of devices that

                                      can reach each other without intervening router

                                      identified by high order bits of IP addresses

                                      11011111 00000001 00000001 00000001

                                      22311024

                                      Subnet ID Host ID

                                      24 bits in subnet portion of address subnet mask

                                      1-23

                                      Hierarchical addressing route aggregation

                                      ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                      2002316023

                                      2002318023

                                      2002330023

                                      Fly-By-Night-ISP

                                      Organization 0

                                      Organization 7Internet

                                      Organization 1

                                      ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                      2002320023Organization 2

                                      Hierarchical addressing allows efficient advertisement of routing information

                                      1-24

                                      Routing algorithms Graph abstraction

                                      u

                                      yx

                                      wv

                                      z2

                                      2

                                      13

                                      1

                                      1

                                      2

                                      53

                                      5bull

                                      Routing algorithm algorithm that finds least-cost path

                                      cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                      Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                      1xp)

                                      1-25

                                      Classification of Routing AlgorithmsGlobal or local information

                                      Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                      local router knows physically-connected neighbors

                                      link costs to neighbors iterative process of computation exchange of

                                      info with neighbors ldquodistance vectorrdquo algorithms

                                      1-26

                                      Hierarchical Routing

                                      aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                      routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                      protocol

                                      Gateway router Direct link to router in another AS

                                      1-27

                                      3b

                                      1d

                                      3a

                                      1c2aAS3

                                      AS1

                                      AS21a

                                      2c2b

                                      1b

                                      Intra-ASRouting algorithm

                                      Inter-ASRouting algorithm

                                      Forwardingtable

                                      3c

                                      Hierarchical Routing

                                      Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                      for internal dests Inter-AS amp Intra-As

                                      sets entries for external dests

                                      1-28

                                      BGP reachability and policy routing

                                      Figure 45-BGPnew a simple BGP scenario

                                      A

                                      B

                                      C

                                      W X

                                      Y

                                      legend

                                      customer network

                                      provider network

                                      ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                      networks X does not want to route traffic from B via X to

                                      C so X will not advertise to B a route to C

                                      1-29

                                      Unicast multicast broadcast Unicast one source one destination

                                      Eg web session

                                      Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                      Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                      domain in OSPF protocol

                                      Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                      1-30

                                      Link Layer Some terminology hosts and routers are nodes communication channels

                                      that connect adjacent nodes along communication path are links wired links wireless links LANs

                                      layer-2 packet is a frame encapsulates datagram

                                      ldquolinkrdquo

                                      data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                      1-31

                                      Adaptors Communicating

                                      link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                      80211 card

                                      sending side encapsulates datagram in

                                      a frame adds error checking bits

                                      rdt flow control etc

                                      receiving side looks for errors rdt flow

                                      control etc extracts datagram

                                      passes to rcving node

                                      adapter is semi-autonomous

                                      link amp physical layers

                                      sendingnode

                                      frame

                                      rcvingnode

                                      datagram

                                      frame

                                      adapter adapter

                                      link layer protocol

                                      1-32

                                      CRC basic idea Sender and receiver agree on a divisor

                                      polynomial G(x) of degree r Sender transmits T(x) which consists

                                      of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                      0 Receiver gets Trsquo(x) which may have

                                      corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                      d bits r bits

                                      1-33

                                      MAC Protocols a taxonomy

                                      Three broad classes Channel Partitioning

                                      divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                      allocate piece to node for exclusive use

                                      Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                      ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                      take longer turns

                                      1-34

                                      MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                      Do we have to have MAC addresses Yes we must have both

                                      To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                      Enable flexibility mobility of cards

                                      Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                      1-35

                                      Ethernet CSMACD algorithm

                                      1 Adaptor receives datagram from net layer amp creates frame

                                      2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                      3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                      4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                      5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                      1-36

                                      Institutional network

                                      hub

                                      hubhub

                                      switch

                                      to externalnetwork

                                      router

                                      IP subnet

                                      mail server

                                      web server

                                      1-37

                                      Point to Point Data Link Control one sender one receiver one link easier than

                                      broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                      popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                      1-38

                                      The Internet virtualizing networks

                                      ARPAnet satellite net

                                      gateway

                                      Internetwork layer (IP) addressing internetwork

                                      appears as a single uniform entity despite underlying local network heterogeneity

                                      network of networks

                                      Gateway ldquoembed internetwork packets

                                      in local packet format or extract themrdquo

                                      route (at internetwork level) to next gateway

                                      1-39

                                      What is next If you have passion for networking

                                      More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                      Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                      Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                      1-40

                                      That is all

                                      Good luck on your final

                                      • School of Computing Science Simon Fraser University
                                      • Course Objectives
                                      • Slide 3
                                      • Internet structure packet journey
                                      • Layering of airline functionality
                                      • Internet protocol stack
                                      • Encapsulation
                                      • What is a network app
                                      • How to create a network app
                                      • Socket Programming
                                      • Sample app-level protocols
                                      • Transport layer
                                      • Reliable data transfer principles
                                      • Reliable data transfer Go-Back-N
                                      • Reliable data transfer Selective repeat
                                      • TCP Overview RFCs 793 1122 1323 2018 2581
                                      • TCP Congestion Control Summary
                                      • Network layer
                                      • Network Taxonomy
                                      • Slide 20
                                      • Router Architecture Overview
                                      • Addressing Subnets
                                      • Hierarchical addressing route aggregation
                                      • Routing algorithms Graph abstraction
                                      • Classification of Routing Algorithms
                                      • Hierarchical Routing
                                      • Slide 27
                                      • BGP reachability and policy routing
                                      • Unicast multicast broadcast
                                      • Link Layer
                                      • Adaptors Communicating
                                      • CRC basic idea
                                      • MAC Protocols a taxonomy
                                      • MAC and IP addresses
                                      • Ethernet CSMACD algorithm
                                      • Institutional network
                                      • Point to Point Data Link Control
                                      • The Internet virtualizing networks
                                      • What is next
                                      • Slide 40

                                        1-20

                                        1

                                        23

                                        0111

                                        value in arrivingpacketrsquos header

                                        routing algorithm

                                        local forwarding tableheader value output link

                                        0100010101111001

                                        3221

                                        Interplay between routing and forwarding

                                        1-21

                                        Router Architecture OverviewTwo key router functions

                                        run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                        1-22

                                        Addressing Subnets22311024

                                        22312024

                                        22313024

                                        Subnet is a group of devices that

                                        can reach each other without intervening router

                                        identified by high order bits of IP addresses

                                        11011111 00000001 00000001 00000001

                                        22311024

                                        Subnet ID Host ID

                                        24 bits in subnet portion of address subnet mask

                                        1-23

                                        Hierarchical addressing route aggregation

                                        ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                        2002316023

                                        2002318023

                                        2002330023

                                        Fly-By-Night-ISP

                                        Organization 0

                                        Organization 7Internet

                                        Organization 1

                                        ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                        2002320023Organization 2

                                        Hierarchical addressing allows efficient advertisement of routing information

                                        1-24

                                        Routing algorithms Graph abstraction

                                        u

                                        yx

                                        wv

                                        z2

                                        2

                                        13

                                        1

                                        1

                                        2

                                        53

                                        5bull

                                        Routing algorithm algorithm that finds least-cost path

                                        cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                        Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                        1xp)

                                        1-25

                                        Classification of Routing AlgorithmsGlobal or local information

                                        Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                        local router knows physically-connected neighbors

                                        link costs to neighbors iterative process of computation exchange of

                                        info with neighbors ldquodistance vectorrdquo algorithms

                                        1-26

                                        Hierarchical Routing

                                        aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                        routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                        protocol

                                        Gateway router Direct link to router in another AS

                                        1-27

                                        3b

                                        1d

                                        3a

                                        1c2aAS3

                                        AS1

                                        AS21a

                                        2c2b

                                        1b

                                        Intra-ASRouting algorithm

                                        Inter-ASRouting algorithm

                                        Forwardingtable

                                        3c

                                        Hierarchical Routing

                                        Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                        for internal dests Inter-AS amp Intra-As

                                        sets entries for external dests

                                        1-28

                                        BGP reachability and policy routing

                                        Figure 45-BGPnew a simple BGP scenario

                                        A

                                        B

                                        C

                                        W X

                                        Y

                                        legend

                                        customer network

                                        provider network

                                        ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                        networks X does not want to route traffic from B via X to

                                        C so X will not advertise to B a route to C

                                        1-29

                                        Unicast multicast broadcast Unicast one source one destination

                                        Eg web session

                                        Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                        Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                        domain in OSPF protocol

                                        Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                        1-30

                                        Link Layer Some terminology hosts and routers are nodes communication channels

                                        that connect adjacent nodes along communication path are links wired links wireless links LANs

                                        layer-2 packet is a frame encapsulates datagram

                                        ldquolinkrdquo

                                        data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                        1-31

                                        Adaptors Communicating

                                        link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                        80211 card

                                        sending side encapsulates datagram in

                                        a frame adds error checking bits

                                        rdt flow control etc

                                        receiving side looks for errors rdt flow

                                        control etc extracts datagram

                                        passes to rcving node

                                        adapter is semi-autonomous

                                        link amp physical layers

                                        sendingnode

                                        frame

                                        rcvingnode

                                        datagram

                                        frame

                                        adapter adapter

                                        link layer protocol

                                        1-32

                                        CRC basic idea Sender and receiver agree on a divisor

                                        polynomial G(x) of degree r Sender transmits T(x) which consists

                                        of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                        0 Receiver gets Trsquo(x) which may have

                                        corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                        d bits r bits

                                        1-33

                                        MAC Protocols a taxonomy

                                        Three broad classes Channel Partitioning

                                        divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                        allocate piece to node for exclusive use

                                        Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                        ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                        take longer turns

                                        1-34

                                        MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                        Do we have to have MAC addresses Yes we must have both

                                        To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                        Enable flexibility mobility of cards

                                        Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                        1-35

                                        Ethernet CSMACD algorithm

                                        1 Adaptor receives datagram from net layer amp creates frame

                                        2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                        3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                        4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                        5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                        1-36

                                        Institutional network

                                        hub

                                        hubhub

                                        switch

                                        to externalnetwork

                                        router

                                        IP subnet

                                        mail server

                                        web server

                                        1-37

                                        Point to Point Data Link Control one sender one receiver one link easier than

                                        broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                        popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                        1-38

                                        The Internet virtualizing networks

                                        ARPAnet satellite net

                                        gateway

                                        Internetwork layer (IP) addressing internetwork

                                        appears as a single uniform entity despite underlying local network heterogeneity

                                        network of networks

                                        Gateway ldquoembed internetwork packets

                                        in local packet format or extract themrdquo

                                        route (at internetwork level) to next gateway

                                        1-39

                                        What is next If you have passion for networking

                                        More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                        Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                        Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                        1-40

                                        That is all

                                        Good luck on your final

                                        • School of Computing Science Simon Fraser University
                                        • Course Objectives
                                        • Slide 3
                                        • Internet structure packet journey
                                        • Layering of airline functionality
                                        • Internet protocol stack
                                        • Encapsulation
                                        • What is a network app
                                        • How to create a network app
                                        • Socket Programming
                                        • Sample app-level protocols
                                        • Transport layer
                                        • Reliable data transfer principles
                                        • Reliable data transfer Go-Back-N
                                        • Reliable data transfer Selective repeat
                                        • TCP Overview RFCs 793 1122 1323 2018 2581
                                        • TCP Congestion Control Summary
                                        • Network layer
                                        • Network Taxonomy
                                        • Slide 20
                                        • Router Architecture Overview
                                        • Addressing Subnets
                                        • Hierarchical addressing route aggregation
                                        • Routing algorithms Graph abstraction
                                        • Classification of Routing Algorithms
                                        • Hierarchical Routing
                                        • Slide 27
                                        • BGP reachability and policy routing
                                        • Unicast multicast broadcast
                                        • Link Layer
                                        • Adaptors Communicating
                                        • CRC basic idea
                                        • MAC Protocols a taxonomy
                                        • MAC and IP addresses
                                        • Ethernet CSMACD algorithm
                                        • Institutional network
                                        • Point to Point Data Link Control
                                        • The Internet virtualizing networks
                                        • What is next
                                        • Slide 40

                                          1-21

                                          Router Architecture OverviewTwo key router functions

                                          run routing algorithmsprotocol (RIP OSPF BGP) forward datagrams from incoming to outgoing link

                                          1-22

                                          Addressing Subnets22311024

                                          22312024

                                          22313024

                                          Subnet is a group of devices that

                                          can reach each other without intervening router

                                          identified by high order bits of IP addresses

                                          11011111 00000001 00000001 00000001

                                          22311024

                                          Subnet ID Host ID

                                          24 bits in subnet portion of address subnet mask

                                          1-23

                                          Hierarchical addressing route aggregation

                                          ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                          2002316023

                                          2002318023

                                          2002330023

                                          Fly-By-Night-ISP

                                          Organization 0

                                          Organization 7Internet

                                          Organization 1

                                          ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                          2002320023Organization 2

                                          Hierarchical addressing allows efficient advertisement of routing information

                                          1-24

                                          Routing algorithms Graph abstraction

                                          u

                                          yx

                                          wv

                                          z2

                                          2

                                          13

                                          1

                                          1

                                          2

                                          53

                                          5bull

                                          Routing algorithm algorithm that finds least-cost path

                                          cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                          Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                          1xp)

                                          1-25

                                          Classification of Routing AlgorithmsGlobal or local information

                                          Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                          local router knows physically-connected neighbors

                                          link costs to neighbors iterative process of computation exchange of

                                          info with neighbors ldquodistance vectorrdquo algorithms

                                          1-26

                                          Hierarchical Routing

                                          aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                          routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                          protocol

                                          Gateway router Direct link to router in another AS

                                          1-27

                                          3b

                                          1d

                                          3a

                                          1c2aAS3

                                          AS1

                                          AS21a

                                          2c2b

                                          1b

                                          Intra-ASRouting algorithm

                                          Inter-ASRouting algorithm

                                          Forwardingtable

                                          3c

                                          Hierarchical Routing

                                          Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                          for internal dests Inter-AS amp Intra-As

                                          sets entries for external dests

                                          1-28

                                          BGP reachability and policy routing

                                          Figure 45-BGPnew a simple BGP scenario

                                          A

                                          B

                                          C

                                          W X

                                          Y

                                          legend

                                          customer network

                                          provider network

                                          ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                          networks X does not want to route traffic from B via X to

                                          C so X will not advertise to B a route to C

                                          1-29

                                          Unicast multicast broadcast Unicast one source one destination

                                          Eg web session

                                          Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                          Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                          domain in OSPF protocol

                                          Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                          1-30

                                          Link Layer Some terminology hosts and routers are nodes communication channels

                                          that connect adjacent nodes along communication path are links wired links wireless links LANs

                                          layer-2 packet is a frame encapsulates datagram

                                          ldquolinkrdquo

                                          data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                          1-31

                                          Adaptors Communicating

                                          link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                          80211 card

                                          sending side encapsulates datagram in

                                          a frame adds error checking bits

                                          rdt flow control etc

                                          receiving side looks for errors rdt flow

                                          control etc extracts datagram

                                          passes to rcving node

                                          adapter is semi-autonomous

                                          link amp physical layers

                                          sendingnode

                                          frame

                                          rcvingnode

                                          datagram

                                          frame

                                          adapter adapter

                                          link layer protocol

                                          1-32

                                          CRC basic idea Sender and receiver agree on a divisor

                                          polynomial G(x) of degree r Sender transmits T(x) which consists

                                          of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                          0 Receiver gets Trsquo(x) which may have

                                          corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                          d bits r bits

                                          1-33

                                          MAC Protocols a taxonomy

                                          Three broad classes Channel Partitioning

                                          divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                          allocate piece to node for exclusive use

                                          Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                          ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                          take longer turns

                                          1-34

                                          MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                          Do we have to have MAC addresses Yes we must have both

                                          To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                          Enable flexibility mobility of cards

                                          Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                          1-35

                                          Ethernet CSMACD algorithm

                                          1 Adaptor receives datagram from net layer amp creates frame

                                          2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                          3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                          4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                          5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                          1-36

                                          Institutional network

                                          hub

                                          hubhub

                                          switch

                                          to externalnetwork

                                          router

                                          IP subnet

                                          mail server

                                          web server

                                          1-37

                                          Point to Point Data Link Control one sender one receiver one link easier than

                                          broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                          popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                          1-38

                                          The Internet virtualizing networks

                                          ARPAnet satellite net

                                          gateway

                                          Internetwork layer (IP) addressing internetwork

                                          appears as a single uniform entity despite underlying local network heterogeneity

                                          network of networks

                                          Gateway ldquoembed internetwork packets

                                          in local packet format or extract themrdquo

                                          route (at internetwork level) to next gateway

                                          1-39

                                          What is next If you have passion for networking

                                          More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                          Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                          Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                          1-40

                                          That is all

                                          Good luck on your final

                                          • School of Computing Science Simon Fraser University
                                          • Course Objectives
                                          • Slide 3
                                          • Internet structure packet journey
                                          • Layering of airline functionality
                                          • Internet protocol stack
                                          • Encapsulation
                                          • What is a network app
                                          • How to create a network app
                                          • Socket Programming
                                          • Sample app-level protocols
                                          • Transport layer
                                          • Reliable data transfer principles
                                          • Reliable data transfer Go-Back-N
                                          • Reliable data transfer Selective repeat
                                          • TCP Overview RFCs 793 1122 1323 2018 2581
                                          • TCP Congestion Control Summary
                                          • Network layer
                                          • Network Taxonomy
                                          • Slide 20
                                          • Router Architecture Overview
                                          • Addressing Subnets
                                          • Hierarchical addressing route aggregation
                                          • Routing algorithms Graph abstraction
                                          • Classification of Routing Algorithms
                                          • Hierarchical Routing
                                          • Slide 27
                                          • BGP reachability and policy routing
                                          • Unicast multicast broadcast
                                          • Link Layer
                                          • Adaptors Communicating
                                          • CRC basic idea
                                          • MAC Protocols a taxonomy
                                          • MAC and IP addresses
                                          • Ethernet CSMACD algorithm
                                          • Institutional network
                                          • Point to Point Data Link Control
                                          • The Internet virtualizing networks
                                          • What is next
                                          • Slide 40

                                            1-22

                                            Addressing Subnets22311024

                                            22312024

                                            22313024

                                            Subnet is a group of devices that

                                            can reach each other without intervening router

                                            identified by high order bits of IP addresses

                                            11011111 00000001 00000001 00000001

                                            22311024

                                            Subnet ID Host ID

                                            24 bits in subnet portion of address subnet mask

                                            1-23

                                            Hierarchical addressing route aggregation

                                            ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                            2002316023

                                            2002318023

                                            2002330023

                                            Fly-By-Night-ISP

                                            Organization 0

                                            Organization 7Internet

                                            Organization 1

                                            ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                            2002320023Organization 2

                                            Hierarchical addressing allows efficient advertisement of routing information

                                            1-24

                                            Routing algorithms Graph abstraction

                                            u

                                            yx

                                            wv

                                            z2

                                            2

                                            13

                                            1

                                            1

                                            2

                                            53

                                            5bull

                                            Routing algorithm algorithm that finds least-cost path

                                            cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                            Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                            1xp)

                                            1-25

                                            Classification of Routing AlgorithmsGlobal or local information

                                            Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                            local router knows physically-connected neighbors

                                            link costs to neighbors iterative process of computation exchange of

                                            info with neighbors ldquodistance vectorrdquo algorithms

                                            1-26

                                            Hierarchical Routing

                                            aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                            routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                            protocol

                                            Gateway router Direct link to router in another AS

                                            1-27

                                            3b

                                            1d

                                            3a

                                            1c2aAS3

                                            AS1

                                            AS21a

                                            2c2b

                                            1b

                                            Intra-ASRouting algorithm

                                            Inter-ASRouting algorithm

                                            Forwardingtable

                                            3c

                                            Hierarchical Routing

                                            Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                            for internal dests Inter-AS amp Intra-As

                                            sets entries for external dests

                                            1-28

                                            BGP reachability and policy routing

                                            Figure 45-BGPnew a simple BGP scenario

                                            A

                                            B

                                            C

                                            W X

                                            Y

                                            legend

                                            customer network

                                            provider network

                                            ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                            networks X does not want to route traffic from B via X to

                                            C so X will not advertise to B a route to C

                                            1-29

                                            Unicast multicast broadcast Unicast one source one destination

                                            Eg web session

                                            Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                            Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                            domain in OSPF protocol

                                            Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                            1-30

                                            Link Layer Some terminology hosts and routers are nodes communication channels

                                            that connect adjacent nodes along communication path are links wired links wireless links LANs

                                            layer-2 packet is a frame encapsulates datagram

                                            ldquolinkrdquo

                                            data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                            1-31

                                            Adaptors Communicating

                                            link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                            80211 card

                                            sending side encapsulates datagram in

                                            a frame adds error checking bits

                                            rdt flow control etc

                                            receiving side looks for errors rdt flow

                                            control etc extracts datagram

                                            passes to rcving node

                                            adapter is semi-autonomous

                                            link amp physical layers

                                            sendingnode

                                            frame

                                            rcvingnode

                                            datagram

                                            frame

                                            adapter adapter

                                            link layer protocol

                                            1-32

                                            CRC basic idea Sender and receiver agree on a divisor

                                            polynomial G(x) of degree r Sender transmits T(x) which consists

                                            of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                            0 Receiver gets Trsquo(x) which may have

                                            corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                            d bits r bits

                                            1-33

                                            MAC Protocols a taxonomy

                                            Three broad classes Channel Partitioning

                                            divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                            allocate piece to node for exclusive use

                                            Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                            ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                            take longer turns

                                            1-34

                                            MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                            Do we have to have MAC addresses Yes we must have both

                                            To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                            Enable flexibility mobility of cards

                                            Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                            1-35

                                            Ethernet CSMACD algorithm

                                            1 Adaptor receives datagram from net layer amp creates frame

                                            2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                            3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                            4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                            5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                            1-36

                                            Institutional network

                                            hub

                                            hubhub

                                            switch

                                            to externalnetwork

                                            router

                                            IP subnet

                                            mail server

                                            web server

                                            1-37

                                            Point to Point Data Link Control one sender one receiver one link easier than

                                            broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                            popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                            1-38

                                            The Internet virtualizing networks

                                            ARPAnet satellite net

                                            gateway

                                            Internetwork layer (IP) addressing internetwork

                                            appears as a single uniform entity despite underlying local network heterogeneity

                                            network of networks

                                            Gateway ldquoembed internetwork packets

                                            in local packet format or extract themrdquo

                                            route (at internetwork level) to next gateway

                                            1-39

                                            What is next If you have passion for networking

                                            More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                            Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                            Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                            1-40

                                            That is all

                                            Good luck on your final

                                            • School of Computing Science Simon Fraser University
                                            • Course Objectives
                                            • Slide 3
                                            • Internet structure packet journey
                                            • Layering of airline functionality
                                            • Internet protocol stack
                                            • Encapsulation
                                            • What is a network app
                                            • How to create a network app
                                            • Socket Programming
                                            • Sample app-level protocols
                                            • Transport layer
                                            • Reliable data transfer principles
                                            • Reliable data transfer Go-Back-N
                                            • Reliable data transfer Selective repeat
                                            • TCP Overview RFCs 793 1122 1323 2018 2581
                                            • TCP Congestion Control Summary
                                            • Network layer
                                            • Network Taxonomy
                                            • Slide 20
                                            • Router Architecture Overview
                                            • Addressing Subnets
                                            • Hierarchical addressing route aggregation
                                            • Routing algorithms Graph abstraction
                                            • Classification of Routing Algorithms
                                            • Hierarchical Routing
                                            • Slide 27
                                            • BGP reachability and policy routing
                                            • Unicast multicast broadcast
                                            • Link Layer
                                            • Adaptors Communicating
                                            • CRC basic idea
                                            • MAC Protocols a taxonomy
                                            • MAC and IP addresses
                                            • Ethernet CSMACD algorithm
                                            • Institutional network
                                            • Point to Point Data Link Control
                                            • The Internet virtualizing networks
                                            • What is next
                                            • Slide 40

                                              1-23

                                              Hierarchical addressing route aggregation

                                              ldquoSend me anythingwith addresses beginning 2002316020rdquo

                                              2002316023

                                              2002318023

                                              2002330023

                                              Fly-By-Night-ISP

                                              Organization 0

                                              Organization 7Internet

                                              Organization 1

                                              ISPs-R-UsldquoSend me anythingwith addresses beginning 199310016rdquo

                                              2002320023Organization 2

                                              Hierarchical addressing allows efficient advertisement of routing information

                                              1-24

                                              Routing algorithms Graph abstraction

                                              u

                                              yx

                                              wv

                                              z2

                                              2

                                              13

                                              1

                                              1

                                              2

                                              53

                                              5bull

                                              Routing algorithm algorithm that finds least-cost path

                                              cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                              Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                              1xp)

                                              1-25

                                              Classification of Routing AlgorithmsGlobal or local information

                                              Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                              local router knows physically-connected neighbors

                                              link costs to neighbors iterative process of computation exchange of

                                              info with neighbors ldquodistance vectorrdquo algorithms

                                              1-26

                                              Hierarchical Routing

                                              aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                              routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                              protocol

                                              Gateway router Direct link to router in another AS

                                              1-27

                                              3b

                                              1d

                                              3a

                                              1c2aAS3

                                              AS1

                                              AS21a

                                              2c2b

                                              1b

                                              Intra-ASRouting algorithm

                                              Inter-ASRouting algorithm

                                              Forwardingtable

                                              3c

                                              Hierarchical Routing

                                              Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                              for internal dests Inter-AS amp Intra-As

                                              sets entries for external dests

                                              1-28

                                              BGP reachability and policy routing

                                              Figure 45-BGPnew a simple BGP scenario

                                              A

                                              B

                                              C

                                              W X

                                              Y

                                              legend

                                              customer network

                                              provider network

                                              ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                              networks X does not want to route traffic from B via X to

                                              C so X will not advertise to B a route to C

                                              1-29

                                              Unicast multicast broadcast Unicast one source one destination

                                              Eg web session

                                              Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                              Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                              domain in OSPF protocol

                                              Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                              1-30

                                              Link Layer Some terminology hosts and routers are nodes communication channels

                                              that connect adjacent nodes along communication path are links wired links wireless links LANs

                                              layer-2 packet is a frame encapsulates datagram

                                              ldquolinkrdquo

                                              data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                              1-31

                                              Adaptors Communicating

                                              link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                              80211 card

                                              sending side encapsulates datagram in

                                              a frame adds error checking bits

                                              rdt flow control etc

                                              receiving side looks for errors rdt flow

                                              control etc extracts datagram

                                              passes to rcving node

                                              adapter is semi-autonomous

                                              link amp physical layers

                                              sendingnode

                                              frame

                                              rcvingnode

                                              datagram

                                              frame

                                              adapter adapter

                                              link layer protocol

                                              1-32

                                              CRC basic idea Sender and receiver agree on a divisor

                                              polynomial G(x) of degree r Sender transmits T(x) which consists

                                              of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                              0 Receiver gets Trsquo(x) which may have

                                              corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                              d bits r bits

                                              1-33

                                              MAC Protocols a taxonomy

                                              Three broad classes Channel Partitioning

                                              divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                              allocate piece to node for exclusive use

                                              Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                              ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                              take longer turns

                                              1-34

                                              MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                              Do we have to have MAC addresses Yes we must have both

                                              To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                              Enable flexibility mobility of cards

                                              Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                              1-35

                                              Ethernet CSMACD algorithm

                                              1 Adaptor receives datagram from net layer amp creates frame

                                              2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                              3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                              4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                              5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                              1-36

                                              Institutional network

                                              hub

                                              hubhub

                                              switch

                                              to externalnetwork

                                              router

                                              IP subnet

                                              mail server

                                              web server

                                              1-37

                                              Point to Point Data Link Control one sender one receiver one link easier than

                                              broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                              popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                              1-38

                                              The Internet virtualizing networks

                                              ARPAnet satellite net

                                              gateway

                                              Internetwork layer (IP) addressing internetwork

                                              appears as a single uniform entity despite underlying local network heterogeneity

                                              network of networks

                                              Gateway ldquoembed internetwork packets

                                              in local packet format or extract themrdquo

                                              route (at internetwork level) to next gateway

                                              1-39

                                              What is next If you have passion for networking

                                              More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                              Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                              Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                              1-40

                                              That is all

                                              Good luck on your final

                                              • School of Computing Science Simon Fraser University
                                              • Course Objectives
                                              • Slide 3
                                              • Internet structure packet journey
                                              • Layering of airline functionality
                                              • Internet protocol stack
                                              • Encapsulation
                                              • What is a network app
                                              • How to create a network app
                                              • Socket Programming
                                              • Sample app-level protocols
                                              • Transport layer
                                              • Reliable data transfer principles
                                              • Reliable data transfer Go-Back-N
                                              • Reliable data transfer Selective repeat
                                              • TCP Overview RFCs 793 1122 1323 2018 2581
                                              • TCP Congestion Control Summary
                                              • Network layer
                                              • Network Taxonomy
                                              • Slide 20
                                              • Router Architecture Overview
                                              • Addressing Subnets
                                              • Hierarchical addressing route aggregation
                                              • Routing algorithms Graph abstraction
                                              • Classification of Routing Algorithms
                                              • Hierarchical Routing
                                              • Slide 27
                                              • BGP reachability and policy routing
                                              • Unicast multicast broadcast
                                              • Link Layer
                                              • Adaptors Communicating
                                              • CRC basic idea
                                              • MAC Protocols a taxonomy
                                              • MAC and IP addresses
                                              • Ethernet CSMACD algorithm
                                              • Institutional network
                                              • Point to Point Data Link Control
                                              • The Internet virtualizing networks
                                              • What is next
                                              • Slide 40

                                                1-24

                                                Routing algorithms Graph abstraction

                                                u

                                                yx

                                                wv

                                                z2

                                                2

                                                13

                                                1

                                                1

                                                2

                                                53

                                                5bull

                                                Routing algorithm algorithm that finds least-cost path

                                                cost of link (x1 x2) Metric value eg c(wz) = 5 could be 1 or inversely related to bandwidth or related to congestion

                                                Cost of path (x1 x2 x3hellip xp) = c(x1x2) + c(x2x3) + hellip + c(xp-

                                                1xp)

                                                1-25

                                                Classification of Routing AlgorithmsGlobal or local information

                                                Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                                local router knows physically-connected neighbors

                                                link costs to neighbors iterative process of computation exchange of

                                                info with neighbors ldquodistance vectorrdquo algorithms

                                                1-26

                                                Hierarchical Routing

                                                aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                                routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                                protocol

                                                Gateway router Direct link to router in another AS

                                                1-27

                                                3b

                                                1d

                                                3a

                                                1c2aAS3

                                                AS1

                                                AS21a

                                                2c2b

                                                1b

                                                Intra-ASRouting algorithm

                                                Inter-ASRouting algorithm

                                                Forwardingtable

                                                3c

                                                Hierarchical Routing

                                                Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                                for internal dests Inter-AS amp Intra-As

                                                sets entries for external dests

                                                1-28

                                                BGP reachability and policy routing

                                                Figure 45-BGPnew a simple BGP scenario

                                                A

                                                B

                                                C

                                                W X

                                                Y

                                                legend

                                                customer network

                                                provider network

                                                ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                                networks X does not want to route traffic from B via X to

                                                C so X will not advertise to B a route to C

                                                1-29

                                                Unicast multicast broadcast Unicast one source one destination

                                                Eg web session

                                                Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                domain in OSPF protocol

                                                Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                1-30

                                                Link Layer Some terminology hosts and routers are nodes communication channels

                                                that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                layer-2 packet is a frame encapsulates datagram

                                                ldquolinkrdquo

                                                data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                1-31

                                                Adaptors Communicating

                                                link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                80211 card

                                                sending side encapsulates datagram in

                                                a frame adds error checking bits

                                                rdt flow control etc

                                                receiving side looks for errors rdt flow

                                                control etc extracts datagram

                                                passes to rcving node

                                                adapter is semi-autonomous

                                                link amp physical layers

                                                sendingnode

                                                frame

                                                rcvingnode

                                                datagram

                                                frame

                                                adapter adapter

                                                link layer protocol

                                                1-32

                                                CRC basic idea Sender and receiver agree on a divisor

                                                polynomial G(x) of degree r Sender transmits T(x) which consists

                                                of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                0 Receiver gets Trsquo(x) which may have

                                                corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                d bits r bits

                                                1-33

                                                MAC Protocols a taxonomy

                                                Three broad classes Channel Partitioning

                                                divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                allocate piece to node for exclusive use

                                                Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                take longer turns

                                                1-34

                                                MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                Do we have to have MAC addresses Yes we must have both

                                                To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                Enable flexibility mobility of cards

                                                Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                1-35

                                                Ethernet CSMACD algorithm

                                                1 Adaptor receives datagram from net layer amp creates frame

                                                2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                1-36

                                                Institutional network

                                                hub

                                                hubhub

                                                switch

                                                to externalnetwork

                                                router

                                                IP subnet

                                                mail server

                                                web server

                                                1-37

                                                Point to Point Data Link Control one sender one receiver one link easier than

                                                broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                1-38

                                                The Internet virtualizing networks

                                                ARPAnet satellite net

                                                gateway

                                                Internetwork layer (IP) addressing internetwork

                                                appears as a single uniform entity despite underlying local network heterogeneity

                                                network of networks

                                                Gateway ldquoembed internetwork packets

                                                in local packet format or extract themrdquo

                                                route (at internetwork level) to next gateway

                                                1-39

                                                What is next If you have passion for networking

                                                More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                1-40

                                                That is all

                                                Good luck on your final

                                                • School of Computing Science Simon Fraser University
                                                • Course Objectives
                                                • Slide 3
                                                • Internet structure packet journey
                                                • Layering of airline functionality
                                                • Internet protocol stack
                                                • Encapsulation
                                                • What is a network app
                                                • How to create a network app
                                                • Socket Programming
                                                • Sample app-level protocols
                                                • Transport layer
                                                • Reliable data transfer principles
                                                • Reliable data transfer Go-Back-N
                                                • Reliable data transfer Selective repeat
                                                • TCP Overview RFCs 793 1122 1323 2018 2581
                                                • TCP Congestion Control Summary
                                                • Network layer
                                                • Network Taxonomy
                                                • Slide 20
                                                • Router Architecture Overview
                                                • Addressing Subnets
                                                • Hierarchical addressing route aggregation
                                                • Routing algorithms Graph abstraction
                                                • Classification of Routing Algorithms
                                                • Hierarchical Routing
                                                • Slide 27
                                                • BGP reachability and policy routing
                                                • Unicast multicast broadcast
                                                • Link Layer
                                                • Adaptors Communicating
                                                • CRC basic idea
                                                • MAC Protocols a taxonomy
                                                • MAC and IP addresses
                                                • Ethernet CSMACD algorithm
                                                • Institutional network
                                                • Point to Point Data Link Control
                                                • The Internet virtualizing networks
                                                • What is next
                                                • Slide 40

                                                  1-25

                                                  Classification of Routing AlgorithmsGlobal or local information

                                                  Global all routers have complete topology link cost info ldquolink staterdquo algorithms

                                                  local router knows physically-connected neighbors

                                                  link costs to neighbors iterative process of computation exchange of

                                                  info with neighbors ldquodistance vectorrdquo algorithms

                                                  1-26

                                                  Hierarchical Routing

                                                  aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                                  routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                                  protocol

                                                  Gateway router Direct link to router in another AS

                                                  1-27

                                                  3b

                                                  1d

                                                  3a

                                                  1c2aAS3

                                                  AS1

                                                  AS21a

                                                  2c2b

                                                  1b

                                                  Intra-ASRouting algorithm

                                                  Inter-ASRouting algorithm

                                                  Forwardingtable

                                                  3c

                                                  Hierarchical Routing

                                                  Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                                  for internal dests Inter-AS amp Intra-As

                                                  sets entries for external dests

                                                  1-28

                                                  BGP reachability and policy routing

                                                  Figure 45-BGPnew a simple BGP scenario

                                                  A

                                                  B

                                                  C

                                                  W X

                                                  Y

                                                  legend

                                                  customer network

                                                  provider network

                                                  ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                                  networks X does not want to route traffic from B via X to

                                                  C so X will not advertise to B a route to C

                                                  1-29

                                                  Unicast multicast broadcast Unicast one source one destination

                                                  Eg web session

                                                  Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                  Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                  domain in OSPF protocol

                                                  Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                  1-30

                                                  Link Layer Some terminology hosts and routers are nodes communication channels

                                                  that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                  layer-2 packet is a frame encapsulates datagram

                                                  ldquolinkrdquo

                                                  data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                  1-31

                                                  Adaptors Communicating

                                                  link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                  80211 card

                                                  sending side encapsulates datagram in

                                                  a frame adds error checking bits

                                                  rdt flow control etc

                                                  receiving side looks for errors rdt flow

                                                  control etc extracts datagram

                                                  passes to rcving node

                                                  adapter is semi-autonomous

                                                  link amp physical layers

                                                  sendingnode

                                                  frame

                                                  rcvingnode

                                                  datagram

                                                  frame

                                                  adapter adapter

                                                  link layer protocol

                                                  1-32

                                                  CRC basic idea Sender and receiver agree on a divisor

                                                  polynomial G(x) of degree r Sender transmits T(x) which consists

                                                  of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                  0 Receiver gets Trsquo(x) which may have

                                                  corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                  d bits r bits

                                                  1-33

                                                  MAC Protocols a taxonomy

                                                  Three broad classes Channel Partitioning

                                                  divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                  allocate piece to node for exclusive use

                                                  Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                  ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                  take longer turns

                                                  1-34

                                                  MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                  Do we have to have MAC addresses Yes we must have both

                                                  To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                  Enable flexibility mobility of cards

                                                  Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                  1-35

                                                  Ethernet CSMACD algorithm

                                                  1 Adaptor receives datagram from net layer amp creates frame

                                                  2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                  3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                  4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                  5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                  1-36

                                                  Institutional network

                                                  hub

                                                  hubhub

                                                  switch

                                                  to externalnetwork

                                                  router

                                                  IP subnet

                                                  mail server

                                                  web server

                                                  1-37

                                                  Point to Point Data Link Control one sender one receiver one link easier than

                                                  broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                  popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                  1-38

                                                  The Internet virtualizing networks

                                                  ARPAnet satellite net

                                                  gateway

                                                  Internetwork layer (IP) addressing internetwork

                                                  appears as a single uniform entity despite underlying local network heterogeneity

                                                  network of networks

                                                  Gateway ldquoembed internetwork packets

                                                  in local packet format or extract themrdquo

                                                  route (at internetwork level) to next gateway

                                                  1-39

                                                  What is next If you have passion for networking

                                                  More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                  Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                  Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                  1-40

                                                  That is all

                                                  Good luck on your final

                                                  • School of Computing Science Simon Fraser University
                                                  • Course Objectives
                                                  • Slide 3
                                                  • Internet structure packet journey
                                                  • Layering of airline functionality
                                                  • Internet protocol stack
                                                  • Encapsulation
                                                  • What is a network app
                                                  • How to create a network app
                                                  • Socket Programming
                                                  • Sample app-level protocols
                                                  • Transport layer
                                                  • Reliable data transfer principles
                                                  • Reliable data transfer Go-Back-N
                                                  • Reliable data transfer Selective repeat
                                                  • TCP Overview RFCs 793 1122 1323 2018 2581
                                                  • TCP Congestion Control Summary
                                                  • Network layer
                                                  • Network Taxonomy
                                                  • Slide 20
                                                  • Router Architecture Overview
                                                  • Addressing Subnets
                                                  • Hierarchical addressing route aggregation
                                                  • Routing algorithms Graph abstraction
                                                  • Classification of Routing Algorithms
                                                  • Hierarchical Routing
                                                  • Slide 27
                                                  • BGP reachability and policy routing
                                                  • Unicast multicast broadcast
                                                  • Link Layer
                                                  • Adaptors Communicating
                                                  • CRC basic idea
                                                  • MAC Protocols a taxonomy
                                                  • MAC and IP addresses
                                                  • Ethernet CSMACD algorithm
                                                  • Institutional network
                                                  • Point to Point Data Link Control
                                                  • The Internet virtualizing networks
                                                  • What is next
                                                  • Slide 40

                                                    1-26

                                                    Hierarchical Routing

                                                    aggregate routers into regions ldquoautonomous systemsrdquo (AS)

                                                    routers in same AS run same routing protocol ldquointra-ASrdquo routing protocol routers in different AS can run different intra-AS routing

                                                    protocol

                                                    Gateway router Direct link to router in another AS

                                                    1-27

                                                    3b

                                                    1d

                                                    3a

                                                    1c2aAS3

                                                    AS1

                                                    AS21a

                                                    2c2b

                                                    1b

                                                    Intra-ASRouting algorithm

                                                    Inter-ASRouting algorithm

                                                    Forwardingtable

                                                    3c

                                                    Hierarchical Routing

                                                    Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                                    for internal dests Inter-AS amp Intra-As

                                                    sets entries for external dests

                                                    1-28

                                                    BGP reachability and policy routing

                                                    Figure 45-BGPnew a simple BGP scenario

                                                    A

                                                    B

                                                    C

                                                    W X

                                                    Y

                                                    legend

                                                    customer network

                                                    provider network

                                                    ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                                    networks X does not want to route traffic from B via X to

                                                    C so X will not advertise to B a route to C

                                                    1-29

                                                    Unicast multicast broadcast Unicast one source one destination

                                                    Eg web session

                                                    Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                    Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                    domain in OSPF protocol

                                                    Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                    1-30

                                                    Link Layer Some terminology hosts and routers are nodes communication channels

                                                    that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                    layer-2 packet is a frame encapsulates datagram

                                                    ldquolinkrdquo

                                                    data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                    1-31

                                                    Adaptors Communicating

                                                    link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                    80211 card

                                                    sending side encapsulates datagram in

                                                    a frame adds error checking bits

                                                    rdt flow control etc

                                                    receiving side looks for errors rdt flow

                                                    control etc extracts datagram

                                                    passes to rcving node

                                                    adapter is semi-autonomous

                                                    link amp physical layers

                                                    sendingnode

                                                    frame

                                                    rcvingnode

                                                    datagram

                                                    frame

                                                    adapter adapter

                                                    link layer protocol

                                                    1-32

                                                    CRC basic idea Sender and receiver agree on a divisor

                                                    polynomial G(x) of degree r Sender transmits T(x) which consists

                                                    of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                    0 Receiver gets Trsquo(x) which may have

                                                    corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                    d bits r bits

                                                    1-33

                                                    MAC Protocols a taxonomy

                                                    Three broad classes Channel Partitioning

                                                    divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                    allocate piece to node for exclusive use

                                                    Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                    ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                    take longer turns

                                                    1-34

                                                    MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                    Do we have to have MAC addresses Yes we must have both

                                                    To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                    Enable flexibility mobility of cards

                                                    Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                    1-35

                                                    Ethernet CSMACD algorithm

                                                    1 Adaptor receives datagram from net layer amp creates frame

                                                    2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                    3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                    4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                    5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                    1-36

                                                    Institutional network

                                                    hub

                                                    hubhub

                                                    switch

                                                    to externalnetwork

                                                    router

                                                    IP subnet

                                                    mail server

                                                    web server

                                                    1-37

                                                    Point to Point Data Link Control one sender one receiver one link easier than

                                                    broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                    popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                    1-38

                                                    The Internet virtualizing networks

                                                    ARPAnet satellite net

                                                    gateway

                                                    Internetwork layer (IP) addressing internetwork

                                                    appears as a single uniform entity despite underlying local network heterogeneity

                                                    network of networks

                                                    Gateway ldquoembed internetwork packets

                                                    in local packet format or extract themrdquo

                                                    route (at internetwork level) to next gateway

                                                    1-39

                                                    What is next If you have passion for networking

                                                    More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                    Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                    Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                    1-40

                                                    That is all

                                                    Good luck on your final

                                                    • School of Computing Science Simon Fraser University
                                                    • Course Objectives
                                                    • Slide 3
                                                    • Internet structure packet journey
                                                    • Layering of airline functionality
                                                    • Internet protocol stack
                                                    • Encapsulation
                                                    • What is a network app
                                                    • How to create a network app
                                                    • Socket Programming
                                                    • Sample app-level protocols
                                                    • Transport layer
                                                    • Reliable data transfer principles
                                                    • Reliable data transfer Go-Back-N
                                                    • Reliable data transfer Selective repeat
                                                    • TCP Overview RFCs 793 1122 1323 2018 2581
                                                    • TCP Congestion Control Summary
                                                    • Network layer
                                                    • Network Taxonomy
                                                    • Slide 20
                                                    • Router Architecture Overview
                                                    • Addressing Subnets
                                                    • Hierarchical addressing route aggregation
                                                    • Routing algorithms Graph abstraction
                                                    • Classification of Routing Algorithms
                                                    • Hierarchical Routing
                                                    • Slide 27
                                                    • BGP reachability and policy routing
                                                    • Unicast multicast broadcast
                                                    • Link Layer
                                                    • Adaptors Communicating
                                                    • CRC basic idea
                                                    • MAC Protocols a taxonomy
                                                    • MAC and IP addresses
                                                    • Ethernet CSMACD algorithm
                                                    • Institutional network
                                                    • Point to Point Data Link Control
                                                    • The Internet virtualizing networks
                                                    • What is next
                                                    • Slide 40

                                                      1-27

                                                      3b

                                                      1d

                                                      3a

                                                      1c2aAS3

                                                      AS1

                                                      AS21a

                                                      2c2b

                                                      1b

                                                      Intra-ASRouting algorithm

                                                      Inter-ASRouting algorithm

                                                      Forwardingtable

                                                      3c

                                                      Hierarchical Routing

                                                      Forwarding table is configured by both intra- and inter-AS routing algorithm Intra-AS sets entries

                                                      for internal dests Inter-AS amp Intra-As

                                                      sets entries for external dests

                                                      1-28

                                                      BGP reachability and policy routing

                                                      Figure 45-BGPnew a simple BGP scenario

                                                      A

                                                      B

                                                      C

                                                      W X

                                                      Y

                                                      legend

                                                      customer network

                                                      provider network

                                                      ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                                      networks X does not want to route traffic from B via X to

                                                      C so X will not advertise to B a route to C

                                                      1-29

                                                      Unicast multicast broadcast Unicast one source one destination

                                                      Eg web session

                                                      Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                      Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                      domain in OSPF protocol

                                                      Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                      1-30

                                                      Link Layer Some terminology hosts and routers are nodes communication channels

                                                      that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                      layer-2 packet is a frame encapsulates datagram

                                                      ldquolinkrdquo

                                                      data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                      1-31

                                                      Adaptors Communicating

                                                      link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                      80211 card

                                                      sending side encapsulates datagram in

                                                      a frame adds error checking bits

                                                      rdt flow control etc

                                                      receiving side looks for errors rdt flow

                                                      control etc extracts datagram

                                                      passes to rcving node

                                                      adapter is semi-autonomous

                                                      link amp physical layers

                                                      sendingnode

                                                      frame

                                                      rcvingnode

                                                      datagram

                                                      frame

                                                      adapter adapter

                                                      link layer protocol

                                                      1-32

                                                      CRC basic idea Sender and receiver agree on a divisor

                                                      polynomial G(x) of degree r Sender transmits T(x) which consists

                                                      of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                      0 Receiver gets Trsquo(x) which may have

                                                      corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                      d bits r bits

                                                      1-33

                                                      MAC Protocols a taxonomy

                                                      Three broad classes Channel Partitioning

                                                      divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                      allocate piece to node for exclusive use

                                                      Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                      ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                      take longer turns

                                                      1-34

                                                      MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                      Do we have to have MAC addresses Yes we must have both

                                                      To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                      Enable flexibility mobility of cards

                                                      Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                      1-35

                                                      Ethernet CSMACD algorithm

                                                      1 Adaptor receives datagram from net layer amp creates frame

                                                      2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                      3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                      4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                      5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                      1-36

                                                      Institutional network

                                                      hub

                                                      hubhub

                                                      switch

                                                      to externalnetwork

                                                      router

                                                      IP subnet

                                                      mail server

                                                      web server

                                                      1-37

                                                      Point to Point Data Link Control one sender one receiver one link easier than

                                                      broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                      popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                      1-38

                                                      The Internet virtualizing networks

                                                      ARPAnet satellite net

                                                      gateway

                                                      Internetwork layer (IP) addressing internetwork

                                                      appears as a single uniform entity despite underlying local network heterogeneity

                                                      network of networks

                                                      Gateway ldquoembed internetwork packets

                                                      in local packet format or extract themrdquo

                                                      route (at internetwork level) to next gateway

                                                      1-39

                                                      What is next If you have passion for networking

                                                      More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                      Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                      Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                      1-40

                                                      That is all

                                                      Good luck on your final

                                                      • School of Computing Science Simon Fraser University
                                                      • Course Objectives
                                                      • Slide 3
                                                      • Internet structure packet journey
                                                      • Layering of airline functionality
                                                      • Internet protocol stack
                                                      • Encapsulation
                                                      • What is a network app
                                                      • How to create a network app
                                                      • Socket Programming
                                                      • Sample app-level protocols
                                                      • Transport layer
                                                      • Reliable data transfer principles
                                                      • Reliable data transfer Go-Back-N
                                                      • Reliable data transfer Selective repeat
                                                      • TCP Overview RFCs 793 1122 1323 2018 2581
                                                      • TCP Congestion Control Summary
                                                      • Network layer
                                                      • Network Taxonomy
                                                      • Slide 20
                                                      • Router Architecture Overview
                                                      • Addressing Subnets
                                                      • Hierarchical addressing route aggregation
                                                      • Routing algorithms Graph abstraction
                                                      • Classification of Routing Algorithms
                                                      • Hierarchical Routing
                                                      • Slide 27
                                                      • BGP reachability and policy routing
                                                      • Unicast multicast broadcast
                                                      • Link Layer
                                                      • Adaptors Communicating
                                                      • CRC basic idea
                                                      • MAC Protocols a taxonomy
                                                      • MAC and IP addresses
                                                      • Ethernet CSMACD algorithm
                                                      • Institutional network
                                                      • Point to Point Data Link Control
                                                      • The Internet virtualizing networks
                                                      • What is next
                                                      • Slide 40

                                                        1-28

                                                        BGP reachability and policy routing

                                                        Figure 45-BGPnew a simple BGP scenario

                                                        A

                                                        B

                                                        C

                                                        W X

                                                        Y

                                                        legend

                                                        customer network

                                                        provider network

                                                        ABC are provider networks XWY are customer (of provider networks) X is dual-homed attached to two provider

                                                        networks X does not want to route traffic from B via X to

                                                        C so X will not advertise to B a route to C

                                                        1-29

                                                        Unicast multicast broadcast Unicast one source one destination

                                                        Eg web session

                                                        Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                        Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                        domain in OSPF protocol

                                                        Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                        1-30

                                                        Link Layer Some terminology hosts and routers are nodes communication channels

                                                        that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                        layer-2 packet is a frame encapsulates datagram

                                                        ldquolinkrdquo

                                                        data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                        1-31

                                                        Adaptors Communicating

                                                        link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                        80211 card

                                                        sending side encapsulates datagram in

                                                        a frame adds error checking bits

                                                        rdt flow control etc

                                                        receiving side looks for errors rdt flow

                                                        control etc extracts datagram

                                                        passes to rcving node

                                                        adapter is semi-autonomous

                                                        link amp physical layers

                                                        sendingnode

                                                        frame

                                                        rcvingnode

                                                        datagram

                                                        frame

                                                        adapter adapter

                                                        link layer protocol

                                                        1-32

                                                        CRC basic idea Sender and receiver agree on a divisor

                                                        polynomial G(x) of degree r Sender transmits T(x) which consists

                                                        of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                        0 Receiver gets Trsquo(x) which may have

                                                        corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                        d bits r bits

                                                        1-33

                                                        MAC Protocols a taxonomy

                                                        Three broad classes Channel Partitioning

                                                        divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                        allocate piece to node for exclusive use

                                                        Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                        ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                        take longer turns

                                                        1-34

                                                        MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                        Do we have to have MAC addresses Yes we must have both

                                                        To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                        Enable flexibility mobility of cards

                                                        Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                        1-35

                                                        Ethernet CSMACD algorithm

                                                        1 Adaptor receives datagram from net layer amp creates frame

                                                        2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                        3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                        4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                        5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                        1-36

                                                        Institutional network

                                                        hub

                                                        hubhub

                                                        switch

                                                        to externalnetwork

                                                        router

                                                        IP subnet

                                                        mail server

                                                        web server

                                                        1-37

                                                        Point to Point Data Link Control one sender one receiver one link easier than

                                                        broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                        popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                        1-38

                                                        The Internet virtualizing networks

                                                        ARPAnet satellite net

                                                        gateway

                                                        Internetwork layer (IP) addressing internetwork

                                                        appears as a single uniform entity despite underlying local network heterogeneity

                                                        network of networks

                                                        Gateway ldquoembed internetwork packets

                                                        in local packet format or extract themrdquo

                                                        route (at internetwork level) to next gateway

                                                        1-39

                                                        What is next If you have passion for networking

                                                        More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                        Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                        Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                        1-40

                                                        That is all

                                                        Good luck on your final

                                                        • School of Computing Science Simon Fraser University
                                                        • Course Objectives
                                                        • Slide 3
                                                        • Internet structure packet journey
                                                        • Layering of airline functionality
                                                        • Internet protocol stack
                                                        • Encapsulation
                                                        • What is a network app
                                                        • How to create a network app
                                                        • Socket Programming
                                                        • Sample app-level protocols
                                                        • Transport layer
                                                        • Reliable data transfer principles
                                                        • Reliable data transfer Go-Back-N
                                                        • Reliable data transfer Selective repeat
                                                        • TCP Overview RFCs 793 1122 1323 2018 2581
                                                        • TCP Congestion Control Summary
                                                        • Network layer
                                                        • Network Taxonomy
                                                        • Slide 20
                                                        • Router Architecture Overview
                                                        • Addressing Subnets
                                                        • Hierarchical addressing route aggregation
                                                        • Routing algorithms Graph abstraction
                                                        • Classification of Routing Algorithms
                                                        • Hierarchical Routing
                                                        • Slide 27
                                                        • BGP reachability and policy routing
                                                        • Unicast multicast broadcast
                                                        • Link Layer
                                                        • Adaptors Communicating
                                                        • CRC basic idea
                                                        • MAC Protocols a taxonomy
                                                        • MAC and IP addresses
                                                        • Ethernet CSMACD algorithm
                                                        • Institutional network
                                                        • Point to Point Data Link Control
                                                        • The Internet virtualizing networks
                                                        • What is next
                                                        • Slide 40

                                                          1-29

                                                          Unicast multicast broadcast Unicast one source one destination

                                                          Eg web session

                                                          Multicast one source multiple destinations Subset of all possible destinations Eg streaming a hockey game to interested fans

                                                          Broadcast one source all destinations Eg broadcasting link state info to ALL routers in a

                                                          domain in OSPF protocol

                                                          Anycast multiple possible sources one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)

                                                          1-30

                                                          Link Layer Some terminology hosts and routers are nodes communication channels

                                                          that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                          layer-2 packet is a frame encapsulates datagram

                                                          ldquolinkrdquo

                                                          data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                          1-31

                                                          Adaptors Communicating

                                                          link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                          80211 card

                                                          sending side encapsulates datagram in

                                                          a frame adds error checking bits

                                                          rdt flow control etc

                                                          receiving side looks for errors rdt flow

                                                          control etc extracts datagram

                                                          passes to rcving node

                                                          adapter is semi-autonomous

                                                          link amp physical layers

                                                          sendingnode

                                                          frame

                                                          rcvingnode

                                                          datagram

                                                          frame

                                                          adapter adapter

                                                          link layer protocol

                                                          1-32

                                                          CRC basic idea Sender and receiver agree on a divisor

                                                          polynomial G(x) of degree r Sender transmits T(x) which consists

                                                          of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                          0 Receiver gets Trsquo(x) which may have

                                                          corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                          d bits r bits

                                                          1-33

                                                          MAC Protocols a taxonomy

                                                          Three broad classes Channel Partitioning

                                                          divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                          allocate piece to node for exclusive use

                                                          Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                          ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                          take longer turns

                                                          1-34

                                                          MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                          Do we have to have MAC addresses Yes we must have both

                                                          To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                          Enable flexibility mobility of cards

                                                          Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                          1-35

                                                          Ethernet CSMACD algorithm

                                                          1 Adaptor receives datagram from net layer amp creates frame

                                                          2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                          3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                          4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                          5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                          1-36

                                                          Institutional network

                                                          hub

                                                          hubhub

                                                          switch

                                                          to externalnetwork

                                                          router

                                                          IP subnet

                                                          mail server

                                                          web server

                                                          1-37

                                                          Point to Point Data Link Control one sender one receiver one link easier than

                                                          broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                          popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                          1-38

                                                          The Internet virtualizing networks

                                                          ARPAnet satellite net

                                                          gateway

                                                          Internetwork layer (IP) addressing internetwork

                                                          appears as a single uniform entity despite underlying local network heterogeneity

                                                          network of networks

                                                          Gateway ldquoembed internetwork packets

                                                          in local packet format or extract themrdquo

                                                          route (at internetwork level) to next gateway

                                                          1-39

                                                          What is next If you have passion for networking

                                                          More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                          Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                          Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                          1-40

                                                          That is all

                                                          Good luck on your final

                                                          • School of Computing Science Simon Fraser University
                                                          • Course Objectives
                                                          • Slide 3
                                                          • Internet structure packet journey
                                                          • Layering of airline functionality
                                                          • Internet protocol stack
                                                          • Encapsulation
                                                          • What is a network app
                                                          • How to create a network app
                                                          • Socket Programming
                                                          • Sample app-level protocols
                                                          • Transport layer
                                                          • Reliable data transfer principles
                                                          • Reliable data transfer Go-Back-N
                                                          • Reliable data transfer Selective repeat
                                                          • TCP Overview RFCs 793 1122 1323 2018 2581
                                                          • TCP Congestion Control Summary
                                                          • Network layer
                                                          • Network Taxonomy
                                                          • Slide 20
                                                          • Router Architecture Overview
                                                          • Addressing Subnets
                                                          • Hierarchical addressing route aggregation
                                                          • Routing algorithms Graph abstraction
                                                          • Classification of Routing Algorithms
                                                          • Hierarchical Routing
                                                          • Slide 27
                                                          • BGP reachability and policy routing
                                                          • Unicast multicast broadcast
                                                          • Link Layer
                                                          • Adaptors Communicating
                                                          • CRC basic idea
                                                          • MAC Protocols a taxonomy
                                                          • MAC and IP addresses
                                                          • Ethernet CSMACD algorithm
                                                          • Institutional network
                                                          • Point to Point Data Link Control
                                                          • The Internet virtualizing networks
                                                          • What is next
                                                          • Slide 40

                                                            1-30

                                                            Link Layer Some terminology hosts and routers are nodes communication channels

                                                            that connect adjacent nodes along communication path are links wired links wireless links LANs

                                                            layer-2 packet is a frame encapsulates datagram

                                                            ldquolinkrdquo

                                                            data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

                                                            1-31

                                                            Adaptors Communicating

                                                            link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                            80211 card

                                                            sending side encapsulates datagram in

                                                            a frame adds error checking bits

                                                            rdt flow control etc

                                                            receiving side looks for errors rdt flow

                                                            control etc extracts datagram

                                                            passes to rcving node

                                                            adapter is semi-autonomous

                                                            link amp physical layers

                                                            sendingnode

                                                            frame

                                                            rcvingnode

                                                            datagram

                                                            frame

                                                            adapter adapter

                                                            link layer protocol

                                                            1-32

                                                            CRC basic idea Sender and receiver agree on a divisor

                                                            polynomial G(x) of degree r Sender transmits T(x) which consists

                                                            of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                            0 Receiver gets Trsquo(x) which may have

                                                            corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                            d bits r bits

                                                            1-33

                                                            MAC Protocols a taxonomy

                                                            Three broad classes Channel Partitioning

                                                            divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                            allocate piece to node for exclusive use

                                                            Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                            ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                            take longer turns

                                                            1-34

                                                            MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                            Do we have to have MAC addresses Yes we must have both

                                                            To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                            Enable flexibility mobility of cards

                                                            Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                            1-35

                                                            Ethernet CSMACD algorithm

                                                            1 Adaptor receives datagram from net layer amp creates frame

                                                            2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                            3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                            4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                            5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                            1-36

                                                            Institutional network

                                                            hub

                                                            hubhub

                                                            switch

                                                            to externalnetwork

                                                            router

                                                            IP subnet

                                                            mail server

                                                            web server

                                                            1-37

                                                            Point to Point Data Link Control one sender one receiver one link easier than

                                                            broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                            popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                            1-38

                                                            The Internet virtualizing networks

                                                            ARPAnet satellite net

                                                            gateway

                                                            Internetwork layer (IP) addressing internetwork

                                                            appears as a single uniform entity despite underlying local network heterogeneity

                                                            network of networks

                                                            Gateway ldquoembed internetwork packets

                                                            in local packet format or extract themrdquo

                                                            route (at internetwork level) to next gateway

                                                            1-39

                                                            What is next If you have passion for networking

                                                            More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                            Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                            Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                            1-40

                                                            That is all

                                                            Good luck on your final

                                                            • School of Computing Science Simon Fraser University
                                                            • Course Objectives
                                                            • Slide 3
                                                            • Internet structure packet journey
                                                            • Layering of airline functionality
                                                            • Internet protocol stack
                                                            • Encapsulation
                                                            • What is a network app
                                                            • How to create a network app
                                                            • Socket Programming
                                                            • Sample app-level protocols
                                                            • Transport layer
                                                            • Reliable data transfer principles
                                                            • Reliable data transfer Go-Back-N
                                                            • Reliable data transfer Selective repeat
                                                            • TCP Overview RFCs 793 1122 1323 2018 2581
                                                            • TCP Congestion Control Summary
                                                            • Network layer
                                                            • Network Taxonomy
                                                            • Slide 20
                                                            • Router Architecture Overview
                                                            • Addressing Subnets
                                                            • Hierarchical addressing route aggregation
                                                            • Routing algorithms Graph abstraction
                                                            • Classification of Routing Algorithms
                                                            • Hierarchical Routing
                                                            • Slide 27
                                                            • BGP reachability and policy routing
                                                            • Unicast multicast broadcast
                                                            • Link Layer
                                                            • Adaptors Communicating
                                                            • CRC basic idea
                                                            • MAC Protocols a taxonomy
                                                            • MAC and IP addresses
                                                            • Ethernet CSMACD algorithm
                                                            • Institutional network
                                                            • Point to Point Data Link Control
                                                            • The Internet virtualizing networks
                                                            • What is next
                                                            • Slide 40

                                                              1-31

                                                              Adaptors Communicating

                                                              link layer implemented in ldquoadaptorrdquo (aka NIC) Ethernet card PCMCI card

                                                              80211 card

                                                              sending side encapsulates datagram in

                                                              a frame adds error checking bits

                                                              rdt flow control etc

                                                              receiving side looks for errors rdt flow

                                                              control etc extracts datagram

                                                              passes to rcving node

                                                              adapter is semi-autonomous

                                                              link amp physical layers

                                                              sendingnode

                                                              frame

                                                              rcvingnode

                                                              datagram

                                                              frame

                                                              adapter adapter

                                                              link layer protocol

                                                              1-32

                                                              CRC basic idea Sender and receiver agree on a divisor

                                                              polynomial G(x) of degree r Sender transmits T(x) which consists

                                                              of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                              0 Receiver gets Trsquo(x) which may have

                                                              corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                              d bits r bits

                                                              1-33

                                                              MAC Protocols a taxonomy

                                                              Three broad classes Channel Partitioning

                                                              divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                              allocate piece to node for exclusive use

                                                              Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                              ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                              take longer turns

                                                              1-34

                                                              MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                              Do we have to have MAC addresses Yes we must have both

                                                              To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                              Enable flexibility mobility of cards

                                                              Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                              1-35

                                                              Ethernet CSMACD algorithm

                                                              1 Adaptor receives datagram from net layer amp creates frame

                                                              2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                              3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                              4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                              5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                              1-36

                                                              Institutional network

                                                              hub

                                                              hubhub

                                                              switch

                                                              to externalnetwork

                                                              router

                                                              IP subnet

                                                              mail server

                                                              web server

                                                              1-37

                                                              Point to Point Data Link Control one sender one receiver one link easier than

                                                              broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                              popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                              1-38

                                                              The Internet virtualizing networks

                                                              ARPAnet satellite net

                                                              gateway

                                                              Internetwork layer (IP) addressing internetwork

                                                              appears as a single uniform entity despite underlying local network heterogeneity

                                                              network of networks

                                                              Gateway ldquoembed internetwork packets

                                                              in local packet format or extract themrdquo

                                                              route (at internetwork level) to next gateway

                                                              1-39

                                                              What is next If you have passion for networking

                                                              More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                              Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                              Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                              1-40

                                                              That is all

                                                              Good luck on your final

                                                              • School of Computing Science Simon Fraser University
                                                              • Course Objectives
                                                              • Slide 3
                                                              • Internet structure packet journey
                                                              • Layering of airline functionality
                                                              • Internet protocol stack
                                                              • Encapsulation
                                                              • What is a network app
                                                              • How to create a network app
                                                              • Socket Programming
                                                              • Sample app-level protocols
                                                              • Transport layer
                                                              • Reliable data transfer principles
                                                              • Reliable data transfer Go-Back-N
                                                              • Reliable data transfer Selective repeat
                                                              • TCP Overview RFCs 793 1122 1323 2018 2581
                                                              • TCP Congestion Control Summary
                                                              • Network layer
                                                              • Network Taxonomy
                                                              • Slide 20
                                                              • Router Architecture Overview
                                                              • Addressing Subnets
                                                              • Hierarchical addressing route aggregation
                                                              • Routing algorithms Graph abstraction
                                                              • Classification of Routing Algorithms
                                                              • Hierarchical Routing
                                                              • Slide 27
                                                              • BGP reachability and policy routing
                                                              • Unicast multicast broadcast
                                                              • Link Layer
                                                              • Adaptors Communicating
                                                              • CRC basic idea
                                                              • MAC Protocols a taxonomy
                                                              • MAC and IP addresses
                                                              • Ethernet CSMACD algorithm
                                                              • Institutional network
                                                              • Point to Point Data Link Control
                                                              • The Internet virtualizing networks
                                                              • What is next
                                                              • Slide 40

                                                                1-32

                                                                CRC basic idea Sender and receiver agree on a divisor

                                                                polynomial G(x) of degree r Sender transmits T(x) which consists

                                                                of d+1 data bits AND r redundant bits such that G(x)|T(x) ie the remainder of dividing T(x) by G(x) is

                                                                0 Receiver gets Trsquo(x) which may have

                                                                corrupted bitsbull If G(x) | Trsquo(x) then no errors occurred

                                                                d bits r bits

                                                                1-33

                                                                MAC Protocols a taxonomy

                                                                Three broad classes Channel Partitioning

                                                                divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                                allocate piece to node for exclusive use

                                                                Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                                ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                                take longer turns

                                                                1-34

                                                                MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                                Do we have to have MAC addresses Yes we must have both

                                                                To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                                Enable flexibility mobility of cards

                                                                Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                                1-35

                                                                Ethernet CSMACD algorithm

                                                                1 Adaptor receives datagram from net layer amp creates frame

                                                                2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                                3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                                4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                                5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                                1-36

                                                                Institutional network

                                                                hub

                                                                hubhub

                                                                switch

                                                                to externalnetwork

                                                                router

                                                                IP subnet

                                                                mail server

                                                                web server

                                                                1-37

                                                                Point to Point Data Link Control one sender one receiver one link easier than

                                                                broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                1-38

                                                                The Internet virtualizing networks

                                                                ARPAnet satellite net

                                                                gateway

                                                                Internetwork layer (IP) addressing internetwork

                                                                appears as a single uniform entity despite underlying local network heterogeneity

                                                                network of networks

                                                                Gateway ldquoembed internetwork packets

                                                                in local packet format or extract themrdquo

                                                                route (at internetwork level) to next gateway

                                                                1-39

                                                                What is next If you have passion for networking

                                                                More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                1-40

                                                                That is all

                                                                Good luck on your final

                                                                • School of Computing Science Simon Fraser University
                                                                • Course Objectives
                                                                • Slide 3
                                                                • Internet structure packet journey
                                                                • Layering of airline functionality
                                                                • Internet protocol stack
                                                                • Encapsulation
                                                                • What is a network app
                                                                • How to create a network app
                                                                • Socket Programming
                                                                • Sample app-level protocols
                                                                • Transport layer
                                                                • Reliable data transfer principles
                                                                • Reliable data transfer Go-Back-N
                                                                • Reliable data transfer Selective repeat
                                                                • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                • TCP Congestion Control Summary
                                                                • Network layer
                                                                • Network Taxonomy
                                                                • Slide 20
                                                                • Router Architecture Overview
                                                                • Addressing Subnets
                                                                • Hierarchical addressing route aggregation
                                                                • Routing algorithms Graph abstraction
                                                                • Classification of Routing Algorithms
                                                                • Hierarchical Routing
                                                                • Slide 27
                                                                • BGP reachability and policy routing
                                                                • Unicast multicast broadcast
                                                                • Link Layer
                                                                • Adaptors Communicating
                                                                • CRC basic idea
                                                                • MAC Protocols a taxonomy
                                                                • MAC and IP addresses
                                                                • Ethernet CSMACD algorithm
                                                                • Institutional network
                                                                • Point to Point Data Link Control
                                                                • The Internet virtualizing networks
                                                                • What is next
                                                                • Slide 40

                                                                  1-33

                                                                  MAC Protocols a taxonomy

                                                                  Three broad classes Channel Partitioning

                                                                  divide channel into smaller ldquopiecesrdquo (time slots frequency code)

                                                                  allocate piece to node for exclusive use

                                                                  Random Access channel not divided allow collisions ldquorecoverrdquo from collisions

                                                                  ldquoTaking turnsrdquo Nodes take turns but nodes with more to send can

                                                                  take longer turns

                                                                  1-34

                                                                  MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                                  Do we have to have MAC addresses Yes we must have both

                                                                  To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                                  Enable flexibility mobility of cards

                                                                  Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                                  1-35

                                                                  Ethernet CSMACD algorithm

                                                                  1 Adaptor receives datagram from net layer amp creates frame

                                                                  2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                                  3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                                  4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                                  5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                                  1-36

                                                                  Institutional network

                                                                  hub

                                                                  hubhub

                                                                  switch

                                                                  to externalnetwork

                                                                  router

                                                                  IP subnet

                                                                  mail server

                                                                  web server

                                                                  1-37

                                                                  Point to Point Data Link Control one sender one receiver one link easier than

                                                                  broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                  popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                  1-38

                                                                  The Internet virtualizing networks

                                                                  ARPAnet satellite net

                                                                  gateway

                                                                  Internetwork layer (IP) addressing internetwork

                                                                  appears as a single uniform entity despite underlying local network heterogeneity

                                                                  network of networks

                                                                  Gateway ldquoembed internetwork packets

                                                                  in local packet format or extract themrdquo

                                                                  route (at internetwork level) to next gateway

                                                                  1-39

                                                                  What is next If you have passion for networking

                                                                  More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                  Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                  Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                  1-40

                                                                  That is all

                                                                  Good luck on your final

                                                                  • School of Computing Science Simon Fraser University
                                                                  • Course Objectives
                                                                  • Slide 3
                                                                  • Internet structure packet journey
                                                                  • Layering of airline functionality
                                                                  • Internet protocol stack
                                                                  • Encapsulation
                                                                  • What is a network app
                                                                  • How to create a network app
                                                                  • Socket Programming
                                                                  • Sample app-level protocols
                                                                  • Transport layer
                                                                  • Reliable data transfer principles
                                                                  • Reliable data transfer Go-Back-N
                                                                  • Reliable data transfer Selective repeat
                                                                  • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                  • TCP Congestion Control Summary
                                                                  • Network layer
                                                                  • Network Taxonomy
                                                                  • Slide 20
                                                                  • Router Architecture Overview
                                                                  • Addressing Subnets
                                                                  • Hierarchical addressing route aggregation
                                                                  • Routing algorithms Graph abstraction
                                                                  • Classification of Routing Algorithms
                                                                  • Hierarchical Routing
                                                                  • Slide 27
                                                                  • BGP reachability and policy routing
                                                                  • Unicast multicast broadcast
                                                                  • Link Layer
                                                                  • Adaptors Communicating
                                                                  • CRC basic idea
                                                                  • MAC Protocols a taxonomy
                                                                  • MAC and IP addresses
                                                                  • Ethernet CSMACD algorithm
                                                                  • Institutional network
                                                                  • Point to Point Data Link Control
                                                                  • The Internet virtualizing networks
                                                                  • What is next
                                                                  • Slide 40

                                                                    1-34

                                                                    MAC and IP addresses Why do we have TWO addresses (IPMAC)

                                                                    Do we have to have MAC addresses Yes we must have both

                                                                    To allow different network-layer protocols over same card (eg IP Novell IPX DECnet)

                                                                    Enable flexibility mobility of cards

                                                                    Efficiency imagine that nodes have only IP addresses ALL packets sent over LAN will be forwarded by NIC to the IP layer too many useless interrupts

                                                                    1-35

                                                                    Ethernet CSMACD algorithm

                                                                    1 Adaptor receives datagram from net layer amp creates frame

                                                                    2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                                    3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                                    4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                                    5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                                    1-36

                                                                    Institutional network

                                                                    hub

                                                                    hubhub

                                                                    switch

                                                                    to externalnetwork

                                                                    router

                                                                    IP subnet

                                                                    mail server

                                                                    web server

                                                                    1-37

                                                                    Point to Point Data Link Control one sender one receiver one link easier than

                                                                    broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                    popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                    1-38

                                                                    The Internet virtualizing networks

                                                                    ARPAnet satellite net

                                                                    gateway

                                                                    Internetwork layer (IP) addressing internetwork

                                                                    appears as a single uniform entity despite underlying local network heterogeneity

                                                                    network of networks

                                                                    Gateway ldquoembed internetwork packets

                                                                    in local packet format or extract themrdquo

                                                                    route (at internetwork level) to next gateway

                                                                    1-39

                                                                    What is next If you have passion for networking

                                                                    More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                    Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                    Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                    1-40

                                                                    That is all

                                                                    Good luck on your final

                                                                    • School of Computing Science Simon Fraser University
                                                                    • Course Objectives
                                                                    • Slide 3
                                                                    • Internet structure packet journey
                                                                    • Layering of airline functionality
                                                                    • Internet protocol stack
                                                                    • Encapsulation
                                                                    • What is a network app
                                                                    • How to create a network app
                                                                    • Socket Programming
                                                                    • Sample app-level protocols
                                                                    • Transport layer
                                                                    • Reliable data transfer principles
                                                                    • Reliable data transfer Go-Back-N
                                                                    • Reliable data transfer Selective repeat
                                                                    • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                    • TCP Congestion Control Summary
                                                                    • Network layer
                                                                    • Network Taxonomy
                                                                    • Slide 20
                                                                    • Router Architecture Overview
                                                                    • Addressing Subnets
                                                                    • Hierarchical addressing route aggregation
                                                                    • Routing algorithms Graph abstraction
                                                                    • Classification of Routing Algorithms
                                                                    • Hierarchical Routing
                                                                    • Slide 27
                                                                    • BGP reachability and policy routing
                                                                    • Unicast multicast broadcast
                                                                    • Link Layer
                                                                    • Adaptors Communicating
                                                                    • CRC basic idea
                                                                    • MAC Protocols a taxonomy
                                                                    • MAC and IP addresses
                                                                    • Ethernet CSMACD algorithm
                                                                    • Institutional network
                                                                    • Point to Point Data Link Control
                                                                    • The Internet virtualizing networks
                                                                    • What is next
                                                                    • Slide 40

                                                                      1-35

                                                                      Ethernet CSMACD algorithm

                                                                      1 Adaptor receives datagram from net layer amp creates frame

                                                                      2 If adapter senses channel idle it starts to transmit frame If it senses channel busy waits until channel idle and then transmits

                                                                      3 If adapter transmits entire frame without detecting another transmission the adapter is done with frame

                                                                      4 If adapter detects another transmission while transmitting aborts and sends jam signal

                                                                      5 After aborting adapter enters exponential backoff after the mth collision adapter chooses a K at random from 012hellip2m-1 Adapter waits K512 bit times and returns to Step 2

                                                                      1-36

                                                                      Institutional network

                                                                      hub

                                                                      hubhub

                                                                      switch

                                                                      to externalnetwork

                                                                      router

                                                                      IP subnet

                                                                      mail server

                                                                      web server

                                                                      1-37

                                                                      Point to Point Data Link Control one sender one receiver one link easier than

                                                                      broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                      popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                      1-38

                                                                      The Internet virtualizing networks

                                                                      ARPAnet satellite net

                                                                      gateway

                                                                      Internetwork layer (IP) addressing internetwork

                                                                      appears as a single uniform entity despite underlying local network heterogeneity

                                                                      network of networks

                                                                      Gateway ldquoembed internetwork packets

                                                                      in local packet format or extract themrdquo

                                                                      route (at internetwork level) to next gateway

                                                                      1-39

                                                                      What is next If you have passion for networking

                                                                      More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                      Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                      Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                      1-40

                                                                      That is all

                                                                      Good luck on your final

                                                                      • School of Computing Science Simon Fraser University
                                                                      • Course Objectives
                                                                      • Slide 3
                                                                      • Internet structure packet journey
                                                                      • Layering of airline functionality
                                                                      • Internet protocol stack
                                                                      • Encapsulation
                                                                      • What is a network app
                                                                      • How to create a network app
                                                                      • Socket Programming
                                                                      • Sample app-level protocols
                                                                      • Transport layer
                                                                      • Reliable data transfer principles
                                                                      • Reliable data transfer Go-Back-N
                                                                      • Reliable data transfer Selective repeat
                                                                      • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                      • TCP Congestion Control Summary
                                                                      • Network layer
                                                                      • Network Taxonomy
                                                                      • Slide 20
                                                                      • Router Architecture Overview
                                                                      • Addressing Subnets
                                                                      • Hierarchical addressing route aggregation
                                                                      • Routing algorithms Graph abstraction
                                                                      • Classification of Routing Algorithms
                                                                      • Hierarchical Routing
                                                                      • Slide 27
                                                                      • BGP reachability and policy routing
                                                                      • Unicast multicast broadcast
                                                                      • Link Layer
                                                                      • Adaptors Communicating
                                                                      • CRC basic idea
                                                                      • MAC Protocols a taxonomy
                                                                      • MAC and IP addresses
                                                                      • Ethernet CSMACD algorithm
                                                                      • Institutional network
                                                                      • Point to Point Data Link Control
                                                                      • The Internet virtualizing networks
                                                                      • What is next
                                                                      • Slide 40

                                                                        1-36

                                                                        Institutional network

                                                                        hub

                                                                        hubhub

                                                                        switch

                                                                        to externalnetwork

                                                                        router

                                                                        IP subnet

                                                                        mail server

                                                                        web server

                                                                        1-37

                                                                        Point to Point Data Link Control one sender one receiver one link easier than

                                                                        broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                        popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                        1-38

                                                                        The Internet virtualizing networks

                                                                        ARPAnet satellite net

                                                                        gateway

                                                                        Internetwork layer (IP) addressing internetwork

                                                                        appears as a single uniform entity despite underlying local network heterogeneity

                                                                        network of networks

                                                                        Gateway ldquoembed internetwork packets

                                                                        in local packet format or extract themrdquo

                                                                        route (at internetwork level) to next gateway

                                                                        1-39

                                                                        What is next If you have passion for networking

                                                                        More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                        Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                        Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                        1-40

                                                                        That is all

                                                                        Good luck on your final

                                                                        • School of Computing Science Simon Fraser University
                                                                        • Course Objectives
                                                                        • Slide 3
                                                                        • Internet structure packet journey
                                                                        • Layering of airline functionality
                                                                        • Internet protocol stack
                                                                        • Encapsulation
                                                                        • What is a network app
                                                                        • How to create a network app
                                                                        • Socket Programming
                                                                        • Sample app-level protocols
                                                                        • Transport layer
                                                                        • Reliable data transfer principles
                                                                        • Reliable data transfer Go-Back-N
                                                                        • Reliable data transfer Selective repeat
                                                                        • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                        • TCP Congestion Control Summary
                                                                        • Network layer
                                                                        • Network Taxonomy
                                                                        • Slide 20
                                                                        • Router Architecture Overview
                                                                        • Addressing Subnets
                                                                        • Hierarchical addressing route aggregation
                                                                        • Routing algorithms Graph abstraction
                                                                        • Classification of Routing Algorithms
                                                                        • Hierarchical Routing
                                                                        • Slide 27
                                                                        • BGP reachability and policy routing
                                                                        • Unicast multicast broadcast
                                                                        • Link Layer
                                                                        • Adaptors Communicating
                                                                        • CRC basic idea
                                                                        • MAC Protocols a taxonomy
                                                                        • MAC and IP addresses
                                                                        • Ethernet CSMACD algorithm
                                                                        • Institutional network
                                                                        • Point to Point Data Link Control
                                                                        • The Internet virtualizing networks
                                                                        • What is next
                                                                        • Slide 40

                                                                          1-37

                                                                          Point to Point Data Link Control one sender one receiver one link easier than

                                                                          broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line

                                                                          popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control

                                                                          1-38

                                                                          The Internet virtualizing networks

                                                                          ARPAnet satellite net

                                                                          gateway

                                                                          Internetwork layer (IP) addressing internetwork

                                                                          appears as a single uniform entity despite underlying local network heterogeneity

                                                                          network of networks

                                                                          Gateway ldquoembed internetwork packets

                                                                          in local packet format or extract themrdquo

                                                                          route (at internetwork level) to next gateway

                                                                          1-39

                                                                          What is next If you have passion for networking

                                                                          More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                          Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                          Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                          1-40

                                                                          That is all

                                                                          Good luck on your final

                                                                          • School of Computing Science Simon Fraser University
                                                                          • Course Objectives
                                                                          • Slide 3
                                                                          • Internet structure packet journey
                                                                          • Layering of airline functionality
                                                                          • Internet protocol stack
                                                                          • Encapsulation
                                                                          • What is a network app
                                                                          • How to create a network app
                                                                          • Socket Programming
                                                                          • Sample app-level protocols
                                                                          • Transport layer
                                                                          • Reliable data transfer principles
                                                                          • Reliable data transfer Go-Back-N
                                                                          • Reliable data transfer Selective repeat
                                                                          • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                          • TCP Congestion Control Summary
                                                                          • Network layer
                                                                          • Network Taxonomy
                                                                          • Slide 20
                                                                          • Router Architecture Overview
                                                                          • Addressing Subnets
                                                                          • Hierarchical addressing route aggregation
                                                                          • Routing algorithms Graph abstraction
                                                                          • Classification of Routing Algorithms
                                                                          • Hierarchical Routing
                                                                          • Slide 27
                                                                          • BGP reachability and policy routing
                                                                          • Unicast multicast broadcast
                                                                          • Link Layer
                                                                          • Adaptors Communicating
                                                                          • CRC basic idea
                                                                          • MAC Protocols a taxonomy
                                                                          • MAC and IP addresses
                                                                          • Ethernet CSMACD algorithm
                                                                          • Institutional network
                                                                          • Point to Point Data Link Control
                                                                          • The Internet virtualizing networks
                                                                          • What is next
                                                                          • Slide 40

                                                                            1-38

                                                                            The Internet virtualizing networks

                                                                            ARPAnet satellite net

                                                                            gateway

                                                                            Internetwork layer (IP) addressing internetwork

                                                                            appears as a single uniform entity despite underlying local network heterogeneity

                                                                            network of networks

                                                                            Gateway ldquoembed internetwork packets

                                                                            in local packet format or extract themrdquo

                                                                            route (at internetwork level) to next gateway

                                                                            1-39

                                                                            What is next If you have passion for networking

                                                                            More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                            Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                            Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                            1-40

                                                                            That is all

                                                                            Good luck on your final

                                                                            • School of Computing Science Simon Fraser University
                                                                            • Course Objectives
                                                                            • Slide 3
                                                                            • Internet structure packet journey
                                                                            • Layering of airline functionality
                                                                            • Internet protocol stack
                                                                            • Encapsulation
                                                                            • What is a network app
                                                                            • How to create a network app
                                                                            • Socket Programming
                                                                            • Sample app-level protocols
                                                                            • Transport layer
                                                                            • Reliable data transfer principles
                                                                            • Reliable data transfer Go-Back-N
                                                                            • Reliable data transfer Selective repeat
                                                                            • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                            • TCP Congestion Control Summary
                                                                            • Network layer
                                                                            • Network Taxonomy
                                                                            • Slide 20
                                                                            • Router Architecture Overview
                                                                            • Addressing Subnets
                                                                            • Hierarchical addressing route aggregation
                                                                            • Routing algorithms Graph abstraction
                                                                            • Classification of Routing Algorithms
                                                                            • Hierarchical Routing
                                                                            • Slide 27
                                                                            • BGP reachability and policy routing
                                                                            • Unicast multicast broadcast
                                                                            • Link Layer
                                                                            • Adaptors Communicating
                                                                            • CRC basic idea
                                                                            • MAC Protocols a taxonomy
                                                                            • MAC and IP addresses
                                                                            • Ethernet CSMACD algorithm
                                                                            • Institutional network
                                                                            • Point to Point Data Link Control
                                                                            • The Internet virtualizing networks
                                                                            • What is next
                                                                            • Slide 40

                                                                              1-39

                                                                              What is next If you have passion for networking

                                                                              More networking CMPT 471 (Systems) CMPT 408 (Theory)

                                                                              Some theory Computer Simulation and Modelling CMPT 305 Probability and Statistics Algorithms and graph theory

                                                                              Some systems CC++ coding and Unix OS CMPT 300 CMPT 401

                                                                              1-40

                                                                              That is all

                                                                              Good luck on your final

                                                                              • School of Computing Science Simon Fraser University
                                                                              • Course Objectives
                                                                              • Slide 3
                                                                              • Internet structure packet journey
                                                                              • Layering of airline functionality
                                                                              • Internet protocol stack
                                                                              • Encapsulation
                                                                              • What is a network app
                                                                              • How to create a network app
                                                                              • Socket Programming
                                                                              • Sample app-level protocols
                                                                              • Transport layer
                                                                              • Reliable data transfer principles
                                                                              • Reliable data transfer Go-Back-N
                                                                              • Reliable data transfer Selective repeat
                                                                              • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                              • TCP Congestion Control Summary
                                                                              • Network layer
                                                                              • Network Taxonomy
                                                                              • Slide 20
                                                                              • Router Architecture Overview
                                                                              • Addressing Subnets
                                                                              • Hierarchical addressing route aggregation
                                                                              • Routing algorithms Graph abstraction
                                                                              • Classification of Routing Algorithms
                                                                              • Hierarchical Routing
                                                                              • Slide 27
                                                                              • BGP reachability and policy routing
                                                                              • Unicast multicast broadcast
                                                                              • Link Layer
                                                                              • Adaptors Communicating
                                                                              • CRC basic idea
                                                                              • MAC Protocols a taxonomy
                                                                              • MAC and IP addresses
                                                                              • Ethernet CSMACD algorithm
                                                                              • Institutional network
                                                                              • Point to Point Data Link Control
                                                                              • The Internet virtualizing networks
                                                                              • What is next
                                                                              • Slide 40

                                                                                1-40

                                                                                That is all

                                                                                Good luck on your final

                                                                                • School of Computing Science Simon Fraser University
                                                                                • Course Objectives
                                                                                • Slide 3
                                                                                • Internet structure packet journey
                                                                                • Layering of airline functionality
                                                                                • Internet protocol stack
                                                                                • Encapsulation
                                                                                • What is a network app
                                                                                • How to create a network app
                                                                                • Socket Programming
                                                                                • Sample app-level protocols
                                                                                • Transport layer
                                                                                • Reliable data transfer principles
                                                                                • Reliable data transfer Go-Back-N
                                                                                • Reliable data transfer Selective repeat
                                                                                • TCP Overview RFCs 793 1122 1323 2018 2581
                                                                                • TCP Congestion Control Summary
                                                                                • Network layer
                                                                                • Network Taxonomy
                                                                                • Slide 20
                                                                                • Router Architecture Overview
                                                                                • Addressing Subnets
                                                                                • Hierarchical addressing route aggregation
                                                                                • Routing algorithms Graph abstraction
                                                                                • Classification of Routing Algorithms
                                                                                • Hierarchical Routing
                                                                                • Slide 27
                                                                                • BGP reachability and policy routing
                                                                                • Unicast multicast broadcast
                                                                                • Link Layer
                                                                                • Adaptors Communicating
                                                                                • CRC basic idea
                                                                                • MAC Protocols a taxonomy
                                                                                • MAC and IP addresses
                                                                                • Ethernet CSMACD algorithm
                                                                                • Institutional network
                                                                                • Point to Point Data Link Control
                                                                                • The Internet virtualizing networks
                                                                                • What is next
                                                                                • Slide 40

                                                                                  top related