Wireless LAN Standards

The WLAN Standards

Lets quickly review the IEEE Wireless LAN standards time line and the protocols.

Year   IEEE     Frequency      Typ Rate Max Rate

1997    802.11    ISM                     1 Mbps 2 Mbps

1999    802.11a  UNII                   25 Mbps 54Mbps (reduced interference with OFDM, faster)

1999    802.11b   ISM                    6.5 Mbps 11Mbps (popular for low cost)

2003    802.11g   ISM                   25 Mbps 54 Mbps

2009    802.11n    ISM or UNII 200Mbps 600Mbps

The legacy 802.11 uses Direct Sequence Spread Spectrum (DSSS) and Frequency-Hopping Spread Spectrum (FHSS) at the physical layer.
DSSS segments the data and sends it over different frequencies at the same time.   FHSS hops between frequency 1 and 2 to send data (i.e  1 101010101 2 101010101010 1 1010101101 2 10101010).

802.11b was approved in 1999, providing 11-Mbps data rate.  It provides speeds of 11, 5.5 and 2 Mbps, and uses 11 channels o fthe Industrial, Scientific and Medical (ISM) frequencies.  802.11b uses DSSS and is backward compatible with other DSSS systems.

802.11a was approved later in 1999.  This standard provides a maximum 54Mbps data rate but is incompatible with 802.11b.  It uses 13 channels of the Unlicensed Unational Information Infrastructure (UNII) frequencies and is incompatible with 802.11b and 802.11g.  It is also known as Wifi5.

IEEE 802.11g was approved in 2003.  The edge over 802.11a is backwards compatibility with 802.11b

802.11n came to us in a timely fashion, when WLAN/WIFI popularity was on a steep rise.   This standard added multiple-input multiple-output (MIMO) antennas and set the new maximum rate at 600Mbps using 4 spatial streams, each with a 40 MHz width.  In addition to DSSS, it uses orthogonal frequency-division multiplexing (OFDM) as a digital carrier modulation method.  it uses both the 2.4 Ghz(ISM) and 5Ghz(UNII) bands.

ISM and UNII

The ISM frequencies are defined by ITU-R radio regulations 5.138 and 5.150.  In the US, the FCC(15.247) specifies the ISM bands for unlicensed use.  ISM bands are specified in the following ranges:

  • 900 MHz to 928 MHz
  • 2.4 GHz to 2.5 GHz (802.1b and 802.1g)
  • 5.75 GHz to 5.875 GHz
There are 11 overlapping channels available, each is 22 MHz wide.
Image from wizwireless(wizbiz.co.nz)
Channels 1, 6 & 11 are used together frequently because they don’t overlap.
*Microwave ovens also operate at 2.45Ghz… which is why you may notice IP packets in your popcorn… or disruptions to your wireless connection. Actually the 2.4Ghz range is pretty popular with many cellphones, bluetooth devices, and other wireless gear operating in the 2.4 GHz range.
UNII radio bands were specified for 802.11a wireless.  UNII operates over these ranges:
  • UNII 1:  5.15 GHz to 5.25 GHz and 5.25GHz to 5.35GHz.
  • UNII 2:  5.47 GHz to 5.725GHz (HiperLAN in Europe)
  • UNII 3:  5.725 GHz to 5.875 GHz (Overlaps with ISM)
 Provides 12 non-overlapping channels for 802.11a.

RESOURCES:

More detailed information about the IEEE 802.11 WLAN Standards can be downloaded directly from IEEE here.

Checkout inSSIDer2 for Windows .
– Inspect your Wi-Fi and surrounding networks
– Scan and filter hundreds of nearby access points
– Troubleshoot competing access points and clogged Wi-Fi channels
– Highlight access points for areas with high Wi-Fi concentration
– Track the strength of received signals in dBm over time
– Sort results by MAC Address, SSID, Channel, RSSI, Time Last Seen
– Export Wi-Fi and GPS data to a KML file in Google Earth

There is also Chanalyzer for Mac.  (Only works if you purchase their Wi-Spy spectrum analyzer) but if you’re doing any sort of work in Wireless – you’d want to be well equipped.

That’s all for today peeps.

~

Gabe@networkdojo.net

Advertisements

BGP Quick Notes – Part 1

This is a dense facts review, this one is not meant for learning BGP for the first time; this post is meant to cover many of facts very quickly.  Without further delay…

