Spring 2006 - PowerPoint PPT Presentation

1 / 76
About This Presentation
Title:

Spring 2006

Description:

I have posted the download instruction for Cygwin and Putty today. Cygwin's download instruction is outdated but I think that you can follow the instruction. ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 77
Provided by: lyle1
Category:
Tags: cygwin | spring

less

Transcript and Presenter's Notes

Title: Spring 2006


1
Spring 2006 EE 5304/EETS 7304 Internet Protocols
Lecture 4 Bridges
Tom Oh Dept of Electrical Engineering taehwan_at_engr
.smu.edu
2
Administrative Issues
  • I have posted the download instruction for Cygwin
    and Putty today. Cygwins download instruction
    is outdated but I think that you can follow the
    instruction.
  • I will try to list the page numbers from our text
    book relevant to each topic
  • I will post the second home this week.

3
Outline
  • Bridges (Pg. 164 Comer)
  • Transparent learning bridges (Pg. 165 Comer)

4
Bridges to Interconnect LANs
  • Work at MAC sublayer (data link layer)
  • Assuming higher layers are same
  • Motivation practically, each LAN may be limited
    in number of stations, size, and total bandwidth

5
Advantages of Bridges
  • Overcome physical constraints users on distant
    LANs can communicate, total number of stations
    can increase by adding LAN segments
  • Allows different user communities to have
    separate LANs but stay interconnected
  • In this case, intra-LAN traffic is much more than
    inter-LAN
  • Bridges can monitor and manage each LAN segment

6
Advantages (cont)
  • More reliable and serviceable
  • Fault in a LAN segment can be isolated from other
    segments
  • More security is possible
  • Main disadvantage is performance
  • Frames going through bridges may be delayed,
    lost, misordered, or errored

7
Transparent Learning Bridges (IEEE 802.1)
  • Function is to make interconnected LANs look like
    one LAN to all stations, by store-and-forwarding
  • Bridge reads all frames on LAN A and stores those
    addressed to LAN B
  • Waits for free channel, retransmits buffered
    frames onto B using its MAC protocol
  • Does same thing from LAN B to LAN A

8
Transparent Learning Bridges (cont)
  • Advantages
  • No extra work or modification is required by
    stations (bridge is "transparent")
  • Both LANs can be transmitting simultaneously
    without collision
  • Filtering is necessary if bridge repeats all
    traffic, then both LANs will see combined
    traffic, causing bad performance (like a large
    LAN)
  • Performance depends on most traffic staying
    intra-LAN

9
Transparent Learning Bridges (cont)
  • Bridge functions
  • Stores frames from LAN and forwards as necessary
  • Learns station addresses when stations transmit a
    frame
  • Resolves possible loops in topology through a
    spanning tree algorithm
  • Spanning tree is used to broadcast frames when
    destination station has unknown location

10
Transparent Learning Bridges (cont)
  • Contains routing table (or forwarding database)

11
Transparent Learning Bridges (cont)
  • Associates an outgoing port for each known
    destination station
  • When frame is received, the dest. address is
    looked up in database
  • If frame arrives on same port as in database,
    frame is discarded means already on correct LAN
  • If frame arrives on different port, frame is
    forwarded to specified port
  • If address is not found, frame is transmitted on
    ports determined by spanning tree algorithm
    except the port where it was received

12
Transparent Learning Bridges (cont)
  • Learning algorithm to update routing directory
  • For every received frame, bridge records incoming
    port and source address
  • Finds source address in database
  • If not there, it is added with incoming port
  • If there with different port , then port is
    updated
  • If there with same port , no change
  • In all cases, start a timer
  • When time-out, then entry is assumed out-of-date
    and removed

13
Transparent Learning Bridges (cont)
  • Spanning tree algorithm to resolve loops (if
    loops are possible)
  • Loops can cause problem in learning algorithm

