Virtual Local Area Networks A look at how the Intel 82573L nic supports IEEE standard 802.1q for ethernet VLANs.

Slides:



Advertisements
Similar presentations
© 2006 Cisco Systems, Inc. All rights reserved. ICND v2.3—2-1 Extending Switched Networks with Virtual LANs Introducing VLAN Operations.
Advertisements

Ethernet “dominant” LAN technology: cheap $20 for 100Mbs!
Hardware ‘flow control’ How we can activate our NIC’s ability to avoid overwhelming the capacities of its ‘link partner’
More 82573L details Getting ready to write and test a character-mode device-driver for our anchor-LAN’s ethernet controllers.
Receiver ‘packet-splitting’
What’s needed to receive? A look at the minimum steps required for programming our 82573L nic to receive packets.
1 Fall 2005 Hardware Addressing and Frame Identification Qutaibah Malluhi CSE Department Qatar University.
Hardware-address filtering How can we send packets to just one node on our ‘anchor’ cluster?
Exploring a modern NIC An introduction to programming the Intel 82573L gigabit ethernet network interface controller.
Computer Network 實踐資管 Wang-Jiunn Cheng 2004 PART IV-2 Local Area Networks (LANs) Frame.
Our ‘recv1000.c’ driver Implementing a ‘packet-receive’ capability with the Intel 82573L network interface controller.
Our ‘nic.c’ module We create a ‘character-mode’ device-driver for the 82573L NIC to use in futrure experiments.
Ethernet: CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Access method: method of controlling how network nodes access communications.
Larger Site Networks Part2. 2 Ethernet Virtual LANs Hubs versus Switches –Hubs broadcast bits out all ports –Switches usually send a frame out a one port.
What’s needed to transmit? A look at the minimum steps required for programming our 82573L nic to send packets.
What’s needed to transmit? A look at the minimum steps required for programming our anchor nic’s to send packets.
CS335 Networking & Network Administration Tuesday, April 13, 2010.
Hardware-address filtering How can we send packets to just one node on our ‘anchor’ cluster?
What’s needed to receive? A look at the minimum steps required for programming our anchor nic’s to receive packets.
Jan 10, 2008CS573: Network Protocols and Standards1 Virtual LANs Network Protocols and Standards Winter
1 K. Salah Module 4.3: Repeaters, Bridges, & Switches Repeater Hub NIC Bridges Switches VLANs GbE.
(part 3).  Switches, also known as switching hubs, have become an increasingly important part of our networking today, because when working with hubs,
Connecting LANs, Backbone Networks, and Virtual LANs
TCP/IP Networking sections 13.2,3,4,5 Road map: TCP, provide connection-oriented service IP, route data packets from one machine to another (RFC 791) ICMP,
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 3: Implementing VLAN Security Routing And Switching.
IEEE 802.1q - VLANs Nick Poorman.
Packet Transmission (Part III) Local Area Networks (LANs)
VLAN Trunking Protocol
Brierley 1 Module 4 Module 4 Introduction to LAN Switching.
Virtual Networking. Module Objectives By the end of this module participants will be able to: Understand the use of virtual LANs Create VLAN subinterfaces.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
S3C2 – LAN Switching Addressing LAN Problems. Congestion is Caused By Multitasking, Faster operating systems, More Web-based applications Client-Server.
1 Ethernet & IEEE Cisco Section 7.3 Stephanie Hutter October 2000.
VIRTUAL LANS. A station is considered part of a LAN if it physically belongs to that LAN. The criterion of membership is geographic What happens if we.
NS Training Hardware.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Cisco 3 - Switching Perrine. J Page 16/4/2016 Chapter 4 Switches The performance of shared-medium Ethernet is affected by several factors: data frame broadcast.
Chapter 7 Backbone Network. Announcements and Outline Announcements Outline Backbone Network Components  Switches, Routers, Gateways Backbone Network.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
1 Ch 9 Hardware Addressing and Frame Type Identification.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
STORE AND FORWARD & CUT THROUGH FORWARD Switches can use different forwarding techniques— two of these are store-and-forward switching and cut-through.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Copyright Kenneth M. Chipps Ph.D. Ethernet Frame Format Last Update
Ch 13. Wired LANs: Ethernet IEEE Standards Project 802 launched in 1985 – To set standards to enable intercommunication among equipment from a variety.
Switching Topic 2 VLANs.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 16 Connecting LANs, Backbone Networks, and Virtual LANs.
Virtual Local Area Networks (VLANs) Part II
VLANs Last Update Copyright Kenneth M. Chipps Ph.D.
1 VLANs Relates to Lab 6. Short module on basics of VLAN switching.
1 Hardware Addressing and Frame Type Identification.
CISCO NETWORKING ACADEMY Chabot College ELEC Ethernet Switches.
Ethernet Virtual LANs Hubs versus Switches –Hubs broadcast bits out all ports –Switches usually send a frame out a one port More fundamentally –In unicasting,
CCNA3 Module 4 Brierley Module 4. CCNA3 Module 4 Brierley Topics LAN congestion and its effect on network performance Advantages of LAN segmentation in.
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:
ETHERNET Yash Vaidya. Introduction Ethernet is a family of computer networking technologies for local area networks (LANs). Ethernet was commercially.
Ethernet Packet Filtering - Part1 Øyvind Holmeide Jean-Frédéric Gauvin 05/06/2014 by.
1 Kyung Hee University Chapter 13 Wired LANs: Ethernet.
Instructor Materials Chapter 6: VLANs
Part III Datalink Layer.
VLANs: Virtual Local Area Networks
Chapter 7 Backbone Network
Ethernet : Framing and Addressing
Routing and Switching Essentials v6.0
Protocol layering and data
Implementing an OpenFlow Switch on the NetFPGA platform
Part III Datalink Layer.
Protocol layering and data
Presentation transcript:

Virtual Local Area Networks A look at how the Intel 82573L nic supports IEEE standard 802.1q for ethernet VLANs

What is a LAN? switched hub All the workstations and servers which are physically connected via switches and hubs would comprise the Local Area Network When a broadcast-packet gets transmitted by ANY station on the LAN, it gets received by ALL of the other stations on that LAN

Dividing the network traffic switched hub In order to physically segregate the network traffic -- and reduce the congestion caused by broadcast-packets going to all the stations -- the network manager needs to purchase a separate switched hub.

What is a ‘Virtual’ LAN? switched hub Different subsets of the stations belonging to the same physical LAN can remain logically interconnected, while at the same time being kept logically separate from stations which do not share membership in a designated subset – all without the need to buy another switch

IEEE 802.1q A standard way for implementing VLANs was promulgated by the IEEE in 1997, so nowadays most network controllers would provide optional built-in hardware support for VLAN controls based on this standard The mechanism involves ‘tagging’ packets with a small amount of extra information, then using that information to do ‘filtering’ of ‘tagged’ packets as they are received

Standard IEEE Ethernet Frame format Ethernet-frame “tagging” preambleSFDDASAT/LdataCRC preambleSFDDASAT/LdataCRCTPIDTAG User priority CFI VLAN identifier delay TPID (Tag Protocol Identifier) = 0x8100 CFI (Canonical Format Indicator) = 0 (for ethernet) SFD (Start-of-Frame Deliniter) Extra information is inserted

User priority values (802.1p) User priorityTraffic Type 7 (highest)Network Management 6Voice (delay < 10ms) 5Video (delay < 100ms) 4Controlled Load 3Excellent Effort 2Undefined 1 (lowest)Background 0Best Effort

Elements for VLAN support Device Control register: bit 30 (VME) Receive Control register: bit 18 (VFE) VLAN Ether Type register: bits (VET) VLAN Filter-Table Array: 0x5600 – 0x57FF Fields within the Tx Descriptors Fields within the Rx Descriptors

Device Control (0x0000) PHY RST VME R =0 TFCERFCE RST R =0 R =0 R =0 R =0 R =0 ADV D3 WUC R =0 D/UD status R =0 R =0 R =0 R =0 R =0 FRC DPLX FRC SPD R =0 SPEED R =0 SLUSLU R =0 R =0 R =1 0 FDFD GIO M D R = FD = Full-DuplexSPEED (00=10Mbps, 01=100Mbps, 10=1000Mbps, 11=reserved) GIOMD = GIO Master DisableADVD3WUP = Advertise Cold Wake Up Capability SLU = Set Link UpD/UD = Dock/Undock statusRFCE = Rx Flow-Control Enable FRCSPD = Force SpeedRST = Device ResetTFCE = Tx Flow-Control Enable FRCDPLX = Force DuplexPHYRST = Phy ResetVME = VLAN Mode Enable 82573LWe must set bit 30 to enable our NIC’s “VLAN mode” operation

