Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fall 2004FSU CIS 5930 Internet Protocols1 Transparent Bridges Reading: Chapter 12.

Similar presentations


Presentation on theme: "Fall 2004FSU CIS 5930 Internet Protocols1 Transparent Bridges Reading: Chapter 12."— Presentation transcript:

1 Fall 2004FSU CIS 5930 Internet Protocols1 Transparent Bridges Reading: Chapter 12

2 Fall 2004FSU CIS 5930 Internet Protocols2 Basics of Transparent bridges Work at Data-Link Layer –Different MAC layers can be used on different subnet (port) of a bridge Transparent –Stations/routers need not to know the existence of a bridge Forwarding and filtering –Only forward packet to necessary subnet

3 Fall 2004FSU CIS 5930 Internet Protocols3 An example Station AStation B Linux bridge LAN 1 802.3 LAN 2 802.3u LAN 3 802.11

4 Fall 2004FSU CIS 5930 Internet Protocols4 Forwarding function Forwarding table –MAC address If destination MAC is in table –Forward to the corresponding subnet ONLY Otherwise –Flooding to all ports except the incoming port

5 Fall 2004FSU CIS 5930 Internet Protocols5 Forwarding function (example 1) Station A LAN 1 LAN 2 LAN 3 BA Station C Station B BA

6 Fall 2004FSU CIS 5930 Internet Protocols6 Forwarding (example 2) Station A LAN 1 LAN 2 LAN 3 CA Station C Station B

7 Fall 2004FSU CIS 5930 Internet Protocols7 Forwarding (example 3) Station A LAN 1 LAN 2 LAN 3 EA Station C Station B EA EA

8 Fall 2004FSU CIS 5930 Internet Protocols8 Learning Function How the forwarding table is populated –Static configuration –Self-learning Backward learning –Learning the address of someone when he is talking –MAC address, no hierarchical structure –Time stamp to delete “old” entries

9 Fall 2004FSU CIS 5930 Internet Protocols9 Implementation Architecture Data structures Forwarding function Learning new MAC address

10 Fall 2004FSU CIS 5930 Internet Protocols10 Architecture of Bridge Implementation br_input.c dev.c net_rx_action br_handle_frame br_ioctl Bridge Configuraion br_fdb.c, br_if.c, br_stp.c, br_stp_bpdu,... br_pass_frame_up dev.c netif_rx Spanning Tree Protocol Forwarding DataBase br_handle_ stp_pdu br_send_tcn_bpdu(..) br_send_config_bpdu(..) br_ioctl.c Higher layers br_forward.c br_flood br_forward dev.c dev_queue_xmit br_fdb_get(..)

11 Fall 2004FSU CIS 5930 Internet Protocols11 Data structures next lock port_list dev net_bridge statistics hash_lock hash[ BR_HASH_SIZE ] Spanning Tree... timer1 next_hash pprev_hash use_counter addr net_bridge_fdb_entry dst aging_timer is_local is_static net_bridge_fdb_entry 0 1 2 BR_HASH- SIZE -1 bridge_list net_bridge...... next net_bridge net_device port_no net_bridge_port Spanning Tree... forward_delay_timer hold_timer message_age_timer forward_delay_timer hold_timer message_age_timer net_bridge_port next_hash pprev_hash use_counter addr net_bridge_fdb_entry dst aging_timer is_local is_static

12 Fall 2004FSU CIS 5930 Internet Protocols12 Bridge forwarding function net_rx_action() when soft IRQ is handled –For a bridge, it calls br_handle_frame_hook(), which points to br_handle_frame() Check if the packet needs to be forwarded –By br_fdb_get() –If so, br_forward() Learning the position of the source by br_fdb_put() If the packet is for ourselves, br_pass_frame_up()

13 Fall 2004FSU CIS 5930 Internet Protocols13 Forwarding fuctions br_handle_frame() br_forward() br_flood() br_pass_frame_up() br_fdb_get()

14 Fall 2004FSU CIS 5930 Internet Protocols14 Learning MAC addresses br_fdb_insert() –br_mac_hash() br_fdb_cleanup() gc_timer –gc_interval


Download ppt "Fall 2004FSU CIS 5930 Internet Protocols1 Transparent Bridges Reading: Chapter 12."

Similar presentations


Ads by Google