Lecture 3

Home - Network - Lec1 and 2 - Lec3b - Lec4 - Lec5 and 6 - Lec7  - Lab8 - Lec9 - Lec10 - Lec11 - Lec12


The OSI Model
The International Organization for Standardization (ISO) began developing the Open Systems Interconnection (OSI) reference model in 1977. It has since become the most widely accepted model for understanding network communication.

As you know, in order for computers to communicate, there must be accepted rules of communication. For communication to take place on a network composed of a variety of network devices, these rules must be clearly defined. The OSI model (and networking models developed by other organizations) attempts to define rules that apply to the following issues:

The OSI model is nothing tangible; it is simply a conceptual framework you can use to better understand the complex interactions taking place among the various devices on a network. The OSI model does not perform any functions in the communication process. The actual work is done by the appropriate software and hardware. The OSI model simply defines which tasks need to be done and which protocols will handle those tasks, at each of the seven layers of the model.
  1. Physical
  2. Data link
  3. Network
  4. Transport
  5. Session
  6. Presentation
  7. Application
The OSI model divides communication tasks into smaller pieces called subtasks. Protocol implementations are computer processes that relate to these subtasks. Specific protocols fulfill subtasks at specific layers of the OSI model. When these protocols are grouped together to complete a whole task, you have what is called a protocol stack. The following sections examine how protocol stacks work and how they communicate with protocol stacks on other computers.

Protocol Stacks
A protocol stack is a group of protocols arranged on top of each other as part of a communication process. Each layer of the OSI model has different protocols associated with it. When more than one protocol is needed to complete a communication process, the protocols are grouped together in a stack. An example of a protocol stack is TCP/IP, which is widely used for Unix and the Internet.

Each layer in the protocol stack receives services from the layer below it and provides services to the layer above it. Novell explains the relationship like this: layer N uses the services of the layer below it (layer N-1) and provides services to the layer above it (layer N+1).

For two computers to communicate, the same protocol stacks must be running on each computer. Each layer of the protocol stack on one computer communicates with its equivalent, or peer, on the other computer. The computers can have different operating systems and still be able to communicate if they are running the same protocol stacks. For example, a DOS machine run- TCP/IP can communicate with a Macintosh machine running TCP/IP.



Peer-Layer Communication between Stacks
When a message is sent from one machine to another, it travels down the layers on one machine and then up the layers on the other machine. As the message travels down the first stack, each layer it passes through (except the physical layer) adds a header. These headers contain pieces of control information that are read and processed by the corresponding layer on the receiving stack. As the message travels up the stack of the other machine, each layer strips the header added by its peer layer. This process is illustrated in Figure 3.3.

H is header, for example Hp: Presentation header, Hs : session header , etc...
As an example, suppose you are using two networked applications based on the DOS and Macintosh operating systems. At layer 7, the DOS application requests something from the Macintosh application. This request is sent to the DOS application's layer 6. This layer receives the request as a data packet, adds its own header, and passes the packet down to layer 5, where the process is repeated. As the request travels down the layers, headers are added until the request reaches the physical layer (which does not add a header), loaded down with headers.

Next, this request packet travels across the network transmission media and begins its journey up the layers on the Macintosh. The header that was put on at the data link layer of the DOS application is stripped at the data link layer of the Macintosh application. The Macintosh data link layer performs the tasks requested in the header and passes the requests to the next higher layer. This process is repeated until the Macintosh application's layer 7 receives the packet and interprets the request inside.

At each layer, the data packages, called service data units, are made up of data and headers from the layers above. For this reason they are commonly referred to by different names when they are at different layers, as shown in the figure below. The term packet is applicable to a service data unit at any layer.



Physical Layer
The physical layer is simply responsible for sending bits (bits are the binary 1's and 0's of digital communication you learned about in Chapter 2) from one computer to another. The physical layer is not concerned with the meaning of the bits; instead it deals with the physical connection to the network and with transmission and reception of signals.

