1 15-441 computer networks ethernet ii professor hui zhang [email protected]

37
1 15-441 Computer Networks Ethernet II Professor Hui Zhang [email protected]

Upload: griselda-warner

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

1

15-441 Computer Networks

Ethernet II

Professor Hui Zhang

[email protected]

Page 2: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

2 Hui Zhang

Ethernet Frame Format

Preamble marks the beginning of the frame. Also provides clock synchronization

Source and destination are 48 bit IEEE MAC addresses. Flat address space

Hardwired into the network interface

Type field is a demultiplexing field. What network layer (layer 3) should receive this packet?

Is actually a length field in the 802.3 standard

CRC for error checking.

Preamble Type PadDest Source Data CRC

8 6 6 2 4

Page 3: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

3 Hui Zhang

Ethernet Packet Size

Why minimum size?

Why maximum size?

Page 4: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

4 Hui Zhang

Physical and Data Link

Medium Unshielded Twisted Pair (UTP)

coaxial cable: baseband, broadband

fiber: multi-mode, single mode

radio, infrared

LAN technologies Ethernet: CSMA-CD protocol

Fast Ethernet, Gigabit Ethernet

FDDI, Token Ring

ATM

WAN technologies analog transmission: modem

digital transmission: T-1, T-3, Sonet, OC-3, OC-12

ATM, frame relay

Page 5: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

5 Hui Zhang

Wireless (802.11)

Designed for use in limited geographical area (i.e., couple of hundreds of meters)

Multiple physical mediums Two based on spread spectrum radio

One based on diffused infrared

Page 6: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

6 Hui Zhang

Physical Link

Frequency hoping

Transmit the signal over multiple frequencies

The sequence of frequencies is pseudo-random, i.e., both sender and receiver use the same algorithm to generate their sequences

Direct sequence

Represent each bit by multiple (e.g., n) bits in a frame; XOR signal with a pseudo-random generated sequence with a frequency n times higher

Infrared signal

Sender and receiver do not need a clear line of sight

Limited range; order of meters

Page 7: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

7 Hui Zhang

Collision Avoidance: The Problems

Reachability is not transitive: if A can reach B, and B can reach C, it doesn’t necessary mean that A can reach C

Hidden nodes: A and C send a packet to B; neither A nor C will detect the collision!

Exposed node: B sends a packet to A; C hears this and decides not to send a packet to D (despite the fact that this will not cause interference)!

A B C D

Page 8: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

8 Hui Zhang

Multiple Access with Collision Avoidance (MACA)

Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the

transmission

Receiver respond with a Clear to Send (CTS) frame

Sender sends data

Receiver sends an ACK; now another sender can send data

When sender doesn’t get a CTS back, it assumes collision

sender receiverother node in sender’s range

RTS

CTS

ACK

data

Page 9: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

9 Hui Zhang

Summary

Problem: arbitrate between multiple hosts sharing a common communication media

Wired solution: Ethernet (use CSMA/CD protocol) Detect collisions

Backoff exponentially on collision

Wireless solution: 802.11 Use MACA protocol

Cannot detect collisions; try to avoid them

Distribution system & frame format in discussion sections

Page 10: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

10 Hui Zhang

Announcement

Hui’s office hour Regular 3:00 -4:00 pm Tuesdays

Today alone: 3:45 pm – 4:30 pm

Where 7126 Wean Hall

Page 11: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

11 Hui Zhang

Internetworking

There are many different devices for interconnecting networks.

E the rne t

R ou te r

E the rne t

E the rne t

Token -ring

B ridge

R epea te r

ATM

Page 12: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

12 Hui Zhang

Repeaters

– Used to interconnect multiple Ethernet segments

– Merely extends the baseband cable

– Amplifies all signals including collisions

Repeater

Page 13: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

13 Hui Zhang

Building Larger LANs:Bridges

Bridges connect multiple IEEE 802 LANs at layer 2.

Only forward packets to the right port

Reduce collision domain compared with single LAN

In contrast, hubs rebroadcast packets.

host host host host host

host host host host host

host

host

Bridge

Page 14: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

14 Hui Zhang

Address Lookup

Address is a 48 bit IEEE MAC address.

Next hop: output port for packet.

Timer is used to flush old entries

Size of the table is equal to the number of hosts.

Bridge

8711C98900AA 2

Address Next Hop

A21032C9A591 199A323C90842 2

301B2369011C 2695519001190 3

8:15

Info

8:36

8:01

8:16

8:11

1

3 2

A21032C9A591

695519001190

99A323C90842

8711C98900AA

