Where we are in the big picture - PowerPoint PPT Presentation

About This Presentation
Title:

Where we are in the big picture

Description:

... it arrives at a node already belonging to spanning tree. 5/23/05 ... Address mapping between LAN and IP: ARP. 5/23/05. CS118/Spring05. 23. Link Layer Services ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 57
Provided by: Lixia8
Learn more at: http://web.cs.ucla.edu
Category:
Tags: address | an | belongs | do | find | how | ip | out | picture | to | who

less

Transcript and Presenter's Notes

Title: Where we are in the big picture


1
Where we are in the big picture
host
host
HTTP message
HTTP
HTTP
TCP segment
TCP
TCP
router
router
IP packet
IP packet
IP packet
IP
Ethernet interface
SONET interface
SONET interface
2
Broadcast Routing
  • Goal Deliver packets from a source to all other
    nodes
  • Why letting source send to everyone not a good
    solution
  • the source may not know all the destination
    addresses
  • Redundant transmission over links near the source

replicate
replicate
sourcereplication
in-network replication
3
In-network replication
  • Flooding when a node receives a broadcast
    packet, sends a copy to all neighbors
  • Problems packet looping
  • Controlled flooding node broadcast a packet if
    it hasnt seen the same packet before
  • Node must keep track of packet ids already seen
  • Reverse Path Forwarding (RPF) a node N forwards
    packet if it arrived on shortest path between N
    and source
  • Make use of forwarding table
  • of unicast routing

source
R1
R4
R2
R5
R6
R3
R7
4
Spanning Tree
  • First construct a spanning tree
  • Nodes forward copies only along spanning tree
  • No redundant packets received by any node
  • All sources send data along the same tree

(b) Broadcast initiated at D
(a) Broadcast initiated at A
5
Creating a center-based Spanning Tree
  • First pick a center node (E in this example)
  • Each node sends unicast join message towards the
    center node
  • Message forwarded until it arrives at a node
    already belonging to spanning tree
  1. Stepwise construction of spanning tree

(b) Constructed spanning tree
6
Multicast Routing
  • Goal build a tree to reach all members in a
    mcast group
  • shared-tree same tree used by all group members
  • minimal spanning tree (Steiner)
  • center-based tree
  • source-based tree one tree from each sender to
    receivers
  • Each tree made of shortest paths to all mcast
    members
  • 2 ways to build link-state (MOSPF), RPF (DVMRP)

Shared tree
Source-based trees
7
Shared-Tree Steiner Tree
  • Steiner Tree minimum cost tree connecting all
    routers with attached group members
  • problem is NP-complete
  • excellent heuristics exists
  • not used in practice
  • computational complexity
  • Infeasible to get/keep information about entire
    network
  • monolithic rerun whenever a router needs to
    join/leave

8
Center-based shared routing tree
  • one router identified as center of tree
  • router with mcast member attached sends unicast
    join-msg addressed to the center router
  • join-msg processed by intermediate routers before
    being forwarded towards center
  • join-msg either hits existing tree branch for
    this center, or arrives at center
  • path taken by join-msg becomes new branch of tree

R1
R4
R2
R5
R6
R7
R3
9
Building Shortest Path Tree MOSPF
  • OSPF a link-state routing protocol
  • Each node maintains a complete network graph
  • Use Dijkstra algorithm to compute the shortest
    path
  • MOSPF (Multicast OSPF)
  • Carry multicast membership in link-state packet
  • Router computes shortest path tree for each source

S source
R1
R4
LEGEND
router with attached group member
R2
R5
router with no attached group member
R3
R7
R6
10
Reverse Path Forwarding example
S source
LEGEND
R1
R4
router with attached group member
R2
router with no attached group member
R5
datagram will be forwarded
R3
R7
R6
datagram will not be forwarded
  • result is a source-specific reverse shortest path
    broadcast tree
  • may not be a good tree if link cost is asymmetric
  • It's a broadcast tree, reaching every node

11
Trim Broadcast Tree to Mcast Tree by Pruning
  • no need to forward packets down branches which
    has no mcast group members
  • router with no downstream group members sends
    prune message upstream
  • Routers keep state regarding prune msgs

