Networking Protocols

A network consists of several computers that are connected so as to allow to allow the transfer of information. In its simplest form a network lets you gain access to a centralised database or allows to to download or upload files. In a more sophisticated system you can get access to information and other services without being aware of where the data is stored.

A network that’s restricted to the premises of a single organisation is known as a local area network (LAN), whilst one that extends further is known as a wide area network (WAN). Ideally, all networks should have a permanent connection, but where this is too expensive, a dial-up connection can be used for a WAN, often via a standard telephone line and a modem.

Networks often use one or more computers as servers. These manage the network, store important files, or provide extra services to the remaining machines, which are known as client computers.

Introduction to Protocols

Devices on a network can only understand each other if they employ the same protocols. Most networks use several layers of protocols at once, the lowest layer dealing with the network hardware whilst higher levels accommodate file transfers or provide a user interface.

Such layers permit data to be moved easily between different networks, irrespective of the recipient’s hardware or computer platform, allowing, for example, PC files to be conveyed over a Mac OS network. In addition, these layers make the network transparent to both the data and the user.

The OSI Protocol Model

The International Standards Organisation (ISO) has devised a general-purpose plan for protocols, known as the Open System Interconnection (OSI) model.

Each of its seven layers of protocol are built upon those beneath, as shown here:-

 LayerFunction
7ApplicationAllows recipient to use data with applications
6PresentationModifies data to suit recipient’s computer
5SessionCo-ordinates actions of sender and recipient
4TransportConfirms data sent correctly (not always used)
3NetworkDirects data to correct recipient on a network
2Data LinkProvides basic control of data flow and error detection
1PhysicalDefines connection system and speed

Of these, Layers 1 to 5 are concerned with internetworking while Layers 6 and 7 are required for inter-operation. Although the OSI model doesn’t appear to be fully implemented, many of the standards needed for Layers 1 to 4 are well established. The remaining layers are more sophisticated and are being developed above the existing layers. Layer 6, the Presentation Layer, is particularly important, since it accommodates file interpretation, decryption and decompression.

Unfortunately, it can be difficult to know where one protocol ends and another begins. Worse still, some of the protocols appear in various forms, sometimes supplied as add-on components to a computer’s operating system or as part of an integrated application.

OSI and Existing Standards

Existing standards don’t always fit into the OSI model. For example, the IEEE specifications for Ethernet (802.3), Token Bus (802.4), Token Ring (802.5) and Metropolitan Area Network (MAN) (802.6) define protocols that encompass both the Physical and Data Link layers of the OSI standard. Fortunately, this isn’t a problem for the layers above.

The 802.x standards use the following layers in place of layers 1 and 2 of the OSI model:-

 Layer
LLCLogical Link Control
MACMedia Access Control
PPhysical

Note that the 802.x Physical Layer doesn’t match that of the OSI model. In addition, Station Management Protocol (SMT), as used for a Fibre Distributed Data Interface (FDDI), encompasses both the MAC and P layers.

System Network Architecture (SNA)

Some older standards are outside the OSI model. IBM’s System Network Architecture (SNA) is an example that works various computers, using seven layers in a similar form to the OSI standard. Working upwards, these are Physical Control, Data Link Control, Path Control, Transmission Control, Data Flow Control, Presentation Services and Transaction Services.

In the upper layers, System Application Architecture (SAA) is used to make each application look similar on any type of computer, whilst Common User Access (CUA) ensures a consistent response to keyboard commands. Advanced Program-to-Program Communication (APPC) allows data and instructions to be passed between applications and between computers over the network. The term SNA/APPC is often used to refer to this software combination.

Other Systems

Other network protocols are outside the scope of this document. However, some mention must be made of Novell Netware (TCP/IPX), as used in MS-DOS, Windows, Unix and the Mac OS, and also known as Microsoft’s International Packet Exchange/Sequenced Packet Exchange (IPX/SPX) or as Microsoft File and Print Sharing Protocol. Other products from this fold include Microsoft Networking (NETBUI) and Microsoft’s Remote Access Services (RAS).