WHEN SHOULD YOU USE BGP?
Good choice if you connect to multiple ISPs.
If you need to control how traffic enters or exists your network.
If you need to react to Internet topology changes.

BGP ROUTE OPTIONS
Three options for receiving BGP routes from an ISP:

• Default routes from each provider: Simple to configure, low bandwidth and light use of router resources.  The internal IGP metric determines the exit router for all traffic bound outside the autonomous system.  No BGP path manipulation is possible (can lead to suboptimal routing if you use more than one ISP).

Default routes plus some more specific routes: This option results in medium use of bandwidth and router resources.  It enables you to manipulate the exit path for specific routes using BGP so that traffic takes a shorter path to networks in each ISP.  Thus path selection is more predictable.  The IGP metric chooses the exit path for default routes.

• All routes from all providers: This requires the highest use of bandwidth and router resources.   Typically done by large enterprises and ISPs.  Path selection for all external routes can be controlled via BGP policy routing tools.

TYPES OF ISP CONNECTIONS

•  Single-homed: A site with a single ISP connection.  This is sufficient for a site that does not depend heavily on Internet or WAN connectivity.  Either use static routes, or advertise the site routes to the ISP and receive a default route from the ISP.

• Dual-homed: A site with two connections to the same ISP, either from one or two routers.  Designed with  loadbalancing or with a primary link and  a redundant backup.   Either static or dynamic routing would work with this type.

• Multihoming: A site connecting to more than one ISP at the same time for redundancy, and for better performance if one ISP provides a better path to frequently used networks.  Also gives an ISP-independent solution.  BGP is typically used with multihomed connections.

• Dual multihoming: Two connections to multiple ISPs.  This gives the most redundancy.  BGP is used with the ISPs, and can be used internally as well.

BGP OVERVIEW

• BGP stands for Border Gateway Protocol.
• Routers running BGP are termed BGP speakers.
• BGP uses the concept of autonomous systems(AS).  An AS is a group of networks under a common administration.  IANA assigns AS.
• AS 1 to 64511 are public .  AS 64512 to 65535 are private.
• An AS will run an IGP within, and an EGP between AS.  BGPv4 is the only EGP currently in use.
• Routing between AS is coined interdomain routing.
The admin distance (AD) for EBGP routes is 20. AD for IBGP routes is 200.
• BGP neighbors are called peers and must be statically configured.
• BGP uses TCP 179.  BGP peers exchange incremental, triggered route updates and periodic keep alives.
• Routers can run only one instance of BGP at a time.
• BGP is a path-vector protocol.  The route to a network consists of a list of AS on the path to that network.
• BGP’s loop prevention mechanism is the AS number.  When an update about a network leaves an AS, that autonomous systems’s number is prepended to the list of AS.  If it finds its own AS number in that list, the update is discarded.
• Use BGP when AS is multihomed, when route path manipulation is needed, or when the AS is a transit AS.
• Do not use BGP in a single-homed AS, with a router that does not have sufficient resources to handle it, or with a staff that does not have a good understanding of BGP path selection and manipulation.

BGP DATABASES
BGP uses 3 databases.  The first 2 are BGP specific, the 3rd is the one shared by all the routing processes on the router…

• Neighbor database:A list of all configured BGP neighbors.  To view it, use the show ip bgp summary command.

• BGP database, or RIB: A list of networks known by BGP, along with thier paths and attributes.  To view it, use show ip bgp command

• Routing table: The one seen with show ip route.

BGP MESSAGE TYPES

• Open: After a neighbor is configured, BGP sends an open message to try to establish peering.  The message includes AS, Router ID, and hold time.

• Update: Message used to transfer routing information between peers.  Includes new routes, withdrawn routes, and path attributes.

• Keepalive: BGP peers echange keepalives every 60 seconds by default.  These are used to maintain the peering session active.

• Notification: When a problem occurs that causes a router to end BGP peering, a notification message is sent to the neighbor, and the connection is closed.
INTERNAL AND EXTERNAL BGP 

Internal BGP (iBGP) is a peering relationship between routers in the same AS

External BPG (eBGP) is a peering relationship between routers in different AS.

Before any peering relationships will be formed a TCP session needs to be established.  There must be IP connectivity to the peer.

In this illustration, basic eBGP peering can be configured using the following commands :

RtrA(config)# Router bgp 65100
RtrA(config-rtr)#  neighbor 10.2.2.2 remote-as 65300