301B2369011C

Page 15: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

15 Hui Zhang

Issues

How does a switch operate?

How to fill the forwarding tables?

Page 16: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

16 Hui Zhang

Switch Archicture: Generic

Input and output interfaces are connected through an interconnect

A interconnect can be implemented by

Shared memory

– low capacity routers (e.g., PC-based routers)

Shared bus

– Medium capacity routers

Point-to-point (switched) bus

– High capacity routers

input interface output interface

Inter-connect

Page 17: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

17 Hui Zhang

RouteTableCPU Buffer

Memory

LineInterface

MAC

LineInterface

MAC

LineInterface

MAC

Typically < 0.5Gbps aggregate capacityLimited by rate of shared memory

Shared Backplane

Line Interface

CPU

Memory

Slide by Nick McKeown

Architectures: First Generation

Page 18: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

18 Hui Zhang

RouteTableCPU

LineCard

BufferMemory

LineCard

MAC

BufferMemory

LineCard

MAC

BufferMemory

FwdingCache

FwdingCache

FwdingCache

MAC

BufferMemory

Typically < 5Gb/s aggregate capacityLimited by shared bus

Slide by Nick McKeown

Architectures: Second Generation

Page 19: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

19 Hui Zhang

LineCard

MAC

LocalBuffer

Memory

CPUCard

LineCard

MAC

LocalBuffer

Memory

Switched Backplane

Line Interface

CPUMemory Fwding

Table

RoutingTable

FwdingTable

Typically < 50Gbps aggregate capacity Slide by Nick McKeown

Architectures: Third Generation

Page 20: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

20 Hui Zhang

Transparent Bridges

Overall design goal: Complete transparency

– “Plug-and-play”

– Self-configuring without hardware or software changes

– Bridges should not impact operation of existing LANs

Three parts to transparent bridges:

(1) Forwarding of Frames

(2) Learning of Addresses

(3) Spanning Tree Algorithm

Page 21: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

21 Hui Zhang

Frame Forwarding

Each bridge maintains a forwarding database with entries

< MAC address, port, age>

MAC address: host name or group address

port: port number of bridge

age: aging time of entry

with interpretation:

– a machine with MAC address lies in direction of the port number from the bridge. The entry is age time units old.

Page 22: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

22 Hui Zhang

Assume a MAC frame arrives on port x.

Frame Forwarding 2

Bridge 2Port A Port C

Port x

Port B

Search if MAC address of destination is listed for ports A, B, or C.

Forward the frame on theappropriate port

Flood the frame, i.e., send the frame on all ports except port x.

Found?Notfound ?

Page 23: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

23 Hui Zhang

In principle, the forwarding database could be set statically (=static routing)

In the 802.1 bridge, the process is made automatic with a simple heuristic:

The source field of a frame that arrives on a port tells which hosts are reachable from this port.

Address Learning

Bridge 2Port A Port C

Port x

Port BLAN 3

host n

Page 24: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

24 Hui Zhang

Algorithm:

For each frame received, the source stores the source field in the forwarding database together with the port where the frame was received.

All entries are deleted after some time (default is 15 seconds).

Address Learning 2

Bridge 2Port A Port C

Port x

Port BLAN 3

host n

Page 25: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

25 Hui Zhang

Example

Bridge 2

Port1

LAN 1

A

LAN 2

CB D

LAN 3

E F

Port2

Bridge 2

Port1 Port2

•Consider the following packets: <Src=A, Dest=F>, <Src=C, Dest=A>, <Src=E, Dest=C>

•What have the bridges learned?

XX YY

Page 26: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

26 Hui Zhang

Consider the two LANs that are connected by two bridges.

Assume host n is transmitting a frame F with unknown destination.

What is happening?

Bridges A and B flood the frame to LAN 2.

Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1

Bridge A does the same.

The copying continues

Where’s the problem? What’s the solution ?

Danger of Loops

LAN 2

LAN 1

Bridge BBridge A

host n F

Page 27: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

27 Hui Zhang

The solution to the loop problem is to not have loops in the topology

IEEE 802.1 has an algorithm that builds and maintains a spanning tree in a dynamic environment.

Bridges exchange messages to configure the bridge (Configuration Bridge Protocol Data Unit, Configuration BPDUs) to build the tree.

Spanning Trees

Page 28: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

28 Hui Zhang

What do the BPDUs do?

With the help of the BPDUs, bridges can:

Elect a single bridge as the root bridge.

Calculate the distance of the shortest path to the root bridge