Network Management

Special software is required to manage a network. Typically, this determines who is currently connected to the network and the level of traffic being conveyed. The most common system, known as Simple Network Management Protocol (SNMP), provides comprehensive information, although it isn’t supported by all devices, especially some software-based routers.

ICMP, also known as ping, is another popular mechanism, although this gives less information than SNMP. A ping is a small network message, also known as an ICMP ECHO, that can be sent by a computer to check for the existence of another machine. This is also used in some e-mail applications to send a message to all the members of a mailing list, requesting an acknowledgement.

The following sections provide extra information about some of the layers used in the OSI model.

Physical Layer

This layer is concerned with the transfer of individual data bits between two devices.

In a network containing several computers there must be a common understanding: this is easier if synchronous data transfer is employed, in which a code pattern is sent at regular intervals to maintain timing accuracy.However, asynchronous data transfer is simpler, with data sent in byte-length bursts to minimise timing problems, usually by means of RS-232 (V.24) protocol. This kind of link can be made directly or via a modem over a telephone or radio circuit.

Data Link Layer

This layer allows blocks of data, called frames or packets, to be transported over the Physical Layer, complete with error detection, error correction and flow control.

In a synchronous network each data frame is separated by timing information. Such systems, including those based on SNA (see above), use Synchronous Data Link Control (SDLC), a derivative of High Level Data Link Control (HDLC). A different family of protocols, including CCITT V.32, are used for asynchronous links connected via a modem or telephone line.

Packets

Data is normally divided into packets, each identifying itself as an established connection (a virtual circuit) or fully describing its destination as a datagram. The latter type may include a packet ID number to ensure packets are reassembled in the correct sequence at the destination. Although packets are sent in the correct order the data link itself can cause the order to change.

Errors and Flow Control

Error detection and correction usually employs a cyclic redundancy check (CRC) or a software checksum method. If a packet is correctly received the receiver responds with an ACK (Acknowledge) signal. If not, it sends a NAK (Not Acknowledge) signal instead. The sender responds to an ACK by sending the next packet and to a NAK by sending the original packet (or packets) again.

If the sender doesn’t get any response from the receiver it’ll try sending the packet a specified number of times. If there’s still no response it abandons the transfer and tells the sender. Sometimes a NAK can be received after others packets have already been sent. However, most systems use the Go-Back-N method in which a specified number of previous packets are retransmitted following a NAK message.

The window size defines the number of packets that can be sent without any ACK or NAK being received. This avoids the possibility of packet IDs restarting from zero, which would cause an incorrect or confused sequence of packets to arrive at the receiver.

Network Layer

This layer directs packets of data to the correct device or node within a network. Common standards include:-

Internetworking Protocol (IP)

This protocol is often used with the Transport Layer protocol known as TCP (see below), so as to create a combined protocol known as TCP/IP. This system is used used globally to create the Internet, although it can also be employed in a LAN or WAN, which is then known as an Intranet.

IP uses a unique 32-bit IP address to identify each Internet or Intranet site. The least significant 16 bits identify a device on the network (sometimes using a number related to its hardware address) and the next 14 bits give the network location. Each Internet address is in the form:-

195.79.171.10

with each byte shown in decimal and separated from the next byte by a decimal point. Digits at the left-hand act as an area code for your network whilst those to the right specify a subnetwork or terminal computer more exactly. The division of these numbers across a network depends on the type of network. If the address of a device is determined ‘on the fly’ by the server it’s known as a dynamic address. Other systems employ a fixed address, usually known as a static address.

A server can send information to all of the other devices on a network by sending an all networks (all nets) broadcast, which uses the following address:-

255.255.255.255

Alternatively, a broadcast can be sent some devices on a network, known as a subnetwork. This kind of transmission is called a subnet broadcast or unicast and can use an address of the form:-

xxx.xxx.xxx.255

where xxx.xxx.xxx is the address of the subnet.

Special addresses are used for calling up a server on the same machine as the caller. The most common code for this is 127.0.0.1, although 0.0.0.0 can also be used.

