« reading:THE COMING AGE OF CALM COMPUTING | Main | Lantonix »

January 20, 2005

Good text from two OSI articles...

PROTOCOLS

We can not talk about the OSI Model without a quick introduction to network communication protocols.

In order to communicate between ANY two computers, they must speak the same language. They use protocols.

Protocols are little pieces of software that filter, organize and relay information received over a network.

There are multiple pieces of software that form a protocol stack.

A protocol stack is like a watch team at a Communications Station.

An operator actively listens for radio calls addressed to him or her. When a call is received, the call is answered and negotiations are made for the sending of messages. Once messages are received ship formatting is removed and they are checked for errors before handing off to the "Navcompars" Operator.

The Navcompars operator prioritizes the message and as soon as possible puts a Navcompar header and "End of Message" indicator on it. The message is sent to Navcompars where decisions are made about routing the message.

The assumption is the calling station spoke English, had compatible communications equipment and was calling on a frequency that the operator was listening to. These things were true because there were rules established before the ship ever got underway. Further sending the message to Navcompars required the data to be framed or encapsulated with additional data or Navcompars would not accept it. ALL THESE HUMAN RULES CAN BE COMPARED TO RULES THAT NETWORK HARDWARE AND SOFTWARE MUST FOLLOW.

Simply hooking up a Mac to a Ctos computer will not work if the Mac is using Appletalk protocols and Ctos is using Bnet protocols. It's like speaking Navajo to the Germans. That is, unless they are using the same protocols and compatible communications equipment, they can not communicate. Once speaking the same language (conforming to the same set of rules) information can be exchanged.

ISO/OSI Network Model

The standard model for networking protocols and distributed applications is the International Standard Organization's Open System Interconnect (ISO/OSI) model. It defines seven network layers.
Layer 1 - Physical

Physical layer defines the cable or physical medium itself, e.g., thinnet, thicknet, unshielded twisted pairs (UTP). All media are functionally equivalent. The main difference is in convenience and cost of installation and maintenance. Converters from one media to another operate at this level.
Layer 2 - Data Link

Data Link layer defines the format of data on the network. A network data frame, aka packet, includes checksum, source and destination address, and data. The largest packet that can be sent through a data link layer defines the Maximum Transmission Unit (MTU). The data link layer handles the physical and logical connections to the packet's destination, using a network interface. A host connected to an Ethernet would have an Ethernet interface to handle connections to the outside world, and a loopback interface to send packets to itself.

Ethernet addresses a host using a unique, 48-bit address called its Ethernet address or Media Access Control (MAC) address. MAC addresses are usually represented as six colon-separated pairs of hex digits, e.g., 8:0:20:11:ac:85. This number is unique and is associated with a particular Ethernet device. Hosts with multiple network interfaces should use the same MAC address on each. The data link layer's protocol-specific header specifies the MAC address of the packet's source and destination. When a packet is sent to all hosts (broadcast), a special MAC address (ff:ff:ff:ff:ff:ff) is used.
Layer 3 - Network

NFS uses Internetwork Protocol (IP) as its network layer interface. IP is responsible for routing, directing datagrams from one network to another. The network layer may have to break large datagrams, larger than MTU, into smaller packets and host receiving the packet will have to reassemble the fragmented datagram. The Internetwork Protocol identifies each host with a 32-bit IP address. IP addresses are written as four dot-separated decimal numbers between 0 and 255, e.g., 129.79.16.40. The leading 1-3 bytes of the IP identify the network and the remaining bytes identifies the host on that network. The network portion of the IP is assigned by InterNIC Registration Services, under the contract to the National Science Foundation, and the host portion of the IP is assigned by the local network administrators, locally by noc@indiana.edu. For large sites, usually subnetted like ours, the first two bytes represents the network portion of the IP, and the third and fourth bytes identify the subnet and host respectively.

Even though IP packets are addressed using IP addresses, hardware addresses must be used to actually transport data from one host to another. The Address Resolution Protocol (ARP) is used to map the IP address to it hardware address.
Layer 4 - Transport

Transport layer subdivides user-buffer into network-buffer sized datagrams and enforces desired transmission control. Two transport protocols, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), sits at the transport layer. Reliability and speed are the primary difference between these two protocols. TCP establishes connections between two hosts on the network through 'sockets' which are determined by the IP address and port number. TCP keeps track of the packet delivery order and the packets that must be resent. Maintaining this information for each connection makes TCP a stateful protocol. UDP on the other hand provides a low overhead transmission service, but with less error checking. NFS is built on top of UDP because of its speed and statelessness. Statelessness simplifies the crash recovery.
Layer 5 - Session

The session protocol defines the format of the data sent over the connections. The NFS uses the Remote Procedure Call (RPC) for its session protocol. RPC may be built on either TCP or UDP. Login sessions uses TCP whereas NFS and broadcast use UDP.
Layer 6 - Presentation

External Data Representation (XDR) sits at the presentation level. It converts local representation of data to its canonical form and vice versa. The canonical uses a standard byte ordering and structure packing convention, independent of the host.
Layer 7 - Application

Provides network services to the end-users. Mail, ftp, telnet, DNS, NIS, NFS are examples of network applications.

TCP/IP Network Model

Although the OSI model is widely used and often cited as the standard, TCP/IP protocol has been used by most Unix workstation vendors. TCP/IP is designed around a simple four-layer scheme. It does omit some features found under the OSI model. Also it combines the features of some adjacent OSI layers and splits other layers apart. The four network layers defined by TCP/IP model are as follows.
Layer 1 - Link

This layer defines the network hardware and device drivers.
Layer 2 - Network

This layer is used for basic communication, addressing and routing. TCP/IP uses IP and ICMP protocols at the network layer.
Layer 3 - Transport

Handles communication among programs on a network. TCP and UDP falls within this layer.
Layer 4 - Application

End-user applications reside at this layer. Commonly used applications include NFS, DNS, arp, rlogin, talk, ftp, ntp and traceroute.

Posted by dimitri at January 20, 2005 07:38 AM

Comments

Post a comment




Remember Me?