This level defines physical and electrical details, such as what will represent a 1 or a 0, how many pins a network connector will have, how data will be synchronized, and when the network adapter may or may not transmit the data.

The following items are addressed at the physical layer: Note: Passive hubs, simple active hubs, terminators, couplers, cables and cabling, connectors, repeaters, multiplexers, transmitters, receivers, and transceivers are devices associated with the physical layer.


Data Link Layer
The data link layer provides for the flow of data over a single link from one device to another. It accepts packets from the network layer and packages the information into data units called frames to be presented to the physical layer for transmission. The data link layer adds control information, such as frame type, routing, and segmentation information, to the data being sent.

This layer provides for the error-free transfer of frames from one computer to another. A Cyclic Redundancy Check (CRC) added to the data frame can detect damaged frames, and the data link layer in the receiving computer can request that the information be present. The data link layer can also detect when frames are lost and request that those frames be sent again.

Note: Frames and packets are discussed in greater detail later in this chapter in the section "Network Protocols" and in the sections on physical network types, such as Ethernet and Token Ring.

In broadcast networks such as Ethernet (which Chapter 4 explains in more detail), all devices on the LAN receive the data that any device transmits. (Whether a network is broadcast or point-to-point [only the destination computer receives the information] is a matter of the network protocols, which will be introduced in Chapter 4.) The data link layer recognizes frames for which the destination ID matches the computer and discards other packets. Figure below shows how the data link layer establishes an error-free connection between two devices.


Note: Bridges, intelligent hubs, and network Interface cords ore devices typically associated with the data link layer.

The IEEE committee felt that the data link layer needed to be defined in greater detail, so they split it into two sub-layers: Figure on the right illustrates the division of the data link layer into the MAC and LLC layers.

The logical link control sub-layer provides Service Access Points (SAPs) that other computers can refer to and use to transfer information from the logical link control sub-layer to the upper ISO layers. This is defined in the 802.2 standard.

The media access control sub-layer, the lower of the two sub-layers, provides for shared access to the network adapter and communicates directly with network interface cards. Network interface cards have a unique 12-digit hexadecimal MAC Address assigned before they leave the factory where they are made (although there have been rare cases of adapters having the same addresses). These MAC addresses are used to establish the logical link between computers on the same LAN.



Network Layer
The network layer makes routing decisions and forwards packets for devices that are farther away than a single link. (A link connects two network devices and is implemented by the data link layer. Two devices connected by a link communicate directly with each other and not through a third device.) In larger networks there may be intermediate systems between any two end systems, and the network layer makes it possible for the transport layer and layers above it to send packets without being concerned about whether the end system is immediately adjacent or several hops away.

The network layer translates logical network addresses into physical machine -ddresses (the numbers used as destination IDs in the physical network cards). This layer also determines the quality of service (such as the priority of the message) and the route a message will take if there are several ways a message can get to its destination.

The network layer also may break large packets into smaller chunks if the packet is larger than the largest data frame the data link layer will accept. The network reassembles the chunks into packets at the receiving end.

Intermediate systems that perform only routing and relaying functions and do not provide an environment for executing user programs can implement just the first three OSI network layers. The network layer performs several important functions that enable data to arrive at its destination. The protocols at this layer may choose a specific route through an internetwork to avoid the excess traffic caused by sending data over networks and segments that don't need access to it.