Router Addresses

An Internet address can be shared by several devices if you employ a hardware router, or a software router such as IPNetRouter or SoftRouter Plus. A hardware router, which is usually the best option, may use one of the following addresses, also known as the name server address:-

192.168.0.1

192.168.1.1

which lets you use one of the following range of addresses for the devices:-

192.168.0.xxx

192.168.1.xxx

So, in the latter case, you could, for example, connect two computers, one with an address of 192.168.1.10 and another with an address of 192.168.1.20. Whatever the addresses, you must employ a subnet mask of 255.255.255.0.

Domain Name System (DNS)

This is a special protocol that can convert a 32-bit numerical Internet address into a more recognisable form known as a domain name. A simple example would be in the form:-

computer_name.company_name.co.uk

which conveys the following information:-

computer_name   name of the computer on the company’s network

company_name   name of the company

co.uk   indicates a commercial business in the United Kingdom

AppleTalk over IP

The modern version of AppleTalk, also known as AppleTalk over IP, is supported by an AFP server or Apple File Server. IP is used in the network layer whilst Apple’s own AppleTalk Filing Protocol (AFP) is employed as the transport layer. Unfortunately, the use of IP causes complications with older printers and other devices that require Classic AppleTalk (see below), although such problems can be avoided by using modern equipment based around the IP standard.

AppleTalk over IP appears in Mac OS X as Personal File Sharing, which you can set up under the Services tab in the Sharing pane of System Preferences. This lets you share files with other Mac users, each having an address of the form afp://mac_name.

AppleTalk

This older form of AppleTalk provides software for both the Network and Transport Layers of the OSI model and forms part of the Classic Mac OS. It allows any number of computers, of almost any type, to communicate over various kinds of network hardware. In earlier versions, such networks are supported by Apple’s EtherTalk, LocalTalk and TokenTalk mechanisms.

Transport Layer

The Transport Layer divides a message between two devices into packets, as required by the Network Layer. For perfect transmission this requires host-to-host flow control, error detection and error correction, although error detection can occur in the Data Link Layer (see above).

Data can be sent as a binary file or as an ASCII file. A binary file, which can use all possible digital values, is used for applications and graphics documents as well as text. However, most e-mail services use ASCII files to represent plain text, using only the values from 0 to 127. Before sending a binary file over e-mail it must first be converted into ASCII form.

In systems that can convey binary files all information is sent in fixed-size blocks known as Protocol Data Units (PDUs). Since the receiver knows where each PDU begins and ends, it disregards those codes inside the PDU that might otherwise be used for instructions.

The following protocols are commonly used:-

Transmission Control Protocol (TCP)

This protocol is used globally on the Internet and for Intranet systems. It easily transports files as PDUs between two computers of any kind. Several classes of service are available, including flow control with error correction and reordering of packets into their correct sequence at the receiver. TCP also supports a range of higher protocols, including File Transfer Protocol (FTP), Post Office Protocol 3 (POP3), Simple Mail Transfer Protocol (SMTP) and Telnet.

TCP is often used with IP (see above) to create TCP/IP, whilst Point-to-Point Protocol (PPP), can be employed to ensure a successful transfer over a series of interconnected networks.

Classic AppleTalk

The Classic AppleTalk system (see above) occupies both the Network and Transport Layers, with ATP (Apple Transport Protocol) residing in the Transport Layer. Unlike the basic form of TCP/IP (see above), AppleTalk provides automatic connection between computers, networks and other devices. Unfortunately, it’s a proprietary standard that’s also rather slow. As a result, Apple have replaced it with AppleTalk over IP, suitably enhanced by mechanisms such as OpenTalk.

Protocols for Asynchronous Links

Several different protocols are used in asynchronous links, as used for conveying data via modem and a telephone circuit. Networks can obtain access to such a link via a modem server.

Microcom Networking Protocol Level 4 (MNP4) includes error correction and is recognised by the Apple Modem Tool in the Classic Mac OS (see below). Modems that use V.42 error correction also support MNP4 whilst those with V.42bis data compression also support MNP5.