VLAN Ether Type (0x0038) This lower 16-bits of this register specifies the value that our network controller will insert as the 2-byte Tag Protocol Identifier (TPID) field. (This standard value of 0x8100 will be recognized by other hardware as signifiying that an ethernet packet is “tagged” for VLAN delivery.)

Legacy Tx Descriptors BASE_ADDRESS LENGTHSPECIAL STATUS CMD CKSUM OFFSET CKSUM START The VLAN Tag goes here IDEIDE VLEVLE DEXTDEXT 0 RSRS ICIC IFCSIFCS EOPEOP And the VLE-bit (VLAN Packet Enable) is set in the descriptor’s command-field

Receive Control (0x0100) R =0 00 FLXBUF SE CRC BSEX R =0 PMCF DPF R =0 CFI EN VFE BSIZE BAMBAM R =0 MODTYPRDMTS ILOSILOS SLUSLU LPEUPE 0 R = SBP ENEN LBMMPE EN = Receive Enable DTYP = Descriptor TypeDPF = Discard Pause Frames SBP = Store Bad Packets MO = Multicast OffsetPMCF = Pass MAC Control Frames UPE = Unicast Promiscuous Enable BAM = Broadcast Accept ModeBSEX = Buffer Size Extension MPE = Multicast Promiscuous Enable BSIZE = Receive Buffer SizeSECRC = Strip Ethernet CRC LPE = Long Packet reception Enable VFE = VLAN Filter EnableFLXBUF = Flexible Buffer size LBM = Loopback ModeCFIEN = Canonical Form Indicator Enable RDMTS = Rx-Descriptor Minimum Threshold SizeCFI = Canonical Form Indicator bit-value We must set bit 18 to enable the receive-engine’s “VLAN Filtering” operation

Legacy Rx Descriptors BASE_ADDRESS LENGTHVLAN Tag STATUS CHECKSUM ERRORS PIFPIF IPCSIPCS TTPCSTTPCS UDPCSUDPCS VPVP IXSMIXSM EOPEOP DDDD And the VLAN Tag will be placed here The VP-bit (VLAN Packet) will be set in the descriptor status byte if the received packet’s Type matched the VET register-value

VLAN Filter-Table Array (0x5600) The VLAN Filter-Table Array is a series of 128 consecutive 32-bit registers within the NIC’s i/o-memory address-space which is used to define a “packet-filtering” bitmap … ‘1’ means that a tagged packet will be accepted ‘0’ means that a tagged packet will be ‘dropped’ The VLAN-Identifier value selects a bit within this bitmap

The Filter-Table arithmetic The 12-bit VLAN Identifier in a packet’s receive-descriptor functions as a “table- lookup” index into this 4096-bit bitmap: register_offset = ( vlan_id / 32 ) * 4; bit_selection = ( vlan_id % 32 );

Our ‘tryvlan.c’ module Here’s a ‘drop in’ replacement for our prior ‘nic.c’ character-mode Linux device-driver It enables the controller’s VLAN mode for automatic ‘tagging’ and ‘filtering’ of all the packets being transmitted and/or received Most of the previous code is unmodified The relatively few lines that have changed or been added are marked by an askerick

In-class exercise #1 Adjust the values stored in the ‘special’ field of the Transmit Descriptors so that successive descriptors use two different 12-bit values alternately: 0x x0567 0x0234 0x0567 0x

Two ‘tryvlan.c’ versions Create two versions of our demo-module, using your two different ‘special’ values to setup the VFTA bitmaps, and install these distinct versions on four different ‘anchor’ machines, like this: anchor01anchor02anchor11anchor12 Version with 0x0234 as tagVersion with 0x0567 as tag The ‘red’ VLANThe ‘blue’ VLAN

In-class exercise #1 (continued) Use the Linux ‘echo’ and ‘cat’ commands to send a succession of broadcast-packets on the ‘red’ VLAN and on the ‘blue’ VLAN by writing to the ‘/dev/nic’ device-file with echo on the odd-numbed anchor-stations and simultaneously reading from ‘/dev/nic’ with cat on the even-numbered stations Which machines receive your broadcasts?

In-class exercise #2 What happens if you modify your code for the two ‘tryvlan.c’ revised versions so that in some of the Transmit Descriptors the command-byte’s VLE-bit (bit #6) is ‘clear’ rather than being ‘set’?

In-class exercise #3 What happens if you program the nic’s VET register with a value other than the standard VLAN Ether Type of 0x8100?