First…the Boring Stuff

BoredIn the last episode, I covered a brief history of networks and networking. Initially, for this post, I wanted to discuss some of the hardware involved. But before I can really list the devices and describe how they’re used, I think it would be best to discuss the conceptual model that characterizes and standardizes how these devices handle data in a communications system by partitioning it into 7 abstract layers. This model is known as the OSI (Open Systems Interconnection) Model and was developed by the International Organization for Standardization. Each layer serves the layer above it and is served by the layer below it. On a side note – several terms will be used in this discussion. Don’t concern yourself with what they do or how they work. These terms simply can’t all be covered in one post – their inclusion here is just to make you familiar with them. That said – visually, the OSI model looks like this:

OSI ModelStarting from the bottom – the physical layer defines both the electrical and physical specifications of a connection. It not only defines the relationship between each device and the physical transmission medium, but it also defines the layout of pins, voltages, line impedance, and signal timing. It also defines the protocol(s) used to initiate and tear down a communication link between two directly connected nodes over the communications medium – including the transmission mode (simplex, half or full duplex), and the topology of the network itself. Physical medium used to transmit data includes coaxial, twisted pair and fiber optic cable. While this layer is referred to as the Physical Layer, the medium used to transmit data doesn’t have to actually be physical. It also includes the use of RF (Radio Frequency) energy, or radio waves, to transmit data between two points. Ethernet, Token Ring, FDDI, IEEE 802.11 (Wi-Fi) and Bluetooth all work at the Physical Layer. The Physical Layer is, perhaps, the easiest layer to understand. As we progress up through the layers you’ll see why.

Why Do You Have To Go and Make Things So Complicated…

The next layer up is the Data Link Layer and it is this layer where the protocols responsible for the transfer of data between neighboring network nodes in a wide area network or between nodes within a local area network reside. The Data Link Layer provides the “functional and procedural means to transfer data between network entities”. Depending on the protocol used the means to detect and possibly correct errors that may occur during transmission in the physical layer may be present. Some examples of protocols found on the Data Link Layer are Cisco Discovery Protocol (CDP), Ethernet, Frame Relay, Point-to-Point Protocol (PPP), High-Level Data Link Control (HDLC), Spanning Tree Protocol (STP – used in routing, which will be discussed later) and Advanced Data Communication Control Procedures (ADCCP).

The Data Link Layer’s main objective is the delivery of frames between devices on the same local area network (LAN). Information transmitted on this layer is referred to as data-link frames and they do not cross the boundaries of the local network. Any data that needs to be transmitted to another network is handled at a higher layer where routing and global addressing take place. Think of the Data Link Layer as a traffic light at an intersection. It attempts to control the flow or access of data to the medium at the Physical Layer without any concern as to the final destination. When two or more devices attempt to use the medium at the same time, collisions can occur. Data-link protocols specify how these devices detect and recover from any collisions.

As if that didn’t leave you scratching your head a bit, it gets a bit more confusing because the Data Link Layer consists of two sub-layers referred to as Logical Link Control and Media Access Control.

Data LinkThe Logical Link Control sub-layer multiplexes (a method of combining analog or digital signals into one signal over a shared medium) the protocols running on the Data Link Layer. It also provides the means by which the Data Link Layer controls the flow of data through the use of flow control, acknowledgement and error notification. Essentially, it determines which mechanisms will be used for addressing devices over the Physical Layer medium and it controls the data exchanged between the sending and receiving devices.

The next sub-layer is the Media Access Control. If any of you have heard of a MAC address…this is where it comes from and refers to the actual hardware address of any device that accesses a network. But MAC also refers to the sub-layer that determines what device is allowed to access the media at any one time. This sub-layer also determines where one frame of data ends and the next frame starts – referred to as frame synchronization. There are four methods used for frame synchronization: time based, character counting, byte stuffing (sounds like a side dish) and bit stuffing (yummy).

• Time based frame synchronization assigns a specified amount of time between each frame. There’s one major drawback to this method external influences (such as interference) can make gaps longer or even shorten them, throwing off the timing.

• Character counting, as its name implies, notes the number of remaining characters in the framer’s header. But this method can be easily “thrown off” if the field in the frame’s header becomes faulty (corrupted) in some way.

• Byte stuffing starts and ends each frame with a special byte sequence such as DLE STX (Data Link Escape – Start of Text) and DLE ETX (Data Link Escape – End of Text). This is used because an appearance of DLE in a frame has to be “escaped” (a series of characters used to change the state of computers) through the use of another DLE. Essentially, it provides a start and stop mark telling the receiver that everything in between the two DLE control sequences is the actual frame.

