Computer network: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Markus Baumeister
(added categorization according to application area)
mNo edit summary
 
(40 intermediate revisions by 11 users not shown)
Line 1: Line 1:
A computer network is a collection of [[computer]]s or similar digital devices connected by a communication network. The network allows the computers to cooperate by sharing [[resources]], workload or [[information]] but also provides the possibility of hostile behavior by one or several participants. The communication on the network follows a [[Protocol (computer)|protocol]] understood by all participants which determines, among others, how [[data encoding|data is encoded]], how [[medium access control|access to the network]] is handled and how errors are handled and [[acknowledgment schemes|reported]].
{{subpages}}
{{TOC|right}}
A '''computer network''' is a collection of [[computer]]s or digital devices ("nodes") connected by [[telecommunications link]]s or other networks. The network allows the computers to share [[resources]], workloads, or [[data]]. The communications on the network follow a [[Protocol (computer)|protocol]] that determines how [[data encoding|data is encoded]], how [[medium access control|access to the network]] is handled, and how errors are [[acknowledgment schemes|reported]] and corrected.  These rules of communication are understood by all participants.


Despite its name computer networks nowadays also contain devices like intelligent sensors or actuators which although they typically contain a CPU have a more specialized role than a computer. Therefore one also calls the participants in a network "devices" or "nodes". Also there doesn't need to be a direct physical connection between the participating computers. The connection could cross several intermediate nodes like [[router]]s or [[repeater]]s or use [[wireless networking|wireless]] connections.
The participants in a (computer) network are [[computers]], but in most technical documentation the networked devices are referred to as "devices" or "nodes". Today, computer networks also contain devices such as intelligent sensors or actuators that are very small and specialized computers. The network itself does not always require physical connections between participating devices, due to the availability of [[wireless networking|wireless]] communications.


A computer network distinguishes itself from a [[power network]] in that it primarily transmits information not energy and from a [[digital network]] in that the information is transported using a high-level protocol. As evidenced by [[distributed computing]] and techniques like [[AMD]]'s [[Hypertransport]] the distinction between [[parallel computing systems]] and computers connected by a computer network (also called a [[distributed computing system|distributed system]]) is gradual.  
Because of [[distributed computing]] and other techniques like [[AMD]]'s [[Hypertransport]], the distinction between [[parallel computing systems]] and computers connected by a network (also called a [[distributed computing system|distributed system]]) is blurred.  


The specific rules for information exchange between network nodes, or [[protocol]]s, are designed to be consistent with an architectural approach, defined by [[computer networking reference models]]. In actual practice, the relatively informal Internet architecture is most common. The [[Open Systems Interconnection Reference Model|OSI]] (Open Systems Interconnection), produced by the International Organization for Standardization (ISO), is widely taught, but is largely a historical artifact as far as new networking protocol development.


<!-- A note on the organization of the article starting with “applications”, which may appear strange. The idea is to come from applications and their requirements to the protocols as those requirements can then be used to distinguish the protocols. -->
<!-- A note on the organization of the article starting with “applications”, which may appear strange. The idea is to come from applications and their requirements to the protocols as those requirements can then be used to distinguish the protocols. -->
== Applications ==
Computers are connected in a network to provide certain [[service]]s to users which would be unavailable or available only with less [[performance]] on a stand-alone machine. Such services include access to [[peripheral]]s such as [[printer]]s or [[sensor]]s connected to other computers, access to resources of the [[remote]] computer itself such as [[computing power]] or [[file storage]], and finally access to the output of applications running on the remote computer such as a [[web server]] or a [[database]]. Since all remote access needs some kind of software running on the remote computer, the boundary between the latter usage and the two former is a bit fuzzy.


=== Application architectures ===
== Network services ==
The interoperation of computers in a network often follows some general '''[[network architecture]]''' describing role and interactions between the participating computers. The most used classes of architectures are:


* [[Client-Server architecture]]: One computer is particular computer is denoted as “[[server]]” and provides the services the [[clients]] access. Variations of this architecture provide several [[multi-tier architecture|layers]] of servers or [[fall-back]] servers should the master server fail. Examples are the [[World-Wide Web]], [[network file system]] like [[NFS]] or [[SMB]], commercial [[database]] applications such as booking services, as well as [[thin client]] models.
Computers connected to a network can provide [[network service|services]] to users which would otherwise be unavailable (or available with less [[performance]]) on a stand-alone machine; examples include access to [[peripheral]]s connected to [[remote computer]]s (such as [[printer]]s or [[sensor]]s), access to the internal resources of a remote computer (such as [[processor|processing power]] or [[computer data storage|file storage]]), and access to the output of [[software|software applications]] running on remote computers (such as a [[Web server]] or [[database]]).


* [[Peer-to-Peer architecture]]: All computers provide the same basic services to each other and are thus all denoted “[[peer]]s”. The most prominent example for this architecture are many [[file sharing]] services but also [[VoIP|Voice over IP (VoIP)]] can be considered basically peer-to-peer although current implementations often are mixed set-ups with servers for [[connection]] establishment and bypassing [[firewall]]s.
== Network architectures ==


* [[Mobile code architecture]]: Participants do not (only) send data over the network but also software to be run on remote computers for data processing. The most common goal is to avoid network load and thus bring the processing to the data or to the interaction. The most well known example for this architecture within computer science are probably [[mobile software agents|mobile agents]], the most well known example outside of it are Java [[Applet]]s and the [[Web 2.0]].
The interaction of computers on a network make up the [[network architecture]], which describes the roles and interactions between participating devices. The most commonly used architectures are:


A common name for many of the above systems is “'''[[Distributed System]]'''”, that means a computer system whose constituting computers are locally distributed. But not necessary all computers connected via a network form a distributed system as for example some definitions of the term require [[transparency]] of distribution. <!-- e.g. the definition on http://dict.die.net/distributed%20system/ which I found a bit surprising in that regard -->
* '''[[Client-server]]''': In this architecture, one computer is designated the ''[[server]]'' and the other, the ''[[client computer|client]]''. The client requests services from the server and the server responds by providing the requested service results to the client computer. During a networked transaction, a single computer can be either a client or a server depending on its role during that transaction; the roles of client and server are not fixed. <br /><br />A variation of client-server architecture is [[multi-tier architecture]] (also called ''n''-tier architecture) in which more than one server is used to provide a requested service. The servers in a multi-tier architecture are grouped into conceptualized [[multi-tier architecture#Layers|layers]] of functionality. <br /><br />Examples of the client-server architecture include the [[World Wide Web]], [[network file system]]s and commercial database applications such as Web-based booking services. (See also [[thin-client architecture]]).
 
* '''[[Peer-to-peer]]''': In a peer-to-peer network, all computers provide the same basic services to each other and are denoted “[[peer]]s”. The most recognized examples are peer-to-peer [[file sharing]] services such as [[Bearshare]], [[Limewire]], and former services like [[Napster]], and [[Kazaa]]. [[VoIP|Voice over IP (VoIP)]] may also be peer-to-peer although many implementations consist of mixed architectures, using servers to establish call connections.
 
* '''[[Mobile code architecture]]''': Participants in this architecture not only send data over the network to remote computers, but also software code to process the data. A common goal of this architecture is to avoid overloading the network by deferring work to the client. Examples of this are [[mobile software agents]], [[Java Applet]]s and [[Web 2.0]] applications.
 
In contrast to an ordinary computer network, where the user is aware of multiple computers, a '''[[distributed system]]''' is comprised of remotely-connected computers that cooperate to perform tasks that seem transparent to the user, i.e. the user ''perceives'' the tasks as being performed by the local computer, rather than multiple computers, without being aware of the assistance of the other computers in the distributed system.


== Attributes of computer networks ==
== Attributes of computer networks ==
Computer networks and the protocols employed on them are judged based on different features required by the applications using them. In general three kinds of such attributes can be distinguished:
Computer networks and the protocols employed on them are judged based on different features they provide to the applications. In general the following kinds of such attributes can be distinguished:


* [[Network performance|Performance]]: How 'quick' is data transmitted over the network. This is often measured in [[bandwidth]] and [[latency]]. Bandwidth is the amount of data which can be transmitted within a certain time period (typically [[bit]]s/[[second]]). [[Latency]] is the amount of time it takes from transmitting a [[data|datum]] to its arrival at its destination. Depending on whether an application transmits its data in larger or smaller chunks, bandwidth and latency have different importance.
* [[Network performance|Performance]]: How 'quick' is data transmitted over the network. This is often measured in [[bandwidth]] and [[latency]]. Bandwidth is the amount of data which can be transmitted within a certain time period (typically [[bit]]s/[[second]]). [[Latency]] is the amount of time it takes from transmitting a [[data|datum]] to its arrival at its destination. Depending on whether an application transmits its data in larger or smaller [[chunk]]s, bandwidth and latency have different importance.


* [[Reliability]]: How 'undisturbed' is the data transmitted over the network. The main measure for this is the [[bit error rate]] which describes the number of [[bit]]s that arrive [[bit flip|flipped]] at the receiver in relation to the total amount sent. A somewhat more subtle disturbance is measured with “[[jitter]]”. Jitter is the variation in [[latency]] of the network and poses a problem to [[data streaming|streaming]] applications such as [[VoIP]] which require the client to receive data periodically. Note that the effects of more drastic failures such as loss of complete nodes or connections are typically not included in those measures although [[dynamic routing|dynamically routing]] networks can cope with them.
* [[Reliability]]: How 'undisturbed' is the data transmitted over the network. The main measure for this is the [[bit error rate]] which describes the number of [[bit]]s that arrive [[bit flip|flipped]] at the receiver in relation to the total amount sent. A somewhat more subtle disturbance is measured with “[[jitter]]”. Jitter is the variation in [[latency]] of the network and poses a problem to [[data streaming|streaming]] applications such as [[VoIP]] as these require the client to receive data periodically. Note that the effects of more drastic failures such as loss of complete nodes or connections are typically not included in those measures although [[dynamic routing|dynamically routing]] networks can cope with them.


* [[Quality of service]]: How 'guaranteed' are the above attributes. Often the measures defined above are given as an average value. But certain, time-critical applications have fixed requirements concerning e.g. the amount of data they need to transmit or the maximum delay allowed. The [[best effort]] approach included in many network protocols is insufficient for this and thus certain protocols are able to provide guarantees which are summarized as Quality of Service (QoS).
* [[Quality of service]]: How 'guaranteed' are the above attributes. Often the measures defined above are given as an average value. But certain, time-critical applications have fixed requirements concerning e.g. the amount of data they need to transmit or the maximum delay allowed. The [[best effort]] approach included in many network protocols is insufficient for this and thus certain protocols are able to provide guarantees which are summarized as Quality of Service (QoS).
{{Image|Mesh_Network.png|right|85px|A simple 5 node mesh network}}
* [[Network topology]]: What do the overall connections in the network look like. This refers both in a physical and a logical sense to how the network is "laid out." A "bus network" is hooked together like stops on a Public Bus route, one after the other. A "ring network" is literally in the shape of a ring; devices reach each other by passing data around in a ring. There are several different network topologies, and this list is by no means exhaustive.


Other attributes not explained here in detail are the [[security]] measures of networks and their protocols and their [[scalability]] with a growing number of participants.
Other attributes not explained here in detail are the [[security]] measures of networks and their protocols and their [[scalability]] with a growing number of participants.


== Categorization ==
== Categorization ==
Computer networks can be classified according to various criteria based on different characteristics.  
Computer networks can be classified according to various criteria based on different characteristics.  


=== Wired versus Wireless ===
=== Wired versus wireless ===
The most prominent distinction is between '''[[wired communication|wired networks]]''' and '''[[wireless communication|wireless ones]]'''. The former uses either electrical or [[optical communication|optical]] signals which are transmitted via any kind of cable. The most well known example for this is [[Ethernet]]. The latter typically uses [[electro-magnetic radiation|electro-magnetic radio waves]] transmitted 'through the air' but also schemes using infra-red, sound, or directed laser-light for communication have been proposed. The standard example for a wireless computer network is [[IEEE 802.11]] commonly often called [[Wi-Fi]].  
The most prominent distinction is between '''[[wired communication|wired networks]]''' and '''[[wireless communication|wireless ones]]'''. Wired networks use either electrical or [[optical communication|optical]] signals which are transmitted via any kind of cable. The most well known example for this is [[Ethernet]]. Wireless networks typically uses [[electro-magnetic radiation|electro-magnetic radio waves]] transmitted 'through the air' but also schemes using infra-red, sound, or directed laser-light. The standard example for a wireless computer network is [[IEEE 802.11]] commonly often called [[Wi-Fi]].  


As the cable of wired approaches provides a well-confined environment for transmission, wired networks typically perform better in all the attributes mentioned above.  The advantage of wireless networks therefore consists of their much lower dependency on [[infrastructure]] which makes their deployment cheaper and their usage less restricted.
As the cable of wired approaches provides a well-confined environment for transmission, wired networks typically perform better in all the attributes mentioned above.  The advantage of wireless networks therefore consists in their much lower dependency on [[infrastructure]] which makes their deployment cheaper and their usage less restricted.


The wired versus wireless classification is not restricted to computer networks. As demonstrated by [[fixed-line phone|fixed-line]] and [[mobile phone]]s it exists with any communication network.  
The wired versus wireless classification is not restricted to computer networks. As demonstrated by [[fixed-line phone|fixed-line]] and [[mobile phone]]s it exists with any communication network.  


=== Used Protocol ===
=== Protocols employed ===
Computer networks are often named by the protocols they use. '''[[Protocol (computer)|Protocols]]''' define the way individual computers on the network must interact to communicate which of course needs to be standardized so the participants understand each other. Protocols must handle issues from [[physical layer|how the data is encoded in electrical signals]], over [[data link layer|how transmission errors are found]], [[network layer|how the data finds its 'way' through the network]], and [[transport layer|how an application can determine whom it wants to talk to]] to [[presentation layer|how is the data encrypted against eavesdropping]]. These issues have been divided into layers in the so called '''[[ISO/OSI model]]''' which defines a stack where each layer uses the services of the next lower one. Different protocol address different layers in the stack, the [[Internet]] for example is based on various [[physical layer]]s which serve the [[IP|IP layer]] responsible for [[routing]] data through the network, which in turn serves the [[TCP|TCP layer]] that provides the abstraction for the applications, which in turn again use protocols such as [[HTTP]].
Computer networks are often named according to the protocols they use. '''[[Protocol (computer)|Protocols]]''' define the way individual computers on the network must interact to communicate. This of course needs to be standardized so the participants understand each other. Protocols must handle issues from [[physical layer|how the data is encoded in electrical signals]], over [[data link layer|how transmission errors are found]], [[network layer|how the data finds its 'way' through the network]], and [[transport layer|how an application can determine whom it wants to talk to]] to [[presentation layer|how is the data encrypted against eavesdropping]]. These issues have been divided into layers in the so called '''[[Open Systems Interconnection Reference Model]]'''. This model defines a stack of communication services where each layer uses the services of the next lower one. Different protocols address different layers in the stack. The [[Internet]] for example is based on various [[physical layer]]s which serve the [[IP|IP layer]] responsible for [[routing]] data through the network, which in turn serves the [[TCP|TCP layer]] that provides the abstraction for the applications, which in turn again use protocols such as [[HTTP]].


Among the most often used protocols are low-level protocols such as [[Ethernet]], [[Token-Ring]], [[ATM]], [[CAN]] and [[FlexRay]] in the wired arena and [[IEEE 802.11]], [[Bluetooth]] and [[ZigBee]] for wireless communication, with the latter two also defining higher level services. Higher-level protocols encompass among others[[IP]], [[TCP]] and [[UDP]] from the TCP/IP world as well as [[NetBEUI]] or [[iSCSI]]. <!-- what other non-TCP/IP protocols exist? -->  Further up the multitude of [[application-layer]] protocols is overwhelming with [[HTTP]], [[SMTP]], [[IRC]] and [[FTP]] just naming a few.
Among the most often used protocols are low-level protocols such as [[Ethernet]], [[Token-Ring]], [[ATM]], [[CAN]] and [[FlexRay]] in the wired arena and [[IEEE 802.11]], [[Bluetooth]] and [[ZigBee]] for wireless communication, with the latter two also defining higher level services. Higher-level communication protocols encompass among others [[IP]], [[TCP]] and [[UDP]] from the TCP/IP world as well as e.g. [[NetBEUI]] or [[iSCSI]]. <!-- what other non-TCP/IP protocols exist? -->  Further up in the area of [[application-layer]] protocols an overwhelming multitude exists with [[HTTP]], [[SMTP]], [[IRC]] and [[FTP]] just naming a few.


For most of the attributes of the network the lower-level protocols play the major role although some, for example scalability and reliability in the face of partial network failure, build on services provided by network or transport layer.
For most of the attributes of the network the lower-level protocols play the major role although some attributes, for example scalability and reliability in the face of partial network failure, build on services provided by the network or transport layer.


=== Spanned area ===
=== Spanned area ===
{{main|Locality of networks}}
There is still another way to classify networks: the area they are designed to cover. This starts small from one person's body and ends with the whole world.  
There is still another way to classify networks: the area they are designed to cover. This starts small from one person's body and ends with the whole world.  


* [[BAN]]: The '''B'''ody '''A'''rea '''N'''etwork covers devices carried by a person on his body, e.g. communication from [[mobile phone]] to [[headset]].
* [[BAN]]: '''B'''ody '''A'''rea '''N'''etwork is a fairly new term applied to communication between devices carried by a person on his body, e.g. communication from a [[mobile phone]] in a pocket to the [[headset]]. Since all communicating devices are attached or near to the body, principles like [[capacitive coupling]] can be applied.


* [[PAN]]: '''P'''ersonal '''A'''rea '''N'''etworks connect devices at or near to a person with each other. Examples are the connection from [[medical sensor]]s to [[bed-side monitor]]s or the connection from a [[mp3-player]] carried in a pocket to the car radio.
* [[PAN]]: '''P'''ersonal '''A'''rea '''N'''etworks connect devices at or near to a person with each other. Examples are the connection from [[medical sensor]]s to [[bed-side monitor]]s or the connection from a [[mp3-player]] carried in a pocket to the car radio.
Line 69: Line 78:


== Challenges ==
== Challenges ==
As applications and technology progresses computer networks face new challenges of which a few are listed here.
As applications and technology progresses, computer networks face new challenges of which a few are listed here.


What is called 'the [[spectrum scarcity|scarcity of the spectrum]]' - the problem that the available bandwidth for wireless transmission is limited if transmissions [[interference|interfere]] with each other - has triggered several developments to circumvent this interference, among them [[Ultra-wideband|Ultra-wideband (UWB)]] which sends a very low power signal in a large 'band' (=part) of the spectrum and other [[spread-spectrum]] technologies. Also directed transmission and reception using e.g. [[MIMO|multiple antennas]] helps to avoid interference by others.  
What is called 'the [[spectrum management|scarcity of the spectrum]]' - the problem that the available bandwidth for wireless transmission is limited if transmissions [[interference|interfere]] with each other - has triggered several developments to circumvent this interference. The prominent developments are [[Ultra-wideband|Ultra-wideband (UWB)]] which sends a very low power signal in a large 'band' (=part) of the spectrum and other [[spread-spectrum]] technologies. Also directed transmission and reception using e.g. [[MIMO|multiple antennas]] helps to avoid interference by others.  


The growing mobility of devices causes problems for protocols not designed with that mobility in mind such as TCP/IP. This has lead to proposals how devices can switch their connection point to the network without changing the identification they are known by (e.g. [[Mobile IP]]). The mobility problem is further worsened with short range radio technology such as [[Bluetooth]] or [[Wi-Fi]] when devices often form networks with their neighbours in an [[ad-hoc networks|ad-hoc]] way or form [[multi-hop network]]s where devices themselves forward data send by their neighbours to its destination.
The growing mobility of devices causes problems for protocols not designed with that mobility in mind such as TCP/IP. This has lead to proposals how devices can switch their connection point to the network without changing the identification they are known by (e.g. [[Mobile IP]]). The mobility problem is further worsened with short range radio technology such as [[Bluetooth]] or [[Wi-Fi]] where devices often form networks with their changing neighbours using [[mobile ad hoc networking]] (MANET) technology.


Also [[network security]] becomes a topic again if the network must resist attacks using individual stolen devices of the network, which is not an unrealistic scenario for [[wireless sensor network]]s.
Also [[network security]] becomes a topic again if the network must resist attacks which employ individual devices stolen from the network, a scenario not impossible for [[wireless sensor network]]s.
<!-- And now everyone can add his favourite research topic here -->
<!-- And now everyone can add his favourite research topic here -->


 
==References==
[[Category:Computers Workgroup]]
<references />[[Category:Suggestion Bot Tag]]

Latest revision as of 16:00, 31 July 2024

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

A computer network is a collection of computers or digital devices ("nodes") connected by telecommunications links or other networks. The network allows the computers to share resources, workloads, or data. The communications on the network follow a protocol that determines how data is encoded, how access to the network is handled, and how errors are reported and corrected. These rules of communication are understood by all participants.

The participants in a (computer) network are computers, but in most technical documentation the networked devices are referred to as "devices" or "nodes". Today, computer networks also contain devices such as intelligent sensors or actuators that are very small and specialized computers. The network itself does not always require physical connections between participating devices, due to the availability of wireless communications.

Because of distributed computing and other techniques like AMD's Hypertransport, the distinction between parallel computing systems and computers connected by a network (also called a distributed system) is blurred.

The specific rules for information exchange between network nodes, or protocols, are designed to be consistent with an architectural approach, defined by computer networking reference models. In actual practice, the relatively informal Internet architecture is most common. The OSI (Open Systems Interconnection), produced by the International Organization for Standardization (ISO), is widely taught, but is largely a historical artifact as far as new networking protocol development.


Network services

Computers connected to a network can provide services to users which would otherwise be unavailable (or available with less performance) on a stand-alone machine; examples include access to peripherals connected to remote computers (such as printers or sensors), access to the internal resources of a remote computer (such as processing power or file storage), and access to the output of software applications running on remote computers (such as a Web server or database).

Network architectures

The interaction of computers on a network make up the network architecture, which describes the roles and interactions between participating devices. The most commonly used architectures are:

  • Client-server: In this architecture, one computer is designated the server and the other, the client. The client requests services from the server and the server responds by providing the requested service results to the client computer. During a networked transaction, a single computer can be either a client or a server depending on its role during that transaction; the roles of client and server are not fixed.

    A variation of client-server architecture is multi-tier architecture (also called n-tier architecture) in which more than one server is used to provide a requested service. The servers in a multi-tier architecture are grouped into conceptualized layers of functionality.

    Examples of the client-server architecture include the World Wide Web, network file systems and commercial database applications such as Web-based booking services. (See also thin-client architecture).
  • Peer-to-peer: In a peer-to-peer network, all computers provide the same basic services to each other and are denoted “peers”. The most recognized examples are peer-to-peer file sharing services such as Bearshare, Limewire, and former services like Napster, and Kazaa. Voice over IP (VoIP) may also be peer-to-peer although many implementations consist of mixed architectures, using servers to establish call connections.
  • Mobile code architecture: Participants in this architecture not only send data over the network to remote computers, but also software code to process the data. A common goal of this architecture is to avoid overloading the network by deferring work to the client. Examples of this are mobile software agents, Java Applets and Web 2.0 applications.

In contrast to an ordinary computer network, where the user is aware of multiple computers, a distributed system is comprised of remotely-connected computers that cooperate to perform tasks that seem transparent to the user, i.e. the user perceives the tasks as being performed by the local computer, rather than multiple computers, without being aware of the assistance of the other computers in the distributed system.

Attributes of computer networks

Computer networks and the protocols employed on them are judged based on different features they provide to the applications. In general the following kinds of such attributes can be distinguished:

  • Performance: How 'quick' is data transmitted over the network. This is often measured in bandwidth and latency. Bandwidth is the amount of data which can be transmitted within a certain time period (typically bits/second). Latency is the amount of time it takes from transmitting a datum to its arrival at its destination. Depending on whether an application transmits its data in larger or smaller chunks, bandwidth and latency have different importance.
  • Reliability: How 'undisturbed' is the data transmitted over the network. The main measure for this is the bit error rate which describes the number of bits that arrive flipped at the receiver in relation to the total amount sent. A somewhat more subtle disturbance is measured with “jitter”. Jitter is the variation in latency of the network and poses a problem to streaming applications such as VoIP as these require the client to receive data periodically. Note that the effects of more drastic failures such as loss of complete nodes or connections are typically not included in those measures although dynamically routing networks can cope with them.
  • Quality of service: How 'guaranteed' are the above attributes. Often the measures defined above are given as an average value. But certain, time-critical applications have fixed requirements concerning e.g. the amount of data they need to transmit or the maximum delay allowed. The best effort approach included in many network protocols is insufficient for this and thus certain protocols are able to provide guarantees which are summarized as Quality of Service (QoS).
A simple 5 node mesh network
  • Network topology: What do the overall connections in the network look like. This refers both in a physical and a logical sense to how the network is "laid out." A "bus network" is hooked together like stops on a Public Bus route, one after the other. A "ring network" is literally in the shape of a ring; devices reach each other by passing data around in a ring. There are several different network topologies, and this list is by no means exhaustive.

Other attributes not explained here in detail are the security measures of networks and their protocols and their scalability with a growing number of participants.

Categorization

Computer networks can be classified according to various criteria based on different characteristics.

Wired versus wireless

The most prominent distinction is between wired networks and wireless ones. Wired networks use either electrical or optical signals which are transmitted via any kind of cable. The most well known example for this is Ethernet. Wireless networks typically uses electro-magnetic radio waves transmitted 'through the air' but also schemes using infra-red, sound, or directed laser-light. The standard example for a wireless computer network is IEEE 802.11 commonly often called Wi-Fi.

As the cable of wired approaches provides a well-confined environment for transmission, wired networks typically perform better in all the attributes mentioned above. The advantage of wireless networks therefore consists in their much lower dependency on infrastructure which makes their deployment cheaper and their usage less restricted.

The wired versus wireless classification is not restricted to computer networks. As demonstrated by fixed-line and mobile phones it exists with any communication network.

Protocols employed

Computer networks are often named according to the protocols they use. Protocols define the way individual computers on the network must interact to communicate. This of course needs to be standardized so the participants understand each other. Protocols must handle issues from how the data is encoded in electrical signals, over how transmission errors are found, how the data finds its 'way' through the network, and how an application can determine whom it wants to talk to to how is the data encrypted against eavesdropping. These issues have been divided into layers in the so called Open Systems Interconnection Reference Model. This model defines a stack of communication services where each layer uses the services of the next lower one. Different protocols address different layers in the stack. The Internet for example is based on various physical layers which serve the IP layer responsible for routing data through the network, which in turn serves the TCP layer that provides the abstraction for the applications, which in turn again use protocols such as HTTP.

Among the most often used protocols are low-level protocols such as Ethernet, Token-Ring, ATM, CAN and FlexRay in the wired arena and IEEE 802.11, Bluetooth and ZigBee for wireless communication, with the latter two also defining higher level services. Higher-level communication protocols encompass among others IP, TCP and UDP from the TCP/IP world as well as e.g. NetBEUI or iSCSI. Further up in the area of application-layer protocols an overwhelming multitude exists with HTTP, SMTP, IRC and FTP just naming a few.

For most of the attributes of the network the lower-level protocols play the major role although some attributes, for example scalability and reliability in the face of partial network failure, build on services provided by the network or transport layer.

Spanned area

For more information, see: Locality of networks.

There is still another way to classify networks: the area they are designed to cover. This starts small from one person's body and ends with the whole world.

  • BAN: Body Area Network is a fairly new term applied to communication between devices carried by a person on his body, e.g. communication from a mobile phone in a pocket to the headset. Since all communicating devices are attached or near to the body, principles like capacitive coupling can be applied.
  • PAN: Personal Area Networks connect devices at or near to a person with each other. Examples are the connection from medical sensors to bed-side monitors or the connection from a mp3-player carried in a pocket to the car radio.
  • LAN: Local Area Networks typically extend throughout a building and consist of one or few subnetworks. The primary example here is the connection of computers and peripheral devices like printers or PVRs in an office or home.
  • MAN: Metropolitan Area Networks are designed to cover the whole area of a city for example by connecting individual LANs by ATM or microwave radio but are nowadays seldom heard of . The combination of several networking techniques to aggregate and connect citizens via DSL to the internet could also be seen as a MAN.
  • WAN: Wide Area Networks connect devices with a significant distance and where transmission often requires several hops through routers. The primary example here is of course the Internet.

This list has been extended several times in the past following the progress of technology (mainly in the direction of smaller networks) so expect new types to be introduced once nanotechnology or space exploration progresses further.

Other categories

Sometimes the application area of a network is used to coin a phrase for it, especially if the application imposes special requirements on the network. Thus there are In-home digitial networks (IHDN) for transmission of streaming data within the home, In-vehicular networks (IVN) for real-time control of electronic devices within the car and Fieldbuses for real-time digital communication in industrial applications such as plants.

Challenges

As applications and technology progresses, computer networks face new challenges of which a few are listed here.

What is called 'the scarcity of the spectrum' - the problem that the available bandwidth for wireless transmission is limited if transmissions interfere with each other - has triggered several developments to circumvent this interference. The prominent developments are Ultra-wideband (UWB) which sends a very low power signal in a large 'band' (=part) of the spectrum and other spread-spectrum technologies. Also directed transmission and reception using e.g. multiple antennas helps to avoid interference by others.

The growing mobility of devices causes problems for protocols not designed with that mobility in mind such as TCP/IP. This has lead to proposals how devices can switch their connection point to the network without changing the identification they are known by (e.g. Mobile IP). The mobility problem is further worsened with short range radio technology such as Bluetooth or Wi-Fi where devices often form networks with their changing neighbours using mobile ad hoc networking (MANET) technology.

Also network security becomes a topic again if the network must resist attacks which employ individual devices stolen from the network, a scenario not impossible for wireless sensor networks.

References