Other protocols such as XMODEM, YMODEM, ZMODEM, Crosstalk and Kermit include error correction, although they offer varying standards of performance.

Session Layer

This layer allows various computers to open files that were created on different machines.

Structured Query Language (SQL)

A shared database is one of the most useful features a network can provide. It requires a database server application on the network’s file server computer, together with a matching program on each client workstation.

Various client applications can use the same database if there’s a common query language. The most popular is IBM’s Structured Query Language (SQL), which is used for mainframe and mini-computer servers, as well as for servers running Unix, A/UX, VMS and other operating systems.

Apple’s Data Access Language (DAL) is an improved but compatible form of SQL that can be used with Windows, MS-DOS, OS/2, Unix and A/UX operating systems.

The Excel spreadsheet application, as supplied with Microsoft Office, supports Open Database Connectivity (ODBC). This employs Dynamic-Linked Libraries (DLLs) to gain access, via SQL, to data in a Database Management System (DBMS).

Servers

Most networks use a central computer to manage the network and to store important files. This type of computer is known as a server, since it serves the client machines. Unfortunately, the software used for a specific protocol on a server computer is also known as a server. And the software used for the matching protocol on a client computer can also be known as a client.

The location of a server is specified by the prefix contained in its Uniform Resource Locator (URL), which is followed by the server’s domain name. This means, for example, that a Web server, which uses the Hypertext Transfer Protocol (HTTP), can have a URL of the form:-

http://192.168.1.201/

where 192.168.1.201 is the IP address. Ideally, the URL should end in a / (forward slash) to indicate the end of the address, although this isn’t essential. The URL can also direct the information through a particular port, as in this example:-

http://192.168.1.201:8010/

where 8010 is the port number. In practice, most URLs for the Web employ the Domain Name System (DNS), as described above, to convert convenient names into the numbers. These names are usually in the following form:-

http://computer_name.company_name.co.uk

where computer_name.company_name.co.uk is the domain name of the server.

The following list describes some common servers, most of which operate via TCP/IP. They’re shown complete with the prefixes of associated URLs.

AppleTalk Filing Protocol (AFP)  afp://

This protocol for Mac OS file sharing was once known as AppleShare, although Mac OS X simply identifies it as File Sharing. Unlike the old AppleShare, which uses AppleTalk, the modern version employs IP in the network layer, which is much faster. Any computer that acts as a server for AFP is known as an AFP server or Apple File Server. This should have a URL of the form:-

afp://server.domain.com

or, if you want to include the user names and passwords, you can use:-

afp://username:password@server.domain.com

although this can seriously compromise your security. As with most systems, you can also use the IP address of a specific computer, as in this example:-

afp://172.18.216.53/

where 172.18.216.53 is the address of the machine.

Backup Server

A special application that lets clients backup their files onto a server machine, sometimes onto removable media. The most popular Mac OS application for this purpose is Retrospect.

Dictionary Server Protocol (DICT)  dict://

A query and response protocol that gives access to information from dictionaries.

Domain Name System (DNS)

This mechanism allows information from the Internet to be cached, making it available to all users without the need for repeated downloading. It also converts any 32-bit numerical address into a domain name for each location. For example, it converts a Web address, such as :-

http://189.154.45.98

into the form:-

http://computer_name.company_name.co.uk

File Transfer Protocol (FTP)  ftp://

This accommodates the transfer of files to and from a remote site. With many applications you can enter most of the information required for an FTP transfer in the form of a URL such as:-

ftp://user_name:password@ftp_address

where user_name is your full login name, complete with spaces. Both password and ftp_address should be replaced to suit your own requirements. If you enter the address without a password, as in:-

ftp://user_name@ftp_address

you’ll be prompted to enter your password manually. Applications such as Internet Explorer and FTP Client Pro let you upload files by simply dragging documents into the application’s window.

Mail  mailto://