14
Transparent Learning Bridges (cont)
  • Station Y sends a frame to station X through two
    bridges at time T0
  • Bridge A forwards frame to LAN 1, then bridge B
    forwards its frame later
  • Station X gets two copies of frame
  • When bridge A forwards frame to LAN 1, bridge B
    will think station Y is on LAN 1 (frame contains
    source and dest. addresses)
  • Later, bridge A will think the same when bridge B
    forwards frame

15
Transparent Learning Bridges (cont)
  • By spanning tree algorithm, bridges decide on a
    spanning tree to prevent loops

16
Wrap Up
  • Bridges allow transparent interconnection of LAN
    segments
  • Work at MAC layer
  • Transparent learning bridges automatically build
    routing tables by learning locations of stations
    when they transmit
  • Spanning tree is used to broadcast frames to
    stations with unknown locations

17
Spring 2006 EE 5304/EETS 7304 Internet Protocols
Lecture 4
Network layer, routing considerations
Tom Oh Dept of Electrical Engineering taehwan_at_engr
.smu.edu
18
Outline
  • Network layer
  • Routing considerations

19
Network Layer (OSI Layer 3)
- hides details of network from applications -
end to end reliability, flow control
Transport
Layer 4
- routing, congestion control, connection control
Network
Layer 3
- hides details of physical layer from network -
adds reliability, synchronization, flow control
Data link
Layer 2
- unguaranteed, unstructured bitstream
transmission
Physical
Layer 1
20
Network Layer (cont)
  • Network layer uses services of data link layer
    (reliable point-to-point transmission between
    nodes) and adds packet switching for end-to-end
    connectivity
  • Provides end-to-end delivery of packets as
    service to higher transport layer
  • Can offer connectionless or connection-oriented
    service
  • Establishes and manages connections through
    subnet (if connection-oriented)

21
Network Layer (cont)
  • Determines routes for packets from sender to
    destination
  • Exercises congestion control to maintain network
    efficiency during heavy traffic loads
  • Allows transport layer to send data from host to
    host without need to know network details
  • Unlike other layers, nodes need to share
    information among themselves to make decisions
  • Routing protocol adds complexity

22
Network Layer - Issues
  • Routing how to select the best route through the
    network
  • Congestion control global problem of too much
    traffic for limited resources (vs flow control)
  • Addressing how to identify hosts and nodes
  • Internetworking how to deliver packets across
    network of different networks

23
Routing Considerations
  • Routing determines a path through the network
    when more than one path is possible
  • Sometimes no choice, e.g., no routing in
    hierarchical topologies (eg, trees)
  • 1. Connection-oriented or connectionless?
  • Connection-oriented
  • Requires computation and set-up of path (virtual
    circuit) before any packets are sent
  • Virtual" because circuit is not reserved
    packets from different virtual circuits can share
    same path and same physical links

24
Routing (cont)
  • During set-up, hosts can specify requirements,
    eg, bandwidth, max. delay
  • Network has chance to reject (block) connection
    or reserve resources for connection
  • Each node along route knows next node to forward
    packets
  • Packets of same virtual circuit maintain their
    sequential order
  • Vulnerable to node/link failures

25
Routing (cont)
  • Connectionless
  • Path for each packet (datagram) is computed
    independently
  • No set-up or disconnect phases
  • No reservations, so usually "best-effort" type of
    network service
  • More processing nodes make a routing decision
    for each datagram
  • Datagrams may arrive at destination node out of
    original sequence
  • More reliable and adaptive to failures

26
Routing (cont)
  • 2. Routing algorithm to select best route
    according to some criteria
  • Requires information from other nodes that's
    exchanged cooperatively
  • Complicated by failures and congestion
  • Examples of routing algorithms flooding,
    deflection routing, random routing, source
    routing, least cost (shortest distance) routing

