How do you connect?
I connect to the internet via a DSL connection. Actually, I have a wireless connection to a linksys router that is connected to Verizon DSL via a Telephone Twisted Pair connection to a standard telephone jack.
Please answer the following questions:
Protocol Layers
Think about what is happening as you are accessing this class. While you are browsing you are using a Web Browser (application layer) that is talking to the TCP (transport) layer that is talking to the IP (Network) layer that is talking to the link layer. Notice I did not say what the link layer is. I do not know. Look back at others responses to this activity and read how others are connecting.
Please answer the following questions:
How do you connect?
At my home, I connect to the internet via a FTTH connection.
In addition to an Ethernet connection, I also have a wireless connection to a Buffalo router that is connected to KDDI FTTH with a max speed of 1Gbps via a Twisted Pair connection to an ONU device provided by KDDI, which is the second largest communication carrier in Japan.
In my room on the second floor, since the wireless connection is slow, I extend internet access by using Panasonic power line Ethernet adopters that are plugged into AC outlets. One adopter is connected to the Buffalo router, and another one is connected to my computer with an Ethernet cable.
Actually, the power line connection becomes sometimes unstable. Although I do not know the exact reason, I assume electric currents perhaps interfere with the network communication.
Protocol Layers
After I saw classmates' posts, each classmate seems to have one or more link layers such as Ethernet and Wi-Fi.
No, I did not. Because the internet uses TCP/IP that is a globally standardized communication method, and we are all interacting in this class via the World Wide Web which uses HTTP or HTTPS protocols, higher layers such as application and transport layers do not identify lower layers such as network and link layers. In other words, all we need to do is to open a Web browser and to know the URL to access to this Web site.
1) What layers in the protocol stack (both logically and physically) does the HTTP protocol talk to?
2) What might a protocol frame from a Web Browser session look like as it goes out of a network port? Assume the link layer is ethernet. You do not need to describe the fields inside a particular header except to say it is a particular protocol header (ie TCP header).
3) I can change a link layer protocol and the application layer protocol does not need to know or be made aware of the change. Explain why?
1) Logically will talk with the remote HTTP layer. Physically will talk with the Transport or TCP layer.
2) ethernet header | IP header | TCP Header |HTTP Header | HTTP Data | ethernet trailer
Introduction
The Communications field is just as active as the rest of the Computer Field with innovations happening at a mind boggling pace. But the Communications field has some basic fundamental properties that have not changed in many years.
Knowing these properties will allow you to understand all these new services and protocols that seem to be coming out on a daily basis.
Fundamental to communications is the fact that signals need to be carried through some media. The signal carried is effected by the media in different ways. It is delayed, changed, and errors introduced. This fact causes a lot of the upper layer design decisions.
For this week let’s spend some time exploring media and transmission.
Activity 1 - Signal Example
Often times when a book shows a bit pattern traveling down the wire it is cleaned up so you only see the logical representation of the data. What I mean is shown in Chapter 3: Transmission Basics and Networking Media and illustrated in Figure 3-3: An example of a digital signal.
But this is not how a signal really looks as it travels down the wire. A real digital signal would look more like the Analog and Digital Signals distorted by Noise illustrated in Figures 3.13 and 3.14. The receiving hardware has to sample this signal as it arrives at the destination. It samples the wire looking at the voltage peaks and valleys and makes a decision as to whether it is receiving a 0 or a 1.
Please answer the following questions:
Activity 2 - Attenuation
Consider what happens when you bounce a ball towards someone. As it travels the amount of bounce becomes less and less as gravity takes hold of it. Some balls maintain their bounce better than others (ie super balls) but eventually the bounce becomes less and less.
1) If you have 20 stations all connected to the same wire and all using digital transmission. What method of sharing the media must be used? Why do you need a sharing method?
2) Wiring specifications for a protocol such as Ethernet have a maximum length for a wire between two stations. Why does there have to be a maximum length for a wire?
3) What transmission impairment(s) are improved when moving from twisted pair to coax cable.
1) TDM…. Time division multiplexing. Digital transmission is baseband transmission where the entire wire is consumed with the signal. Only one station can talk at a time. If more than one station tries to talk then the signal is scrambled.
3) In addition to noise... coax helps attenuation.
Overview
This week we are going to talk about asynchronous and synchronous transmission and then move on to talk about data link control. At this point we are now moving from the unstructured bit stream at the physical layer to the data link layer. At the data link layer we are trying to pass structured data between two end points. We will look at protocols where the data will be checked for errors and retransmitted if errors are detected.
I like the OSI stack because it provides a structured way to look at the various layers. I like to look at the OSI stack and work up from the bottom physical layer and move toward the application layer. By doing this I like to think in terms of a story or a journey up through the layers. In some ways you can think about the unfolding of the computer and networking industry. It all started with the physical and as problems were solved or enhancements made the layering model unfolded.
So… to begin the story. To have networking you have to begin with passing some signal between two end points. That signal passed through some media and due to physics there is some basic rules that we talked about last week. A signal travels through the media and to read the signal there has to be some timing elements. Because there is timing elements there is going to be some preamble on the frame. As a signal travels down a wire it can be distorted through crosstalk from other sources, it can be degraded due to distance (attenuation), etc. Because of this there will be a chance for errors so you must have some sort of error detection and possible correction. And so it goes… knowing the physical properties can help you predict what a link layer protocol will have.
We will have 3 activities… one is related to error detection. We will use the parity bit as the example… it is simple to grasp and gives the idea for modern synchronize frame check sequences which are more capable. We will also look at a form of error control and correction that is called the sliding windows protocol. It is introduced here because it is part of the LLC layer for the 802.2 standard for early Lan standards and also because it was used in SDLC and HDLC which where the link layer standards for IBM’s SNA and x.25. Finally, we will explore what a SAP is for and the Fan in and Fan out concept that is talked about in the readings.
Activity 1 - Asynchronous Error Control
Asynchronous transmission has a very simple error detection scheme. Let’s explore it because it can illustrate some points that the more sophisticated methods such as CRC have and because it is easy enough to digest.
Please answer the following questions:
Activity 2 - Sliding Windows
The sliding windows protocol is critical to understand. It is the basis for many protocols not only at the link layer but above.
Using the Fi and RRi notation below illustrate the transfer of 14 data packets with a window size of 4.
A small example (window size of 2 where F is a frame and RR is an acknowledgement a packets received):
----F0-----> ----F1-----> <---RR2----- ----F2--->
Activity 3 - SAP and Fan in/out
At some point you might look at the layers and register that the link layer is sending a message station to station over one network, the network layer station to station over an internet, TCP process to process over an internet. You should also know that there are other network layer protocols with their own upper layer protocols other than TCP/IP and they all can run over the same station and even network card. You might also think about the fact that you can have multiple web browser sessions talking to different web servers and yet they use the same network port.
Activity 1 - Asynchronous Error Control
''The parity bit is 0 if even parity. So the given bits including the parity bit are 01011000.
The parity bit is 1 if odd parity. So the given bits including the parity bit are 01011000.
Errors of odd bits such as a 1 bit error will catch by this method, but errors of even bits such as a 2 bit error will not do so.
Activity 2 - Sliding Windows
----F0-----> ----F1-----> ----F2-----> ----F3-----> <---RR4----- ----F4-----> ----F5-----> ----F6-----> ----F7-----> <---RR4----- ----F8-----> ----F9-----> ----F10----> ----F11----> <---RR4----- ----F12----> ----F13----> <---RR2-----
Activity 3 - SAP and Fan in/out
Service access ports are ports to identify the network layer protocol. Because each network layer protocol would have its own unique service access ports, the same network protocol at the source talks to the same network layer protocol at the destination.
I believe the 1011000 should have the parity bit of 1 because it has an odd number of 1s in a even parity
With the first one....
The parity bit is 1 if even parity. So the given bits including the parity bit are 01011001. The parity bit is used to make an even number of 1 bits.... because there were 3 1s without the parity bit the parity bit is set to one to make it an even 4 1 bits.
With the sliding windows example.... the number with the RR is not the number of packets successfully received it is the next expected Information Frame packet that the receiver is expecting.... with that it is acknowledging all the previous information frames.....
so it would be....
----F0-----> ----F1-----> ----F2-----> ----F3-----> <---RR4----- ----F4-----> ----F5-----> ----F6-----> ----F7-----> <---RR8----- ----F8-----> ----F9-----> ----F10----> ----F11----> <---RR12----- ----F12----> ----F13----> <---RR14-----
1) Using the Fi and RRi notation illustrate the transfer of 15 data packets with a window size of 3.
2) Is it possible for a PC to run multiple network layer protocols over the same network port? Describe what mechanism is used to do it.
3) Why do we use parity bits and CRC checks? What purpose do they serve?
1) RR has the number of the next expected packet....
----F0 ----> ----F1----> ----F2----> <---RR3--- ----F3 ----> ----F4----> ----F5----> <---RR6---
2) Multiple network protocols can share the same link layer through the SAPs....Each network protocol has its own SAP number.... the link layer uses the SAP to route a packet it received to the correct Network layer process supporting that protocol.
Overview
In this section we are going to start looking at Topologies, Virtual Networks and Wireless Networking. With each we are still at the link layer and in line with what I said last week if you think in terms of the properties of the media and transmission you will better understand these areas.
To explore Topologies and Virtual Networks we will look at Ethernet. It has evolved over many years and has become the primary LAN technology.
I want you to think back to the physical layer classes for a minute. If I tell you that most LANs use digital transmission and they have multiple machines all accessing the same media than you can make some guesses for how the LAN protocols will look. Knowing that you have multiple stations and digital transmission you should immediately know that LANs will have some sort of Time Division Multiplexing (TDM) mechanism. This is in fact the case and is the main design difference between different LAN Media Access Control protocols.
Ethernet’s Media Access Control (MAC) method is CSMA/CD or Carrier Sense Multiple Access with Collision Detection. It is a relatively simple MAC where a station listens to the media when it wants to send a message and if it is free it does so. If it is busy it has to wait. Knowing that messages take some time (propagation delay) it has to listen to the media while it is sending a message because another station might have seen the free media and decided to send around the same time. While the stations are sending their message if another message they did not see in time comes down the wire both messages are destroyed. Both stations will recognize this happened and send a jam signal. Each station sets a random timer and backs off for that time to retry later. It is a non-deterministic system as a station does not get priority if it has had a collision and might keep colliding.
The non-deterministic feature of Ethernet’s CSMA/CD is a problem for applications that are latency sensitive like streaming media. Initially, a major knock on Ethernet in its early form was that it was not suitable for running these type of applications. There were other LANs standards that came along like FDDI, ATM, and Token Ring that had priority mechanisms built in that made a case that they were better. Yet Ethernet has beaten back the competition and really today there is no other LAN standard. In Activity 1 we will explore how Ethernet is able to support these applications with CSMA/CD.
To explore Virtual Networks I want you to consider that the Ethernet protocol has multiple stations with a many to many transmission system. Since there are many stations sharing the media they might be able to see others transmissions. This can be a problem for security. Activity 2 will talk about how an Ethernet LAN can be logically segmented on the physical hardware.
With Activity 3 we will support Wireless networks. Wireless networking can be seen in multiple forms with two main ones being the Wireless Access Point(WAP) around the 802.11x protocols where a client accesses a fixed WAP and the other being cell wireless networks. This would be your smartphone technology. In our activity we will explore the WAPs.
Activity 1 - Topologies
Ethernet is by far the most popular LAN architecture. It has proven to be flexible and inexpensive. Let’s explore the Media Access Control Protocol for Ethernet (CSMA/CD) and some of its effects on the standard.
CSMA/CD is not an effective MAC for handling latency intolerant applications like streaming media. Yet Ethernet is used all the time for handling this type of traffic today? How can this be?
Activity 2 - VLANs
CSMA/CD is a simple and cost effective MAC. It works. But the problem is that all stations on the same Ethernet network may be able to see other station’s traffic. This is definitely a bad thing when it comes to security.
What mechanism was added to Ethernet to support segmentation without having a separate physical network?
Could this work over the older non-switch wiring method (ie 10Base5)? Why or why not?
Activity 3 - Wireless
Wireless Access standards like 802.11x also have to share a media but unlike Ethernet they are sharing a frequency over the air. Because they are sharing a frequency they also need to have a Time Division Multiplexing method to arbitrate access to the media and they rely on CSMA/CA. This is like Ethernet CSMA/CD except with wireless they can only do collision avoidance. They cannot do collision detection.
Recall that with Ethernet stations are all on the same wire and the standard makes sure that the cable is short enough that all transmissions can be seen. That is a key point as the CSMA/CD algorithm relies on all stations being able to see everyone else transmission. They must be able to hear all transmissions so that collisions can be detected.
Can you think why a wireless standard like 802.11x has to use collision avoidance?
1) How did the Ethernet standard evolve to be able to support latency sensitive applications like streaming media?
2) What aspect of Ethernet can be a problem for security? What mechanism(s) were added to fix the problem?
3) Compare and contrast CSMA/CD and CSMA/CA.
1) to be more specific....
It moved from a bus topology to a star wired switch topology. With switches the collision domain is reduced to just a single station. This greatly reduced the chance for a collision.
2) VLANs....
3) More detail...
Used for wireless where collision detection is not possible. Stations can only tranmit? dublex and can not listen while transmitting. They will not hear collision. Also, stations needs to see access point only and might not see stations that are on the other side of the access point.
Stations listen to hear if media is idle. If it is go ahead and send. The receive must send an ack. If the sender does not get an ack back they assume the message did not make it and retransmit. Used for wireless lans.
Overview
In this section we are going to move up the stack to the Network Layer. Specifically, we will introduce TCP/IP and look at the Network Layer and Routing. We started the course with the physical layer and saw how signals traveled through a media. The link layer made sense of those signals and supported passing data station to station across a single network. The next layer in the stack deals with the routing of data station to station across an internetwork.
For the Network Layer we will explore the dominant network protocol - IP. It is the basis for the Internet and is the network layer protocol supporting TCP and UDP.
Activity 1 - Addressing
I want to explore the IP protocol. There are a couple of points I want to make so let’s get to some thought provoking questions.
If I am a business with 500 people and I just signed up for access to the internet what class of IP address do I need? How many stations can I have on my network? What part of the IP address does the router look at when making routing decisions?
Activity 2 - Virtual Network
Why would I say that IP creates a virtual Network? What aspects of IP support the fact it is working over other networks?
Activity 3 - Routing
Let’s look at a conceptual network that has some costs associated with each link. You are the routing algorithm and have to find the best path through the network. Given the following circuit diagram and the cost for each circuit.
What is the least cost path for communications between point A and Z? What path has the minimum amount of hops?
- D - - - E - - - - F - - - - - - - - A - - - - - - G - - - - - - - - Z - - - - H - - - - - - - - I - -
Link Cost A - D - 2 D - E - 7 E - F - 1 F - Z - 3 A - G - 8 E - G - 1 G - Z - 7 A - H - 6 H - I - 4 I - Z - 2
Activity 1 - Addressing
If you want to have 500 network addresses, you need a class B network block of addresses which is composed of 16-bit network addresses and 16-bit host addresses. Since a class B network can have 2^16 (65,536) addresses, that is too many in this situation; therefore, you can divide your network into appropriate subnets by using netmasks. For example, if you have a class B network 128.1.0.0, you should use 255.255.254.0 netmask which is typically noted 128.1.0.0/255.255.254.0 or 128.1.0.0/23. Because a /23 network block can have 2^9 (512) addresses, you can assign 500 network addresses.
Activity 2 - Virtual Network
While typical MAC addresses are composed of 24-bit OUIs assigned by IEEE and 24-bit unique hardware identifiers assigned by vendors, host addresses in IP are assigned by each network administrator for themselves. Because an IP address is a virtual address, even if a NIC in a network is changed, you don't have to change the IP address which is mapped to it. Another big difference between them is that whereas a MAC address identifies who the device is, an IP address identifies who and where the device is.
Activity 3 - Routing
The least cost path for communications between A and Z is A - G - E - F - Z, and the cost is 8. The path which has the minimum amount of hops is A - G - Z, and the amount of hops is 2.
1) Since the IP protocol is connectionless what will I not see in the protocol header for IP?
2) The IP network is a virtual network and must rely on a link layer network to transport a frame. What elements support getting an IP frame over an Ethernet LAN?
3) Given the following circuit diagram and the cost for each circuit.
What is the least cost path for communications between point A and Z? What path has the minimum amount of hops?
- D - - - - E - - - - F - - - - - - - A - - - - - - G - - - - - - - - Z - - - - H - - - - - - - - I - -
Link Cost A - D - 2 D - E - 3 E - F - 6 F - Z - 3 A - G - 8 E - G - 1 G - Z - 4 A - H - 6 H - I - 4 I - Z - 2
2) Also Fragmentation and Reassembly.
Overview
In this section we are going to move up the stack to the Transport Layer. This is the top most layer that most application developers will be associated with and from the bottom up view it is the layer that supports multiple processes within the station rather than being station to station. In other words the fan out for the layer is moving from network layer to network layer to moving to process to process.
We will be looking at two Transport layer protocols - User Datagram Protocol (UDP) and Transmission Control Protocol (TCP). Both protocols are closely tied to the Internet and run over IP. Essentially, along with IP they form a sort of logical network that ties together multiple lower layer networks. In essence, they are the basis of the Internet.
Over the last 15 years these two protocols along with IP have crushed all other protocols. They are wonderful protocols that have an immense amount of flexibility. Think back to the activities in the prior conferences, what an incredible design these two protocols are to be able to run well over so many different link layer architectures.
Activity 1 - Multiplexing
I want to explore the interface between the UDP/TCP layer and the application layer protocols. When you look at network layer protocols on down you might think to yourself that they would be fine to interface your program to. After all you are passing information over either the network or link layer between two stations. But those protocols are missing something that would be very valuable.
Let’s use the postal service as an analogy. Please answer the following questions:
Activity 2 - User Datagram Protocol (UDP)
I feel bad for UDP. It is almost never mentioned and TCP almost always is mentioned in the same breath as IP. You might think that TCP and IP are joined at the hip. That is not the case. UDP is also a user of IP services. Along with TCP it is one of the lowest layer protocols that the application programmer will probably be dealing with.
If I tell you UDP provides a connectionless service can you tell me:
Activity 3 - TCP Aspects
TCP is complex and for good reason. You have to admire a design that can provide such a demanding service (connection oriented) over all kinds of networks with their different quality of services (QOS).
Activity 1 - Multiplexing
The mailman needs to get the letter to the destination is just the street address and the city.
The mailman doesn't care about states and zip codes. Before arrival of your mail at the post office near from the destination, it is sorted by regional area identified by a zip code which includes information on a specific location in a specific state at a destination sectional center facility (SCF). That's why the mailman at the post office doesn't care about the part of the address.
People at sectional center facilities (SCFs) and network distribution centers (NDCs) need those information because they have to send mails to other regional facilities or centers based on the part of the address if needed.
Activity 2 - User Datagram Protocol (UDP)
Since UDP is a connectionless protocol, a UDP packet header doesn't include a 32-bit sequence number, an acknowledgement, and control bits such as SYN, ACK, and FIN for connection establishment.
Because TCP is a connection oriented protocol, its data transfer speed is lower than UDP in return for accuracy and certainty. For that reason, applications which require real-time data transfer such as VoIP and streaming media are more suited to use UDP. In addition, when using TCP, you need connection establishments one by one; therefore, applications which require to send packets to broadcast or multicast addresses are also suited to use UDP.
Activity 3 - TCP Aspects
When using TCP, the client and the server exchange meta information such as acknowledgements and control bits for connection establishment and sequence numbers to memorize the correct order of TCP segments before data transfer which is called the three-way handshake method.
TCP's connection oriented mechanism would lower the immediacy of real time services such as VoIP and streaming media.
1) Compare and contrast TCP and UDP.
2) Since TCP is a connection oriented protocol what would you expect to see in the TCP packet header that you would not see in a UDP header?
3) What mechanism in TCP allows a user to run multiple browser windows to different web sites over the same TCP transport layer?