• Bit Stuffing is similar to byte stuffing. The difference is that the start and stop marks are replaced with “flags” consisting of a special bit pattern – perhaps a 0, six 1 bits and another 0 (01111110). Since this bit sequence can happen naturally in the data being transmitted, to prevent a false flag an additional bit is inserted after the fifth consecutive 1 so that 01111110 becomes 011111010.

As mentioned earlier, the Data Link Layer can provide a means for error correction. There are several types of error correction but, for the purpose of this post, I’ll give an example of a basic error detection method. The simplest among the types of error correction out there is the parity bit. This single bit, also known as meta-data, is placed at the end of a frame and allows the receiver to detect transmission errors. Meta-data is nothing more than data about your data. Nice huh? It works something like this:
Let’s assume that each letter in the alphabet has a corresponding number (A=1, B=2, etc).
Now, let’s say we want to send the word NETWORK. That would look like this when transposed to its corresponding number: 14 5 20 23 15 18 11. We start by adding up those digits to get 106, which is the meta-data. So we transmit 14 5 20 23 15 18 11 106. The receiver knows that the last number is the error detecting meta-data and that everything prior to it is the message. The receiver can then add those same numbers – if it comes up with something different than the meta-data received, then it knows there’s an error and can ask for the message to be sent again.

Confused yet?


Get Your Kicks On Route 66…

The Network Layer is the third layer in the OSI Model. This layer is responsible for packet forwarding – which includes routing. Put another way – the Network Layer provides both the functional and procedural means of sending and receiving variable length data messages from one source to another source via one or more networks. It is the lowest layer in the model that’s concerned with actually getting data from one computer to another…even if that computer is on another network.

Some of the specific tasks performed by the Network Layer are:

• Logical Addressing – ever device, whether a computer, printer or server, that communicates over a network has a logical address assigned to it. For instance, IP (Internet Protocol) is a Network Layer protocol and every device on a network has an IP address.

• Routing – moving information or data from one or more interconnected networks is quite possibly the defining function of the Network Layer. In other words, it is the responsibility of the devices and software routines that function at the network layer to handle incoming traffic from various sources, determine where that traffic is going and then figure out where they need to send it to get the information to its final destination.

• Datagram Encapsulation – messages received from the higher layers of the OSI model are encapsulated into datagrams or packets with a network layer header.

• Fragmentation and Reassembly – for messages to be transmitted,, they need to be moved down to the data link layer. However, some technologies found on the Data Link Layer have size limits on how long a message can be. If any packet the Network Layer wants to send is too large then the Network Layer needs to split that packet up into however many smaller packets it takes to get the message sent. Each “piece” is sent to the Data Link Layer and the “pieces” are reassembled once they arrive at the Network Layer of the destination.

Finally, the Network Layer also offers both connection-oriented and connectionless services used for delivering packets across the network. Connection-oriented protocols, in simplest terms, require that a link be established before transmission begins. This is done by following specific steps that were established for initiating, negotiating, managing and terminating a link. The sending device waits for an acknowledgement from the receiving device after each packet is sent. Connectionless protocols, on the other hand, do not require a link be established and do not require any kind of acknowledgement that a packet was even received.

Well, that covers it for this post. I’ll work on the next one that will cover the Transport through Application layers once I get it written.


Posted in Uncategorized | Leave a comment

Return of the Jedi

Okay…so it’s been a long time since I last posted anything and a lot has happened since my last post. For those of you visiting for the first time – my name is Stephen and I live in Colorado Springs with my wife and two daughters. We moved here in 2009 and I’ve spent the last six years going to school – working on degrees in Network Systems Administration and Information Technology. Needless to say, it has been very challenging…and stressful. The first, and most important thing that has happened since my last post – I. FINALLY. FINISHED. SCHOOL. It took several years, a lot of hard work, a lot of time and a lot of sacrifice – to which I owe a lot to my wife for standing by me – encouraging me to continue when I wanted to quit and unselfishly taking care of the kids and giving so much of herself the last several years. Bear – I love you! The second big thing to happen since the last time I wrote about, well, anything other than school papers was the addition of Kaitlyn – born in September 2012. She, like her sister, is such a happy little girl and a true blessing. But, while she’s a happy girl, she’s somewhat the opposite of her sister. Sarah is very outgoing and will tell anyone her life story if they give her the time. Fortunately, she talks very fast and it’s a very short story. Kaitlyn, on the other hand, is a bit more reserved and shy. She has to warm up to you first. She is fiercely independent and wants to do things on her own as much as possible before finally asking for help. She, like her mother and father, has the geek gene and loves just about anything electronic. Finally, my efforts with school are starting to pay off. I recently started a new job as a Support Engineer with Oracle. I was really beginning to wonder if I was going to find anything but my persistence finally paid off. Again, I owe a lot to Rebecca – who kept telling me my chance would come and never stopped believing in me.