This is used for sending and receiving electronic mail (e-mail) over a network. Some Mac OS users employ QuickMail or Eudora Internet Mail Server (EIMS) as a mail server. However, standard Internet mail applications such as Outlook Express can be used on the client machines.

Network File System (NFS)  nfs://

This is an elderly Unix system, for which Mac OS X I0.1 provides limited support. NFS allows seamless sharing of files across a network, so that any computer on the system can mount a disk partition of a remote machine as if it were a local drive.

NFS is commonly used alongside NetInfo. This network diagnostics software provides information about users, hosts and networks that are operating on the Internet or on an Intranet system.

Remote Procedure Calls (RPC)  rpc://

This provides access to information from a remote location that can’t be reached via NFS (see above), operating independently of the transport system. RPC is supported by Mac OS X.

Secure Shell (SSH)  ssh://

This encrypts the material provided by a particular kind of service at the time it leaves the server computer. SSH is sometimes used instead of an FTP server and is supported by Mac OS X.

Server Message Block (SMB)  smb://

This protocol, used for file sharing in modern versions of Windows, is more fully known as Server Message Block/Common Internet File System (SMB/CIFS) or Samba, although CIFS is actually an extension of the original SMB file sharing system. The system is also supported by Mac OS X, where it’s identified as Windows File Sharing, whilst Windows users can use a CIFS browser to view shared volumes. SMB employs URLs of the form:-

smb://workgroup_name;server_name/shared_volume

where workgroup_name represents the name of the appropriate Windows workgroup and shared_volume represents the name of the volume on the server. You can often avoid the need to enter your user name and password by using a URL of the following kind:-

smb://workgroup_name;user_name:the_password@server_name/shared_volume

where user_name is the short user name, also known as the Windows user name, and the_password is your password. Unfortunately, this method exposes your name and password to other users, making it unsuitable for secure information.

In common with other Internet protocols, the use of non-ASCII characters and & must be avoided in URLs. If necessary, you can employ a CIFS address containing the IP address, as in:-

cifs://128.128.17.0

Users of Windows can gain access to any location via Samba using an address of the form:-

\\server_address\shared_volume

where server_address is the required IP address or domain name and shared_volume is the volume on the server or the short user name.

Web (HTTP)  http://

A Web server gives access to a World Wide Web site, which can be viewed using a standard Web browser application. Some servers are restricted to the clients on the immediate network.

Proprietary server packages include:-

AppleShare IP

This incorporates DNS, FTP and Web servers as well as a limited mail server. Version 5 also supports TCP/IP, which is also accommodated by Mac OS 9.x or later. AppleShare IP also lets you communicate with a PC network by means of SMB (see above).

AppleShare Server

This older package is similar to AppleShare IP, but lacks TCP/IP support. It allows up to 120 users to operate on the network, using Mac, Apple II or PC machines.

AppleShare Personal File Sharing

This is a restricted version of AppleShare, as supplied with the Classic Mac OS. It allows up to 30 users to share data, although you don’t have to dedicate one machine to work as a server.

Windows NT

The standard PC system that also lets Mac clients use and copy files via AppleTalk. Unfortunately, AppleTalk is slow compared to TCP/IP and isn’t supported by Windows SP.

Special Software

Special networking software is sometimes necessary when creating a network containing computers that use a mixture of operating systems. Fortunately, Mac OS X also supports Windows networking, although the following products can provide solutions to other problems.

DAVE (Thursby Software)

This package can be installed on Mac OS computers, allowing file and printer sharing over a PC network. It uses TCP/IP with DNS and also adds a NetBIOS driver to each computer. Servers are implemented using CIFS (see above) together with Windows Internet Name Services (WINS), whilst file information is provided by NTFS or Microsoft’s Services for Macintosh.

PC MACLAN (Miramar)

This gives PC access to printers and computers via AppleTalk, which is supported by older versions of Windows but not Windows XP. Both PC MACLAN file servers and third-party AFP servers can be used. It also adds an AppleShare Print Client and a Print Server to the Windows systems, allowing printing from PCs to AppleTalk printers or from Macs to PC printers.

©Ray White 2004.