RtrD(config)# Router bgp 65300
RtrD(config-rtr)#  neighbor 10.2.2.1 remote-as 65100

If both routers are within a single AS.  The same commands (with the AS adjusted) would create an iBGP peering relationship.
BGP NEXT-HOP SELECTION
By default, the next hop for a route recieved from an EBGP neighbor is the IP address of the neighbor that sent the update.   When this update is relayed to IBGP neighbors, the next hop attribute is not changed.  Therefore IBGP routers must have a route to that next hop IP. Consider the scenario below.

An update from RtrA to RtrB would have a next-hop attribute of 10.2.2.1.  When RtrB passes the update to RtrC, the next hop will remain 10.2.2.1.  If RtrC does not have a route to 10.2.2.0/30 the update from RtrAwill be unusable by RtrC.  We can modify this rule by applying an additional neighbor command on RtrB:

RtrB(config-rtr)#  neighbor 10.3.3.2 remote-as 65200
RtrB(config-rtr)#  neighbor 10.3.3.2 next-hop-self

The next hop self will adjust the next hop attribute.  RtrC will recieve the update as if it had originated at RtrB – as a valid neighbor RtrC will necessarily have route to RtrB, and everything will work well :D.

Next-hop-self logic can also be to prevent extra hops on a Multiaccess Network.  (For example updates to RtrD about 10.2.2.0 do not need to hop through 10.3.3.3.  

BGP SYNCHRONIZATION

The BGP synchronization rule requires that when a BGP router receives information about a network from an IBGP neighbor, it does not use that information until a matching route is learned via an IGP or static route.  IT also does not advertise that route to an EBGP neighbor unless a matching route is in the routing table.  In the topology below if RtrB advertices a route to RtrC, the RtrC does not submit it to the routing table or advertise it to RtrD unless it also learns the route from an IGP source.  If all routers in the Autonomous system are running BGP, it is usually safe to turn off synchronization.  The command would be    Rtr{all}(config-rtr)#no synchronization.

BGP PEER GROUPS

neighbor peer {group-name} peer group  Creates a peer group to which you can assign neighbors.  

• By default, members of the peer group inherit all the configuration options of the peer group. Members also can be configured to override the options that do not affect outbound updates.

All the peer group members will inherit the current configuration as well as changes made to the peer group. Peer group members will always inherit the following configuration options by default:

remote-as (if configured)
version
update-source
outbound route-maps
outbound filter-lists
outbound distribute-lists
minimum-advertisement-interval
next-hop-self

BGP assumes neighbors are directly connected .  If they are not, we must specify in BGP to look more than one hop away for the neighbor.  We must apply the following command to the neighbor statement:
Rtr_(config-rtr)#neighbor {ip-address} ebgp-multihop {# of hops}

If we are peering with loopback interfaces, we need to specify the source of the BGP packets to match the loopback.  We would use this command:
Rtr_(config-rtr)#neighbor {ip-address} update-source {interface (ex. loopback 0} 

We can manually take down a peering session:  Rtr_(config-rtr)#neighbor {ip-address} shutdown.

THE BGP NETWORK COMMAND
In BGP, the network command tells the router to originate an advertisement for a network.  The network doesn’t have to be connected to the router; it just has to be in the routing table.

Rtr_(config-rtr)#network prefix mask subnet mask –    Initiates the advertisements

BGP PEERING STATES

Check state using the show ip bgp summary or show ip bgp neighbors.  The status can include the following:

Idle: No peering; router is looking for neighbor.  Idle(admin) means the neighbor has been admin shut.

Connect: TCP handshake completed.

OpenSent, or Active: An open message was sent trying to establish the peering.

OpenConfirm: Router has received a reply to the open message.

Established:  Routers havea  BGP peering session.  This is the desired state.

And lets call that a wrap.   In the next post  we’ll review BGP attributes, Path selection, route filtering, confederations, route reflectors, authentication, and show command review for troubleshooting… well maybe over 2 or 3 more posts.

If you’re still here, you’re nuts! Thanks for reading! 😀

~

Gabe @ networkdojo.net

Exploring STP behaviors – Part 1

Lets explore the behavior of STP (802.1D) on our new device “Switch1”.  We plug it in, power it up and connect to the console with our console cable.  We quickly enter enable mode and run show ver and note our base MAC address.

We can run a few more commands to see what is going on with spanning tree on the switch.
Switch1#show spanning-tree
Switch1#show spanning-tree active 
Switch1#show spanning-tree detail
Switch1#show spanning-tree vlan 1

The commands above will all return the output:  No spanning tree instance exists.

The commands show spanning-tree inconsistentports  will return limited output.  The command show spanning-tree summary will give us a summary of features, most importantly at this point is that it lets us know that the switch is running STP per vlan by default.

 

Connecting the switch to a shutdown router interface will initiate the STP instance.  Once the router interface is powered on or a device with an active interface is connected, we can observe the spanning tree instance in action.

Switch1#sh spanning-tree

VLAN0001

  Spanning tree enabled protocol ieee

  Root ID    Priority    32769

             Address     00 01.6376.BDED

             This bridge is the root

             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)

             Address     0001.6376.BDED

             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time  20