Now that I’ve gotten that out of the way, this blog will mostly deal with networking. I’ve decided to start writing again as a way for me to reinforce the information and knowledge that was imparted upon me. I have a second goal though – and that’s to share the knowledge and, hopefully, present it in such a way that someone just starting out can easily understand. When I first started out getting my degree in Network Systems Administration, I knew what most people do – how to hook up a cable modem or router, connect the PCs and make sure they had a connection. But, as I soon found out, there is so much more to it – one of the most difficult concepts, or one that I thought was difficult, was IP addressing and subnetting. It turned out that I really did understand the concept(s)…but it took some head scratching and a remote whiteboard session with an instructor to realize it. In this post, you’ll see many terms and technologies mentioned. I’d love to cover them all and maybe I can in other posts. Suffice it to say – to cover each and every one of them in this post would be very challenging and possibly confusing. Just know that these terms and technologies are only mentioned since they played a part in the creation of today’s technology. So, let’s begin shall we?

Before we delve too much into networking and the many complexities of it, I’d first like to share some history that I actually find interesting. Believe it or not, networking has its roots from the early days of radio when transmissions had a short range and were sent in Morse code – which is actually the earliest digital communications mode in existence. Because these early transmissions had relatively short distances, stations spread throughout the U.S. would receive messages and then retransmit them – much like a network switch or router would do today. Eventually, computers came along and complicated everything for everyone and it wasn’t long before someone said, “Hey! I have this great idea. What if we connect these things together?” Flash forward to the 1960s – when AT&T designed the Dataphone, the first commercial modem that was designed with the intent of converting digital data, the string of ones and zeros, into analog (audio) signals that were needed for transmission across their long distance network. Not long after, in 1964, IBM’s SABRE (Semi-Automatic Business Research Environment) system came online. While the name implies the system was used for research, it was actually implemented as a reservation system for American Airlines. Using POTS (Plain Old Telephone System) lines, SABRE connected 2000 terminals in 65 cities to a set of IBM 7090 computers that provided data on any flight in less than 3 seconds – pretty impressive for 1964. Still, it would be several years before computer networks really started taking off.

It wasn’t until 1970 when computer-to-computer communication, or networking, started to really expand when the good ol’ Department of Defense created SkyNet ARPANET (Advanced Research Projects Agency NETwork) by establishing four hubs or nodes – one each at the University of California Santa Barbara, the University of California Los Angeles, the University of Utah and SRI International (Stanford Research Institute). Designed and viewed as a comprehensive (at the time) resource sharing network, many consider this system to be the beginning of today’s Internet. The designers of ARPANET set out with the following goals: direct use of distributed hardware services (the forefront of today’s distributed computing), direct retrieval from remote, one-of-a-kind databases, and the sharing of software subroutines and packages not typically available on a user’s computer due to the incompatibility of hardware and/or the language used. It was a year later, in 1971, when another momentous event occurred – the sending of the very first email! Life and job security at the post office haven’t been the same since. It all started when one Ray Tomlinson of the research firm Bolt, Beranek and Newman, who was supposed to be working on a different project (so this is when it started), created and sent the first email over ARPANET. It was also Tomlinson who is credited with deciding to use the @ symbol in an email address.

In 1973 the method of connecting computers to a network called Ethernet was devised by Robert Metcalfe at the Xerox Palo Alto Research Center. This method, however, wasn’t commercially introduced until 1980 and first standardized by IEEE as standard 802.3 in 1983. This standard is the dominant method used today…replacing other networking technologies such as token ring, FDDI (Fiber Distributed Data Interface) and ARCNET (Attached Resource Computer NETwork). Over time, the Ethernet standard has evolved to support higher bit rates and longer link distances. The standard is comprised of several wiring and signaling variants. The original standard, called 10BASE5, used 50 ohm coaxial cable as its transmission medium. IN fact, my first exposure to a computer network in 1998 utilized 10BASE5. The name 10BASE5 is derived from several characteristics of the physical medium. 10 refers to the speed at which data could be transmitted – 10 Mbps (Megabits per second). BASE refers to baseband signaling as opposed to broadband. And, finally, the 5 represents the maximum segment length that could be used – 500 meters. This was eventually replaced with 10BASE2, which used a thinner coaxial cable. When Ethernet over twisted pair wiring (similar to phone lines) was developed, 10BASE5 and 10BASE2 were replaced with 10BASE-T, 100BASE-TX and 1000BASE-T.