27
Routing (cont)
  • 3. Issues
  • Where are decisions made? each node (hop-by-hop
    routing), central node (centralized routing), or
    source node (source routing)
  • Is decision made per packet (datagram) or per
    session (virtual circuit)?
  • Static (routing info. is changed only for
    topology changes) or adaptive (routing info. is
    changed continuously or periodically) or random?

28
Routing (cont)
  • Issues (cont)
  • How much information is available? none, local
    (each node uses own info.), adjacent nodes, or
    all nodes (centralized)
  • What are performance criteria (routing metric)?
    number of hops, cost per link, delay,
    throughput,...

29
Routing (cont)
  • 3. Routing tables
  • Virtual circuit (connection-oriented)
  • Routing table is updated during connection set-up
    phase
  • All packets of same virtual circuit follow same
    route
  • Routing table incoming link and virtual circuit
    ID, outgoing link and virtual circuit ID
  • Why translate virtual circuit ID? global IDs
    will limit number of connections, and time
    consuming to find unused ID
  • Advantages no routing decision per packet
    packets maintain sequential order
  • Disadvantages link or node failure can bring
    down virtual circuit

30
Routing (cont)
  • Example

IN
OUT
link
VC
link
VC
in-link1
X1 X2
out-link5 out-link2
Y1 Y2
in-link2
W1 W2
out-link4 out-link8
Z1 Z2
31
Routing (cont)
  • Datagrams (connectionless)
  • Route of each packet is decided independently
  • Routing table destination, outgoing link or
    next node, cost
  • For given destination, choose outgoing link based
    on some cost measure, eg, distance
  • Advantages adaptability to changing network
    conditions (e.g., link or node failures,
    congestion)
  • Disadvantages more processing per packet
    sequential order of packets is not maintained

32
Routing (cont)
  • Example

Dest.
Outgoing link
Cost
A
outlink1 outlink2
X1 X2
B
outlink1 outlink2
Y1 Y2
33
Routing (cont)
  • 4. Routing protocol (or update algorithm)
    protocol to share information to update tables
  • Is routing static or dynamic?
  • Update time more frequent is more accurate, but
    more overhead
  • Consistency keep accurate and same information
    at all nodes

34
Routing (cont)
  • 5. Levels of routing
  • In large networks (internets), packets may travel
    within subnets and between multiple subnets
  • Autonomous system (TCP/IP terms) or routing
    domains (OSI terms) subnetwork or group of
    subnetworks under single administration
  • Nodes in same routing domain are interior routers
    or gateways (TCP/IP) or intradomain intermediate
    systems - ISs (OSI)
  • Each has own interior gateway protocol (TCP/IP)
    or intradomain IS-IS protocol (OSI)

35
Routing (cont)
  • Nodes exchange routing information and make
    routing decisions-- protocol is determined by
    administration
  • RIP (routing information protocol) earlier and
    OSPF (open shortest path first) are widely used
  • Autonomous systems are connected through exterior
    routers or gateways (TCP/IP terms) or interdomain
    ISs (OSI terms)
  • Must conform to a standard protocol for
    interconnectivity, eg, BGP (border gateway
    protocol)

36
Layered Routing
Inter-AS routing
Autonomous systems
Intra-AS routing
37
Spring 2006 EE 5304/EETS 7304 Internet Protocols
Routing algorithms
Tom Oh Dept of Electrical Engineering taehwan_at_engr
.smu.edu
38
Outline
  • Static routing (Comer Pg211, 399 and 400)
  • Source routing
  • Flooding (Comer Pg. 14)
  • Dijkstras algorithm
  • Bellman-Ford algorithm

39
Static Routing
  • Routes are computed once and programmed into
    switches routing tables
  • Routes do not change
  • Suitable if network topology and traffic patterns
    do not change much

40
Source Routing
  • Sender decides on route for each packet
  • Route is specified within packet header
  • Switches read packet header and forward packet
    along route
  • Suitable when sender wants a certain route (e.g.,
    for testing) or avoid other routes (e.g.,
    competitors networks)
  • Costs
  • Extra fields in packet header
  • Processing burden on sender to discover routes