Interface        Role Sts Cost      Prio.Nbr Type

—————- —- — ——— ——– ——————————–

Fa0/1            Desg LSN 19        128.1    P2p

The switch will quickly establish himself as the root / begins BPDU exchange and  the interface will begin transitioning through the STP States:

Power On / Initialize

Blocking

Listening state

Learning state

Forwarding state

====

add summarization of port state above.

====

SWITCH1 will send out BPDUs to multicast address(es) 01:80:C2:00:00:00 – 01:80:C2:00:00:10  every 2 seconds according to the default timer avobe.   By default the BPDU’s will carry the default priority of 32769 (about half of 2^16).

BPDU will contain a Root ID (8 bytes – initially self) and a Bridge ID (8 bytes – initially self) and other fields such as the STP version, the timers and BPDU type.  For now lets understand the Bridge ID
Again – the Bridge ID is 8 bytes.  Its composed of the MAC address of the switch/bridge and the priority.  the mac address in this case is 0001.6376.BDED  that’s 12 nybles, or 6 bytes the remaining 2 bytes are used for the Priority.

The details above while wordy are not unimportant.  The root election when other switches are plugged in will depend entirely on the contents of the Bridge ID in the BPDU exchange.

The show spanning-tree details command will now give a more verbose explanation of the spanning tree elements, including very valuable detail regarding topology changes and their source.

Switch1#show spanning-tree detail 

VLAN0001 is executing the ieee compatible Spanning Tree Protocol

  Bridge Identifier has priority of 32768, sysid 1, 0001.6376.BDED

  Configured hello time 2, max age 20, forward delay 15

  Current root has priority 32769

  Topology change flag not set, detected flag not set

  Number of topology changes 0 last change occurred 00:00:00 ago

        from FastEthernet0/1

  Times:  hold 1, topology change 35, notification 2

   hello 2, max age 20, forward delay 15

  Timers: hello 0, topology change 0, notification 0, aging 300

Port 1 (FastEthernet0/1) of VLAN0001 is designated forwarding

  Port path cost 19, Port priority 128, Port Identifier 128.1

  Designated bridge has priority 32769, address 0001.6376.BDED

  Designated port id is 128.1, designated path cost 19

  Timers: message age 16, forward delay 0, hold 0

  Number of transitions to forwarding state: 1

  Link type is point-to-point by default

Here are some of the other commands and their output:

Switch1#show spanning-tree summary 

Switch is in pvst mode

Root bridge for: default

Extended system ID           is enabled

Portfast Default             is disabled

PortFast BPDU Guard Default  is disabled

Portfast BPDU Filter Default is disabled

Loopguard Default            is disabled

EtherChannel misconfig guard is disabled

UplinkFast                   is disabled

BackboneFast                 is disabled

Configured Pathcost method used is short

Name                   Blocking Listening Learning Forwarding STP Active

———————- ——– ——— ——– ———- ———-

VLAN0001                     0         0        0          1          1

———————- ——– ——— ——– ———- ———-

1 vlans                      0         0        0          1          1

Switch1#show spanning-tree interface fastEthernet 0/1

Vlan             Role Sts Cost      Prio.Nbr Type

—————- —- — ——— ——– ——————————–

VLAN0001         Desg FWD 19        128.1     P2p

The output above lets us know that f0/1 on Switch1 is participating in Spanning Tree for VLAN1.  Which has converged (we know this because the port is “Designated” and has transitioned to FWD state.   I will continue this next time with the effects of directly connecting a 2nd and 3rd switch to Switch 1.

That’s all for today.  Later gaters!

~

Gabe @ networkdojo.net

cisco myPlanNet

I’m enjoying a week of break before transitioning to a new job… so going to keep this one short : )

