Saturday, December 12, 2009

Network Protocols


The OSI model, and any other network communication models, provided only a conceptual framework for communication between computers, but the model itself does not provide specific methods of communication. Actual communication is defined by various communication protocols. In the context of data communication, a network protocol is a formal set of rules, conventions and data structure that governs how computers and other network devices exchange information over a network. In other words, protocol is a standard procedure and format that two data communication devices must understand, accept and use to be able to talk to each otherIn modern protocol design, network protocols are "layered" according to the OSI 7 layer model or similar layered models. Layering is a design principle which divides the protocol design into a number of smaller parts, each of accomplishes a particular sub-task, and interacts with the other parts of the protocol only in a small number of well-defined ways. Layering allows the parts of a protocol to be designed and tested without a combinatorial explosion of cases, keeping each design relatively simple. Layering also permits familiar protocols to be adapted to unusual circumstances.
The header or/and trailer at each layer is reflecting the structure of a protocol. Detailed rules and procedures are defined by a lengthy document. For example, IETF uses RFCs (Request For Comments) to define protocols and updates to the protocols.

A wide variety of network communication protocols exist, which are defined by many standard organizations worldwide and technology vendors over years of technology evolution and developments. One of the most popular protocol suites is TCP/IP , which is the heart of Internetworking communications. The IP, the Internet Protocol, is responsible for exchanging information between routers so that the routers can select the proper path for network traffic, while TCP is responsible to ensure the data packets are transmitted across the network reliably and error free. LAN and WAN protocols are also critical protocols in the network communications. LAN protocols suite is for the physical and data link layers communications over various LAN media such as Ethernet wires and wireless waves. WAN protocol suite is for the lowest three layers and defines communication over various wide-area media such as fiber optic and cable.
Network communication is an evolution process - today's new technologies are based on years accumulations of existing or obsolete technologies. Because of that, the protocols, which define the network communication, are highly inter-related. Many protocols rely on others for operation. For example, many routing protocols use other network protocols to exchange information between routers.
In addition to standards for individual protocols in transmission, there are now also interface standards for different layers to talk to the ones above or below (usually operating-system-specific). For example: Winsock and Berkeley sockets between layers 4 and 5, or NDIS and ODI between layers 2 and 3.
The network protocols for data communication cover all areas as defined in the OSI model. However, OSI model is only loosely defined, a protocol may perform the functions of one or more of the OSI layers, which introduces complexity of understanding protocols in relevant to OSI 7 layer models. In real-world protocols, there is some argument as to where the distinctions between layers are drawn; there is no one black and white answer.
To develop a complete technology that is useful for the industry, very often, a group of protocols are required in the same layer or across many different layers. Different protocols often describe different aspects of a single communication; taken together, these form a protocol suite. For example, Voice Over IP (VOIP) , a group of protocols developed by many vendors and standard organizations, has many protocols across 4 top layers in the OSI model.
Protocols can be implemented either in hardware or software, or a mixture of both. Typically, only the lower layers are implemented in hardware, with the higher layers being implemented in software.
Protocols could be grouped into suites (or families, or stacks) by their technical functions, or origin of the protocol introduction, or both. A protocol may belong to one or multiple protocol suites, depends how you categorize it. For example, the Gigabit Ethernet protocol IEEE 802.3z is a LAN (Local Area Network) protocol and it can also be used in MAN (Metropolitan Area Network) communications. The network protocol suite details are overviewed in a separate document (click). Most recent protocols are designed by the IETF for Internetworking communications, and the IEEE for local area networking (LAN) and metropolitan area networking (MAN). The ITU-T contributes mostly to the wide area networking (WAN) and telecommunications protocols. ISO has its own suite of protocols for internetworking communications which are mainly deployed in European countries. For more information of the standard organizations

PROTOCOL TESTING

In general, protocol testers work by capturing the information exchanged between a Device Under Test (DUT) and a reference device known to operate properly. In the example of a manufacturer producing a new keyboard for a personal computer, the Device Under Test would be the keyboard and the reference device, the PC. The information exchanged between the two devices is governed by rules set out in a technical specification called a "communication protocol". Both the nature of the communication and the actual data exchanged are defined by the specification. Since communication protocols are state-dependent (what should happen next depends on what previously happened), specifications are complex and the documents describing them can be hundreds of pages.
The captured information is decoded from raw digital form into a human-readable format that permits users of the protocol tester to easily review the exchanged information. Protocol testers vary in their abilities to display data in multiple views, automatically detect errors, determine the root causes of errors, generate timing diagrams, etc.
Some protocol testers can also generate traffic and thus act as the reference device. Such testers generate protocol-correct traffic for functional testing, and may also have the ability to deliberately introduce errors to test for the DUT's ability to deal with error conditions.
Protocol testing is an essential step towards commercialization of standards-based products. It helps to ensure that products from different manufacturers will operate together properly ("interoperate") and so satisfy customer expectations.

No comments:

Post a Comment