41
Flooding
  • Flooding is used to broadcast topology changes to
    all nodes or when exact location of destination
    is unknown
  • Advantages
  • Simple
  • Needs no network information or routing tables
  • Robust for failure-prone networks
  • Shortest path is always found

42
Flooding (cont)
  • Source node broadcasts packets to all neighbors,
    these broadcast to their neighbors, etc.
  • Various methods to prevent infinite number of
    packets
  • Node does not broadcast packet back on incoming
    link
  • Packet has unique ID (eg, source node number,
    sequence number)
  • If a node receives a duplicate copy, it discards
    the packet
  • Packet keeps hop count
  • Discarded when hop count reaches a limit

43
Flooding (cont)
  • Alternatively, broadcast only along spanning tree
  • Spanning tree is subset of connectivity graph
    that connects all nodes with no cycles
  • Spanning tree must be maintained and updated
    somehow

44
Flooding (cont)
2
2
1
1
3
3
3
2
2
3
A
A
3
2
1
1
3
3
2
2
Flooding by broadcasting
Flooding along spanning tree
45
Random routing
  • Outgoing link for a packet is chosen randomly
    according to set of probabilities
  • Probabilities could be based on link rate or
    other fixed link info. to distribute traffic
    uniformly
  • Simple and requires no network information, but
    routes are sub-optimal and looping must be
    prevented

46
Deflection (Hot Potato) Routing
  • Objective is get rid of packets as quickly as
    possible, based on only local information
  • Put outgoing packet on shortest output queue
  • Minimizes chance of buffer overflow, but packet
    may not get closer to destination node
  • Can be combined with static routing
  • Each packet has assigned link (according to table
    lookup)
  • If more than one packet are contending for same
    link, one succeeds, others are deflected

47
Least Cost (or Shortest Distance) Routing
  • Assume knowledge of entire network
  • Network is represented by graph of nodes and
    links
  • Each link has assigned length or more generally
    "cost" (eg, function of distance, capacity, load,
    delays, etc.)
  • Objective is find route between
    source-destination nodes with smallest total
    length or least cost
  • 2 widely used algorithms
  • Dijkstra (link-state routing protocols)
  • Bellman-Ford (vector-distance routing protocols)

48
Least Cost Routing (cont)
2
2
4
4
3
6
3
A
A
2
2
4
1
1
1
1
3
3
Network graph
Spanning tree representing least-cost routes from
node A to all other nodes
49
Dijkstras Algorithm
  • Each node has label (X,Y) where X is previous
    node and Y is distance from source node along
    best known path (up to that time)
  • Label is either tentative or permanent
  • Becomes permanent when it represents the shortest
    possible path from source node
  • Algorithm proceeds to find shortest paths from
    source node to all other nodes, in increasing
    order of distance

50
Dijkstras Algorithm (cont)
  • Proceeds in stages
  • By stage k, will have found k shortest paths from
    source node
  • These nodes are included in set M
  • At next stage, shortest path is found to a node
    not in M, this node is added to M
  • Ends when M includes all nodes
  • Result is shortest path spanning tree with root
    at source node

51
Dijkstras Algorithm (cont)
  • Notation
  • 1 source node
  • cij distance (cost) between nodes i and j
  • M set of permanent nodes found so far
  • (X,Y) node label
  • X previous node
  • Y distance from source node to this node