LEGEND
S source
R1
router with attached group member
R4
router with no attached group member
R2
P
R5
P
prune message
P
R3
links with multicast forwarding
R7
R6
12
Distance-Vector Multicast Routing
Protocol(DVMRP, specified in RFC1075)
  • DVMRP routers run RIP to build routing table
  • Use reverse path forwarding to build source-based
    tree
  • initial datagram to mcast group floods everywhere
    via RPF
  • Edge routers with no members send prune msg
    upstream
  • soft state router periodically delete prune
    state
  • Sender may have finished by then
  • If not, downstream router prune again
  • routers can quickly graft to tree
  • By canceling the prune state

R1
R4
R2
P
R5
P
R3
R7
R6
13
PIM Protocol Independent Multicast
  • independent from underlying unicast routing
    algorithm
  • Either get "next hop" information for each node
    from the unicast forwarding table, or
  • Use unicast routing to forward mcast join message
  • two different multicast distribution scenarios
  • Dense group members densely packed, in close
    proximity
  • Sparse networks with group members small wrt
    to the total of interconnected networks, group
    members widely dispersed

14
Consequences of Sparse-Dense Dichotomy
  • Dense
  • group membership by routers assumed until routers
    explicitly prune
  • data-driven construction on mcast tree (e.g., RPF)
  • Sparse
  • no membership until routers explicitly join
  • receiver- driven construction of mcast tree
    (e.g., center-based)
  • Implementation
  • flood-and-prune RPF
  • similar to DVMRP but using info from underlying
    unicast protocol for RPF checking

15
PIM - Sparse Mode
  • Build center-based shared tree
  • router sends join msg to rendezvous point (RP)
  • intermediate routers update state and forward
    join msgs
  • Data sources
  • unicast packets to RP, which forwards down
    RP-rooted tree
  • RP can send stop msg to source if no receivers
    joined the group
  • no one is listening!

R1
R4
join
R2
join
R5
join
R3
R7
R6
all data multicast from rendezvous point
rendezvous point
16
Components of the IP Multicast Architecture
hosts
host-to-router protocol Internet Group
Management Protocol
routers
  • IGMP operates between Router and local Hosts on
    the same network (e.g., Ethernet)
  • Router queries local Hosts for mcast group
    membership info
  • Hosts respond with membership reports

17
IP Multicast Address
131.179.26.38
18.4.157.100
  • Class D IP addresses
  • in dotted decimal notation 224.0.0.0
    239.255.255.255
  • Two administrative categories
  • well-known multicast addresses, assigned by IANA
  • (the rest) transient addresses, assigned
    reclaimed dynamically

18
How IGMP Works (I)
  • One router is elected the querier on each
    local/physical network
  • querier periodically sends Membership Query
    message to all-systems group (224.0.0.1) with
    TTL1

19
How IGMP Works (II)
  • On receipt, a host starts a random timer 010
    sec for each multicast group it wants to join
  • when a hosts timer for group G expires, it sends
    a Membership Report to group G (TTL 1)
  • other members of G hear the report, stop their
    timers
  • routers hear all reports
  • Normal case only one report message per group is
    sent in response to a query
  • when a host first joins a group, it can send
    unsolicited reports immediately

Q
G
G
G
G
20
How IGMP Works Leaving a Multicast Group
  • host sends a Leave Group msg to group address G
    if it was the most recent host to report
    membership in that group
  • Upon receiving Leave Group msg query router
    sends a few queries to group G with a small
    max-response-time
  • if no Membership Report heard, stop data
    forwarding

Q
G
G
G
G
21
IGMP message types
  • IGMP Msg type Sent by
    Purpose
  • membership query general router
  • membership query specific router
  • membership report host
  • leave group host
  • query for current active multicast groups
  • query for specific m-cast group
  • host wants to join group
  • host leaves the group

IP header
22
Chapter 5 the Data Link Layer overview
  • data delivery between two physically connected
    devices
  • implementation of various link layer
    technologies
  • Ethernet, hubs, bridges, IEEE 802.11 LANs, PPP
  • Address mapping between LAN and IP ARP

application transport network link physical
network link physical
data link protocol
M
phys. link
frame
adapter card
23
Link Layer Services
  • sending data over a physical link
  • bit encoding transmitting sequence of 1s and
    0s by signals
  • Framing defining the beginning end of a data
    chunk
  • bit error detection
  • reliable transmission
  • MAC (Medium Access Control) addresses to identify
    source, destination nodes
  • Different address, not IP address!
  • Channel access if shared medium
  • e.g, Ethernet, wireless, etc.
  • Flow Control pacing between sender and receivers
  • implemented in adapter (e.g., PCMCIA card,
    Ethernet card)
  • Link type Half-duplex vs. full-duplex