Even though Ethernet had been developed but not yet available, networks continued to grow. In 1975, SkyNet (again with the Terminator reference) Telenet becomes the first commercially available packet-switching network and civilian equivalent of ARPANET. This system, which was developed by Larry Roberts, linked customers in seven different cities. In 1979, USENET was established as a method for providing mail and file transfer services using a communications standard known as UUCP (Unix-to-Unix Copy Protocol). It resembled, and is possibly the precursor to, the BBS – which became popular in the late 80s and early 90s. That same year the first Multi-User Domain went online. Multi-User Domains were primarily used for gaming and socializing among college students. By 1984, there were over 100 Multi-User Domains in existence around the world. That may not seem like a lot by today’s standards…but in 1984 that was quite an achievement. Technology continued to evolve and, in 1983, ARPANET splits into ARPANET and MILNET with ARPANET being used by civilians and MILNET being used by the military. This was actually made possible through the use of TCP/IP – a networking protocol adopted three years earlier. I didn’t go into TCP/IP earlier but its importance to networking cannot be overstated. I plan to write an entire post about TCP/IP at a later date.

The mid-80s saw several developments in networking and what would eventually lead to “The Internet.” In 1985, what became known as the Internet gained support when the National Science Foundation formed NSFNET. This system linked five supercomputers at Princeton University, the University of California San Diego, the University of Illinois at Urbana-Champaign and Cornell University. As several regional networks developed, the government, being the gracious entity it is, reassigned pieces of ARPANET over to NSFNET…increasing the number of resources available. Eventually, the National Science Foundation allowed commercial use of this network in 1991 and the Internet was born.

During this same period, some of the first wireless networks were being developed – but not by researchers but by amateur radio operators who started using the AX.25 protocol, a variant of the X.25 protocol, to send messages and files over long distances using radio waves as the transmission medium. This experimentation eventually led to the development of wireless routers and the 802.11 set of standards for sending data using radio waves.

This has been just a brief history of networking. There is SO much more out there. I tried my best to consolidate the most “newsworthy” events into one article. It’s my hope that as I continue this blog my writing will improve and the content will increase. Most of all, I hope that anyone reading this finds this and future posts informative.

Posted in Uncategorized | Leave a comment

Hey! It’s Me!

I like long walks on the beach, evenings by the fire, a good glass of wine and I’m not afraid to cry.

LOL!!!!  Yeah, right….this isn’t

I’m a native of San Diego, CA, graduating from Mt. Carmel High School in 1986.  I worked various jobs for several years before deciding to move to Phoenix, AZ in 1997 to attend school where I earned an AA in Electronics Technology.  I turned out to be the best decision I ever made because it was there that I met my wife Rebecca.  I actually saw her for the first time the day I was registering for classes.  She was working as a Faculty Assistant and walked into the room with some paperwork for one of the staff.  I took one look at her and said to myself, “She’s the one.”  Seriously.  It took about a month of stalking  strategically placing myself where I would bump into her as she collected attendance.  Fortunately, she didn’t have any pepper spray on her…at the time and campus security didn’t have to get involved.  When I did finally get the nerve to ask her out I got shot down…crash and burn.  So I did what any guy would do – I gave up.  No, actually, I just concentrated on school.  But, after a few months of using the Jedi mind trick on her (He’s the one you’re looking for), she came over to talk to me in mid-September when she delivered a note to the instructor in one of my lab classes.  We agreed to go out and had our first date on September 27, 1997.  We’ve been together ever since and, considering how the last several years have been, I consider myself one VERY lucky guy.

Upon graduation, I went to work for Qualcomm, Inc as a Senior Lab Technician.  I loved working for Qualcomm and I thought it was a great company.  I worked on their Early Entry Base Stations – these are fully functional cell sites that you could actually make phone calls through.  The difference was that these didn’t have antennas connected to them and nothing radiated outside of the building.  Instead, the antenna ports were connected to splitters and cables were run to multiple testing stations where the engineers would test the hardware and software of cell phones under development.  It was a lot of fun.

But all good things come to an end they say and in May 2003, Rebecca was laid off from her job and we ended up in Tampa when she took a job there.  However, Tampa didn’t have a high tech industry and I ended up going back to dispatching for the sheriff’s office – something I did prior to getting my electronics degree.  While living in Tampa, we had our first “Ooops!” and Sarah was born in August 2005.  In 2009, we moved to Colorado Springs when Rebecca accepted a different position.  When we got here I decided I’d had enough of dispatching and decided to return to school in the hopes of getting a satisfying career in Information Technology.

So that’s my story in a nutshell.

Posted in Uncategorized | Leave a comment