52
Initialize all node labels to (-,8). Add node 1
to set M M1
From last node added to M, update the labels at
neighboring nodes if shorter distance can be
found, change node label to shortest route.
Until M includes all nodes
Among the nodes not currently in M, choose node
with smallest distance in its label. Make
this node permanent and add to M.
53
Dijkstras Algorithm - Example Graph
5
2
3
3
5
2
3
1
6
1
2
2
1
1
4
5
54
Initialize node labels. Add node 1 to set M
M1.
(-,8)
(-,8)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(-,8)
(-,8)
54
55
Update labels at neighboring nodes from node 1.
(1,2)
(1,5)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(-,8)
56
Choose node 4 to add to M M1,4. Make 4
permanent.
(1,2)
(1,5)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(-,8)
57
Update labels at neighboring nodes from node 4.
(1,2)
(4,4)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
58
Choose 2 (or 4) to add to M M1,4,2. Make 2
permanent.
(1,2)
(4,4)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
59
From 2, update labels at neighboring nodes.
(1,2)
(4,4)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
59
60
Choose 5 to add to M M1,4,2,5. Make 5
permanent.
(1,2)
(4,4)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
61
From 5, update labels at neighboring nodes.
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
62
Choose 3 to add to M M1,4,2,5,3. Make 3
permanent.
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
63
From 3, update label at node 6.
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
64
Add 6 to M M1,4,2,5,3,6. Make 6 permanent.
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
65
Spanning tree representing least cost routes
(1,2)
(5,3)
2
3
(5,4)
(-,0)
1
6
4
5
(1,1)
(4,2)
66
Dijkstras Algorithm - Table Form
M
Node 2
Node 3
Node 4
Node 5
Node 6
1
(1,2)
(1,5)
(1,1)
(-,8)
(-,8)
1,4
(4,4)
(4,2)
(1,2)
(1,1)
(-,8)
1,4,2
(4,4)
(1,2)
(1,1)
(4,2)
(-,8)
1,4,2,5
(5,3)
(5,4)
(1,2)
(1,1)
(4,2)
1,4,2,5,3
(5,3)
(5,4)
(1,2)
(1,1)
(4,2)
1,4,2,5,3,6
(5,3)
(5,4)
(1,2)
(1,1)
(4,2)
67
Bellman-Ford Algorithm
  • Bellman's optimality principle if path is
    optimal, any segment (between any two nodes)
    along this path must be optimal between those two
    nodes
  • Algorithm proceeds to find shortest paths from
    source node to all nodes, in increasing order of
    number of hops
  • Find shortest path of 1 hop (max.), then shortest
    path of 2 hops (max.), etc.
  • Stop when next iteration does not change anything

68
Bellman-Ford Algorithm (cont)
  • Proceeds in iterations
  • Each node is responsible for updating its own
    label in each iteration
  • Node looks at routes through all of its neighbors
  • Chooses neighbor with shortest route
  • Ends when no more changes
  • Result is shortest path spanning tree with root
    at source node

69
Initialize all node labels to (-,8) except source
node label is (-,0)
Each node calculates routes through all
neighbors.
Iterate until no more changes
Choose shortest route and update label if
necessary.
70
Example Initialize node labels.
(-,8)
(-,8)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(-,8)
(-,8)
71
Iteration 1 each node calculates routes through
all neighbors, chooses shortest route, updates
labels if necessary.
(1,2)
(1,5)
5
2
3
3
5
2
(-,8)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(-,8)
72
Iteration 2
(1,2)
(4,4)
5
2
3
3
5
2
(3,10)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
73
Iteration 3
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
74
Iteration 4 no change ? stop
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
75
Node labels define shortest path spanning tree
(same as before)
(1,2)
(5,3)
5
2
3
3
5
2
(5,4)
3
(-,0)
1
6
1
2
2
1
1
4
5
(1,1)
(4,2)
76
Bellman-Ford Algorithm - Table Form
iteration
Node 2
Node 3
Node 4
Node 5
Node 6
0
(-,8)
(-,8)
(-,8)
(-,8)
(-,8)
1
(1,5)
(1,2)
(1,1)
(-,8)
(-,8)
2
(4,4)
(1,2)
(1,1)
(4,2)
(3,10)
3
(5,3)
(5,4)
(1,2)
(1,1)
(4,2)
4
(5,3)
(5,4)
(1,2)
(1,1)
(4,2)
Write a Comment
User Comments (0)
About PowerShow.com