24
Data Framing
  • Terminology for a block of data
  • at link layer normally called a data frame
  • at network layer a packet
  • at transport level TCP ? segment UDP ? datagram
  • A frame/packet has a header field
  • optionally there may be a trailer field too
  • Byte-Oriented Framing Protocol delineate frame
    with a special bit sequence 01111110
  • Q What if the bit sequence 01111110 occurs in
    data stream?

data
25
Byte stuffing
  • Sender adds (stuffs) extra lt 01111110gt byte
    after each apperance of lt 01111110gt
  • Receiver
  • single 01111110 flag byte
  • two back-to-back 01111110 bytes discard first
    byte, continue data reception
  • stuffing changes the total length of data to be
    sent

26
Error Detection
  • EDC Error Detection and Correction bits
    (redundancy)
  • D Data protected by error checking
  • Error detection not 100 reliable!
  • protocol may miss some errors, though rarely
  • larger EDC field gives better detection and
    correction

27
Parity Checking
Two Dimensional Bit Parity Detect and correct
single bit errors
Single Bit Parity Detect single bit errors
consider a data frame as a m ? n matrix A
parity bit for each row ? n-bit checksum, and A
parity bit for each column ? m-bit checksum
28
Cyclic Redundancy Check (CRC)
  • consider a data frame as a bit sequence M(x)
  • e.g. 10011010 ? M(x) x7 x4 x3 x1
  • k-term polynomial has a degree of (k-1)
  • e.g. 10011010 represents a 8-term polynomial
  • use a (r1)-bit generator polynomial G(x) to
    compute the checksum for M(x)
  • sender makes the transmitted bit sequence
    dividable by G(x) by appending r-bit remainder to
    M(x)
  • receiver divides the received sequence by G(x)

M
M
29
How to compute CRC
  • 1. append r zero bits to M(x) to get xrM(x)
  • M(x) 10011010 x7 x4 x3 x1, G(x)
    1101x3 x2 1, r 3
  • then xrM(x) x10 x7 x6 x4 ?
    10011010000
  • 2. divide xrM(x) by G(x)
  • 10011010000 / 1101 11111001, remainder 101
  • 3. subtract the remainder from xrM(x) ? T(x),
    check-summed frame to be transmitted
  • xrM(x) / G(x) Q(x), remainder R(x), T(x)
    xrM(x) - R(x)
  • In reality just append R(x) to the end of data
    frame M(x) 10011010 101
  • Because xrM(x) shifting M(x) to the left by r
    bits, and
  • for XOR r bits of 0's R(x) R(x)
  • At receiving end if the received frame P(x)
    divisible by G(x), P(x)/G(x) 0, P(X) considered
    error free

30
An example CRC computation
11111001
11111001
1101 10011010000
1101 10011010101
1101 1001 1101 1000 1101 1011 1101
1100 1101 1000 1101 101
1101 1001 1101 1000 1101 1011 1101
1100 1101 1101 1101 0
remainder
computation by sender computation by
receiver
31
Multiple Access protocols
  • The problem single shared communication channel,
    only one node can send successfully at a time
  • 3 broad classes
  • Channel Partitioning
  • divide channel into smaller pieces (time slots,
    frequency band, code modulation)
  • allocate piece to node for exclusive use
  • Taking turns
  • coordinate shared access to avoid collision
  • Random Access
  • Detect and resolve collisions

32
Channel Partitioning TDMA and FDMA
  • TDMA Time Division Multiple Access
  • channel divided into N fixed length time slots,
    one per station
  • each station takes turns to access channel
  • unused slots go idle
  • example 6-station LAN, 1,3,4 send data, slots
    2,5,6 idle
  • FDMA
  • channel spectrum divided into
  • frequency bands
  • each station assigned fixed
  • frequency band
  • unused frequency bands go idle
  • example 6-station LAN, 1, 3, 4
  • send data, frequency bands 2,5,6 idle

33
Taking Turns MAC protocols
  • channel partitioning commonalities
  • Share channel efficiently with constant, uniform
    load
  • But inefficient with random, non-uniform load
  • delay in channel access
  • 1/N bandwidth allocated even if only 1 active
    node!
  • taking turns protocols on-demand channel
    allocation
  • Polling master node asks slave nodes to transmit
    in turn
  • Concerns polling latency, single point of
    failure
  • Token passing