Routers and gateways operate in the network layer.
The network layer serves to support communications between logically separate networks. This layer is concerned with the following:
Transport Layer
The transport layer ensures that packets are delivered error free, in sequence, and with no losses or duplications. The transport layer breaks large messages from the session layer (which we'll look at next) into packets to be sent to the destination computer and reassembles packets into messages to be presented to the session layer.

The transport layer typically sends an acknowledgment to the originator for messages received. Figure 3. 10 shows how the transport layer operates.

Session Layer
The session layer allows applications on separate computers to share a connection called a session. This layer provides services such as name lookup and security to allow two programs to find each other and establish the communications link. The session layer also provides for data synchronization and checkpointing so that in the event of a network failure, only the data sent after the point of failure need be resent.

This layer also controls the dialog between two processes, determining who can transmit and who can receive at what point during the communication.

Presentation Layer
The presentation layer translates data between the formats the network requires and the formats the computer expects. The presentation layer does protocol conversion, data translation, compression and encryption, character set conversion, and the interpretation of graphics commands.

The network redirector operates at this level. The network redirector is what makes the files on a file server visible to the client computer. The network redirector also makes remote printers act as though they are attached to the local computer. The network redirector is an important part of networking and will be described in more detail in Chapter 6. Figure 3.12 illustrates the operation of the presentation layer.

Application Layer
The application layer is the topmost layer of the OSI model, and it provides services that directly support user applications, such as database access, e-mail, and file transfers. It also allows applications to communicate with applications on other computers as though they were on the same computer. When a programmer writes an application program that uses network services, this is the layer the application program will access


The IEEE 802 Categories(MCSE only)
The Institute for Electrical and Electronic Engineers, Inc. (IEEE) in February 1980 formed a project called Project 802 (after the year and month the project started) to help define certain LAN standards.

The published IEEE 802 standards predate the OSI standards, but both were developed simultaneously and in cooperation, so the two standards share many features and interoperate well.

Project 802 defines aspects of the network relating to physical cabling and data transmission, corresponding to the physical and data link layers of the OSI model. The 802 specifications fall into 12 categories that are identified by the 802 numbers listed in Table 3.1.

NUMBER CATEGORY
802.1 Internetworking
802.2 Logical Link Control
802.3 Carrier Sense with Multiple Access and Collision Detection, (CSMA/CD, or Ethernet)
802.4 Token Bus LAN
802.5 Token Ring LAN
802.6 Metropolitan Area Network (MAN)
802.7 Broadband Technical Advisory Group
802.8 Fiber-Optic Technical Advisory Group
802.9 Integrated Voice/Data Networks
802.10 Network Security
802.11 Wireless Networks
802.12 Demand Priority Access LAN, 100baseVG-AnyLAN


Real problems:(MCSE only)
Your company wants to use data link layer encryption devices to send private data over a public wide area network. What effect will this have on devices in other layers?

When troubleshooting your network with a packet sniffer, you find a device generating spurious TCP/IP packets. Which devices are suspect?

When troubleshooting your network, you determine that some device is creating an Ethernet broadcast storm. Which devices are suspect?

You've heard that UDP/IP is a faster transport protocol than TCP/IP and you want to use it on your network. Will your routers be able to handle UDP/IP traffic?

You need to connect a building on the other side of your campus, but the distance involved is too far for twisted-pair or coaxial cable to work with Ethernet. You'd like to use optical fiber, but you don't want to have to use FDDI or another fiber-specific protocol because the routers are too expensive.

Can you use Ethernet over fiber-optic cable? If so, which layer would a device that converts Ethernet/twisted-pair to Ethernet/optical fiber operate in?

You are currently using IPX as your transport protocol in a Windows NT network. You want to switch to TCP/IP to allow Internet access. What effect will this have on user applications and the way clients attach to servers?



Network Protocols As discussed in Chapter 1, protocols are the agreed-upon ways in which computers exchange information. Computers need to communicate at many levels and in many different ways, so there are many corresponding network protocols.

Select the appropriate network and transport protocol or protocols for various token-ring and Ethernet networks. Protocol choices include: There are protocols at various levels in the OSI model. In fact, it is the protocols at a level in the OSI model that provide the functionality of that level. Protocols that work together to provide a layer or layers of the OSI model are known as a protocol stack, or suite.

How Protocols Work
A protocol is a set of basic steps that both parties (or computers) must perform in the right order. For instance, for one computer to send a message to another computer, the first computer must perform the following steps. (This is a general example; the actual steps are much more detailed.)
  1. Break the data into small sections called packets.
  2. Add addressing information to the packets identifying the destination computer.
  3. Deliver the data to the network card for transmission over the network.
The receiving computer must perform the same steps, but in reverse order:
  1. Accept the data from the network adapter card.
  2. Remove the transmitting information that was added by the transmitting computer.
  3. Reassemble the packets of data into the original message.
Each computer needs to perform the same steps the same way so that the data will arrive and reassemble properly. If one computer uses a protocol with different steps or even the same steps with different parameters (such as different sequencing, timing, or error correction), the two computers will not be able to communicate with each other.

Network Packets
Networks primarily send and receive the small chunks of data called packets. Network protocols (which we discuss in the sections "Protocol Stacks" and "Standard Protocol Stacks" later in this chapter) at various levels of the OSI model construct, modify, and disassemble packets as they move data down the sending stack, across the network, and back up the OSI stack of the receiving computer.

PACKET STRUCTURE
Packets have the following components:

The components are combined into three sections:
Header: A typical header includes an alert signal to indicate that the data is being transmitted, source and destination addresses, and clock information to synchronize the transmission.

Data: The actual data being sent. This can vary (depending on the network type) from 48 bytes to 4K.

Trailer: The contents of the trailer (or even the existence of a trailer) varies among network types, but it typically includes a Cyclic Redundancy Check (CRC). The CRC helps the network determine whether a packet has been damaged in transmission.



ASSEMBLING PACKETS

Each layer of the OSI model adds some information to the packet. The information at each level is meant to be read by the OSI layer at the same level in the destination computer. For example, information added at the network layer of one computer will be read by the network layer of the next computer. Figure 3.16 shows how information added at each layer is read by the corresponding layer on the next computer.

Routing
Early LANs were seldom connected to one another, but after the mid-1980s businesses began to realize the benefits of connecting LANs together into larger networks.

The process of moving information from one LAN to another over one or more paths between LANs is called routing. Protocols that support multipath LAN-to-LAN communication are called routable protocols. As more and more LANs are integrated into larger networks, it is becoming increasingly important that the protocols used to implement those LAN's are routable.

Connectionless vs. Connection Oriented Protocols
There are two ways that communications between computers can be arranged: connectionless and connection oriented.

Connectionless systems optimistically assume that all data will get through, so there's no protocol overhead for guaranteed delivery or sequential packet ordering. This makes them fast. User Datagram. Protocol (UDP/IP) is an example of a connectionless Internet transport protocol.

Connection oriented systems pessimistically presume that some data will be lost or disordered in most transmissions. Connection oriented protocols guarantee that transmitted data will reach its destination in sequential order by retaining the data and negotiating for retransmission until sequential data can be handed to higher level protocols. This means that any application can rely upon a connection oriented transport to reliably deliver data as it was transmitted. Transmission Control Protocol (TCP/IP) is an example of a connection oriented Internet protocol.

Connectionless systems, on the other hand, simply transmit data and assume that it reaches its destination. While this normally works in a local area network environment, it breaks down quickly in a large area networks where packets can be dropped due to line noise or router congestion.

All is not lost for connectionless transports, however, since higher level protocols will know what data has not reached its destination after some time and request retransmission. Connectionless systems also do not return data in sequential order necessarily, so the higher level protocol must sort out the data packets.

For local area systems where data isn't likely to be dropped, it makes sense to push serialization and guaranteed delivery up to higher level protocols that are less efficient, since it won't be used often anyway. But in wide area networks like the Internet, it would simply take too much time for higher level protocols to sort out what data had been sent and what was missing, so the transport protocol simply takes measures that guarantee that all data gets through in order.

s missing, so the transport protocol simply takes measures that guarantee that all data gets through in order.