In this simulation game, you are the CEO of your named technology company.  You bring connectivity to your population, buy network equipment, price your services, and discover new technologies.   I can’t comment too much on it yet, I’m still checking it out

You can find the game at www.cisco.com/web/go/myplannet

Stay frosty!

~

Gabe @ networkdojo.net

The Binary Game


I am ashamed to account for  the hours I’ve spent playing Cisco’s tetris-like simplistic  masterpiece, the Binary Game.

In this game, you turn the “bits” on or off until you add up to the number on the right, or you add the bits and manually enter a number on the right based on the set bits on the left.  Pretty cool – as a side effect you get really good at binary math.  Win win right?

You can play on your browser by clicking the game picture above.  Enjoy!

 

 

~

Gabe @ networkdojo.net

networkdojo.net presents: How to Subnet – Part 1 (the primer)

Before we get into the meat of this critical matter of subnetting we have to cover a few bases.  I want to move forward assuming you understand a few basic things.   We’ll be dealing with IPv4 addresses, I will call them simply IP addresses… Although I am referring to IPv4 addresses.  IPv6 (the one that looks like a MAC address) is out of scope in everything I write in this post.

Audience:  Those who don’t get subnetting but have a need to learn to subnet.

Here are some fundamental truths you must learn:

++ An IP address can be anything in the range of  0.0.0.0  and 255.255.255.255 ,  0.0.256.0 is not a valid address.  Why not 256? It cannot be represented in the 8 bits that compose the 3rd octet.

You call the value between the periods “octets”.  For IP 1.2.3.4  …  1 is in the 1st octet, 2 in the 2nd, 3 in the 3rd  and 4 in the fourth.

Each octet is composed of eight bits (bit locations, which could be on or off.

_ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _. _ _ _ _ _ _ _ _. _ _ _ _ _ _ _ _     This is the 4 octects of an IP address represented by the bit locations, each underscore represents a bit location.

There are 32 bits, 8+8+8+8.

You MUST learn the powers of 2, this is elementary and absolute.  for the higher one it helps to remember that 2^10 to the tenth starts with 10.  Every power is twice the previous one, or half of the next one.


. __    __    __    __      __   __  __   __  .     The eight underscores of one octet (8 bits).  You must absolutely without fail learn the value of each bit location.   The left-most bit of an octet is worth 128, this is true for every octet.

128  64     32    16       8     4     2     1           <– These are the values of the specific bit locations.  These values are the same for each bit location.
2^7         –>             –>                 2^0

Here’s a few examples of how you would represent decimal numbers in binary bits (of one octet).

1 =
0      0       0      0        0       0     0     1
__    __    __    __      __   __   __   __
128  64     32    16       8     4     2      1  

2 =
0      0       0      0        0       0     1     0
__    __    __    __      __   __   __   __
128  64     32    16       8     4     2      1  

12 =
0      0       0      0          1     1      0    0
__     __     __    __      __   __   __   __
 128  64     32    16       8     4     2      1  

240 =
1      1       1      1           0     0      0    0
__    __      __    __      __   __   __   __
128  64     32    16       8     4     2      1  

255 =          (all bits on)
1      1       1      1            1     1      1    1
__    __      __    __      __   __   __   __
128  64     32    16       8     4     2      1  

Learning to work with binary numbers (converting a regular decimal number to binary, and binary numbers back to decimal) is a fundamental skill for subnetting.

This skilled must be honed through practice… try the cisco binary game.  Play this game until you’re dreaming in binary.  🙂    You can download the binary game on your iPhone.

A little bit of memorization here goes a long way.  Memorize the additions of the bits from left to right.  192  224  240  248  248  252  254  255.

128+64 = 192
192+32 = 224
224+16 = 240
240+8= 248
248+4=252

Later it will make perfect sense why memorizing these additions is essential.    Once you’ve committed these to memory, and are dominating the Cisco Binary game you can graduate to ‘How to subnet – Part 2’.   As a bonus you can feel confident because no one in their right mind will call you a weaksauce binary noob.  If they do – they are gravely mistaken.

Look deep within your soul… if you feel are ready, click here for Part 2.

Later peeps.

~

Gabe @ networkdojo.net