34
Taking Turns by Token Passing
  • One token message passed from one node to next
    sequentially
  • whoever gets the token can send one data frame,
    then passes token to next node
  • A master station generates the token and monitors
    its circulation
  • concerns
  • token overhead
  • latency
  • single point of failure (token)

35
Random Access protocols
  • When node has packet to send
  • transmit at full channel data rate R.
  • no a priori coordination among nodes
  • If two or more nodes transmitting at the same
    time? collision
  • random access MAC protocol specifies
  • how to detect collisions
  • how to recover from collisions
  • Examples of random access MAC protocols
  • ALOHA
  • slotted ALOHA
  • CSMA and CSMA/CD

36
ALOHA
  • If a station has data to send just send
  • collision probability
  • frame sent at t0 collide with other packets sent
    in t0-1, t01

P(success by given node) P(node transmits) .
P(no
other node transmits in t0-1,t0 .
P(no other node
transmits in t0,t01
p . (1-p)N-1 .
(1-p)N-1 P(success by any node) N p . (1-p)
2(N-1) choosing optimum p as n ?8 ...
1/(2e)
0.18
37
Slotted Aloha
  • Assumptions
  • All frames the same size clocks in all nodes are
    synchronized
  • Divide time into equal size slots ( pkt trans.
    time)
  • If 2 or more nodes transmit in the same slot, all
    nodes detect collision

38
Slotted Aloha
  • Operations
  • When a node gets data to send, it transmits at
    beginning of next slot
  • If no collision, node can send new frame in next
    slot
  • If collision node retransmits frame in each
    subsequent slots with probability p, until
    successful.

Success (S), Collision (C), Empty (E) slots
39
Slotted Aloha efficiency
  • Q what is the max fraction of slots successful?
  • each node transmits in a slot with probability p
  • prob. successful transmission S is
  • by a given node S p (1-p)(N-1)
  • by any of N nodes
  • S Prob (only one transmits) N p (1-p)(N-1)
  • choosing optimum p as n ? 8 ...
  • 1/e 0.37

0.4
S throughput goodput (success rate)
0.3
Slotted Aloha
0.2
0.1
Pure Aloha
G offered load Np
1.5
0.5
1.0
2.0
40
CSMA Carrier Sense Multiple Access
  • listen before transmit
  • If channel sensed idle transmit
  • If channel sensed busy, wait
  • p-persistent CSMA when channel becomes idle,
    retry immediately with probability p
  • Non-persistent CSMA retry
  • after a random interval
  • collisions still possible
  • propagation delay ?two or more nodes may send
    simultaneously
  • Chance of collision goes up with distance between
    nodes
  • To cut the loss early CSMA/CD

41
CSMA/CD (Collision Detection)
  • Collision Detection compare transmitted with
    received signals
  • Abort collided transmissions

42
Classification ofdifferent multiaccess protocols
Multiple data sources sharing the same
communication link (Ethernet, FDDI, Appletalk,
etc)
43
LAN Addresses and ARP
  • 32-bit IP address network-layer address
  • used to get IP packet to destination host
  • LAN (or MAC or physical) address
  • used to get frame from one interface to another
    physically connected interface (same network)
  • 48 bit MAC address (for most LANs)
  • burned in the adapter ROM
  • Each adapter on LAN has
  • a unique LAN address
  • Broadcast address
  • FF-FF-FF-FF-FF-FF

44
LAN Address (more)
  • MAC address allocation administered by IEEE
  • manufacturer buys portion of MAC address space
    (to assure uniqueness)
  • Analogy
  • (a) MAC address like Social Security
    Number
  • (b) IP address like postal address
  • MAC flat address gt portability
  • can move LAN card from one LAN to another
  • IP hierarchical address NOT portable
  • depends on network to which one attaches

45
Recall earlier routing discussion
  • Node A sends IP packet to B
  • look up network address of B, find B is on the
    same net as A
  • link layer send datagram to B inside link-layer
    frame

frame source, dest address
datagram source, dest address
As IP addr
Bs IP addr
Bs MAC addr
As MAC addr
IP payload
datagram
frame
46
ARP Address Resolution Protocol
  • Each IP node (Host, Router) on LAN has ARP table
  • ARP Table IP/MAC address mappings for some LAN
    nodes
  • lt IP address MAC address TTLgt
  • TTL (Time To Live) time after which address
    mapping will be forgotten (typically 20 min)

237.196.7.78
1A-2F-BB-76-09-AD
237.196.7.23
237.196.7.14
LAN
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
237.196.7.88
47
ARP protocol
  • A knows B's IP address, wants to learn B's MAC
    address
  • A broadcasts ARP query pkt, containing B's IP
    address
  • Dest MAC address FF-FF-FF-FF-FF-FF
  • all machines on LAN receive ARP query
  • B receives ARP packet, replies to A with its
    (B's) physical layer address
  • reply sent to As MAC address (unicast)
  • A caches (saves) IP-to-physical address pairs
    until information becomes old (times out)
  • soft state information that times out (goes
    away) unless refreshed
  • ARP is plug-and-play
  • nodes create their ARP tables without
    intervention from net administrator

48
Routing to another LAN
  • A creates IP packet with source A, destination B
  • A uses ARP to get Rs physical layer address for
    111.111.111.110
  • A creates Ethernet frame with R's MAC address as
    destination
  • As data link layer sends the Ethernet frame
  • Rs data link layer receives Ethernet frame
  • R extracts IP datagram from Ethernet frame, sees
    its destined to B
  • R uses ARP to get Bs physical layer address
  • R creates frame containing A-to-B IP packet,
    sends to B

A
R
B
49
Ethernet
  • first widely used LAN technology, dominant LAN
    today
  • Kept up with speed race 10 Mbps 10 Gbps
  • Bus topology popular through mid 90s
  • Now star topology prevails
  • Connection choices hub or switch (more later)

hub or switch
50
Schedule for next week
  • Makeup lecture Monday 6/6
  • 800-950AM, 5422BH
  • 600-750PM, 5419BH
  • Tuesday 6/7 regular class hours
  • Wednesday 6/8 office hour cancelled
  • Thursday 6/9 no class
  • Saturday 6/11
  • Office hour 1000AM - 100PM
  • Final exam 300-600PM, 2444BH

51
Ethernet Frame Structure
46 1500 bytes
  • Sending adapter encapsulates IP datagram (or
    other network layer protocol packet) in Ethernet
    frame
  • Preamble
  • 7 bytes with pattern 10101010 followed by one
    byte with pattern 10101011
  • used to synchronize receiver, sender clock rates
  • Addresses 6 bytes
  • Type indicates the higher layer protocol
  • IEEE802.3 changed the type field to length,
    defined a separate type field carried in the data
    part
  • CRC checked at receiver, if error, drop the frame

52
Ethernet Frame length limit
  • All packets/frames have an upper bound on length
  • Ethernet has a lower bound for reliable collision
    detection
  • cable max length 2500m ?
  • transceiver can send listen at the same time
  • If the received data stream differs from the one
    transmitted ? collision
  • to detect collision the sender must still be
    transmitting when garbled signal propagates back
  • minimum frame 64bytes 512bits, take 51
    to transmit at 10Mbps

A
B
53
Ethernet MAC protocol CSMA/CD
  • A sense channel, wait if necessary until it is
    idle
  • transmit and monitor the channel
  • If detect another transmission
  • then
  • abort and send jam signal
  • update collisions (n)
  • delay for K x 512bits trans time
  • goto A
  • else done with the frame set collisions to
    zero (n 0)
  • Jam Signal make sure all other transmitters are
    aware of collision 48 bits
  • Exponential Backoff algorithm
  • first collision (n1) choose K from 0, 1
  • after second collision (n 2) choose K from 0,
    1, 2, 3
  • after 10 collisions (n10), choose K from
    0,1,2,3,4,,1023

54
CSMA/CD efficiency
  • Tprop max. propagation delay between 2 nodes in
    LAN
  • Ttrans time to transmit a max-size frame
  • Efficiency goes to 1
  • as Tprop goes to 0
  • as Ttrans goes to infinity
  • Much better than ALOHA, but still decentralized,
    simple, and cheap
  • Best effort data delivery

55
DHCP client-server scenario
223.1.2.1
DHCP server 223.1.2.5

223.1.1.1

223.1.1.2
223.1.2.9
223.1.1.4
223.1.2.2
arriving client
223.1.1.3
223.1.3.27

DHCP server 223.1.2.5
223.1.3.2
223.1.3.1
time
56
DHCP Relay IP Tunneling
  • Either have a DHCP server on each network, or a
    DHCP-relay to forward request to server

host
Other networks
DHCP server
DHCP relay
A1
A2
Broadcast
Write a Comment
User Comments (0)
About PowerShow.com