Each LAN can determine a designated bridge, which is the bridge closest to the root. The designated bridge will forward packets towards the root bridge.

Each bridge can determine a root port, the port that gives the best path to the root.

Select ports to be included in the spanning tree.

Page 29: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

29 Hui Zhang

Configuration BPDUs

time since root sent a

message on

which this message is based

DestinationMAC address

Source MACaddress

ConfigurationMessage

protocol identifier

version

message type

flags

root ID

Cost

bridge ID

port ID

message age

maximum age

hello time

forward delay

Set to 0 Set to 0Set to 0

lowest bit is "topology change bit (TC bit)

ID of root Cost of the path from the

bridge sending thismessage

priority of configurable interface

(used for loop detection)

ID of bridge sending this message

Time between

recalculations of the

spanning tree

(default: 15 secs)

Time between

BPDUs from the root

(default: 1sec)

Page 30: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

30 Hui Zhang

Concepts

Each bridge as a unique identifier:

Bridge ID = <MAC address + priority level>Note that a bridge has several MAC addresses

(one for each port), but only one ID

Each port within a bridge has a unique identifier (port ID).

Root Bridge: The bridge with the lowest identifier is the root of the spanning tree.

Path Cost: Cost of the least cost path to the root from the port of a transmitting bridge; Assume it is

measured in #Hops to the root.

Root Port: Each bridge has a root port which identifies the next hop from a bridge to the root.

Page 31: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

31 Hui Zhang

Concepts

Root Path Cost: For each bridge, the cost of the min-cost path to the root

Designated Bridge, Designated Port: Single bridge on a LAN that provides the minimal cost path to the root for this LAN:

- if two bridges have the same cost, select the one with highest priority

- if the min-cost bridge has two or more ports on the LAN, select the port with the lowest

identifier

Note: We assume that “cost” of a path is the number of “hops”.

Page 32: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

32 Hui Zhang

Steps of Spanning Tree Algorithm

1. Determine the root bridge

2. Determine the root port on all other bridges

3. Determine the designated port on each LAN

Each bridge is sending out BPDUs that contain the following information:

root bridge (what the sender thinks it is) root path cost for sending bridge

Identifies sending bridge

root IDroot ID costcost bridge ID/port IDbridge ID/port ID

Page 33: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

33 Hui Zhang

Ordering of Messages

We can order BPDU messages with the following ordering relation ““:

If (R1 < R2)

M1 M2

elseif ((R1 == R2) and (C1 < C2))

M1 M2

elseif ((R1 == R2) and (C1 == C2) and (B1 < B2))

M1 M2

ID R1ID R1 C1C1 ID B1 ID B1 ID R2ID R2 C2 C2 ID B2ID B2M1 M2

Page 34: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

34 Hui Zhang

Initially, all bridges assume they are the root bridge.

Each bridge B sends BPDUs of this form on its LANs:

Each bridge looks at the BPDUs received on all its ports and its own transmitted BPDUs.

Root bridge is the smallest received root ID that has been received so far (Whenever a smaller ID arrives, the root is updated)

Determine the Root Bridge

BB 00 BB

Page 35: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

35 Hui Zhang

At this time: A bridge B has a belief of who the root is, say R.

Bridge B determines the Root Path Cost (Cost) as follows:

– If B = R : Cost = 0.

– If B R: Cost = {Smallest Cost in any of BPDUs that were

received from R} + 1

B’s root port is the port from which B received the lowest cost path to R (in terms of relation ““).

Knowing R and Cost, B can generate its BPDU (but will not necessarily send it out):

Calculate the Root Path CostDetermine the Root Port

RR CostCost BB

Page 36: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

36 Hui Zhang

At this time: B has generated its BPDU

B will send this BPDU on one of its ports, say port x, only if its BPDU is lower (via relation ““) than any BPDU that B received from port x.

In this case, B also assumes that it is the designated bridge for the LAN to which the port connects.

Calculate the Root Path CostDetermine the Root Port

RR CostCost BB

Bridge BPort A Port C

Port x

Port B

Page 37: 1 15-441 Computer Networks Ethernet II Professor Hui Zhang hzhang@cs.cmu.edu

37 Hui Zhang

Selecting the Ports for the Spanning Tree

At this time: Bridge B has calculated the root, the root path cost, and the designated bridge for each LAN.

Now B can decide which ports are in the spanning tree:

– B’s root port is part of the spanning tree

– All ports for which B is the designated bridge are part of the spanning tree.

B’s ports that are in the spanning tree will forward packets (=forwarding state)

B’s ports that are not in the spanning tree will not forward packets (=blocking state)