diff --git a/LDP/guide/docbook/Linux-Networking/Connectivity-Devices.xml b/LDP/guide/docbook/Linux-Networking/Connectivity-Devices.xml index 724b2b87..34100cb0 100644 --- a/LDP/guide/docbook/Linux-Networking/Connectivity-Devices.xml +++ b/LDP/guide/docbook/Linux-Networking/Connectivity-Devices.xml @@ -58,8 +58,11 @@ collisions. Several bridges can work together to create even larger networks of Ethernets using the IEEE 802.1 spanning tree algorithm. As this is a standard, Linux bridges will interoperate properly with other third party bridge products. Additional packages allow filtering based on IP, IPX or MAC -addresses. Please see the section on 'Bridges' for further details as to -their purpose, usage and implementation. +addresses. + +Please see :- + +for further details as to their purpose, usage and implementation. Router diff --git a/LDP/guide/docbook/Linux-Networking/Glossary.xml b/LDP/guide/docbook/Linux-Networking/Glossary.xml index 86cfd321..b4aea031 100644 --- a/LDP/guide/docbook/Linux-Networking/Glossary.xml +++ b/LDP/guide/docbook/Linux-Networking/Glossary.xml @@ -946,5 +946,10 @@ PSTN (Public Service Telephone Network) the facility (such as the Internet Service Provider) you are dialling into. The 56 Kbps speed also works in only one direction; the other direction supports 33.6 Kbps. + +protocol + A protocol is a set of rules governing the format and meaning of the frames, + packets, or messages within a layer and can be changed at will by entities, + provided that they do not change the service visible to their users. diff --git a/LDP/guide/docbook/Linux-Networking/Layering.xml b/LDP/guide/docbook/Linux-Networking/Layering.xml index 0fb95e83..f20a39aa 100644 --- a/LDP/guide/docbook/Linux-Networking/Layering.xml +++ b/LDP/guide/docbook/Linux-Networking/Layering.xml @@ -1,66 +1,93 @@ - + -Foreward +Layering -Using a virtual machine concept, each layer is a virtual machine, with layer -one being the real machine. The top layer provides the highest level -functionality or the functions that are most abstracted from the physical -world. The top layer is directly interpreted by human beings. The bottom layer -provides the lowest level functionality, ie. it is strongly related to the -physical world and (preferably) is not interpreted by human beings. +Using a virtual machine concept, each layer of a network stack +is a virtual machine, with layer one being the real machine and +the top layer providing the highest level functionality or the +functions that are most abstracted from the physical world. The +top layer is directly interpreted by human beings. The bottom layer +provides the lowest level functionality, ie. it is strongly related +to the physical world and (preferably) is not interpreted by human +beings. + -In a layered model, entities forming the corresponding layers on different machines are -called peers and protocols forms a central part of network software. The layered approach -to networks and general software engineering principles adopted add to the structure -of network software. Each layer performs a small set of well defined functions (services) -required by the layer above it. + +In a layered model, entities forming the corresponding layers on different +machines are called peers and protocols forms a central part of network +software. The layered approach to networks and general software engineering +principles adopted add to the structure of network software. Each layer +performs a small set of well defined functions (services) required by the +layer above it. + -The layered approach offers a communication setting where layer n on one machine can have a -conversation with layer n on the other mahine. Layer n-protocol is essentially a set of rules -and conventions facilitating this conversation. This includes addressing and specification of -necessary DU's (Data Units). + +The layered approach offers a communication setting where layer n on one +machine can have a conversation with layer n on the other mahine. Layer +n-protocol is essentially a set of rules and conventions facilitating +this conversation. This includes addressing and specification of necessary +DU's (Data Units). + -You should note that this communication between layers is virtual. There is no physical or -direct communication between layers of two layer-n hosts. The actual communication takes -place at the lowest layer (usually called the physical layer). The conglomeration of layers -and corresponding layer protocols form a network architecture. + +You should note that this communication between layers is virtual. There is +no physical or direct communication between layers of two layer-n hosts. The +actual communication takes place at the lowest layer (usually called the +physical layer). The conglomeration of layers and corresponding layer +protocols form a network architecture. + -The general consensus in computing is that a typical data unit exchanged between systems -should consist of the address of the transmitting computer, the address of the receiving -computer, the actual data being transmitted, as well as a checksum. + +The general consensus in computing is that a typical data unit exchanged +between systems should consist of the address of the transmitting computer, +the address of the receiving computer, the actual data being transmitted, as +well as a checksum. + + This leads us to the problem of addressing. In order for computers to communicate properly it was generally agreed by Ethernet card manufacturers that all NIC cards would possess a 48 bit unique address. This is called a MAC address but is often called the hardware address of these cards. This aids portability and modularity of LAN (Local Area Network) technology and software to a major extent. The data units here are called as frames. This is all you need really to have a small network. + + However, there exists a fundamental problem if you were to extend this idea to larger systems (ie. greater than 100 nodes). It is extremely difficult to keep track of and maintain such a network due to administrators having to keep track of the name of each and every system and deciding what the name of new computers on the network will be. + + For this reason, the idea of hostnames and network addresses were developed. For example, on the LAN a computer may be called "computer" but on the internet it may be referred to as "computer.network.com". The idea behind network addressing came to be known simply now as IP (Internet Prococol) addressing. + + You could say that the idea behind computer network addressing is roughly synonymous with that of the rather mundane telephone network. To call a number in your region all you have to do is dial that number. To call a number in another state you must add a number of other digits to the start of the number. To call a number that is overseas you must add further digits to the beginning of the now burgeoning number. The only difference between telephone and network addressing is that you add numbers to the front rather than at the end of the address. + + To this day, it has been found that by utilising so called layer architecture for networks, suitable protocols and appropriate communication technologies the issues of network application interfacing, network addressing and network functionality can be addressed successfully. + + There are eight main network technology issues that must be addressed at each layer in the architecture though. These are outlined below: + 1. Mechanism of identifying senders and receivers: addressing. 2. Rules for data transfer: simplex, half-duplex, or full-duplex. @@ -71,17 +98,23 @@ architecture though. These are outlined below: 7. Message fragmentation and assembly. 8. Strategies for choosing routes. + To study the above issues in detail please consult, Tannenbaum 4th edition. + + These design issues become recurring themes that are usually addressed by each and every layer in the architecture. As a stark example, although error detection and correction is undertaken by the low level transmission protocol that sends characters from a terminal to the display, the user will also implement error detection and correction at the highest level by deleting an incorrect character and retyping. + + A concept of an interface is central to layered network architecture. It is important to recognise implementation and design issues and pertaining to interfaces of layers and their respective functions and services. + - entity: in software, it is sometimes called a process; in hardware in hardware it could mean in pratice an I/O chip @@ -97,28 +130,38 @@ and their respective functions and services. - interface data unit (IDU): the data unit that is given from a service receiver to a service provider. + The term "service" can be deemed to mean a number of things. These are outlined below. + + Quality of Service: each service is chractereised by a quality of service. For example, reliable service by such applications as file transfer - the data must be delivered correctly but it may be unusually delayed. However, voice and video transmission may allow some error in the data but does not allow delayed data. + + Connection and connectionless services are the two fundamental categories. The distinctions between them may be intuitive but there are subtle differences. For example, a connection-orientated services allows two communicating parties to make use of the connection in any way they like - a telephone connection can even be used for transmitting fax and digital information as the service provider doesn't process the communication at any point through the network. + + However a connectionless services does not provide such a convenience because for example a letter may be packaged and processed along the way, being stamped for accounting, delivered using a car or plane, etc.... + + A service is formally specified by a set of primitives (operations) that define the service interface. The primitives differ for different services. As a simple example, a service may provide the following primitives: + 1. LISTEN: listen for an incoming communication request 2. CONNECT: make a communication request @@ -126,16 +169,13 @@ example, a service may provide the following primitives: 4. SEND: send data of a communication 5. DISCONNECT: disconnect or discontinue a communication + As discussed before, each layer has specfic functions and offers certain services to the layer above it. A service is a set of primitives (operations) that a layer provides to the layer above it. In the definition of services, we do not specify their implementation. The implementation is only visible to the provider of the -service. - -A protocol defines the implementation of the service and is not visible to the -user of the service. A protocol is a set of rules governing the format and -meaning of the frames, packets, or messages within a layer and can be changed -at will by entities, provided that they do not change the service visible to their -users. +service. A protocol defines the implementation of the service and is not visible +to the user of the service. +