Computer network: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Markus Baumeister
(bolded title)
imported>Markus Baumeister
(several fixes)
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]].
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]].


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.
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 (computer) network "devices" or "nodes". Furthermore the network itself doesn't require direct physical connections between the participating devices. The communication could cross several intermediate nodes like [[router]]s or [[repeater]]s or use [[wireless networking|wireless]] connections.


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.  
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.  




<!-- 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 ==
== 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.
Computers are connected in a computer 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 ===
=== Application architectures ===
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:
The interoperation of computers in a network often follows some general '''[[network architecture]]''' describing roles of and interactions between the participating devices. 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.
* [[Client-Server architecture]]: One 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 activate [[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.


* [[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.
* [[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.
Line 19: Line 19:
* [[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]].
* [[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]].


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 -->
A common name for many of the above systems is “'''[[Distributed System]]'''”, that means a computer system whose constituting computers are locally distributed. 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 -->


== 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 three 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]] 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.
Line 39: Line 39:
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]]'''. 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]].  


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 ===
=== Used Protocol ===
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 by 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 '''[[ISO/OSI model]]'''. This model defines a stack of communication services 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]].


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 communicaion 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 [[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, 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 ===
Line 69: Line 69:


== 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 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. 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 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.


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 -->




[[Category:Computers Workgroup]]
[[Category:Computers Workgroup]]

Revision as of 09:57, 18 March 2007

A computer network is a collection of computers 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 understood by all participants which determines, among others, how data is encoded, how access to the network is handled and how errors are handled and reported.

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 (computer) network "devices" or "nodes". Furthermore the network itself doesn't require direct physical connections between the participating devices. The communication could cross several intermediate nodes like routers or repeaters or use wireless connections.

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 system) is gradual.


Applications

Computers are connected in a computer network to provide certain services to users which would be unavailable or available only with less performance on a stand-alone machine. Such services include access to peripherals such as printers or sensors 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

The interoperation of computers in a network often follows some general network architecture describing roles of and interactions between the participating devices. The most used classes of architectures are:

  • 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 agents, the most well known example outside of it are Java Applets and the Web 2.0.

A common name for many of the above systems is “Distributed System”, that means a computer system whose constituting computers are locally distributed. Not necessary all computers connected via a network form a distributed system as for example some definitions of the term require transparency of distribution.

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 three 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 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 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).

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. The former uses either electrical or 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 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.

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.

Used Protocol

Computer networks are often named by 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 ISO/OSI model. This model defines a stack of communication services 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 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 communicaion 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 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 the network or transport layer.

Spanned area

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 Body Area Network covers devices carried by a person on his body, e.g. communication from mobile phone to headset.
  • 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 neighbours in an ad-hoc way or form multi-hop networks where devices themselves forward data send by their neighbours to its destination.

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.