Industrial Comunication WikiBook

Industrial Comunication WikiBook
Industrial Comunication
WikiBook
PLC programming 2- Wintec
This Handout is made up of a number of articles collected from the Wikipedia free
encyclopedia.
Should you need further information, please email [email protected]
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.
PDF generated at: Tue, 30 Jul 2013 03:33:46 UTC
Contents
Articles
Local area network
1
OSI model
3
Collision domain
14
Channel access method
14
Carrier sense multiple access
18
Carrier sense multiple access with collision avoidance
20
Carrier sense multiple access with collision detection
22
Token passing
24
Ethernet
24
IP address
31
Industrial Ethernet
37
Modbus
39
Profibus
43
DeviceNet
47
ControlNet
50
Fieldbus
51
Peer-to-peer
58
CAN bus
66
Frame (networking)
76
References
Article Sources and Contributors
77
Image Sources, Licenses and Contributors
81
Article Licenses
License
82
Local area network
1
Local area network
Computer network types by
spatial scope
•
Near field (NFC)
•
Body (BAN)
•
Personal (PAN)
•
Near-me (NAN)
•
Local (LAN)
•
•
Home (HAN)
Storage (SAN)
•
Campus (CAN)
•
Backbone
•
Metropolitan (MAN)
•
Wide (WAN)
•
Internet
•
Interplanetary Internet
•
Intergalactic Computer Network
A local area network (LAN) is a computer network that interconnects computers in a limited area such as a home,
school, computer laboratory, or office building using network media.[1] The defining characteristics of LANs, in
contrast to wide area networks (WANs), include their usually higher data-transfer rates, smaller geographic area, and
lack of a need for leased telecommunication lines.
ARCNET, Token Ring and other technology standards have been used in the past, but Ethernet over twisted pair
cabling, and Wi-Fi are the two most common technologies currently used to build LANs.
History
The increasing demand and use of computers in universities and
research labs in the late 1960s generated the need to provide
high-speed interconnections between computer systems. A 1970
report from the Lawrence Radiation Laboratory detailing the
growth of their "Octopus" network[2][3] gave a good indication of
the situation.
Cambridge Ring was developed at Cambridge University in
1974[4] but was never developed into a successful commercial
product.
Ethernet was developed at Xerox PARC in 1973–1975,[5] and
filed as U.S. Patent 4,063,220 [6]. In 1976, after the system was
deployed at PARC, Metcalfe and Boggs published a seminal
paper, "Ethernet: Distributed Packet-Switching For Local
Computer Networks."[7]
A conceptual diagram of a local area network using
10BASE5 Ethernet
ARCNET was developed by Datapoint Corporation in 1976 and announced in 1977.[8] It had the first commercial
installation in December 1977 at Chase Manhattan Bank in New York.[9]
Local area network
Standards evolution
The development and proliferation of personal computers using the CP/M operating system in the late 1970s, and
later DOS-based systems starting in 1981, meant that many sites grew to dozens or even hundreds of computers. The
initial driving force for networking was generally to share storage and printers, which were both expensive at the
time. There was much enthusiasm for the concept and for several years, from about 1983 onward, computer industry
pundits would regularly declare the coming year to be “the year of the LAN”.[10][11][12]
In practice, the concept was marred by proliferation of incompatible physical layer and network protocol
implementations, and a plethora of methods of sharing resources. Typically, each vendor would have its own type of
network card, cabling, protocol, and network operating system. A solution appeared with the advent of Novell
NetWare which provided even-handed support for dozens of competing card/cable types, and a much more
sophisticated operating system than most of its competitors. Netware dominated[13] the personal computer LAN
business from early after its introduction in 1983 until the mid-1990s when Microsoft introduced Windows NT
Advanced Server and Windows for Workgroups.
Of the competitors to NetWare, only Banyan Vines had comparable technical strengths, but Banyan never gained a
secure base. Microsoft and 3Com worked together to create a simple network operating system which formed the
base of 3Com's 3+Share, Microsoft's LAN Manager and IBM's LAN Server - but none of these was particularly
successful.
During the same period, Unix computer workstations from vendors such as Sun Microsystems, Hewlett-Packard,
Silicon Graphics, Intergraph, NeXT and Apollo were using TCP/IP based networking. Although this market segment
is now much reduced, the technologies developed in this area continue to be influential on the Internet and in both
Linux and Apple Mac OS X networking—and the TCP/IP protocol has now almost completely replaced IPX,
AppleTalk, NBF, and other protocols used by the early PC LANs.
Cabling
Early LAN cabling had been based on various grades of coaxial cable. Shielded twisted pair was used in IBM's
Token Ring LAN implementation. In 1984, StarLAN showed the potential of simple unshielded twisted pair by
using Cat3 cable—the same simple cable used for telephone systems. This led to the development of 10Base-T (and
its successors) and structured cabling which is still the basis of most commercial LANs today. In addition, fiber-optic
cabling is increasingly used in commercial applications.
As cabling is not always possible, Wi-Fi is now very common in residential premises, and elsewhere where support
for laptops and smartphones is important.
Technical aspects
Network topology describes the layout of interconnections between devices and network segments. At the Data Link
Layer and Physical Layer, a wide variety of LAN topologies have been used, including ring, bus, mesh and star, but
the most common LAN topology in use today is switched Ethernet. At the higher layers, the Internet Protocol
(TCP/IP) has become the standard, replacing NetBEUI, IPX/SPX, AppleTalk and others.
Simple LANs generally consist of one or more switches. A switch can be connected to a router, cable modem, or
ADSL modem for Internet access. Complex LANs are characterized by their use of redundant links with switches
using the spanning tree protocol to prevent loops, their ability to manage differing traffic types via quality of service
(QoS), and to segregate traffic with VLANs. A LAN can include a wide variety of network devices such as switches,
firewalls, routers, load balancers, and sensors.[14]
LANs can maintain connections with other LANs via leased lines, leased services, or the Internet using virtual
private network technologies. Depending on how the connections are established and secured in a LAN, and the
distance involved, a LAN may also be classified as a metropolitan area network (MAN) or a wide area network
2
Local area network
3
(WAN).
References
[6] http:/ / www. google. com/ patents/ US4063220
[10] "'The Year of The LAN' is a long-standing joke, and I freely admit to being the comedian that first declared it in 1982..." (http:/ / books.
google. co. nz/ books?id=FzsEAAAAMBAJ& pg=PA45& lpg=PA45& dq=“the+ year+ of+ the+ LAN”+ bogus& source=bl&
ots=hGEgb2Ekvc& sig=y6XBt_XvpiQlq-kmVwUSRoYUCe8& hl=en& ei=6YlnTcCmNIjksQP9-tymBA& sa=X& oi=book_result&
ct=result& resnum=1& ved=0CBgQ6AEwAA#v=onepage& q& f=false), Robert Metcalfe, InfoWorld Dec 27, 1993
[11] "...you will remember numerous computer magazines, over numerous years, announcing 'the year of the LAN.'" (http:/ / www. ibiblio. org/
java/ quotes1999. html), Quotes in 1999
[12] "...a bit like the Year of the LAN which computer industry pundits predicted for the good part of a decade..." (http:/ / herot. typepad. com/
cherot/ 2010/ 10/ connected-health-symposium. html), Christopher Herot
OSI model
OSI model
7. Application layer
•
NNTP
•
SIP
•
SSI
•
DNS
•
FTP
•
Gopher
•
HTTP
•
NFS
•
NTP
•
SMPP
•
SMTP
•
SNMP
•
Telnet
•
DHCP
•
Netconf
•
(more)
6. Presentation layer
•
•
MIME
XDR
5. Session layer
•
Named pipe
•
NetBIOS
•
SAP
•
PPTP
•
RTP
•
SOCKS
•
SPDY
•
TLS/SSL
4. Transport layer
OSI model
4
TCP
UDP
SCTP
DCCP
SPX
•
•
•
•
•
3. Network layer
IP
•
•
•
IPv4
IPv6
•
ARP
•
ICMP
•
IPsec
•
IGMP
•
IPX
•
AppleTalk
2. Data link layer
•
ATM
•
SDLC
•
HDLC
•
CSLIP
•
SLIP
•
GFP
•
PLIP
•
IEEE 802.2
•
LLC
•
L2TP
•
IEEE 802.3
•
Frame Relay
•
ITU-T G.hn DLL
•
PPP
•
X.25
1. Physical layer
•
EIA/TIA-232
•
EIA/TIA-449
•
ITU-T V-Series
•
I.430
•
I.431
•
PDH
•
SONET/SDH
•
PON
•
OTN
•
DSL
•
IEEE 802.3
•
IEEE 802.11
•
IEEE 802.15
•
IEEE 802.16
•
IEEE 1394
•
ITU-T G.hn PHY
•
USB
•
Bluetooth
OSI model
5
•
RS-232
•
RS-449
The Open Systems Interconnection (OSI) model (ISO/IEC 7498-1) is a conceptual model that characterizes and
standardizes the internal functions of a communication system by partitioning it into abstraction layers. The model is
a product of the Open Systems Interconnection project at the International Organization for Standardization (ISO).
The model groups similar communication functions into one of seven logical layers. A layer serves the layer above it
and is served by the layer below it. For example, a layer that provides error-free communications across a network
provides the path needed by applications above it, while it calls the next lower layer to send and receive packets that
make up the contents of that path. Two instances at one layer are connected by a horizontal connection on that layer.
History
Work on a layered model of network
architecture was started and the
International
Organization
for
Standardization (ISO) began to
develop
its
OSI
framework
architecture. OSI had two major
components: an abstract model of
networking, called the Basic Reference
Model or seven-layer model, and a set
of specific protocols.
The concept of a seven-layer model
Communication in the OSI-Model (example with layers 3 to 5)
was provided by the work of Charles
Bachman, Honeywell Information Services. Various aspects of OSI design evolved from experiences with the
ARPANET, the fledgling Internet, NPLNET, EIN, CYCLADES network and the work in IFIP WG6.1. The new
design was documented in ISO 7498 and its various addenda. In this model, a networking system was divided into
layers. Within each layer, one or more entities implement its functionality. Each entity interacted directly only with
the layer immediately beneath it, and provided facilities for use by the layer above it.
Protocols enabled an entity in one host to interact with a corresponding entity at the same layer in another host.
Service definitions abstractly described the functionality provided to an (N)-layer by an (N-1) layer, where N was
one of the seven layers of protocols operating in the local host.
The OSI standards documents are available from the ITU-T as the X.200-series of recommendations.[1] Some of the
protocol specifications were also available as part of the ITU-T X series. The equivalent ISO and ISO/IEC standards
for the OSI model were available from ISO, but only some of them without fees.[2]
Description of OSI layers
According to recommendation X.200, there are seven layers, labelled 1 to 7, with layer 1 at the bottom. Each layer is
generically known as an N layer. An "N+1 entity" (at layer N+1) requests services from an "N entity" (at layer N).
OSI model
6
OSI Model
Data unit
Host Data
layers
Segments
Layer
7. Application Network process to application
6.
Presentation
Data representation, encryption and decryption, convert machine dependent data to machine
independent data
5. Session
Interhost communication, managing sessions between applications
4. Transport
End-to-end connections, reliability and flow control
Media Packet/Datagram 3. Network
layers
Frame
2. Data link
Bit
Function
1. Physical
Path determination and logical addressing
Physical addressing
Media, signal and binary transmission
At each level, two entities (N-entity peers) interact by means of the N protocol by transmitting protocol data units
(PDU).
A service data unit (SDU) is a specific unit of data that has been passed down from an OSI layer to a lower layer,
and which the lower layer has not yet encapsulated into a protocol data unit (PDU). An SDU is a set of data that is
sent by a user of the services of a given layer, and is transmitted semantically unchanged to a peer service user.
The PDU at a layer N is the SDU of layer N-1. In effect the SDU is the 'payload' of a given PDU. That is, the process
of changing an SDU to a PDU, consists of an encapsulation process, performed by the lower layer. All the data
contained in the SDU becomes encapsulated within the PDU. The layer N-1 adds headers or footers, or both, to the
SDU, transforming it into a PDU of layer N-1. The added headers or footers are part of the process used to make it
possible to get data from a source to a destination.
Some orthogonal aspects, such as management and security, involve every layer.
Security services are not related to a specific layer: they can be related by a number of layers, as defined by ITU-T
X.800 Recommendation.[3]
These services are aimed to improve the CIA triad (confidentiality, integrity, and availability) of transmitted data. In
practice, the availability of communication service is determined by the interaction between network design and
network management protocols. Appropriate choices for both of these are needed to protect against denial of
service.[citation needed]
OSI model
Layer 1: physical layer
The physical layer defines electrical and physical specifications for devices. In particular, it defines the relationship
between a device and a transmission medium, such as a copper or fiber optical cable. This includes the layout of
pins, voltages, line impedance, cable specifications, signal timing, hubs, repeaters, network adapters, host bus
adapters (HBA used in storage area networks) and more.
The major functions and services performed by the physical layer are the following:
• Establishment and termination of a connection to a communications medium.
• Participation in the process whereby the communication resources are effectively shared among multiple users.
For example, contention resolution and flow control.
• Modulation or conversion between the representation of digital data in user equipment and the corresponding
signals transmitted over a communications channel. These are signals operating over the physical cabling (such as
copper and optical fiber) or over a radio link.
Parallel SCSI buses operate in this layer, although it must be remembered that the logical SCSI protocol is a
transport layer protocol that runs over this bus. Various physical-layer Ethernet standards are also in this layer;
Ethernet incorporates both this layer and the data link layer. The same applies to other local-area networks, such as
token ring, FDDI, ITU-T G.hn, and IEEE 802.11, as well as personal area networks such as Bluetooth and IEEE
802.15.4
Layer 2: data link layer
The data link layer provides the functional and procedural means to transfer data between network entities and to
detect and possibly correct errors that may occur in the physical layer. Originally, this layer was intended for
point-to-point and point-to-multipoint media, characteristic of wide area media in the telephone system. Local area
network architecture, which included broadcast-capable multi-access media, was developed independently of the
ISO work in IEEE Project 802. IEEE work assumed sublayer-ing and management functions not required for WAN
use. In modern practice, only error detection, not flow control using sliding window, is present in data link protocols
such as Point-to-Point Protocol (PPP), and, on local area networks, the IEEE 802.2 LLC layer is not used for most
protocols on the Ethernet, and on other local area networks, its flow control and acknowledgment mechanisms are
rarely used. Sliding window flow control and acknowledgment is used at the transport layer by protocols such as
TCP, but is still used in niches where X.25 offers performance advantages.
The ITU-T G.hn standard, which provides high-speed local area networking over existing wires (power lines, phone
lines and coaxial cables), includes a complete data link layer which provides both error correction and flow control
by means of a selective repeat Sliding Window Protocol.
Both WAN and LAN service arrange bits from the physical layer into logical sequences called frames. Not all
physical layer bits necessarily go into frames, as some of these bits are purely intended for physical layer functions.
For example, every fifth bit of the FDDI bit stream is not used by the layer.
7
OSI model
WAN protocol architecture
Connection-oriented WAN data link protocols, in addition to framing, detect and may correct errors. They are also
capable of controlling the rate of transmission. A WAN data link layer might implement a sliding window flow
control and acknowledgment mechanism to provide reliable delivery of frames; that is the case for Synchronous
Data Link Control (SDLC) and HDLC, and derivatives of HDLC such as LAPB and LAPD.
IEEE 802 LAN architecture
Practical, connectionless LANs began with the pre-IEEE Ethernet specification, which is the ancestor of IEEE 802.3.
This layer manages the interaction of devices with a shared medium, which is the function of a media access control
(MAC) sublayer. Above this MAC sublayer is the media-independent IEEE 802.2 Logical Link Control (LLC)
sublayer, which deals with addressing and multiplexing on multi-access media.
While IEEE 802.3 is the dominant wired LAN protocol and IEEE 802.11 the wireless LAN protocol, obsolete MAC
layers include Token Ring and FDDI. The MAC sublayer detects but does not correct errors.
Layer 3: network layer
The network layer provides the functional and procedural means of transferring variable length data sequences from
a source host on one network to a destination host on a different network (in contrast to the data link layer which
connects hosts within the same network), while maintaining the quality of service requested by the transport layer.
The network layer performs network routing functions, and might also perform fragmentation and reassembly, and
report delivery errors. Routers operate at this layer, sending data throughout the extended network and making the
Internet possible. This is a logical addressing scheme – values are chosen by the network engineer. The addressing
scheme is not hierarchical.
The network layer may be divided into three sublayers:
1. Subnetwork access – that considers protocols that deal with the interface to networks, such as X.25;
2. Subnetwork-dependent convergence – when it is necessary to bring the level of a transit network up to the level
of networks on either side
3. Subnetwork-independent convergence – handles transfer across multiple networks.
An example of this latter case is CLNP, or IPv6 ISO 8473. It manages the connectionless transfer of data one hop at
a time, from end system to ingress router, router to router, and from egress router to destination end system. It is not
responsible for reliable delivery to a next hop, but only for the detection of erroneous packets so they may be
discarded. In this scheme, IPv4 and IPv6 would have to be classed with X.25 as subnet access protocols because they
carry interface addresses rather than node addresses.
A number of layer-management protocols, a function defined in the Management Annex, ISO 7498/4, belong to the
network layer. These include routing protocols, multicast group management, network-layer information and error,
and network-layer address assignment. It is the function of the payload that makes these belong to the network layer,
not the protocol that carries them.
Layer 4: transport layer
The transport layer provides transparent transfer of data between end users, providing reliable data transfer services
to the upper layers. The transport layer controls the reliability of a given link through flow control,
segmentation/desegmentation, and error control. Some protocols are state- and connection-oriented. This means that
the transport layer can keep track of the segments and retransmit those that fail. The transport layer also provides the
acknowledgement of the successful data transmission and sends the next data if no errors occurred.
OSI defines five classes of connection-mode transport protocols ranging from class 0 (which is also known as TP0
and provides the least features) to class 4 (TP4, designed for less reliable networks, similar to the Internet). Class 0
8
OSI model
9
contains no error recovery, and was designed for use on network layers that provide error-free connections. Class 4 is
closest to TCP, although TCP contains functions, such as the graceful close, which OSI assigns to the session layer.
Also, all OSI TP connection-mode protocol classes provide expedited data and preservation of record boundaries.
Detailed characteristics of TP0-4 classes are shown in the following table:[4]
Feature Name
TP0 TP1 TP2 TP3 TP4
Connection oriented network
Yes Yes Yes Yes Yes
Connectionless network
No
No
Concatenation and separation
No
Yes Yes Yes Yes
Segmentation and reassembly
Yes Yes Yes Yes Yes
Error Recovery
No
Yes Yes Yes Yes
Reinitiate connection (if an excessive number of PDUs are unacknowledged)
No
Yes
No
Multiplexing and demultiplexing over a single virtual circuit
No
No
Yes Yes Yes
Explicit flow control
No
No
Yes Yes Yes
Retransmission on timeout
No
No
No
No
Reliable Transport Service
No
Yes
No
Yes Yes
No
No
Yes
Yes
No
Yes
An easy way to visualize the transport layer is to compare it with a Post Office, which deals with the dispatch and
classification of mail and parcels sent. Do remember, however, that a post office manages the outer envelope of mail.
Higher layers may have the equivalent of double envelopes, such as cryptographic presentation services that can be
read by the addressee only. Roughly speaking, tunneling protocols operate at the transport layer, such as carrying
non-IP protocols such as IBM's SNA or Novell's IPX over an IP network, or end-to-end encryption with IPsec.
While Generic Routing Encapsulation (GRE) might seem to be a network-layer protocol, if the encapsulation of the
payload takes place only at endpoint, GRE becomes closer to a transport protocol that uses IP headers but contains
complete frames or packets to deliver to an endpoint. L2TP carries PPP frames inside transport packet.
Although not developed under the OSI Reference Model and not strictly conforming to the OSI definition of the
transport layer, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) of the Internet
Protocol Suite are commonly categorized as layer-4 protocols within OSI.
Layer 5: session layer
The session layer controls the dialogues (connections) between computers. It establishes, manages and terminates the
connections between the local and remote application. It provides for full-duplex, half-duplex, or simplex operation,
and establishes checkpointing, adjournment, termination, and restart procedures. The OSI model made this layer
responsible for graceful close of sessions, which is a property of the Transmission Control Protocol, and also for
session checkpointing and recovery, which is not usually used in the Internet Protocol Suite. The session layer is
commonly implemented explicitly in application environments that use remote procedure calls.
OSI model
10
Layer 6: presentation layer
The presentation layer establishes context between application-layer entities, in which the higher-layer entities may
use different syntax and semantics if the presentation service provides a mapping between them. If a mapping is
available, presentation service data units are encapsulated into session protocol data units, and passed down the
stack.
This layer provides independence from data representation (e.g., encryption) by translating between application and
network formats. The presentation layer transforms data into the form that the application accepts. This layer formats
and encrypts data to be sent across a network. It is sometimes called the syntax layer.[5]
The original presentation structure used the Basic Encoding Rules of Abstract Syntax Notation One (ASN.1), with
capabilities such as converting an EBCDIC-coded text file to an ASCII-coded file, or serialization of objects and
other data structures from and to XML.
Layer 7: application layer
The application layer is the OSI layer closest to the end user, which means that both the OSI application layer and
the user interact directly with the software application. This layer interacts with software applications that implement
a communicating component. Such application programs fall outside the scope of the OSI model. Application-layer
functions typically include identifying communication partners, determining resource availability, and synchronizing
communication. When identifying communication partners, the application layer determines the identity and
availability of communication partners for an application with data to transmit. When determining resource
availability, the application layer must decide whether sufficient network or the requested communication exist. In
synchronizing communication, all communication between applications requires cooperation that is managed by the
application layer. Some examples of application-layer implementations also include:
• On OSI stack:
• FTAM File Transfer and Access Management Protocol
• X.400 Mail
• Common Management Information Protocol (CMIP)
• On TCP/IP stack:
•
•
•
•
Hypertext Transfer Protocol (HTTP),
File Transfer Protocol (FTP),
Simple Mail Transfer Protocol (SMTP)
Simple Network Management Protocol (SNMP).
Cross-layer functions
There are some functions or services that are not tied to a given layer, but they can affect more than one layer.
Examples include the following:
• security service (telecommunication)[3] as defined by ITU-T X.800 Recommendation.
• management functions, i.e. functions that permit to configure, instantiate, monitor, terminate the communications
of two or more entities: there is a specific application layer protocol, common management information protocol
(CMIP) and its corresponding service, common management information service (CMIS), they need to interact
with every layer in order to deal with their instances.
• Multiprotocol Label Switching (MPLS) operates at an OSI-model layer that is generally considered to lie between
traditional definitions of layer 2 (data link layer) and layer 3 (network layer), and thus is often referred to as a
"layer-2.5" protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and
packet-switching clients which provide a datagram-based service model. It can be used to carry many different
kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames.
OSI model
11
• ARP is used to translate IPv4 addresses (OSI layer 3) into Ethernet MAC addresses (OSI layer 2).
Interfaces
Neither the OSI Reference Model nor OSI protocols specify any programming interfaces, other than as deliberately
abstract service specifications. Protocol specifications precisely define the interfaces between different computers,
but the software interfaces inside computers, known as network sockets are implementation-specific.
For example Microsoft Windows' Winsock, and Unix's Berkeley sockets and System V Transport Layer Interface,
are interfaces between applications (layer 5 and above) and the transport (layer 4). NDIS and ODI are interfaces
between the media (layer 2) and the network protocol (layer 3).
Interface standards, except for the physical layer to media, are approximate implementations of OSI service
specifications.
Examples
Layer
#
OSI protocols
TCP/IP
protocols
Name
Signaling AppleTalk
System
[6]
7
7 Application FTAM, X.400, X.500,
DAP, ROSE, RTSE,
[7]
[8]
ACSE CMIP
NNTP, SIP,
SSI, DNS,
FTP, Gopher,
HTTP, NFS,
NTP, DHCP,
SMPP,
SMTP,
SNMP,
Telnet
INAP,
MAP,
TCAP,
ISUP,
TUP
6 Presentation ISO/IEC 8823, X.226,
ISO/IEC 9576-1, X.236
MIME, SSL,
TLS, XDR
AFP
5 Session
ISO/IEC 8327, X.225,
ISO/IEC 9548-1, X.235
Sockets.
Session
establishment
in TCP, RTP,
PPTP
ASP,
ADSP,
PAP
4 Transport
ISO/IEC 8073, TP0, TP1, TCP, UDP,
TP2, TP3, TP4 (X.224),
SCTP, DCCP
ISO/IEC 8602, X.234
3 Network
ISO/IEC 8208, X.25
(Packet-LaISO/IEC 8878,
X.223, ISO/IEC 8473-1,
CLNP X.233.
IP, IPsec,
SCCP,
ICMP, IGMP, MTP
OSPF, RIP,
BGP
AFP, ZIP,
RTMP,
NBP
IPX
RIP,
SAP
SNA
UMTS
APPC
Misc. examples
HL7, Modbus
TDI, ASCII,
EBCDIC, MIDI,
MPEG
NWLink DLC?
Named pipes,
NetBIOS, SAP,
half duplex, full
duplex, simplex,
RPC, SOCKS
DDP,
SPX
NBF
ATP
IPX
(TokenTalk
or
EtherTalk)
RRC (Radio
Resource Control)
and BMC
(Broadcast/Multicast
Control)
NBF, Q.931,
NDP, ARP
(maps layer 3 to
layer 2 address),
IS-IS
OSI model
12
2 Data Link
ISO/IEC 7666, X.25
(LAPB), Token Bus,
X.222, ISO/IEC 8802-2
[9]
LLC Type 1 and 2
1 Physical
X.25 (X.21bis,
EIA/TIA-232,
EIA/TIA-449, EIA-530,
[9]
G.703)
PPP, SBTV,
SLIP
MTP,
Q.710
LocalTalk,
AppleTalk
Remote
Access,
PPP
MTP,
Q.710
RS-232,
RS-422,
STP,
PhoneNet
IEEE
SDLC
802.3
framing,
Ethernet
II
framing
Packet Data
Convergence
Protocol
[10]
(PDCP),
LLC
(Logical Link
Control), MAC
(Media Access
Control)
Twinax UMTS Physical
layer or L1
802.3
(Ethernet),
802.11a/b/g/n
MAC/LLC,
802.1Q
(VLAN), ATM,
HDP, FDDI,
Fibre Channel,
Frame Relay,
HDLC, ISL,
PPP, Q.921,
Token Ring,
CDP, ITU-T
G.hn DLL
CRC, Bit
stuffing, ARQ,
Data Over Cable
Service
Interface
Specification
(DOCSIS),
interface
bonding
RS-232, Full
duplex, RJ45,
V.35, V.34,
I.430, I.431, T1,
E1, 10BASE-T,
100BASE-TX,
1000BASE-T,
POTS, SONET,
SDH, DSL,
802.11a/b/g/n
PHY, ITU-T
G.hn PHY,
Controller Area
Network, Data
Over Cable
Service
Interface
Specification
(DOCSIS),
DWDM
Comparison with TCP/IP model
In the TCP/IP model of the Internet, protocols are deliberately not as rigidly designed into strict layers as in the OSI
model.[11] RFC 3439 contains a section entitled "Layering considered harmful."[12] However, TCP/IP does recognize
four broad layers of functionality which are derived from the operating scope of their contained protocols, namely
the scope of the software application, the end-to-end transport connection, the internetworking range, and the scope
of the direct links to other nodes on the local network.
Even though the concept is different from the OSI model, these layers are nevertheless often compared with the OSI
layering scheme in the following way: The Internet application layer includes the OSI application layer, presentation
layer, and most of the session layer. Its end-to-end transport layer includes the graceful close function of the OSI
session layer as well as the OSI transport layer. The internetworking layer (Internet layer) is a subset of the OSI
OSI model
network layer (see above), while the link layer includes the OSI data link and physical layers, as well as parts of
OSI's network layer. These comparisons are based on the original seven-layer protocol model as defined in ISO
7498, rather than refinements in such things as the internal organization of the network layer document.
The presumably strict peer layering of the OSI model as it is usually described does not present contradictions in
TCP/IP, as it is permissible that protocol usage does not follow the hierarchy implied in a layered model. Such
examples exist in some routing protocols (e.g., OSPF), or in the description of tunneling protocols, which provide a
link layer for an application, although the tunnel host protocol may well be a transport or even an application layer
protocol in its own right.
References
[1] ITU-T X-Series Recommendations (http:/ / www. itu. int/ rec/ T-REC-X/ en)
[3] X.800 : Security architecture for Open Systems Interconnection for CCITT applications (http:/ / www. itu. int/ rec/ T-REC-X. 800-199103-I/
e)
[6] ITU-T Recommendation Q.1400 (03/1993) (http:/ / www. itu. int/ rec/ T-REC-Q. 1400/ en/ ), Architecture framework for the development of
signaling and OA&M protocols using OSI concepts, pp 4, 7.
[7] ITU Rec. X.227 (ISO 8650), X.217 (ISO 8649)
[8] X.700 series of recommendations from the ITU-T (in particular X.711), and ISO 9596
[9] CISCO Cisco Systems, Inc. Internetworking Technology Handbook OSI Model Physical layer (http:/ / www. cisco. com/ en/ US/ docs/
internetworking/ technology/ handbook/ Intro-to-Internet. html#wp1020669)
[10] 3GPP TS 36.300 : E-UTRA and E-UTRAN Overall Description, Stage 2, Release 11 (http:/ / www. 3gpp. org/ ftp/ Specs/ html-info/ 36300.
htm)
[11] RFC 3439
[12] http:/ / tools. ietf. org/ html/ rfc3439#section-3
External links
• ISO/IEC standard 7498-1:1994 (http://standards.iso.org/ittf/PubliclyAvailableStandards/
s020269_ISO_IEC_7498-1_1994(E).zip) (PDF document inside ZIP archive) (requires HTTP cookies in order to
accept licence agreement)
• ITU-T X.200 (the same contents as from ISO) (http://www.itu.int/rec/dologin_pub.asp?lang=e&
id=T-REC-X.200-199407-I!!PDF-E&type=items)
• The ISO OSI Reference Model , Beluga graph of data units and groups of layers (http://infchg.appspot.com/
usr?at=1263939371)
• Zimmermann, Hubert (April 1980). "OSI Reference Model — The ISO Model of Architecture for Open Systems
Interconnection". IEEE Transactions on Communications 28 (4): 425–432. CiteSeerX: 10.1.1.136.9497 (http://
citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.9497).
• Cisco Systems Internetworking Technology Handbook (http://docwiki.cisco.com/wiki/
Internetworking_Technology_Handbook)
13
Collision domain
Collision domain
A collision domain is a section of a network where data packets can collide with one another when being sent on a
shared medium or through repeaters, in particular, when using early versions of Ethernet. A network collision occurs
when more than one device attempts to send a packet on a network segment at the same time. Collisions are resolved
using carrier sense multiple access with collision detection in which the competing packets are discarded and re-sent
one at a time. This becomes a source of inefficiency in the network.[]
Only one device in the collision domain may transmit at any one time, and the other devices in the domain listen to
the network in order to avoid data collisions. Because only one device may be transmitting at any one time, total
network bandwidth is shared among all devices. Collisions also decrease network efficiency on a collision domain; if
two devices transmit simultaneously, a collision occurs, and both devices must retransmit at a later time.
Collision domains are found in a hub environment where each host segment connects to a hub that represents only
one collision domain and only one broadcast domain. Collision domains are also found in wireless networks such as
Wi-Fi.
Modern wired networks use a network switch to eliminate collisions. By connecting each device directly to a port on
the switch, either each port on a switch becomes its own collision domain (in the case of half duplex links) or the
possibility of collisions is eliminated entirely in the case of full duplex links.
References
Channel access method
In telecommunications and computer networks, a channel access method or multiple access method allows several
terminals connected to the same multi-point transmission medium to transmit over it and to share its capacity.
Examples of shared physical media are wireless networks, bus networks, ring networks, hub networks and
half-duplex point-to-point links.
A channel-access scheme is based on a multiplexing method, that allows several data streams or signals to share the
same communication channel or physical medium. Multiplexing is in this context provided by the physical layer.
Note that multiplexing also may be used in full-duplex point-to-point communication between nodes in a switched
network, which should not be considered as multiple access.
A channel-access scheme is also based on a multiple access protocol and control mechanism, also known as media
access control (MAC). This protocol deals with issues such as addressing, assigning multiplex channels to different
users, and avoiding collisions. The MAC-layer is a sub-layer in Layer 2 (Data Link Layer) of the OSI model and a
component of the Link Layer of the TCP/IP model.
Fundamental types of channel access schemes
These are the four fundamental types of channel access schemes:
Frequency Division Multiple Access (FDMA)
The frequency-division multiple access (FDMA) channel-access scheme is based on the frequency-division
multiplexing (FDM) scheme, which provides different frequency bands to different data-streams. In the FDMA case,
the data streams are allocated to different nodes or devices. An example of FDMA systems were the first-generation
(1G) cell-phone systems, where each phone call was assigned to a specific uplink frequency channel, and another
14
Channel access method
downlink frequency channel. Each message signal (each phone call) is modulated on a specific carrier frequency.
A related technique is wavelength division multiple access (WDMA), based on wavelength-division multiplexing
(WDM), where different datastreams get different colors in fiber-optical communications. In the WCDMA case,
different network nodes in a bus och hub network get a different color.
An advanced form of FDMA is the orthogonal frequency-division multiple access (OFDMA) scheme, for example
used in 4G cellular communication systems. In OFDMA, each node may use several sub-carriers, making it possible
to provide different quality of service (different data rates) to different users. The assignment of sub-carriers to users
may be changed dynamically, based on the current radio channel conditions and traffic load.
Time division multiple access (TDMA)
The time division multiple access (TDMA) channel access scheme is based on the time-division multiplexing (TDM)
scheme, which provides different time-slots to different data-streams (in the TDMA case to different transmitters) in
a cyclically repetitive frame structure. For example, node 1 may use time slot 1, node 2 time slot 2, etc. until the last
transmitter. Then it starts all over again, in a repetitive pattern, until a connection is ended and that slot becomes free
or assigned to another node. An advanced form is Dynamic TDMA (DTDMA), where a scheduling may give
different timesometimes but some times node 1 may use time slot 1 in first frame and use another time slot in next
frame.
As an example, 2G cellular systems are based on a combination of TDMA and FDMA. Each frequency channel is
divided into eight timeslots, of which seven are used for seven phone calls, and one for signalling data.
Packet mode multiple-access
Packet mode multiple-access is typically also based on time-domain multiplexing, but not in a cyclically repetitive
frame structure, and therefore it is not considered as TDM or TDMA. Due to its random character it can be
categorised as statistical multiplexing methods, making it possible to provide dynamic bandwidth allocation. This
require a media access control (MAC) protocol, i.e. a principle for the nodes to take turns on the channel and to
avoid collisions. Common examples are CSMA/CD, used in Ethernet bus networks and hub networks, and
CSMA/CA, used in wireless networks such as IEEE 802.11.
Code division multiple access (CDMA)/Spread spectrum multiple access (SSMA)
The code division multiple access (CDMA) scheme is based on spread spectrum, meaning that a wider radio
spectrum in Hertz is used than the data rate of each of the transferred bit streams, and several message signals are
transferred simultaneously over the same carrier frequency, utilizing different spreading codes. The wide bandwidth
makes it possible to send with a very poor signal-to-noise ratio of much less than 1 (less than 0 dB) according to the
Shannon-Heartly formula, meaning that the transmission power can be reduced to a level below the level of the noise
and co-channel interference (cross talk) from other message signals sharing the same frequency.
One form is direct sequence spread spectrum (DS-CDMA), used for example in 3G cell phone systems. Each
information bit (or each symbol) is represented by a long code sequence of several pulses, called chips. The
sequence is the spreading code, and each message signal (for example each phone call) use different spreading code.
Another form is frequency-hopping (FH-CDMA), where the channel frequency is changing very rapidly according to
a sequency that constitute the spreading code. As an example, the Bluetooth communication system is based on a
combination of frequency-hopping and either CSMA/CA packet mode communication (for data communication
applications) or TDMA (for audio transmission). All nodes belonging to the same user (to the same virtual private
area network or piconet) use the same frequency hopping sequency synchronously, meaning that they send on the
same frequency channel, but CDMA/CA or TDMA is used to avoid collisions within the VPAN. Frequency-hopping
is used to reduce the cross-talk and collision probability between nodes in different VPAN:s.
15
Channel access method
Space division multiple access (SDMA)
Space division multiple access (SDMA).
List of channel access methods
Circuit mode and channelization methods
The following are common circuit mode and channelization channel access methods:
• Frequency-division multiple access (FDMA), based on frequency-division multiplexing (FDM)
• Wavelength division multiple access (WDMA)
• Orthogonal frequency-division multiple access (OFDMA), based on Orthogonal frequency-division
multiplexing (OFDM)
• Single-carrier FDMA (SC-FDMA), a.k.a. linearly-precoded OFDMA (LP-OFDMA), based on single-carrier
frequency-domain-equalization (SC-FDE).
• Time-division multiple access (TDMA), based on time-division multiplexing (TDM)
• Multi-Frequency Time Division Multiple Access (MF-TDMA)
• Code division multiple access (CDMA), a.k.a. Spread spectrum multiple access (SSMA)
• Direct-sequence CDMA (DS-CDMA), based on Direct-sequence spread spectrum (DSSS)
• Frequency-hopping CDMA (FH-CDMA), based on Frequency-hopping spread spectrum (FHSS)
• Orthogonal frequency-hopping multiple access (OFHMA)
• Multi-carrier code division multiple access (MC-CDMA)
• Space division multiple access (SDMA)
Packet mode methods
The following are examples of packet mode channel access methods:
• Contention based random multiple access methods
•
•
•
•
•
•
•
Aloha
Slotted Aloha
Multiple Access with Collision Avoidance (MACA)
Multiple Access with Collision Avoidance for Wireless (MACAW)
Carrier sense multiple access (CSMA)
Carrier sense multiple access with collision detection (CSMA/CD) - suitable for wired networks
Carrier sense multiple access with collision avoidance (CSMA/CA) - suitable for wireless networks
• Distributed Coordination Function (DCF)
• Carrier sense multiple access with collision avoidance and Resolution using Priorities (CSMA/CARP)
• Carrier Sense Multiple Access/Bitwise Arbitration (CSMA/BA) Based on constructive interference (CAN-bus)
• Token passing:
• Token ring
• Token bus
• Polling
• Resource reservation (scheduled) packet-mode protocols
• Dynamic Time Division Multiple Access (Dynamic TDMA)
• Packet reservation multiple access (PRMA)
• Reservation ALOHA (R-ALOHA)
16
Channel access method
Duplexing methods
Where these methods are used for dividing forward and reverse communication channels, they are known as
duplexing methods, such as:
• Time division duplex (TDD)
• Frequency division duplex (FDD)
Hybrid channel access scheme application examples
Note that hybrids of these techniques can be - and frequently are - used. Some examples:
• The GSM cellular system combines the use of frequency division duplex (FDD) to prevent interference between
outward and return signals, with FDMA and TDMA to allow multiple handsets to work in a single cell.
• GSM with the GPRS packet switched service combines FDD and FDMA with slotted Aloha for reservation
inquiries, and a Dynamic TDMA scheme for transferring the actual data.
• Bluetooth packet mode communication combines frequency hopping (for shared channel access among several
private area networks in the same room) with CSMA/CA (for shared channel access inside a medium).
• IEEE 802.11b wireless local area networks (WLANs) are based on FDMA and DS-CDMA for avoiding
interference among adjacent WLAN cells or access points. This is combined with CSMA/CA for multiple access
within the cell.
• HIPERLAN/2 wireless networks combine FDMA with dynamic TDMA, meaning that resource reservation is
achieved by packet scheduling.
• G.hn, an ITU-T standard for high-speed networking over home wiring (power lines, phone lines and coaxial
cables) employs a combination of TDMA, Token passing and CSMA/CARP to allow multiple devices to share
the medium.
Definition within certain application areas
Local and metropolitan area networks
In local area networks (LANs) and metropolitan area networks (MANs), multiple access methods enable bus
networks, ring networks, hubbed networks, wireless networks and half duplex point-to-point communication, but are
not required in full duplex point-to-point serial lines between network switches and routers, or in switched networks
(logical star topology). The most common multiple access method is CSMA/CD, which is used in Ethernet.
Although today's Ethernet installations typically are switched, CSMA/CD is utilized anyway to achieve
compatibility with hubs.
Satellite communications
In satellite communications, multiple access is the capability of a communications satellite to function as a portion of
a communications link between more than one pair of satellite terminals concurrently. Three types of multiple access
presently used with communications satellites are code-division, frequency-division, and time-division multiple
access.
Switching centers
In telecommunication switching centers, multiple access is the connection of a user to two or more switching centers
by separate access lines using a single message routing indicator or telephone number.
17
Channel access method
Classifications in the literature
Several ways of categorizing multiple-access schemes and protocols have been used in the literature. For example,
Daniel Minoli (2009)[1] identifies five principal types of multiple-access schemes: FDMA, TDMA, CDMA, SDMA,
and Random access. R. Rom and M. Sidi (1990)[2] categorize the protocols into Conflict-free access protocols,
Aloha protocols, and Carrier Sensing protocols.
The Telecommunications Handbook (Terplan and Morreale, 2000)[3] identifies the following MAC categories:
• Fixed assigned: TDMA, FDMA+WDMA, CDMA, SDMA
• Demand assigned (DA)
• Reservation: DA/TDMA, DA/FDMA+DA/WDMA, DA/CDMA, DA/SDMA
• Polling: Generalized polling, Distributed polling, Token Passing, Implicit polling, Slotted access
• Random access (RA): Pure RA (ALOHA, GRA), Adaptive RA (TRA), CSMA, CSMA/CD, CSMA/CA
References
This article incorporates public domain material from the General Services Administration document "Federal
Standard 1037C" (http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm) (in support of MIL-STD-188).
Carrier sense multiple access
Carrier sense multiple access (CSMA) is a probabilistic media access control (MAC) protocol in which a node
verifies the absence of other traffic before transmitting on a shared transmission medium, such as an electrical bus,
or a band of the electromagnetic spectrum.
Carrier sense means that a transmitter uses feedback from a receiver to determine whether another transmission is in
progress before initiating a transmission. That is, it tries to detect the presence of a carrier wave from another station
before attempting to transmit. If a carrier is sensed, the station waits for the transmission in progress to finish before
initiating its own transmission. In other words, CSMA is based on the principle "sense before transmit" or "listen
before talk".
Multiple access means that multiple stations send and receive on the medium. Transmissions by one node are
generally received by all other stations connected to the medium.
Protocol modifications
CSMA with collision detection
CSMA/CD is used to improve CSMA performance by terminating transmission as soon as a collision is detected,
thus shortening the time required before a retry can be attempted.
CSMA with collision avoidance
In CSMA/CA collision avoidance is used to improve the performance of CSMA by attempting to be less "greedy" on
the channel. If the channel is sensed busy before transmission then the transmission is deferred for a "random"
interval. This reduces the probability of collisions on the channel.
18
Carrier sense multiple access
Virtual time CSMA
VTCSMA is designed to avoid collision generated by nodes transmitting signals simultaneously, used mostly in
Hard Real-Time systems. The VTCSMA uses two clocks at every node, a virtual clock (vc) and a real clock (rc)
which tells "real time". When the channel is sensed to be busy, the vc freezes, when channel is free, it is reset.
Hence, calculating vc runs faster than rc when channel is free, and vc is not initiated when channel is busy.[1]
CSMA access modes
1-persistent
When the sender (station) is ready to transmit data, it checks if the transmission medium is busy. If so, it then
senses the medium continually until it becomes idle, and then it transmits the message (a frame). In case of a
collision, the sender waits for a random period of time and attempts to transmit again. 1-persistent CSMA is
used in CSMA/CD systems including Ethernet.
P-persistent
This is a sort of trade-off between 1 and non-persistent CSMA access modes. When the sender is ready to send
data, it checks continually if the medium is busy. If the medium becomes idle, the sender transmits a frame
with a probability p. If the station chooses not to transmit (the probability of this event is 1-p), the sender waits
until the next available time slot and transmits again with the same probability p. This process repeats until the
frame is sent or some other sender starts transmitting. In the latter case the sender monitors the channel, and
when idle, transmits with a probability p, and so on. p-persistent CSMA is used in CSMA/CA systems
including Wi-Fi and other packet radio systems.
Non-persistent
Non persistent CSMA is less aggressive compared to P persistent protocol. In this protocol, before sending the
data, the station senses the channel and if the channel is idle it starts transmitting the data. But if the channel is
busy, the station does not continuously sense it but instead of that it waits for random amount of time and
repeats the algorithm. Here the algorithm leads to better channel utilization but also results in longer delay
compared to 1 –persistent.
O-persistent
Each station is assigned a transmission order by a supervisor station. When medium goes idle, stations wait for
their time slot in accordance with their assigned transmission order. The station assigned to transmit first
transmits immediately. The station assigned to transmit second waits one time slot (but by that time the first
station has already started transmitting). Stations monitor the medium for transmissions from other stations
and update their assigned order with each detected transmission (i.e. they move one position closer to the front
of the queue).[2] O-persistent CSMA is used by CobraNet, LonWorks and the controller area network.
References
[1] pg.240 "Real Time Systems" Author:Krishna ISBN 0-07-070115-6, ISBN 978-0-07-070115-1
• Andrew S. Tanenbaum, Computer Networks. Prentice Hall, Upper Saddle River, NJ (2003). 892 pp. ISBN
0-13-066102-3
19
Carrier sense multiple access with collision avoidance
Carrier sense multiple access with collision
avoidance
Carrier sense multiple access with collision avoidance (CSMA/CA) in computer networking, is a network
multiple access method in which carrier sensing is used, but nodes attempt to avoid collisions by transmitting only
when the channel is sensed to be "idle". [][] When they do transmit, nodes transmit their packet data in its entirety.
It is particularly important for wireless networks, where the collision detection of the alternative CSMA/CD is
unreliable due to the hidden node problem.
CSMA/CA is a protocol that operates in the Data Link Layer (Layer 2) of the OSI model.[]
Details
Collision avoidance is used to improve the
performance of the CSMA method by
attempting to divide the channel somewhat
equally among all transmitting nodes within the
collision domain.
1. Carrier Sense: prior to transmitting, a node
first listens to the shared medium (such as
listening for wireless signals in a wireless
network) to determine whether another node
is transmitting or not. Note that the hidden
node problem means another node may be
transmitting which goes undetected at this
stage.
2. Collision Avoidance: if another node was
heard, we wait for a period of time for the
node to stop transmitting before listening
again for a free communications channel.
• Request to Send/Clear to Send
(RTS/CTS) may optionally be used at
this point to mediate access to the
shared medium. This goes some way
Simplified Algorithm of CSMA/CA
to alleviating the problem of hidden
nodes because, for instance, in a wireless network, the Access Point only issues a Clear to Send to one node
at a time. However, wireless 802.11 implementations do not typically implement RTS/CTS for all
transmissions; they may turn it off completely, or at least not use it for small packets (the overhead of RTS,
CTS and transmission is too great for small data transfers).
• Transmission: if the medium was identified as being clear or the node received a CTS to explicitly indicate
it can send, it sends the frame in its entirety. Unlike CSMA/CD, it is very challenging for a wireless node to
listen at the same time as it transmits (its transmission will dwarf any attempt to listen). Continuing the
wireless example, the node awaits receipt of an acknowledgement packet from the Access Point to indicate
the packet was received and checksummed correctly. If such acknowledgement does not arrive after a
timely manner, it assumes the packet collided with some other transmission, causing the node to enter a
period of binary exponential backoff prior to attempting to re-transmit.
20
Carrier sense multiple access with collision avoidance
Although CSMA/CA has been used in a variety of wired communication systems, it is particularly beneficial in a
wireless LAN due to a common problem of multiple stations being able to see the Access Point, but not each other.
This is due to differences in transmit power, and receive sensitivity, as well as distance, and location with respect to
the AP.[1] This will cause a station to not be able to 'hear' another station's broadcast. This is the so called 'hidden
node', or 'hidden station' problem. Devices utilizing 802.11 based standards can enjoy the benefits of collision
avoidance (RTS / CTS handshake, also Point coordination function), although they do not do so by default. By
default they use a Carrier sensing mechanism called 'exponential backoff', or (Distributed coordination function) that
relies upon a station attempting to 'listen' for another station's broadcast before sending. CA, or PCF relies upon the
AP (or the 'receiver' for Ad hoc networks) granting a station the exclusive right to transmit for a given period of time
after requesting it (Request to Send / Clear to Send).[2]
IEEE 802.11 RTS/CTS Exchange
CSMA/CA can optionally be supplemented by the exchange of a Request to Send (RTS) packet sent by the sender
S, and a Clear to Send (CTS) packet sent by the intended receiver R. Thus alerting all nodes within range of the
sender, receiver or both, to not transmit for the duration of the main transmission. This is known as the IEEE 802.11
RTS/CTS exchange. Implementation of RTS/CTS helps to partially solve the hidden node problem that is often
found in wireless networking.[3][]
Performance
CSMA/CA performance is based largely upon the modulation technique used to transmit the data between nodes.
Studies show that under ideal propagation conditions (simulations), Direct Sequence Spread Spectrum (DSSS)
provides the highest throughput for all nodes on a network when used in conjunction with CSMA/CA and the IEEE
802.11 RTS/CTS exchange under light network load conditions. Frequency Hopping Spread Spectrum (FHSS)
follows distantly behind DSSS with regard to throughput with a greater throughput once network load becomes
substantially heavy. However, the throughput is generally the same under real world conditions due to radio
propagation factors.[]
Usage
• GNET - an early proprietary LAN protocol
• Apple's LocalTalk implemented CSMA/CA on an electrical bus using a three-byte jamming signal.
• 802.11 RTS/CTS implements virtual carrier sensing using short request to send and clear to send messages for
WLANs (802.11 mainly relies on physical carrier sensing though).
• IEEE 802.15.4 (Wireless PAN) uses CSMA/CA
• NCR WaveLAN - an early proprietary wireless network protocol
• HomePNA
• Bus networks
• The ITU-T G.hn standard, which provides a way to create a high-speed (up to 1 Gigabit/s) local area network
using existing home wiring (power lines, phone lines and coaxial cables), uses CSMA/CA as a channel access
method for flows that don't require guaranteed quality of service, specifically the CSMA/CARP variant.
21
Carrier sense multiple access with collision avoidance
References
[3] Comer, Douglas. (2009). Computer Networks and Internets. Upper Saddle River, NJ: Pearson Education Inc. ISBN 0-13-504583-5.
• Computer Networks: a Systems Approach. Peterson & Davie. Morgan Kaufman, Burlington, MA, USA. ISBN
978-0-12-385138-3. pp128-139
External links
• CSMA/CA RTS/CTS Simulation (http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/csma-ca/
withhidden.html)
Carrier sense multiple access with collision
detection
Carrier sense multiple access with
collision detection (CSMA/CD) is a
Media Access Control method in
which:[1]
• a carrier sensing scheme is used.
• a transmitting data station that
detects another signal while
transmitting a frame, stops
transmitting that frame, transmits a
jam signal, and then waits for a
random time interval before trying
to resend the frame.
CSMA/CD is a modification of pure
carrier sense multiple access (CSMA).
Simplified Algorithm of CSMA/CD
CSMA/CD is used to improve CSMA
performance
by
terminating
transmission as soon as a collision is detected, thus shortening the time required before a retry can be attempted.
CSMA/CD is notable for its usage in early Ethernet installations, although this has fallen out of use as Ethernet
switches have become commonplace.
Main procedure
1.
2.
3.
4.
5.
Is my frame ready for transmission? If yes, it goes on to the next point.
Is medium idle? If not, wait until it becomes ready[2]
Start transmitting.
Did a collision occur? If so, go to collision detected procedure.
Reset retransmission counters and end frame transmission.
22
Carrier sense multiple access with collision detection
Collision detected procedure
1. Continue transmission (with a jam signal instead of frame header/data/CRC) until minimum packet time is
reached to ensure that all receivers detect the collision.
2. Increment retransmission counter.
3. Was the maximum number of transmission attempts reached? If so, abort transmission.
4. Calculate and wait random backoff period based on number of collisions.
5. Re-enter main procedure at stage 1.
This can be likened to what happens at a dinner party, where all the guests talk to each other through a common
medium (the air). Before speaking, each guest politely waits for the current speaker to finish. If two guests start
speaking at the same time, both stop and wait for short, random periods of time (in Ethernet, this time is measured in
microseconds). The hope is that by each choosing a random period of time, both guests will not choose the same
time to try to speak again, thus avoiding another collision.
Methods for collision detection are media dependent, but on an electrical bus such as 10BASE-5 or 10BASE-2,
collisions can be detected by comparing transmitted data with received data or by recognizing a higher than normal
signal amplitude on the bus.
Jam signal
The jam signal is a signal that carries a 32-bit binary pattern sent by a data station to inform the other stations that
they must not transmit.
The maximum jam-time is calculated as follows: The maximum allowed diameter of an Ethernet installation is
limited to 232 bits. This makes a round-trip-time of 464 bits. As the slot time in Ethernet is 512 bits, the difference
between slot time and round-trip-time is 48 bits (6 bytes), which is the maximum "jam-time".
This in turn means: A station noting a collision has occurred is sending a 4 to 6 byte long pattern composed of 16 1-0
bit combinations. Note: The size of this jam signal is clearly beyond the minimum allowed frame-size of 64 bytes.
The purpose of this is to ensure that any other node which may currently be receiving a frame will receive the jam
signal in place of the correct 32-bit MAC CRC, this causes the other receivers to discard the frame due to a CRC
error.
Applications
CSMA/CD was used in now obsolete shared media Ethernet variants (10BASE5, 10BASE2) and in the early
versions of twisted-pair Ethernet which used repeater hubs. Modern Ethernet networks built with switches and
full-duplex connections no longer utilize CSMA/CD though it is still supported for backwards compatibility and
half-duplex connections. IEEE Std 802.3, which defines all Ethernet variants, for historical reasons still bears the
title "Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer
specifications".
Variations of the concept are used in radio frequency systems that rely on frequency sharing, including Automatic
Packet Reporting System.[citation needed]
23
Carrier sense multiple access with collision detection
24
Notes
[2] On Ethernet, stations must additionally wait the 96 bit interframe gap period.
References
•
This article incorporates public domain material from the General Services Administration document "Federal
Standard 1037C" (http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm).
• IEEE 802.3 (http://standards.ieee.org/getieee802/802.3.html)
Token passing
In telecommunication, token passing is a channel access method where a signal called a token is passed between
nodes that authorizes the node to communicate. The most well-known examples are token ring and ARCNET.
Token passing schemes provide round-robin scheduling, and if the packets are equally sized, the scheduling is
max-min fair. The advantage over contention based channel access is that collisions are eliminated, and that the
channel bandwidth can be fully utilized without idle time when demand is heavy. The disadvantage is that even
when demand is light, a station wishing to transmit must wait for the token, increasing latency.
Some types of token passing schemes do not need to explicitly send a token between systems because the process of
"passing the token" is implicit. An example is the channel access method used during "Contention Free Time Slots"
in the ITU-T G.hn standard for high-speed local area networking using existing home wires (power lines, phone lines
and coaxial cable).
Ethernet
Ethernet /ˈiːθərnɛt/ is a family of computer networking technologies
for local area networks (LANs). Ethernet was commercially introduced
in 1980 and standardized in 1985 as IEEE 802.3. Ethernet has largely
replaced competing wired LAN technologies.
The Ethernet standards comprise several wiring and signaling variants
of the OSI physical layer in use with Ethernet. The original 10BASE5
Ethernet used coaxial cable as a shared medium. Later the coaxial
cables were replaced by twisted pair and fiber optic links in
conjunction with hubs or switches. Data rates were periodically
increased from the original 10 megabits per second to 100 gigabits per
second.
An 8P8C modular connector (often called RJ45)
commonly used on Cat 5 cables in Ethernet
networks
Systems communicating over Ethernet divide a stream of data into
shorter pieces called frames. Each frame contains source and
destination addresses and error-checking data so that damaged data can
be detected and re-transmitted. As per the OSI model Ethernet provides services up to and including the data link
layer.
Since its commercial release, Ethernet has retained a good degree of compatibility. Features such as the 48-bit MAC
address and Ethernet frame format have influenced other networking protocols.
Ethernet
History
Ethernet was developed at Xerox PARC between 1973 and 1974.[][1] It
was inspired by ALOHAnet, which Robert Metcalfe had studied as
part of his PhD dissertation.[] The idea was first documented in a
memo that Metcalfe wrote on May 22, 1973, where he named it after
the
disproven
luminiferous
ether
as
an
"omnipresent,
completely-passive medium for the propagation of electromagnetic
waves".[][][2] In 1975, Xerox filed a patent application listing Metcalfe,
A laptop with Ethernet connection
David Boggs, Chuck Thacker and Butler Lampson as inventors.[3] In
1976, after the system was deployed at PARC, Metcalfe and Boggs
published a seminal paper.[4][5] By software convention, the 16 bits after the destination and source address fields
specified a "packet type", but, as the paper says, "different protocols use disjoint sets of packet types". Thus the
original packet types could vary within each different protocol. This is in contrast to the EtherType in the IEEE
Ethernet standard, which specifies the protocol being used. </ref>
Metcalfe left Xerox in June 1979 to form 3Com.[][] He convinced Digital Equipment Corporation (DEC), Intel, and
Xerox to work together to promote Ethernet as a standard. The so-called "DIX" standard, for "Digital/Intel/Xerox"
specified 10 Mbit/s Ethernet, with 48-bit destination and source addresses and a global 16-bit Ethertype-type field. It
was published on September 30, 1980 as "The Ethernet, A Local Area Network. Data Link Layer and Physical Layer
Specifications".[] Version 2 was published in November, 1982[6] and defines what has become known as Ethernet II.
Formal standardization efforts proceeded at the same time.
Ethernet initially competed with two largely proprietary systems, Token Ring and Token Bus. Because Ethernet was
able to adapt to market realities and shift to inexpensive and ubiquitous twisted pair wiring, these proprietary
protocols soon found themselves competing in a market inundated by Ethernet products and by the end of the 1980s,
Ethernet was clearly the dominant network technology.[] In the process, 3Com became a major company. 3Com
shipped its first 10 Mbit/s Ethernet 3C100 transceiver in March 1981, and that year started selling adapters for
PDP-11s and VAXes, as well as Multibus-based Intel and Sun Microsystems computers.[]:9 This was followed
quickly by DEC's Unibus to Ethernet adapter, which DEC sold and used internally to build its own corporate
network, which reached over 10,000 nodes by 1986, making it one of the largest computer networks in the world at
that time.[7] An Ethernet adapter card for the IBM PC was released in 1982 and by 1985, 3Com had sold 100,000.[]
Since then Ethernet technology has evolved to meet new bandwidth and market requirements.[8] In addition to
computers, Ethernet is now used to interconnect appliances and other personal devices.[] It is used in industrial
applications and is quickly replacing legacy data transmission systems in the world's telecommunications
networks.[9] By 2010, the market for Ethernet equipment amounted to over $16 billion per year.[10]
Standardization
In February 1980, the Institute of Electrical and Electronics Engineers (IEEE) started project 802 to standardize local
area networks (LAN).[][11] The "DIX-group" with Gary Robinson (DEC), Phil Arst (Intel), and Bob Printis (Xerox)
submitted the so-called "Blue Book" CSMA/CD specification as a candidate for the LAN specification.[] In addition
to CSMA/CD, Token Ring (supported by IBM) and Token Bus (selected and henceforward supported by General
Motors) were also considered as candidates for a LAN standard. Competing proposals and broad interest in the
initiative led to strong disagreement over which technology to standardize. In December 1980, the group was split
into three subgroups, and standardization proceeded separately for each proposal.[]
Delays in the standards process put at risk the market introduction of the Xerox Star workstation and 3Com's
Ethernet LAN products. With such business implications in mind, David Liddle (General Manager, Xerox Office
25
Ethernet
Systems) and Metcalfe (3Com) strongly supported a proposal of Fritz Röscheisen (Siemens Private Networks) for an
alliance in the emerging office communication market, including Siemens' support for the international
standardization of Ethernet (April 10, 1981). Ingrid Fromm, Siemens' representative to IEEE 802, quickly achieved
broader support for Ethernet beyond IEEE by the establishment of a competing Task Group "Local Networks" within
the European standards body ECMA TC24. As early as March 1982 ECMA TC24 with its corporate members
reached agreement on a standard for CSMA/CD based on the IEEE 802 draft.[]:8 Because the DIX proposal was most
technically complete and because of the speedy action taken by ECMA which decisively contributed to the
conciliation of opinions within IEEE, the IEEE 802.3 CSMA/CD standard was approved in December 1982.[] IEEE
published the 802.3 standard as a draft in 1983 and as a standard in 1985.
Approval of Ethernet on the international level was achieved by a similar, cross-partisan action with Fromm as
liaison officer working to integrate International Electrotechnical Commission, TC83 and International Organization
for Standardization (ISO) TC97SC6, and the ISO/IEEE 802/3 standard was approved in 1984.[citation needed]
Evolution
Ethernet evolved to include higher bandwidth, improved media access control methods, and different physical
media. The coaxial cable was replaced with point-to-point links connected by Ethernet repeaters or switches to
reduce installation costs, increase reliability, and improve management and troubleshooting. Many variants of
Ethernet remain in common use.
Ethernet stations communicate by sending each other data packets: blocks of data individually sent and delivered. As
with other IEEE 802 LANs, each Ethernet station is given a 48-bit MAC address. The MAC addresses are used to
specify both the destination and the source of each data packet. Ethernet establishes link level connections, which
can be defined using both the destination and source addresses. On reception of a transmission, the receiver uses the
destination address to determine whether the transmission is relevant to the station or should be ignored. Network
interfaces normally do not accept packets addressed to other Ethernet stations. Adapters come programmed with a
globally unique address.[12] An Ethertype field in each frame is used by the operating system on the receiving station
to select the appropriate protocol module (i.e. the Internet protocol module). Ethernet frames are said to be
self-identifying, because of the frame type. Self-identifying frames make it possible to intermix multiple protocols on
the same physical network and allow a single computer to use multiple protocols together.[13] Despite the evolution
of Ethernet technology, all generations of Ethernet (excluding early experimental versions) use the same frame
formats[14] (and hence the same interface for higher layers), and can be readily interconnected through bridging.
Due to the ubiquity of Ethernet, the ever-decreasing cost of the hardware needed to support it, and the reduced panel
space needed by twisted pair Ethernet, most manufacturers now build Ethernet interfaces directly into PC
motherboards, eliminating the need for installation of a separate network card.[15]
26
Ethernet
Shared media
Ethernet was originally based on the idea of computers communicating
over a shared coaxial cable acting as a broadcast transmission medium.
The methods used were similar to those used in radio systems,[16] with
the common cable providing the communication channel likened to the
Luminiferous aether in 19th century physics, and it was from this
reference that the name "Ethernet" was derived.[]
Original Ethernet's shared coaxial cable (the shared medium) traversed
a building or campus to every attached machine. A scheme known as
carrier sense multiple access with collision detection (CSMA/CD)
governed the way the computers shared the channel. This scheme was
simpler than the competing token ring or token bus technologies.[17]
Computers were connected to an Attachment Unit Interface (AUI)
10BASE5 Ethernet equipment
transceiver, which was in turn connected to the cable (later with thin
Ethernet the transceiver was integrated into the network adapter).
While a simple passive wire was highly reliable for small networks, it was not reliable for large extended networks,
where damage to the wire in a single place, or a single bad connector, could make the whole Ethernet segment
unusable.[18]
Through the first half of the 1980s, Ethernet's 10BASE5 implementation used a coaxial cable 0.375 inches (9.5 mm)
in diameter, later called "thick Ethernet" or "thicknet". Its successor, 10BASE2, called "thin Ethernet" or "thinnet",
used a cable similar to cable television cable of the era. The emphasis was on making installation of the cable easier
and less costly.
Since all communications happen on the same wire, any information sent by one computer is received by all, even if
that information is intended for just one destination.[19] The network interface card interrupts the CPU only when
applicable packets are received: The card ignores information not addressed to it.[20] Use of a single cable also
means that the bandwidth is shared, such that, for example, available bandwidth to each device is halved when two
stations are simultaneously active.
Collisions happen when two stations attempt to transmit at the same time. They corrupt transmitted data and require
stations to retransmit. The lost data and retransmissions reduce throughput. In the worst case where multiple active
hosts connected with maximum allowed cable length attempt to transmit many short frames, excessive collisions can
reduce throughput dramatically. However, a Xerox report in 1980 studied performance of an existing Ethernet
installation under both normal and artificially generated heavy load. The report claims that 98% throughput on the
LAN was observed.[21] This is in contrast with token passing LANs (token ring, token bus), all of which suffer
throughput degradation as each new node comes into the LAN, due to token waits. This report was controversial, as
modeling showed that collision-based networks theoretically became unstable under loads as low as 37% of nominal
capacity. Many early researchers failed to understand these results. Performance on real networks is significantly
better.[22]
In a modern Ethernet, the stations do not all share one channel through a shared cable or a simple repeater hub;
instead, each station communicates with a switch, which in turn forwards that traffic to the destination station. In this
topology, collisions are only possible if station and switch attempt to communicate with each other at the same time,
and collisions are limited to this link. Furthermore, the 10BASE-T standard introduced a full duplex mode of
operation which has become extremely common. In full duplex, switch and station can communicate with each other
simultaneously, and therefore modern Ethernets are completely collision-free.
27
Ethernet
28
Repeaters and hubs
For signal degradation and timing reasons, coaxial Ethernet segments
had a restricted size. Somewhat larger networks could be built by using
an Ethernet repeater. Early repeaters had only two ports, allowing, at
most, a doubling of network size. Once repeaters with more than two
ports became available, it was possible to wire the network in a star
topology. Early experiments with star topologies (called "Fibernet")
using optical fiber were published by 1978.[23]
Shared cable Ethernet was always hard to install in offices because its
bus topology was in conflict with the star topology cable plans
designed into buildings for telephony. Modifying Ethernet to conform
to twisted pair telephone wiring already installed in commercial
buildings provided another opportunity to lower costs, expand the
installed base, and leverage building design, and, thus, twisted-pair
Ethernet was the next logical development in the mid-1980s.
A 1990s network interface card supporting both
coaxial cable-based 10BASE2 (BNC connector,
left) and twisted pair-based 10BASE-T (8P8C
connector, right)
Ethernet on unshielded twisted-pair cables (UTP) began with StarLAN at 1 Mbit/s in the mid-1980s. In 1987
SynOptics introduced the first twisted-pair Ethernet at 10 Mbit/s in a star-wired cabling topology with a central hub,
later called LattisNet.[][24][25] These evolved into 10BASE-T, which was designed for point-to-point links only, and
all termination was built into the device. This changed repeaters from a specialist device used at the center of large
networks to a device that every twisted pair-based network with more than two machines had to use. The tree
structure that resulted from this made Ethernet networks easier to maintain by preventing most faults with one peer
or its associated cable from affecting other devices on the network.
Despite the physical star topology and the presence of separate transmit and receive channels in the twisted pair and
fiber media, repeater based Ethernet networks still use half-duplex and CSMA/CD, with only minimal activity by the
repeater, primarily the Collision Enforcement signal, in dealing with packet collisions. Every packet is sent to every
port on the repeater, so bandwidth and security problems are not addressed. The total throughput of the repeater is
limited to that of a single link, and all links must operate at the same speed.
Bridging and switching
While repeaters could isolate some aspects of Ethernet segments, such
as cable breakages, they still forwarded all traffic to all Ethernet
devices. This created practical limits on how many machines could
communicate on an Ethernet network. The entire network was one
collision domain, and all hosts had to be able to detect collisions
anywhere on the network. This limited the number of repeaters
between the farthest nodes. Segments joined by repeaters had to all
operate at the same speed, making phased-in upgrades impossible.
Patch cables with patch fields of two Ethernet
To alleviate these problems, bridging was created to communicate at
switches
the data link layer while isolating the physical layer. With bridging,
only well-formed Ethernet packets are forwarded from one Ethernet segment to another; collisions and packet errors
are isolated. Prior to learning of network devices on the different segments, Ethernet bridges (and switches) work
somewhat like Ethernet repeaters, passing all traffic between segments. After the bridge learns the addresses
associated with each port, it forwards network traffic only to the necessary segments, improving overall
Ethernet
29
performance. Broadcast traffic is still forwarded to all network segments. Bridges also overcame the limits on total
segments between two hosts and allowed the mixing of speeds, both of which are critical to deployment of Fast
Ethernet.
In 1989, the networking company Kalpana introduced their EtherSwitch, the first Ethernet switch.[26] This worked
somewhat differently from an Ethernet bridge, where only the header of the incoming packet would be examined
before it was either dropped or forwarded to another segment. This greatly reduced the forwarding latency and the
processing load on the network device. One drawback of this cut-through switching method was that packets that
had been corrupted would still be propagated through the network, so a jabbering station could continue to disrupt
the entire network. The eventual remedy for this was a return to the original store and forward approach of bridging,
where the packet would be read into a buffer on the switch in its entirety, verified against its checksum and then
forwarded, but using more powerful application-specific integrated circuits. Hence, the bridging is then done in
hardware, allowing packets to be forwarded at full wire speed.
When a twisted pair or fiber link segment is used and neither end is connected to a repeater, full-duplex Ethernet
becomes possible over that segment. In full-duplex mode, both devices can transmit and receive to and from each
other at the same time, and there is no collision domain. This doubles the aggregate bandwidth of the link and is
sometimes advertised as double the link speed (e.g., 200 Mbit/s).[27] The elimination of the collision domain for
these connections also means that all the link's bandwidth can be used by the two devices on that segment and that
segment length is not limited by the need for correct collision detection.
Since packets are typically delivered only to the port they are intended for, traffic on a switched Ethernet is less
public than on shared-medium Ethernet. Despite this, switched Ethernet should still be regarded as an insecure
network technology, because it is easy to subvert switched Ethernet systems by means such as ARP spoofing and
MAC flooding.
The bandwidth advantages, the improved isolation of devices from each other, the ability to easily mix different
speeds of devices and the elimination of the chaining limits inherent in non-switched Ethernet have made switched
Ethernet the dominant network technology.[28]
Advanced networking
Simple switched Ethernet networks, while a great improvement over
repeater-based Ethernet, suffer from single points of failure, attacks
that trick switches or hosts into sending data to a machine even if it is
not intended for it, scalability and security issues with regard to
broadcast radiation and multicast traffic, and bandwidth choke points
where a lot of traffic is forced down a single link.[citation needed]
Advanced networking features in switches and routers combat these
issues through means including spanning-tree protocol to maintain the
active links of the network as a tree while allowing physical loops for
redundancy, port security and protection features such as MAC lock
down and broadcast radiation filtering, virtual LANs to keep different
classes of users separate while using the same physical infrastructure,
multilayer switching to route between different classes and link
aggregation to add bandwidth to overloaded links and to provide some
measure of redundancy.
A core Ethernet switch
Ethernet
30
IEEE 802.1aq (shortest path bridging) includes the use of the link-state routing protocol IS-IS to allow larger
networks with shortest path routes between devices. In 2012 it was stated by David Allan and Nigel Bragg, in
802.1aq Shortest Path Bridging Design and Evolution: The Architect's Perspective that shortest path bridging is one
of the most significant enhancements in Ethernet's history.[29]
Varieties of Ethernet
The Ethernet physical layer evolved over a considerable time span and encompasses coaxial, twisted pair and fiber
optic physical media interfaces and speeds from 10 Mbit to 100 Gbit. The most common forms used are 10BASE-T,
100BASE-TX, and 1000BASE-T. All three utilize twisted pair cables and 8P8C modular connectors. They run at 10
Mbit/s, 100 Mbit/s, and 1 Gbit/s, respectively. Fiber optic variants of Ethernet offer high performance, electrical
isolation and distance (tens of kilometers with some versions). In general, network protocol stack software will work
similarly on all varieties.
Layer 2 – Datagrams
In IEEE 802.3 datagrams are called "frames". A frame begins with
preamble and start frame delimiter, followed by an Ethernet header
featuring source and destination MAC addresses. The middle section
of the frame consists of payload data including any headers for other
protocols (e.g., Internet Protocol) carried in the frame. The frame ends
with a 32-bit cyclic redundancy check, which is used to detect
corruption of data in transit.
Autonegotiation
A close-up of the SMSC LAN91C110 (SMSC
91x) chip, an embedded Ethernet chip.
Autonegotiation is the procedure by which two connected devices
choose common transmission parameters, e.g. speed and duplex mode.
Autonegotiation was an optional feature on first introduction of 100BASE-TX, while it is also backward compatible
with 10BASE-T. Autonegotiation is mandatory for 1000BASE-T.
Notes
[3] "Multipoint data communication system (with collision detection)"
[5] The experimental Ethernet described in the 1976 paper ran at 2.94 Mbit/s and had eight-bit destination and source address fields, so the
original Ethernet addresses were not the MAC addresses they are today.<ref>
[12] In some cases, the factory-assigned address can be overridden, either to avoid an address change when an adapter is replaced or to use
locally administered addresses.
[13] 2.4.9 – Ethernet Hardware Addresses, p. 29, explains the filtering.
[16] There are fundamental differences between wireless and wired shared-medium communications, such as the fact that it is much easier to
detect collisions in a wired system than a wireless system.
[17] In a CSMA/CD system packets must be large enough to guarantee that the leading edge of the propagating wave of the message got to all
parts of the medium before the transmitter could stop transmitting, thus guaranteeing that collisions (two or more packets initiated within a
window of time that forced them to overlap) would be discovered. Minimum packet size and the physical medium's total length were, thus,
closely linked.
[18] Multipoint systems are also prone to strange failure modes when an electrical discontinuity reflects the signal in such a manner that some
nodes would work properly, while others work slowly because of excessive retries or not at all. See standing wave for an explanation. These
could be much more difficult to diagnose than a complete failure of the segment.
[19] This "one speaks, all listen" property is a security weakness of shared-medium Ethernet, since a node on an Ethernet network can eavesdrop
on all traffic on the wire if it so chooses.
[20] Unless it is put into promiscuous mode.
[26] The term switch was invented by device manufacturers and does not appear in the 802.3 standard.
[27] This is misleading, as performance will double only if traffic patterns are symmetrical.
Ethernet
[29] 802.1aq Shortest Path Bridging Design and Evolution: The Architect's Perspective (http:/ / www. eabooks. com. au/ epages/ eab. sf/ en_au/
?ObjectPath=/ Shops/ eabooks/ Products/ 9781118148662)
References
Further reading
• Digital Equipment Corporation, Intel Corporation, Xerox Corporation (September, 1980). "The Ethernet: A Local
Area Network" (http://portal.acm.org/citation.cfm?id=1015591.1015594). ACM SIGCOMM Computer
Communication Review 11 (3): 20. doi: 10.1145/1015591.1015594 (http://dx.doi.org/10.1145/1015591.
1015594). — Version 1.0 of the DIX specification.
• "Ethernet" (http://docwiki.cisco.com/wiki/Ethernet_Technologies). Internetworking Technology Handbook.
Cisco Systems. Retrieved April 11, 2011.
External links
• IEEE 802.3 Ethernet working group (http://www.ieee802.org/3/)
• IEEE 802.3-2008 standard (http://standards.ieee.org/getieee802/802.3.html)
IP address
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer)
participating in a computer network that uses the Internet Protocol for communication.[1] An IP address serves two
principal functions: host or network interface identification and location addressing. Its role has been characterized
as follows: "A name indicates what we seek. An address indicates where it is. A route indicates how to get there."[2]
The designers of the Internet Protocol defined an IP address as a 32-bit number[1] and this system, known as Internet
Protocol Version 4 (IPv4), is still in use today. However, due to the enormous growth of the Internet and the
predicted depletion of available addresses, a new version of IP (IPv6), using 128 bits for the address, was developed
in 1995.[3] IPv6 was standardized as RFC 2460 in 1998,[4] and its deployment has been ongoing since the mid-2000s.
IP addresses are binary numbers, but they are usually stored in text files and displayed in human-readable notations,
such as 172.16.254.1 (for IPv4), and 2001:db8:0:1234:0:567:8:1 (for IPv6).
The Internet Assigned Numbers Authority (IANA) manages the IP address space allocations globally and delegates
five regional Internet registries (RIRs) to allocate IP address blocks to local Internet registries (Internet service
providers) and other entities.
31
IP address
IP versions
Two versions of the Internet Protocol (IP) are in use: IP Version 4 and IP Version 6. Each version defines an IP
address differently. Because of its prevalence, the generic term IP address typically still refers to the addresses
defined by IPv4. The gap in version sequence between IPv4 and IPv6 resulted from the assignment of number 5 to
the experimental Internet Stream Protocol in 1979, which however was never referred to as IPv5.
IPv4 addresses
In IPv4 an address consists of 32 bits which
limits the address space to 4294967296
(232) possible unique addresses. IPv4
reserves some addresses for special
purposes such as private networks (~18
million addresses) or multicast addresses
(~270 million addresses).
IPv4 addresses are canonically represented
in dot-decimal notation, which consists of
four decimal numbers, each ranging from 0
to 255, separated by dots, e.g., 172.16.254.1.
Decomposition of an IPv4 address from dot-decimal notation to its binary value.
Each part represents a group of 8 bits (octet)
of the address. In some cases of technical
writing, IPv4 addresses may be presented in various hexadecimal, octal, or binary representations.
IPv4 subnetting
In the early stages of development of the Internet Protocol,[1] network administrators interpreted an IP address in two
parts: network number portion and host number portion. The highest order octet (most significant eight bits) in an
address was designated as the network number and the remaining bits were called the rest field or host identifier and
were used for host numbering within a network.
This early method soon proved inadequate as additional networks developed that were independent of the existing
networks already designated by a network number. In 1981, the Internet addressing specification was revised with
the introduction of classful network architecture.[2]
Classful network design allowed for a larger number of individual network assignments and fine-grained subnetwork
design. The first three bits of the most significant octet of an IP address were defined as the class of the address.
Three classes (A, B, and C) were defined for universal unicast addressing. Depending on the class derived, the
network identification was based on octet boundary segments of the entire address. Each class used successively
additional octets in the network identifier, thus reducing the possible number of hosts in the higher order classes (B
and C). The following table gives an overview of this now obsolete system.
32
IP address
33
Class Leading Size of network
bits
number bit field
Size of
rest
bit field
Number
of networks
Addresses
per network
Start address
A
0
8
24
128 (27)
16,777,216 (224) 0.0.0.0
B
10
16
16
16,384 (214)
65,536 (216)
C
110
24
8
2,097,152 (221) 256 (28)
End address
127.255.255.255
128.0.0.0
191.255.255.255
192.0.0.0
223.255.255.255
|+ Historical classful network architecture
Classful network design served its purpose in the startup stage of the Internet, but it lacked scalability in the face of
the rapid expansion of the network in the 1990s. The class system of the address space was replaced with Classless
Inter-Domain Routing (CIDR) in 1993. CIDR is based on variable-length subnet masking (VLSM) to allow
allocation and routing based on arbitrary-length prefixes.
Today, remnants of classful network concepts function only in a limited scope as the default configuration
parameters of some network software and hardware components (e.g. netmask), and in the technical jargon used in
network administrators' discussions.
IPv4 private addresses
Early network design, when global end-to-end connectivity was envisioned for communications with all Internet
hosts, intended that IP addresses be uniquely assigned to a particular computer or device. However, it was found that
this was not always necessary as private networks developed and public address space needed to be conserved.
Computers not connected to the Internet, such as factory machines that communicate only with each other via
TCP/IP, need not have globally unique IP addresses. Three ranges of IPv4 addresses for private networks were
reserved in RFC 1918. These addresses are not routed on the Internet and thus their use need not be coordinated with
an IP address registry.
Today, when needed, such private networks typically connect to the Internet through network address translation
(NAT).
IANA-reserved private IPv4 network ranges
Start
End
No. of addresses
24-bit block (/8 prefix, 1 × A)
10.0.0.0
10.255.255.255
16777216
20-bit block (/12 prefix, 16 × B)
172.16.0.0
172.31.255.255
1048576
16-bit block (/16 prefix, 256 × C) 192.168.0.0 192.168.255.255 65536
Any user may use any of the reserved blocks. Typically, a network administrator will divide a block into subnets; for
example, many home routers automatically use a default address range of 192.168.0.0 through 192.168.0.255
(192.168.0.0/24).
IPv4 address exhaustion
IPv4 address exhaustion is the decreasing supply of unallocated Internet Protocol Version 4 (IPv4) addresses
available at the Internet Assigned Numbers Authority (IANA) and the regional Internet registries (RIRs) for
assignment to end users and local Internet registries, such as Internet service providers. IANA's primary address pool
was exhausted on 3 February 2011, when the last 5 blocks were allocated to the 5 RIRs.[5][6] APNIC was the first
RIR to exhaust its regional pool on 15 April 2011, except for a small amount of address space reserved for the
transition to IPv6, intended to be allocated in a restricted process.[7]
IP address
IPv6 addresses
The rapid exhaustion of IPv4 address space,
despite conservation techniques, prompted
the Internet Engineering Task Force (IETF)
to explore new technologies to expand the
addressing capability in the Internet. The
permanent solution was deemed to be a
redesign of the Internet Protocol itself. This
next generation of the Internet Protocol,
intended to replace IPv4 on the Internet, was
eventually named Internet Protocol Version
6 (IPv6) in 1995.[3][4] The address size was
increased from 32 to 128 bits or 16 octets.
Decomposition of an IPv6 address from hexadecimal representation to its binary
This, even with a generous assignment of
value.
network blocks, is deemed sufficient for the
foreseeable future. Mathematically, the new address space provides the potential for a maximum of 2128, or about
3.403×1038 addresses.
The primary intent of the new design is not to provide just a sufficient quantity of addresses, but rather to allow an
efficient aggregation of subnetwork routing prefixes at routing nodes. As a result, routing table sizes are smaller, and
the smallest possible individual allocation is a subnet for 264 hosts, which is the square of the size of the entire IPv4
Internet. At these levels, actual address utilization rates will be small on any IPv6 network segment. The new design
also provides the opportunity to separate the addressing infrastructure of a network segment, that is the local
administration of the segment's available space, from the addressing prefix used to route external traffic for a
network. IPv6 has facilities that automatically change the routing prefix of entire networks, should the global
connectivity or the routing policy change, without requiring internal redesign or manual renumbering.
The large number of IPv6 addresses allows large blocks to be assigned for specific purposes and, where appropriate,
to be aggregated for efficient routing. With a large address space, there is not the need to have complex address
conservation methods as used in CIDR.
Many modern desktop and enterprise server operating systems include native support for the IPv6 protocol, but it is
not yet widely deployed in other devices, such as home networking routers, voice over IP (VoIP) and multimedia
equipment, and network peripherals.
IPv6 private addresses
Just as IPv4 reserves addresses for private or internal networks, blocks of addresses are set aside in IPv6 for private
addresses. In IPv6, these are referred to as unique local addresses (ULA). RFC 4193 sets aside the routing prefix
fc00::/7 for this block which is divided into two /8 blocks with different implied policies. The addresses include a
40-bit pseudorandom number that minimizes the risk of address collisions if sites merge or packets are misrouted.[8]
Early designs used a different block for this purpose (fec0::), dubbed site-local addresses.[9] However, the definition
of what constituted sites remained unclear and the poorly defined addressing policy created ambiguities for routing.
This address range specification was abandoned and must not be used in new systems.[10]
Addresses starting with fe80:, called link-local addresses, are assigned to interfaces for communication on the link
only. The addresses are automatically generated by the operating system for each network interface. This provides
instant and automatic network connectivity for any IPv6 host and means that if several hosts connect to a common
hub or switch, they have a communication path via their link-local IPv6 address. This feature is used in the lower
layers of IPv6 network administration (e.g. Neighbor Discovery Protocol).
34
IP address
None of the private address prefixes may be routed on the public Internet.
IP subnetworks
IP networks may be divided into subnetworks in both IPv4 and IPv6. For this purpose, an IP address is logically
recognized as consisting of two parts: the network prefix and the host identifier, or interface identifier (IPv6). The
subnet mask or the CIDR prefix determines how the IP address is divided into network and host parts.
The term subnet mask is only used within IPv4. Both IP versions however use the CIDR concept and notation. In
this, the IP address is followed by a slash and the number (in decimal) of bits used for the network part, also called
the routing prefix. For example, an IPv4 address and its subnet mask may be 192.0.2.1 and 255.255.255.0,
respectively. The CIDR notation for the same IP address and subnet is 192.0.2.1/24, because the first 24 bits of the
IP address indicate the network and subnet.
IP address assignment
Internet Protocol addresses are assigned to a host either anew at the time of booting, or permanently by fixed
configuration of its hardware or software. Persistent configuration is also known as using a static IP address. In
contrast, in situations when the computer's IP address is assigned newly each time, this is known as using a dynamic
IP address.
Methods
Static IP addresses are manually assigned to a computer by an administrator. The exact procedure varies according to
platform. This contrasts with dynamic IP addresses, which are assigned either by the computer interface or host
software itself, as in Zeroconf, or assigned by a server using Dynamic Host Configuration Protocol (DHCP). Even
though IP addresses assigned using DHCP may stay the same for long periods of time, they can generally change. In
some cases, a network administrator may implement dynamically assigned static IP addresses. In this case, a DHCP
server is used, but it is specifically configured to always assign the same IP address to a particular computer. This
allows static IP addresses to be configured centrally, without having to specifically configure each computer on the
network in a manual procedure.
In the absence or failure of static or stateful (DHCP) address configurations, an operating system may assign an IP
address to a network interface using state-less auto-configuration methods, such as Zeroconf.
Uses of dynamic address assignment
IP addresses are most frequently assigned dynamically on LANs and broadband networks by the Dynamic Host
Configuration Protocol (DHCP). They are used because it avoids the administrative burden of assigning specific
static addresses to each device on a network. It also allows many devices to share limited address space on a network
if only some of them will be online at a particular time. In most current desktop operating systems, dynamic IP
configuration is enabled by default so that a user does not need to manually enter any settings to connect to a
network with a DHCP server. DHCP is not the only technology used to assign IP addresses dynamically. Dialup and
some broadband networks use dynamic address features of the Point-to-Point Protocol.
Sticky dynamic IP address
A sticky dynamic IP address is an informal term used by cable and DSL Internet access subscribers to describe a
dynamically assigned IP address which seldom changes. The addresses are usually assigned with DHCP. Since the
modems are usually powered on for extended periods of time, the address leases are usually set to long periods and
simply renewed. If a modem is turned off and powered up again before the next expiration of the address lease, it
will most likely receive the same IP address.
35
IP address
Address autoconfiguration
RFC 3330 defines an address block, 169.254.0.0/16, for the special use in link-local addressing for IPv4 networks. In
IPv6, every interface, whether using static or dynamic address assignments, also receives a local-link address
automatically in the block fe80::/10.
These addresses are only valid on the link, such as a local network segment or point-to-point connection, that a host
is connected to. These addresses are not routable and like private addresses cannot be the source or destination of
packets traversing the Internet.
When the link-local IPv4 address block was reserved, no standards existed for mechanisms of address
autoconfiguration. Filling the void, Microsoft created an implementation that is called Automatic Private IP
Addressing (APIPA). Due to Microsoft's market power, APIPA has been deployed on millions of machines and has,
thus, become a de facto standard in the industry. Many years later, the IETF defined a formal standard for this
functionality, RFC 3927, entitled Dynamic Configuration of IPv4 Link-Local Addresses.
Uses of static addressing
Some infrastructure situations have to use static addressing, such as when finding the Domain Name System (DNS)
host that will translate domain names to IP addresses. Static addresses are also convenient, but not absolutely
necessary, to locate servers inside an enterprise. An address obtained from a DNS server comes with a time to live,
or caching time, after which it should be looked up to confirm that it has not changed. Even static IP addresses do
change as a result of network administration (RFC 2072).
Public addresses
A public IP address, in common parlance, is synonymous with a globally routable unicast IP address.[citation needed]
Both IPv4 and IPv6 define address ranges that are reserved for private networks and link-local addressing. The term
public IP address often used excludes these types of addresses.
Modifications to IP addressing
IP blocking and firewalls
Firewalls perform Internet Protocol blocking to protect networks from unauthorized access. They are common on
today[11]'s Internet. They control access to networks based on the IP address of a client computer. Whether using a
blacklist or a whitelist, the IP address that is blocked is the perceived IP address of the client, meaning that if the
client is using a proxy server or network address translation, blocking one IP address may block many individual
computers.
IP address translation
Multiple client devices can appear to share IP addresses: either because they are part of a shared hosting web server
environment or because an IPv4 network address translator (NAT) or proxy server acts as an intermediary agent on
behalf of its customers, in which case the real originating IP addresses might be hidden from the server receiving a
request. A common practice is to have a NAT hide a large number of IP addresses in a private network. Only the
"outside" interface(s) of the NAT need to have Internet-routable addresses.[12]
Most commonly, the NAT device maps TCP or UDP port numbers on the side of the larger, public network to
individual private addresses on the masqueraded network.
In small home networks, NAT functions are usually implemented in a residential gateway device, typically one
marketed as a "router". In this scenario, the computers connected to the router would have private IP addresses and
36
IP address
the router would have a public address to communicate on the Internet. This type of router allows several computers
to share one public IP address.
Diagnostic tools
Computer operating systems provide various diagnostic tools to examine their network interface and address
configuration. Windows provides the command-line interface tools ipconfig and netsh and users of Unix-like
systems can use ifconfig, netstat, route, lanstat, fstat, or iproute2 utilities to accomplish the task.
References
[1] RFC 760, DOD Standard Internet Protocol (January 1980)
[2] RFC 791, Internet Protocol – DARPA Internet Program Protocol Specification (September 1981)
[3] RFC 1883, Internet Protocol, Version 6 (IPv6) Specification, S. Deering, R. Hinden (December 1995)
[4] RFC 2460, Internet Protocol, Version 6 (IPv6) Specification, S. Deering, R. Hinden, The Internet Society (December 1998)
[8] RFC 4193 section 3.2.1
[9] RFC 3513
[10] RFC 3879
[11] http:/ / en. wikipedia. org/ w/ index. php?title=IP_address& action=edit
External links
• IP (http://www.dmoz.org/Computers/Internet/Protocols/IP/) at the Open Directory Project
• "Understanding IP Addressing: Everything You Ever Wanted To Know" (http://web.archive.org/web/
20100821112028/http://www.3com.com/other/pdfs/infra/corpinfo/en_US/501302.pdf). Archived from the
original (http://www.3com.com/other/pdfs/infra/corpinfo/en_US/501302.pdf) on 21 August 2010.
Industrial Ethernet
Industrial Ethernet (IE) refers to the use of standard Ethernet
protocols with rugged connectors and extended temperature switches
in an industrial environment, for automation or process control.
Components used in plant process areas must be designed to work in
harsh environments of temperature extremes, humidity, and vibration
that exceed the ranges for information technology equipment intended
for installation in controlled environments.
The use of fiber Ethernet reduces the problems of electrical noise and
provides electrical isolation to prevent equipment damage. Some
Industrial Ethernet switch
industrial networks emphasized deterministic delivery of transmitted
data, whereas Ethernet used collision detection which made transport time for individual data packets difficult to
estimate with increasing network traffic. Typically, industrial use of Ethernet use full-duplex standards and other
methods so that collisions do not unacceptably influence transmission times.
37
Industrial Ethernet
Application environment
While industrial Ethernet systems use the same protocols as Ethernet applied to office automation, industrial plant
use requires consideration of the environment in which the equipment must operate. Plant-floor equipment must
tolerate a wider range of temperature, vibration, and electrical noise than equipment installed in dedicated
information-technology areas. Since closed-loop process control may rely on an Ethernet link, economic cost of
interruptions may be high and availability is therefore an essential criterion. Industrial Ethernet networks must
interoperate with both current and legacy systems, and must provide predictable performance and maintainability. In
addition to physical compatibility and low-level transport protocols, a practical industrial Ethernet system must also
provide interoperability of higher levels of the OSI model. An industrial network must provide security both from
intrusions from outside the plant, and from inadvertent or unauthorized use within the plant.[1]
Industrial networks often use network switches to segment a large system into logical sub-networks, divided by
address, protocol, or application. Using network switches allows the network to be broken up into many small
collision domains. This reduces the risk of a faulty or mis-configured device generating excess network traffic.
When an industrial network must connect to an office network or external networks, a firewall system can be
inserted to control exchange of data between the networks. To preserve the performance and reliability of the
industrial network, general office automation systems are separated from the network used for control or I/O devices.
Advantages and difficulties
PLC (Programmable logic controller) communicate using one of several possible open or proprietary protocols, such
as Modbus, Sinec H1, Profibus, CANopen, DeviceNet or FOUNDATION Fieldbus. The idea to use standard
Ethernet makes these systems more inter-operable.
Some of the advantages over other types of industrial network are:
• Increased speed, up from 9.6 kbit/s with RS-232 to 1 Gbit/s with Gigabit Ethernet over Cat5e/Cat6 cables or
optical fiber
• Increased distance
• Ability to use standard access points, routers, switches, hubs, cables and optical fiber
• Ability to have more than two nodes on link, which was possible with RS-485 but not with RS-232
• Peer-to-peer architectures may replace master-slave ones
• Better interoperability
Difficulties of using Industrial Ethernet include:
•
•
•
•
Migrating existing systems to a new protocol
Real-time uses may suffer for protocols using TCP
Managing a whole TCP/IP stack is more complex than just receiving serial data
The minimum Ethernet frame size is 64 bytes, while typical industrial communication data sizes can be closer to
1-8 bytes. This protocol overhead affects data transmission efficiency.
References
[1] Perry S. Marshall, John S. Rinaldi "How to Plan, Install and Maintain TCP/IP Ethernet Networks", ISA, 2004 ISBN 1-55617-869-7 pp. 1–4
External links
• Wikipedia:Link rot Industrial Ethernet Advisory Group (http://www.industrial-ethernet.org)
• Lammermann.eu: Ethernet as a Real-Time Technology (http://www.lammermann.eu/wb/pages/arbeiten/
ethernet-as-a-real-time-technology.php)
38
Modbus
Modbus
Modbus is a serial communications protocol originally published by Modicon (now Schneider Electric) in 1979 for
use with its programmable logic controllers (PLCs). Simple and robust, it has since become a de facto standard
communication protocol, and it is now a commonly available means of connecting industrial electronic devices.[1]
The main reasons for the use of Modbus in the industrial environment are:
•
•
•
•
It has been developed with industrial applications in mind
It is openly published and royalty-free
It is easy to deploy and maintain
It moves raw bits or words without placing many restrictions on vendors
Modbus allows for communication between many (approximately 240) devices connected to the same network, for
example a system that measures temperature and humidity and communicates the results to a computer. Modbus is
often used to connect a supervisory computer with a remote terminal unit (RTU) in supervisory control and data
acquisition (SCADA) systems. Many of the data types are named from its use in driving relays: a single-bit physical
output is called a coil, and a single-bit physical input is called a discrete input or a contact.
The development and update of Modbus protocols has been managed by the Modbus Organization [2] since April
2004, when Schneider Electric transferred rights to that organization, signaling a clear commitment to openness.[3]
The Modbus Organization [4] is an association formed of independent users and suppliers of Modbus compliant
devices that seeks to drive the adoption of the Modbus communication protocol suite, and its evolution to address
architectures for distributed automation systems across multiple market segments.[5]
Communication and devices
Each device intended to communicate using Modbus is given a unique address. In serial and MB+ networks only the
node assigned as the Master may initiate a command, but on Ethernet, any device can send out a Modbus command,
although usually only one master device does so. A Modbus command contains the Modbus address of the device it
is intended for. Only the intended device will act on the command, even though other devices might receive it (an
exception is specific broadcastable commands sent to node 0 which are acted on but not acknowledged). All Modbus
commands contain checking information, ensuring that a command arrives undamaged. The basic Modbus
commands can instruct an RTU to change a value in one of its registers, control or read an I/O port, as well as
commanding the device to send back one or more values contained in its registers.
There are many modems and gateways that support Modbus, as it is a very simple protocol and often copied. Some
of them were specifically designed for this protocol. Different implementations use wireline, wireless
communication, such as in the ISM band, and even SMS or GPRS. One of the more common designs of wireless
networks makes use of the mesh topology. Typical problems the designers have to overcome include high latency
and timing problems.
Frame format
All Modbus variants choose different frame formats.[1]
39
Modbus
40
Modbus RTU Frame Format
Name
Length
Function
Start
3.5c idle
at least 3-1/2 character times of silence (MARK condition)
Address
8 bits
Station Address
Function 8 bits
Indicates the function codes like read coils / inputs
Data
n * 8 bits Data + length will be filled depending on the message type
CRC
16 bits
Error checks
End
3.5c idle
at least 3-1/2 character times of silence between frames
Modbus ASCII Frame Format
Name
Length
Function
Start
1 char
starts with colon ( : ) (ASCII value is 0x3A)
Address
2 chars Station Address
All
Function 2 chars Indicates the function codes like read coils / inputs
Data
n chars Data +length will be filled depending on the message type
LRC
2 chars Error checks
End
2 chars carriage return – line feed(CR/LF) pair (ASCII values of 0x0D & 0x0A)
Modbus TCP Frame Format
Name
Length
Function
Transaction Identifier 2 bytes For synchronization between messages of server & client
Protocol Identifier
2 bytes Zero for Modbus/TCP
Length Field
2 bytes Number of remaining bytes in this frame
Unit Identifier
1 byte
Slave Address (255 if not used)
Function code
1 byte
Function codes as in other variants
Data bytes
n bytes Data as response or commands
Unit identifier is used with Modbus/TCP devices that are composites of several Modbus devices, e.g. on
Modbus/TCP to Modbus RTU gateways. In such case, the unit identifier tells the Slave Address of the device behind
the gateway. Natively Modbus/TCP-capable devices usually ignore the Unit Identifier.
The byte order is Big-Endian (first byte contains MSB).
Note: The "Function code" field is part of the PDU and not part of the transport (TCP) header.
Modbus
41
Supported function codes
The various reading, writing and other operations are categorised as follows.[6] The most primitive reads and writes
are shown in bold. A number of sources [7] use alternative terminology, for example Force Single Coil where the
standard uses Write Single Coil.
Function Name
Data Access Bit access
Function Code
Physical Discrete Inputs
Read Discrete Inputs
2
Internal Bits or Physical Coils
Read Coils
1
Write Single Coil
5
Write Multiple Coils
15
Read Input Register
4
16-bit access Physical Input Registers
Internal Registers or Physical Output Registers Read Holding Registers
File Record Access
Diagnostics
Other
3
Write Single Register
6
Write Multiple Registers
16
Read/Write Multiple Registers
23
Mask Write Register
22
Read FIFO Queue
24
Read File Record
20
Write File Record
21
Read Exception Status
7
Diagnostic
8
Get Com Event Counter
11
Get Com Event Log
12
Report Slave ID
17
Read Device Identification
43
Encapsulated Interface Transport 43
Implementations
Almost all implementations have variations from the official standard. Different varieties might not communicate
correctly between equipment of different suppliers. Some of the most common variations are:
• Data types
• Floating point IEEE
• 32-bit integer
• 8-bit data
• Mixed data types
• Bit fields in integers
• Multipliers to change data to/from integer. 10, 100, 1000, 256 ...
• Protocol extensions
• 16-bit slave addresses
• 32-bit data size (1 address = 32 bits of data returned.)
• Word swapped data
Modbus
Limitations
• Since Modbus was designed in the late 1970s to communicate to programmable logic controllers, the number of
data types is limited to those understood by PLCs at the time. Large binary objects are not supported.
• No standard way exists for a node to find the description of a data object, for example, to determine if a register
value represents a temperature between 30 and 175 degrees.
• Since Modbus is a master/slave protocol, there is no way for a field device to "report by exception" (except over
Ethernet TCP/IP, called open-mbus)- the master node must routinely poll each field device, and look for changes
in the data. This consumes bandwidth and network time in applications where bandwidth may be expensive, such
as over a low-bit-rate radio link.
• Modbus is restricted to addressing 247 devices on one data link, which limits the number of field devices that may
be connected to a master station (once again Ethernet TCP/IP proving the exception).
• Modbus transmissions must be contiguous which limits the types of remote communications devices to those that
can buffer data to avoid gaps in the transmission.
• Modbus protocol provides no security against unauthorized commands or interception of data.[8]
Trade group
The Modbus organization is a trade association for the promotion and development of Modbus protocol.
References
[1] Bill Drury, Control Techniques Drives and Controls Handbook (2nd Edition) . 2009, Institution of Engineering and Technology, Online
version available at: http:/ / knovel. com/ web/ portal/ browse/ display?_EXT_KNOVEL_DISPLAY_bookid=2995& VerticalID=0, page 508
and following
[2] http:/ / www. modbus. org/
[4] http:/ / www. modbus. com/
[6] Modbus Application Protocol V1.1b (http:/ / www. modbus. org/ docs/ Modbus_Application_Protocol_V1_1b. pdf)
[7] Gordon Clarke, Deon Reynders Practical Modern Scada Protocols: Dnp3, 60870.5 and Related Systems ,Newnes, 2004 ISBN 0-7506-5799-5
pages 47-51
[8] Charles Palmer, Sujeet Shenoi (ed) Critical Infrastructure Protection III: Third IFIP WG 11. 10 International Conference, Hanover, New
Hampshire, USA, March 23–25, 2009, Revised Selected Papers Springer, 2009 ISBN 3-642-04797-1, page 87
External links
•
•
•
•
•
•
•
•
•
•
•
Modbus Organization site (http://www.modbus.org/)
Modbus Communication Monitor (http://www.awavo.com/com-port-monitor/)
Cost free Modbus RTU Device Testing Software (http://www.globalmultimedia.in/modnet.htm)
Modbus Source Code (http://www.protocessor.com/solutions/signup.php)
Free Modbus Guide for Field Technician (http://www.modbusbacnet.com/includes/pdf/
MODBUS_2010Nov12.pdf)
uTasker MODBUS extension module for Kinetis, Coldfire, SAM7x, LPC2xxx, LPC17xx, Stellaris, STM32
(http://www.utasker.com/modbus.html)
Simple modbus/TCP client for Linux (https://github.com/sourceperl/mbtget)
Interface to Modbus TCP or RTU (http://www.fieldserver.com/products/drivers/Modbus.php)
Perl module for Modbus/TCP (https://github.com/sourceperl/MBclient)
Android based Modbus TCP Master (http://www.modbusmonitor.com/)
MBtest, Modbus RTU, ASCII, Modbus/TCP Master program (http://cedarlab.ru/eng/software.html)
42
Profibus
43
Profibus
PROFIBUS
Protocol Information
Type of Network
Device Bus, Process Control
Physical Media
Twisted pair, fiber
Network Topology Bus
Device Addressing DIP Switch or hardware/software
Governing Body
PROFIBUS&PROFINET International (PI)
Website
www.profibus.com
[1]
PROFIBUS (Process Field Bus) is a standard for field bus
communication in automation technology and was first promoted in
1989 by BMBF (German department of education and research) and
then used by Siemens. It should not be confused with the PROFINET
standard for Industrial Ethernet. PROFIBUS is not an openly published
and royalty-free protocol as MODBUS.
Origin
Profibus electrical connector
The history of PROFIBUS goes back to a publicly promoted plan for
an association started in Germany in 1986 and for which 21 companies
and institutes devised a master project plan called "field bus". The goal was to implement and spread the use of a
bit-serial field bus based on the basic requirements of the field device interfaces. For this purpose, member
companies agreed to support a common technical concept for production (i.e. discrete or factory automation) and
process automation. First, the complex communication protocol Profibus FMS (Field bus Message Specification),
which was tailored for demanding communication tasks, was specified. Subsequently in 1993, the specification for
the simpler and thus considerably faster protocol PROFIBUS DP (Decentralized Peripherals) was completed.
Profibus FMS is used for (non deterministic) communication of data between Profibus Masters. Profibus DP is a
protocol made for (deterministic) communication between Profibus masters and their remote I/O slaves.
There are two variations of PROFIBUS in use today; the most commonly used PROFIBUS DP, and the lesser used,
application specific, PROFIBUS PA:
• PROFIBUS DP (Decentralized Peripherals) is used to operate sensors and actuators via a centralized controller in
production (factory) automation applications. The many standard diagnostic options, in particular, are focused on
here.
• PROFIBUS PA (Process Automation) is used to monitor measuring equipment via a process control system in
process automation applications. This variant is designed for use in explosion/hazardous areas (Ex-zone 0 and 1).
The Physical Layer (i.e. the cable) conforms to IEC 61158-2, which allows power to be delivered over the bus to
field instruments, while limiting current flows so that explosive conditions are not created, even if a malfunction
occurs. The number of devices attached to a PA segment is limited by this feature. PA has a data transmission rate
of 31.25 kbit/s. However, PA uses the same protocol as DP, and can be linked to a DP network using a coupler
device. The much faster DP acts as a backbone network for transmitting process signals to the controller. This
means that DP and PA can work tightly together, especially in hybrid applications where process and factory
automation networks operate side by side.
Profibus
44
In excess of 30 million PROFIBUS nodes were installed by the end of 2009. 5 million of these are in the process
industries.
Technology
PROFIBUS Protocol (OSI reference model)
OSI-Layer
7 Application
6 Presentation
PROFIBUS
DPV0
DPV1 DPV2 Management
--
5
Session
4
Transport
3
Network
2
Data Link
FDL
1
Physical
EIA-485 Optical MBP
Application layer
To utilize these functions, various service levels of the DP protocol were defined:
• DP-V0 for cyclic exchange of data and diagnosis
• DP-V1 for acyclic and cyclic data exchange and alarm handling
• DP-V2 for isochronous mode and data exchange broadcast (slave-to-slave communication)
Security layer
The security layer FDL (Field bus Data Link) works with a hybrid access method that combines token passing with a
master-slave method. In a PROFIBUS DP network, the controllers or process control systems are the masters and the
sensors and actuators are the slaves.
Various telegram types are used. They can be differentiated by their start delimiter (SD):
No data: SD1 = 0x10
SD1 DA SA FC FCS ED
Variable length data:
SD2 = 0x68
SD2 LE LEr SD2 DA SA FC DSAP SSAP PDU FCS ED
Fixed length data:
SD3 = 0xA2
SD3 DA SA FC PDU FCS ED
Token:
SD4 = 0xDC
SD4
SC = 0xE5
Profibus
45
SC
SD: Start Delimiter
LE: Length of protocol data unit, (incl. DA,SA,FC,DSAP,SSAP)
LEr: Repetition of protocol data unit, (Hamming distance = 4)
FC: Function Code
DA: Destination Address
SA: Source Address
DSAP: Destination Service Access Point
SSAP: Source Service Access Point
SAP (Decimal)
SERVICE
Default 0
Cyclical Data Exchange (Write_Read_Data)
54
Master-to-Master SAP (M-M Communication)
55
Change Station Address (Set_Slave_Add)
56
Read Inputs (Rd_Inp)
57
Read Outputs (Rd_Outp)
58
Control Commands to a DP Slave (Global_Control)
59
Read Configuration Data (Get_Cfg)
60
Read Diagnostic Data (Slave_Diagnosis)
61
Send Parameterization Data (Set_Prm)
62
Check Configuration Data (Chk_Cfg)
Note: SAP55 is optional and may be disabled if the slave doesn't provide non-volatile storage memory for the station
address.
PDU: Protocol Data Unit (protocol data)
FCS: Frame Checking Sequence
ED: End Delimiter (= 0x16 !)
The FCS is calculated by simply adding up the bytes within the specified length. An overflow is ignored here. Each
byte is saved with an even parity and transferred asynchronously with a start and stop bit. There may not be a pause
between a stop bit and the following start bit when the bytes of a telegram are transmitted. The master signals the
start of a new telegram with a SYN pause of at least 33 bits (logical "1" = bus idle).
Bit-transmission layer
Three different methods are specified for the bit-transmission layer:
• With electrical transmission pursuant to EIA-485, twisted pair cables with impedances of 150 ohms are used in a
bus topology. Bit rates from 9.6 kbit/s to 12 Mbit/s can be used. The cable length between two repeaters is limited
from 100 to 1200 m, depending on the bit rate used. This transmission method is primarily used with PROFIBUS
DP.
• With optical transmission via fiber optics, star-, bus- and ring-topologies are used. The distance between the
repeaters can be up to 15 km. The ring topology can also be executed redundantly.
• With MBP (Manchester Bus Powered) transmission technology, data and field bus power are fed through the
same cable. The power can be reduced in such a way that use in explosion-hazardous environments is possible.
The bus topology can be up to 1900 m long and permits branching to field devices (max. 60 m branches). The bit
Profibus
rate here is a fixed 31.25 kbit/s. This technology was specially established for use in process automation for
PROFIBUS PA.
For data transfer via sliding contacts for mobile devices or optical or radio data transmission in open spaces, products
from various manufacturers can be obtained, however they do not conform to any standard.
PROFIBUS DP It runs over two core screened cable that is violet sheathed and its speed varies from 9.6Kbps to
12Mbps. A particular speed can be chosen for a network to give enough time for communication with all the devices
present in the network. If systems change slowly then lower communication speed is suitable and if the systems
change quickly then effective communication will happen through faster speed. The RS485 balanced transmission
that is used in PROFIBUS DP only allows 32 devices to be connected at once but more devices can be connected
and network can be expanded with the use of hubs or repeaters.
PROFIBUS PA It is slower than PROFIBUS DP and runs at fixed speed of 31.2Kbps via blue sheathed two core
screened cable. The communication may be initiated to minimise the risk of explosion or for the systems that
intrinsically need safe equipment. The message formats in PROFIBUS PA are identical to PROFIBUS DP.
Note: PROFIBUS DP and PROFIBUS PA should not be confused with PROFINET.
Profiles
Profiles are pre-defined configurations of the functions and features available from PROFIBUS for use in specific
devices or applications. They are specified by PI working groups and published by PI. Profiles are important for
openness, interoperability and interchangeability, so that the end user can be sure that similar equipments from
different vendors perform in a standardised way. User choice also encourages competition that drives vendors
towards enhanced performance and lower costs.
There are PROFIBUS profiles for Encoders, Laboratory instruments, Intelligent pumps, Robots and Numerically
Controlled machines, for example. Profiles also exist for applications such as using HART and wireless with
PROFIBUS, and process automation devices via PROFIBUS PA. Other profiles have been specified for Motion
Control (PROFIdrive) and Functional Safety (PROFIsafe).
Standardization
PROFIBUS was defined in 1991/1993 in DIN 19245, was then included in EN 50170 in 1996 and, since 1999,
established in IEC 61158/IEC 61784.
Organization
The PROFIBUS Nutzerorganisation e.V. (PROFIBUS User Organization, or PNO) was created in 1989. This group
was composed mainly of manufacturers and users from Europe. In 1992, the first regional PROFIBUS organization
was founded (PROFIBUS Schweiz in Switzerland). In the following years, additional Regional PROFIBUS &
PROFINET Associations (RPAs) were added.
In 1995, all the RPAs joined together under the international umbrella association PROFIBUS & PROFINET
International (PI). Today, PROFIBUS is represented by 25 RPAs around the world (including PNO) with over 1400
members, including most if not all major automation vendors and service suppliers, along with many end users.
46
Profibus
References
[1] http:/ / www. profibus. com/
• (http://www.profibus.com/nc/downloads/downloads/
profibus-technology-and-application-system-description/display/) PROFIBUS system description
• J. Weigmann, G. Kilian: Decentralization with PROFIBUS DP/DPV1, ISBN 978-3-89578-218-3
• M. Felser: PROFIBUS Manual, A collection of information explaining PROFIBUS networks assembled by Prof.
Max Felser, ISBN 978-3-8442-1435-2
External links
• PROFIBUS & PROFINET International (http://www.profibus.com)
• PROFIBUS Manual by Prof. Max Felser - on-line version (http://profibus.felser.ch/en/)
DeviceNet
DeviceNet is a network system used in the automation industry to interconnect control devices for data exchange. It
uses Controller Area Network as the backbone technology and defines an application layer to cover a range of device
profiles. Typical applications include information exchange, safety devices, and large I/O control networks. [1][2]
History
DeviceNet was originally developed by American company Allen-Bradley (now owned by Rockwell Automation). It
is layered on top of the CAN (Controller Area Network) technology, developed by Bosch.[3] DeviceNet adapts the
technology from ControlNet, which is another industrial protocol developed by Allen-Bradley, and takes advantage
of CAN, making it low-cost and robust compared to the traditional RS-485 based protocols.
In order to promote the use of DeviceNet worldwide, Rockwell Automation has adopted the "open" concept and
decided to share the technology to third party vendors. Hence, it is now managed by the Open DeviceNet Vendors
Association (ODVA), an independent organization located in North America. ODVA maintains specifications of
DeviceNet and oversees advances to DeviceNet. In addition, ODVA ensures compliance to DeviceNet standards by
providing conformance testing and vendor conformity.[3]
ODVA later decided to bring DeviceNet back to its predecessor's umbrella and collectively call the technology as
Common Industrial Protocol or (CIP), which includes the following technologies:
•
•
•
•
EtherNet/IP (take note of the capital 'N', and "IP" here means "Industrial Protocol")
ControlNet
DeviceNet
CompoNet
ODVA claims high integrity between the three technologies due to the common protocol adaptation, which makes
industrial controls much simpler compared to other technologies.
47
DeviceNet
48
Technical snapshot
1. Defines the media, physical, data-link, and application layers of the ISO/OSI 7-layer model (see Open Systems
Interconnection)
2. Incorporates trunkline topology with separate buses for signal and power (Typical configuration: two twisted
pairs and a single shield)
3. Baudrates defined: 125 kbit/s, 250 kbit/s, and 500 kbit/s
4. Trunk length is inversely proportional to the speed, i.e. 500, 250 and 100 meters respectively
5. A not-so new flat cable was added to the specification to allow the use of the quick-fix connector
6. Up to 64 nodes on a single logical network (node addresses range from 0 - 63). The network has a low node
priority scheme
7. Supports master/slave as well as peer-to-peer communication, although majority of the devices work in the
master/slave configuration
8. Allows multiple masters on a single logical network
9. Network cable can supply device power along same cable as communication cable (Generally smaller devices
such as photo-eyes, limit switches, and proximity switches).
10. Networked devices can be simultaneously controlled and configured
11. Engineered to withstand noisy environments
12. Supports four message types to/from slave devices (strobed, polled, cyclic, COS (change of state)). Some
devices support more than one message type
References [2][4]
Architecture
Physical Layer
Nodes are distributed along a DeviceNet network by the means of a trunkline-dropline topology. This topology
allows for ease in wiring and access to the network from multiple taps. In addition, nodes can be easily removed and
added to reduce production downtime, increase network flexibility, and decrease troubleshooting time. Since the
physical layer is optically isolated from the device, communication power and device power can share the same bus
(further reducing the complexity of the network and components within). (Introduction[5])
DeviceNet supports 125 kbit/s, 250 kbit/s and 500 kbit/s data rates. Depending on the chosen cable type, DeviceNet
can support communication up to 500 meters (using round, large diameter cable). Typical round cable supports up to
100 meters, while flat-style cable supports up to 380 meters at 125 kbit/s and 75 meters at 500 kbit/s. (Physical Layer
[5]
)
Data Link Layer
DeviceNet uses a differential serial bus (Controller Area Network) as its Data Link Layer. Using CAN as a
backbone, DeviceNet requires minimal bandwidth to transmit and package messages. In addition, a smaller
processor may be selected in the design of the device thanks to the data frame format and the ease at which the
processor can parse the data. See below for full format. (The Data Link Layer[5])
CAN Data Frame Format
1 Bit
11 Bits
1 Bit
6 Bits
0-8 Bytes
15 Bits
1 Bit
=>
=>
=>
=>
=>
=>
=>
Start of Frame
Identifier
RTR Bit
Control Field
Data Field
CRC Sequence
CRC Delimiter
DeviceNet
1 Bit
1 Bit
7 Bits
>2 Bits
49
=>
=>
=>
=>
Acknowledge
Ack Delimiter
End of Frame
Interframe Space
Reference: Table: Data Frame Format.[5]
Upon transmitting the first packet of data, the Start of Frame bit is sent to synchronize all receivers on the network.
The CAN identifier (denoted from 0-63) and RTR bit combine to set priority, at which the data can be accessed or
changed. Lower identifiers have priority over higher identifiers. In addition to transmitting this data to other devices,
the device also monitors the data sent. This redundancy validates the data transmitted and eliminates simultaneous
transmissions. If a node is transmitting at the same time as another node, the node with the lower 11 bit identifier
will continue to transmit while the device with the higher 11 bit identifier will stop. (Introduction & Physical
Layer.[5])
The next six bits contain information for specifying the Control Field. The initial two bits are fixed, while the last
four are used to specify length field of the Data Field. The Data Field contains from zero to eight bytes of usable
data. (Physical Layer.[5])
The following data frame is the CRC (Cyclic Redundancy Check) field. The frame consists of 15 bits to detect frame
errors and maintains numerous format delimiters. Due to ease of implementation and immunity to most noisy
networks, CAN provides a high level of error checking and fault confinement. (Physical Layer.[5])
Network
DeviceNet incorporates a connection-based network. A connection must initially be established by either an UCMM
(Unconnected Message Manager) or a Group 2 Unconnected Port. From there, Explicit and Implicit messages can be
sent and received. Explicit messages are packets of data that general require a response from another device. Typical
messages are configurations or non-time sensitive data collection. Implicit messages are packets of data that are
time-critical and generally communicate real-time data over the network. An Explicit Message Connection has to be
used to established first before an Implicit Message Connection is made. Once the connection is made, the CAN
identifier routes data to the corresponding node. (The Network and Transport Layers.[5])
External links
• DeviceNet Protocol Overview [6]
Sources
• ODVA website [7]
• DeviceNet discussion forum [8]
• Introduction to DeviceNet [9]
Notes
[1] (http:/ / www. cans. com. my/ modules. php?name=FAQ& myfaq=yes& id_cat=3& categories=DeviceNet) Controller Area Network
Solutions FAQ (Frequently Asked Questions).
[2] (http:/ / www. odva. org/ Home/ ODVATECHNOLOGIES/ DeviceNet/ DeviceNetTechnologyOverview/ tabid/ 72/ Default. aspx), DeviceNet
Technology Overview.
[3] (http:/ / www. cans. com. my/ modules. php?name=FAQ& myfaq=yes& id_cat=3& categories=DeviceNet) Controller Area Network
Solutions FAQ (Frequently Asked Questions)], What is DeviceNet?.
[4] (http:/ / www. cans. com. my/ modules. php?name=FAQ& myfaq=yes& id_cat=3& categories=DeviceNet) Controller Area Network
Solutions FAQ (Frequently Asked Questions)], Basic DeviceNet Concepts?.
[5] "DeviceNet Technical Overview" (http:/ / www. odva. org/ Portals/ 0/ Library/ Publications_Numbered/ PUB00026R1. pdf) from Open
DeviceNet Vendor Association, Inc. (ODVA)
[6] http:/ / www. rtaautomation. com/ devicenet/
[7] http:/ / www. odva. org
DeviceNet
[8] http:/ / devicenet. yahoogroups. com
[9] http:/ / www. cans. com. my/ modules. php?name=FAQ& myfaq=yes& id_cat=3& categories=DeviceNet
ControlNet
Introduction
ControlNet is an open industrial network protocol for industrial automation applications, also known as a fieldbus.
ControlNet was earlier supported by ControlNet International, but in 2008 support and management of ControlNet
was transferred to ODVA, which now manages all protocols in the Common Industrial Protocol family.
Features which set ControlNet apart from other fieldbuses include the built-in support for fully redundant cables and
the fact that communication on ControlNet can be strictly scheduled and highly deterministic. Due to the unique
physical layer, common network sniffers such as Wireshark cannot be used to sniff ControlNet packets. Rockwell
Automation provides ControlNet Traffic Analyzer software to sniff and analyze ControlNet packets.
Architecture
Physical Layer
ControlNet cables consist of RG-6 coaxial cable with BNC connectors, though optical fiber is sometimes used for
long distances. The network topology is a bus structure with short taps. ControlNet also supports a star topology if
used with the appropriate hardware. ControlNet can operate with a single RG-6 coaxial cable bus, or a dual RG-6
coaxial cable bus for cable redundancy. In all cases, the RG-6 should be of quad-shield variety. Maximum cable
length without repeaters is 1000m and maximum number of nodes on the bus is 99. However, there is a tradeoff
between number of devices on the bus and total cable length. Repeaters can be used to further extend the cable
length. The network can support up to 5 repeaters (10 when used for redundant networks). The repeaters do not
utilize network node numbers and are available in copper or fiber optic choices.
The physical layer signaling uses Manchester code at 5 Mbit/s.
Link Layer
ControlNet is a scheduled communication network designed for cyclic data exchange. The protocol operates in
cycles, known as NUIs, where NUI stands for Network Update Interval. Each NUI has three phases, the first phase is
dedicated to scheduled traffic, where all nodes with scheduled data are guaranteed a transmission opportunity. The
second phase is dedicated to unscheduled traffic. There is no guarantee that every node will get an opportunity to
transmit in every unscheduled phase. The third phase is network maintenance or "guardband". It includes
synchronization and a means of determining starting node on the next unscheduled data transfer. Both the scheduled
and unscheduled phase use an implicit token ring media access method. The amount of time each NUI consists of is
known as the NUT, where NUT stands for Network Update Time. It is configurable from 2 to 100 ms. The default
NUT on an unscheduled network is 5 ms.
The maximum size of a scheduled or unscheduled ControlNet data frame is 510 Bytes.
Application Layer
The ControlNet application layer protocol is based on the Common Industrial Protocol (CIP) layer which is also used
in DeviceNet and EtherNet/IP.
50
ControlNet
References
External links
• ODVA website (http://www.odva.org)
• ControlNet International website (http://www.controlnet.org)
• ControlNet Networks and Communications from Allen-Bradley (http://www.ab.com/networks/controlnet/)
Fieldbus
Fieldbus is the name of a family of industrial computer network protocols used for real-time distributed control,
standardized as IEC 61158.
A complex automated industrial system — such as manufacturing assembly line — usually needs a distributed
control system -- an organized hierarchy of controller systems -- to function. In this hierarchy there is usually a
Human Machine Interface (HMI) at the top, where an operator can monitor or operate the system. This is typically
linked to a middle layer of programmable logic controllers (PLC) via a non-time-critical communications system
(e.g. Ethernet). At the bottom of the control chain is the fieldbus that links the PLCs to the components that actually
do the work, such as sensors, actuators, electric motors, console lights, switches, valves and contactors.
Description
Fieldbus is an industrial network system for real-time distributed control. It is a way to connect instruments in a
manufacturing plant. Fieldbus works on a network structure which typically allows daisy-chain, star, ring, branch,
and tree network topologies. Previously, computers were connected using RS-232 (serial connections) by which only
two devices could communicate. This would be the equivalent of the currently used 4-20 mA communication
scheme which requires that each device has its own communication point at the controller level, while the fieldbus is
the equivalent of the current LAN-type connections, which require only one communication point at the controller
level and allow multiple (hundreds) of analog and digital points to be connected at the same time. This reduces both
the length of the cable required and the number of cables required. Furthermore, since devices that communicate
through fieldbus require a microprocessor, multiple points are typically provided by the same device. Some fieldbus
devices now support control schemes such as PID control on the device side instead of forcing the controller to do
the processing.
History
Bitbus
The oldest commonly used field bus technology is Bitbus. Bitbus was created by Intel Corporation to enhance use of
Multibus systems in industrial systems by separating slow i/o functions from faster memory access. In 1983, Intel
created the 8044 Bitbus microcontroller by adding field bus firmware to its existing 8051 microcontroller. Bitbus
uses EIA-485 at the physical layer, with two twisted pairs - one for data and the other for clocking and signals. Use
of SDLC at the data link layer permits 250 nodes on one segment with a total distance of 13.2 km. Bitbus has one
master node and multiple slaves, with slaves only responding to requests from the master. Bitbus does not define
routing at the network layer. The 8044 permits only a relatively small data packet (13 bytes), but embeds an efficient
set of RAC (remote access and control) tasks and the ability to develop custom RAC tasks. In 1990, the IEEE
adopted Bitbus as the Microcontroller System Serial Control Bus (IEEE-1118).[1][2]
Today BITBUS is maintained by the BEUG - BITBUS European Users Group.[3]
51
Fieldbus
Standardization
Although fieldbus technology has been around since 1988, with the completion of the ISA S50.02 standard, the
development of the international standard took many years. In 1999, the IEC SC65C/WG6 standards committee met
to resolve difference in the draft IEC fieldbus standard. The result of this meeting was the initial form of the IEC
61158 standard with eight different protocol sets called "Types" as follows:
•
•
•
•
•
•
•
•
Type 1 Foundation Fieldbus H1
Type 2 ControlNet
Type 3 PROFIBUS
Type 4 P-Net
Type 5 FOUNDATION fieldbus HSE (High Speed Ethernet)
Type 6 SwiftNet (a protocol developed for Boeing, since withdrawn)
Type 7 WorldFIP
Type 8 Interbus
This form of standard was first developed for the European Common Market, concentrates less on commonality, and
achieves its primary purpose—elimination of restraint of trade between nations. Issues of commonality are now left
to the international consortia that support each of the fieldbus standard types. Almost as soon as it was approved, the
IEC standards development work ceased and the committee was dissolved. A new IEC committee SC65C/MT-9 was
formed to resolve the conflicts in form and substance within the more than 4000 pages of IEC 61158. The work on
the above protocol types is substantially complete. New protocols, such as for safety fieldbuses or realtime ethernetfieldbuses are being accepted into the definition of the international fieldbus standard during a typical 5-year
maintenance cycle.
Both Foundation Fieldbus and Profibus technologies are now commonly implemented within the process control
field, both for new developments and major refits. In 2006, China saw the largest FF (Foundation Fieldbus) systems
installations at NanHai and SECCO, each with around 15000 fieldbus devices connected.[citation needed]
IEC 61158 specification
There were many competing technologies for fieldbus and the original hope for one single unified communications
mechanism has not been realised. This should not be unexpected since fieldbus technology needs to be implemented
differently in different applications; automotive fieldbus is functionally different from process plant control. The
final edition of IEC standard IEC 61158 allows 8 technologies.This are the some hierarchic layer of the automation
protocols.
IEC 61158 consists of the following parts, under the general title Digital data communications for measurement and
control – Fieldbus for use in industrial control systems:
•
•
•
•
•
•
Part 1: Overview and guidance for the IEC 61158 series
Part 2: Physical Layer specification and service definition
Part 3: Data Link Service definition
Part 4: Data Link Protocol specification
Part 5: Application Layer Service definition
Part 6: Application Layer Protocol specification
52
Fieldbus
Standards
There are a wide variety of competing fieldbus standards. Some of the most widely used ones include:
•
•
•
•
•
•
•
•
•
•
•
•
AS-Interface
CAN
EtherCAT
FOUNDATION fieldbus [4]
Interbus
LonWorks
Modbus
PROFIBUS
BITBUS
CompoNet
SafetyBUS p
RAPIEnet
See List of automation protocols for more examples.
Cost advantage
The amount of cabling required is much lower in Fieldbus than in 4-20 mA installations. This is because many
devices share the same set of cables in a multi-dropped fashion rather than requiring a dedicated set of cables per
device as in the case of 4-20 mA devices. Moreover, several parameters can be communicated per device in a
Fieldbus network whereas only one parameter can be transmitted on a 4-20 mA connection. Fieldbus also provides a
good foundation for the creation of a predictive and proactive maintenance strategy. The diagnostics available from
fieldbus devices can be used to address issues with devices before they become critical problems.[5]
Networking
With the exception of ARCNET, which was conceived as early as 1975 for office connectivity and later found uses
in industry, the majority of fieldbus standards were developed in the 1980s and became fully established in the
marketplace during the mid-1990s. In the United States, Allen-Bradley developed standards that eventually grew
into DeviceNet and ControlNet; in Europe, Siemens and other manufacturers developed a protocol which evolved
into PROFIBUS.
During the 1980s, to solve communication problems between different control systems in cars, the German company
Robert Bosch GmbH first developed the Controller Area Network (CAN). The concept of CAN was that every
device can be connected by a single set of wires, and every device that is connected can freely exchange data with
any other device. CAN soon migrated into the factory automation marketplace (with many others).
Despite each technology sharing the generic name of fieldbus the various fieldbus are not readily interchangeable.
The differences between them are so profound that they cannot be easily connected to each other.[6] To understand
the differences among fieldbus standards, it is necessary to understand how fieldbus networks are designed. With
reference to the OSI model, fieldbus standards are determined by the physical media of the cabling, and layers one,
two and seven of the reference model.
For each technology the physical medium and the physical layer standards fully describe, in detail, the
implementation of bit timing, synchronization, encoding/decoding, band rate, bus length and the physical connection
of the transceiver to the communication wires. The data link layer standard is responsible for fully specifying how
messages are assembled ready for transmission by the physical layer, error handling, message-filtering and bus
arbitration and how these standards are to be implemented in hardware. The application layer standard, in general
defines how the data communication layers are interfaced to the application that wishes to communicate. It describes
53
Fieldbus
54
message specifications, network management implementations and response to the request from the application of
services. Layers three to six are not described in fieldbus standards.[7]
Technical committees, with representatives of many different companies, have been responsible for turning the
original specifications into international ISO standards. Bury, among others, reports that work is underway to
implement a common fieldbus protocol.[8] This will entail a common set of application-layer services that can be
provided regardless of the lower-layer implementation details. Although very much in its infancy, it is expected that
this protocol may become reality by 2010. Whether designed for low-level sensor communications or high-level
machine connectivity (or both), a fieldbus is an important enabling technology for an open architecture controller.[9]
Features
Different fieldbuses offer different sets of features and performance. It is difficult to make a general comparison of
fieldbus performance because of fundamental differences in data transfer methodology. In the comparison table
below it is simply noted if the fieldbus in question typically supports data update cycles of 1 millisecond or faster.
Fieldbus
Bus power Cabling redundancy
Max devices
Synchronisation
Sub millisecond cycle
AFDX
No
Yes
Almost unlimited
No
Unknown
AS-Interface
Yes
No
62
No
No
CANopen
No
No
127
Yes
No
CompoNet
Yes
No
384
No
Yes
ControlNet
No
Yes
99
No
No
CC-Link
No
No
64
No
No
DeviceNet
Yes
No
64
No
No
EtherCAT
No
Yes
65,536
Yes
Yes
Ethernet Powerlink
No
Optional
240
Yes
Yes
EtherNet/IP
No
Optional
Interbus
No
No
511
No
No
LonWorks
No
No
32,000
No
No
Modbus
No
No
246
No
No
PROFIBUS DP
No
Optional
126
Yes
No
PROFIBUS PA
Yes
No
126
No
No
PROFINET IO
No
Optional
Almost unlimited
No
No
PROFINET IRT
No
Optional
Almost unlimited
Yes
Yes
SERCOS III
No
Yes
511
Yes
Yes
SERCOS interface
No
No
254
Yes
Yes
Foundation Fieldbus H1
Yes
No
240
Yes
No
Foundation Fieldbus HSE
No
Yes
Almost unlimited
Yes
No
RAPIEnet
No
Yes
256
Under Development
Conditional
Max devices
Synchronisation
Sub millisecond cycle
Fieldbus
Bus power Cabling redundancy
Almost unlimited Under development
No
Fieldbus
Process Fieldbus vs. Device Networks
It should be noted that requirements of fieldbus networks for process automation applications (flowmeters, pressure
transmitters, and other measurement devices and control valves in industries such as hydrocarbon processing and
power generation) are differennt from the requirements of fieldbus networks found in discrete manufacturing
applications such as automotive manufacturing, where large numbers of discrete sensors are used including motion
sensors, position sensors, and so on. Discrete fieldbus networks are often referred to as "device networks".[10]
Ethernet and Fieldbus
Recently a number of Ethernet-based industrial communication systems have been established, most of them with
extensions for real-time communication. These have the potential to replace the traditional fieldbuses in the long
term.
Here is a partial list of the new Ethernet-based industrial communication systems:
•
•
•
•
AFDX
EtherCAT
EtherNet/IP
Ethernet Powerlink
•
•
•
•
•
•
•
•
•
FOUNDATION HSE
BACnet
PROFINET IO
PROFINET IRT
SafetyNET p
SERCOS III
TTEthernet
VARAN
RAPIEnet
For details, see the article on Industrial Ethernet
Safety
Fieldbus can be used for systems which must meet safety-relevant standards like IEC 61508 or EN 954-1.
Depending on the actual protocol, fieldbus can provide measures like counters, CRC's, echo, timeout, unique sender
and receiver ID's or cross check. Ethernet/IP and SERCOS III both use the CIP Safety protocol,[11] Ethernet
Powerlink uses openSAFETY, while FOUNDATION Fieldbus and Profibus (PROFIsafe) can address SIL 2 and SIL
3 process safety applications.
In January 2006, the Fieldbus Foundation announced that TÜV Rheinland Industrie Service GmbH, Automation,
Software and Information Technology, a global, independent and accredited testing agency, had granted Protocol
Type Approval for its Safety Specifications. The Foundation Technical Specifications - Safety Instrumented
Functions are in compliance with International Electrotechnical Commission (IEC) 61508 standard (functional safety
of electrical/electronic/programmable electronic safety-related systems) requirements up to, and including, Safety
Integrity Level 3 (SIL 3).[12]
55
Fieldbus
Market
In process control systems, the market is dominated by FOUNDATION fieldbus and PROFIBUS PA.[13] Both
technologies use the same physical layer (2-wire manchester-encoded current modulation at 31.25 kHz) but are not
interchangeable. As a general guide, applications which are controlled and monitored by PLCs (programmable logic
controllers) tend towards PROFIBUS, and applications which are controlled and monitored by a DCS
(digital/distributed control system) tend towards FOUNDATION Fieldbus. PROFIBUS technology is made available
through Profibus International with headquarters in Karlsruhe, Germany. FOUNDATION Fieldbus technology is
owned and distributed by the Fieldbus Foundation of Austin, Texas.
References
[3] Bitbus/fieldbus community site. (http:/ / www. bitbus. org)
[4] http:/ / www. fieldbus. org
[5] http:/ / www. controlglobal. com/ articles/ 2007/ 217. html
[6] Bury (1999)
[7] Farsi & Barbosa 2000
[8] Bury 1999
[9] Pfeiffer & Komischke 1987
[10] www.isadenver.org/docs/fieldbus.pps
[12] http:/ / www. fieldbus. org/ images/ stories/ enduserresources/ technicalreferences/ documents/ wp_arc_ff-sif_908. pdf
[13] http:/ / www. fieldbus. org/ images/ stories/ fieldbus_report/ FieldbusReport_Apr08. pdf
• Chatha, Andrew. (1994). Fieldbus: The Foundation for Field Control Systems Control Engineering, May,
47–50.
• Furness, Harry. (1994). Digital Communications Provides... Control Engineering, January, 23–25.
• Furness, Harry. (1994). Fieldbus: The Differences Start From the Bottom Up Control Engineering, March,
49–51.
• Fouhy, Ken. (1993). Fieldbus Hits The Road Chemical Engineering, September, 37–41.
• Johnson, Dick. (1994). The Future of Fieldbus At Milestone 1995 Control Engineering, December, 49–52.
• Loose, Graham. (1994). When Can The Process Industry Use Fieldbus? Control and Instrumentation, May,
63–65.
• Spear, Mike. (1993). Fieldbus Faces Up To First Trials Process Engineering, March, p36.
• Lasher, Richard J. (1994). Fieldbus Advancements and Their Implications Control Engineering, July, 33–35.
• Pierson, Lynda L. (1994). Broader Fieldbus Standards Will Improve System Functionality Control Engineering,
November, 38–39.
• Powell, James and Henry Vandelinde (2009), 'Catching the Process Fieldbus - An introduction to PROFIBUS for
Process Automation' www.measuremax.ca.
• O'Neill, Mike (2007). Advances in Fieldbus, Process Industry Informer, January, 36–37.
• N.P. Mahalik; P.R. Moore (1997) Fieldbus technology based, distributed control in process industries: a case
study with LonWorks Technology
• ARC Advisory Group (2008) Foundation Fieldbus Safety Instrumented Functions Forge the Future of Process
Safety
56
Fieldbus
Bibliography
• Babb, Michael. (1994). Will Maintenance Learn To Love Fieldbus? Control Engineering, January, 19.
• Babb, Michael. (1994). Summer, 1994: Another Fieldbus Delay, Schneider's DPV, and Open Systems Control
Engineering, July, 29.
• Gokorsch, Steve. (1994). Another Scenario: Maintenance Will Learn to Love Fieldbus Control Engineering, June,
112–114.
• Gunnel, Jeff. (1994). Analyser Links Can Use Fieldbus Control and Instrumentation, March, 33–35.
• Hodgkinson, Geoff. (1994). Communications Are We Listening? Process Engineering, Instrumentation
Supplement 1994, s19–s21.
• Jones, Jeremy. (1992). Can Fieldbus Survive? Control and Instrumentation, August, 25–26.
• Kerridge, Brian. (1994). Network Vendors Aganize Over Fieldbus StandardEDN, April 28, 45–46.
• Rathje, J. (1994). Namur Says Yes To Fieldbus Technology and the Promise of Reduces Costs Control and
Instrumentation, September, 33–34.
• Reeve, Alan. (1993). Fieldbus — Are Users Involved? Control and Instrumentation, August, 25–26.
• Spear, Mike. (1994). A Plant View of Fieldbus In Use Process Engineering, April, 38–39.
• Spear, Mike. (1994). Fieldbus Ready To Start The Last Lap? Process Engineering, April, 37.
External links
• USA: Fieldbus Foundation (http://www.fieldbus.org/index.html)
Foundation Fieldbus End User Councils:
• Middle East: Foundation Fieldbus End User Council - Middle East (http://www.ffeucme.org/)
• Australia: Foundation Fieldbus End User Council Australia Inc (http://www.fieldbus.org.au/)
Independent organizations:
• Iran: Iranian Fieldbus Foundation (http://www.fieldbus.ir/index.htm) (written in Persian)
• Manufacturing Systems Integration Research Institute at Loughborough, UK (http://www.lboro.ac.uk/
departments/mm/research/manufacturing-systems/)
• The P-NET Fieldbus (http://www.p-net.org)
57
Peer-to-peer
58
Peer-to-peer
A peer-to-peer (P2P) network is a type of decentralized and
distributed network architecture in which individual nodes in the
network (called "peers") act as both suppliers and consumers of
resources, in contrast to the centralized client–server model where
client nodes request access to resources provided by central
servers.
In a peer-to-peer network, tasks (such as searching for files or
streaming audio/video) are shared amongst multiple
interconnected peers who each make a portion of their resources
(such as processing power, disk storage or network bandwidth)
directly available to other network participants, without the need
for centralized coordination by servers.[1]
Architecture of peer-to-peer systems
A peer-to-peer network is designed around the notion of equal
peer nodes simultaneously functioning as both "clients" and
"servers" to the other nodes on the network. This model of
network arrangement differs from the client–server model where
communication is usually to and from a central server. A typical
example of a file transfer that uses the client-server model is the
File Transfer Protocol (FTP) service in which the client and server
programs are distinct: the clients initiate the transfer, and the
servers satisfy these requests.
A peer-to-peer (P2P) network in which
interconnected nodes ("peers") share resources
amongst each other without the use of a centralized
administrative system
Routing and resource discovery
Peer-to-peer networks generally implement some form of virtual
overlay network on top of the physical network topology, where
the nodes in the overlay form a subset of the nodes in the physical
network. Data is still exchanged directly over the underlying
A network based on the client-server model, where
TCP/IP network, but at the application layer peers are able to
individual clients request services and resources from
communicate with each other directly, via the logical overlay links
centralized servers
(each of which corresponds to a path through the underlying
physical network). Overlays are used for indexing and peer discovery, and make the P2P system independent from
the physical network topology. Based on how the nodes are linked to each other within the overlay network, and how
resources are indexed and located, we can classify networks as unstructured or structured (or as a hybrid between
the two).[2][3][4]
Peer-to-peer
59
Unstructured networks
Unstructured peer-to-peer networks do not
impose a particular structure on the overlay
network by design, but rather are formed by
nodes that randomly form connections to
each other.[5] (Gnutella, Gossip, and Kazaa
are examples of unstructured P2P
protocols.[6])
Because there is no structure globally
imposed upon them, unstructured networks
are easy to build and allow for localized
optimizations to different regions of the
overlay.[7] Also, because the role of all
peers in the network is the same,
unstructured networks are highly robust in
the face of high rates of "churn" -- that is,
when large numbers of peers are frequently
joining and leaving the network.[][]
Overlay network diagram for an unstructured P2P network, illustrating the
ad-hoc nature of the connections between nodes
However the primary limitations of unstructured networks also arise from this lack of structure. In particular, when a
peer wants to find a desired piece of data in the network, the search query must be flooded through the network to
find as many peers as possible that share the data. Flooding causes a very high amount of signaling traffic in the
network, uses more CPU/memory (by requiring every peer to process all search queries), and does not ensure that
search queries will always be resolved. Furthermore, since there is no correlation between a peer and the content
managed by it, there is no guarantee that flooding will find a peer that has the desired data. Popular content is likely
to be available at several peers and any peer searching for it is likely to find the same thing. But if a peer is looking
for rare data shared by only a few other peers, then it is highly unlikely that search will be successful. [8]
Structured networks
In structured peer-to-peer networks the
overlay is organized into a specific
topology, and the protocol ensures that any
node can efficiently[9] search the network
for a file/resource, even if the resource is
extremely rare.
The most common type of structured P2P
networks implement a distributed hash table
(DHT)[10][11], in which a variant of
consistent hashing is used to assign
ownership of each file to a particular
peer.[12][] This enable peers to search for
resources on the network using a hash table:
that is, (key, value) pairs are stored in the
DHT, and any participating node can
efficiently retrieve the value associated with
a given key.[13][14]
Overlay network diagram for a structured P2P network, using a distributed hash
table (DHT) to identify and locate nodes/resources
Peer-to-peer
However, in order to route traffic efficiently through
the network, nodes in a structured overlay must
maintain lists of neighbors that satisfy specific criteria.
This makes them less robust in networks with a high
rate of churn (i.e. with large numbers of nodes
frequently joining and leaving the network).[15][] More
recent evaluation of P2P resource discovery solutions
Distributed hash tables
under real workloads have pointed out several issues in
DHT-based solutions such as high cost of
advertising/discovering resources and static and dynamic load imbalance.[16]
Notable distributed networks that use DHTs include BitTorrent's distributed tracker, the Kad network, the Storm
botnet, YaCy, and the Coral Content Distribution Network. Some prominent research projects include the Chord
project, Kademlia, PAST storage utility, P-Grid, a self-organized and emerging overlay network, and CoopNet
content distribution system.[citation needed] DHT-based networks have also been widely utilized for accomplishing
efficient resource discovery[17][18] for grid computing systems, as it aids in resource management and scheduling of
applications.
Hybrid models
Hybrid models are a combination of peer-to-peer and client-server models. A common hybrid model is to have a
central server that helps peers find each other. Spotify is an example of a hybrid model.
Security and trust
Peer-to-peer systems pose unique challenges from a computer security perspective.
Like any other form of software, P2P applications can contain vulnerabilities. What makes this particularly
dangerous for P2P software, however, is that peer-to-peer applications act as servers as well as clients, meaning that
they can be more vulnerable to remote exploits.[]
Routing attacks
Also, since each node plays a role in routing traffic through the network, malicious users can perform a variety of
"routing attacks", or denial of service attacks. Examples of common routing attacks include "incorrect lookup
routing" whereby malicious nodes deliberately forward requests incorrectly or return false results, "incorrect routing
updates" where malicious nodes corrupt the routing tables of neighboring nodes by sending them false information,
and "incorrect routing network partition" where when new nodes are joining they bootstrap via a malicious node,
which places the new node in a partition of the network that is populated by other malicious nodes.[19]
Corrupted data and malware
The prevalence of malware varies between different peer-to-peer protocols. Studies analyzing the spread of malware
on P2P networks found, for example, that 63% of the answered download requests on the Limewire network
contained some form of malware, whereas only 3% of the content on OpenFT contained malware. In both cases, the
top three most common types of malware accounted for the large majority of cases (99% in Limewire, and 65% in
OpenFT). Another study analyzing traffic on the Kazaa network found that 15% of the 500,000 file sample taken
were infected by one or more of the 365 different computer viruses that were tested for.[20]
Corrupted data can also be distributed on P2P networks by modifying files that are already being shared on the
network. For example, on the FastTrack network, the RIAA managed to introduce faked chunks into downloads and
downloaded files (mostly MP3 files). Files infected with the RIAA virus were unusable afterwards and contained
malicious code. The RIAA is also known to have uploaded fake music and movies to P2P networks in order to deter
60
Peer-to-peer
illegal file sharing.[21] Consequently, the P2P networks of today have seen an enormous increase of their security and
file verification mechanisms. Modern hashing, chunk verification and different encryption methods have made most
networks resistant to almost any type of attack, even when major parts of the respective network have been replaced
by faked or nonfunctional hosts.[citation needed]
Privacy/anonymity
Some peer-to-peer networks (e.g. Freenet) place a heavy emphasis on privacy and anonymity -- that is, ensuring that
the contents of communications are hidden from eavesdroppers, and that the identities/locations of the participants
are concealed. Public key cryptography can be used to provide encryption, data validation, authorization, and
authentication for data/messages. Onion routing and other mix network protocols (e.g. Tarzan) can be used to
provide anonymity.[22]
Incentivizing resource sharing and cooperation
Cooperation is at the foundation of P2P
systems, which only reach their full
potential when large numbers of nodes
contribute resources. But in current practice
P2P networks often contain large numbers
of users who utilize resources shared by
other nodes, but who do not share anything
themselves (often referred to as the
"freeloader problem"). Thus a variety of
incentive
mechanisms
have
been
implemented to encourage or force nodes to
contribute resources.[23]
Some researchers have explored the benefits
of enabling virtual communities to
self-organize and introduce incentives for
resource sharing and cooperation, arguing
that the social aspect missing from today's
The BitTorrent protocol: In this animation, the colored bars beneath all of the 7
P2P systems should be seen both as a goal
clients in the upper region above represent the file being shared, with each color
and a means for self-organized virtual
representing
an individual piece of the file. After the initial pieces transfer from the
communities to be built and fostered.[24]
seed (large system at the bottom), the pieces are individually transferred from
Ongoing research efforts for designing
client to client. The original seeder only needs to send out one copy of the file for
all the clients to receive a copy.
effective incentive mechanisms in P2P
systems, based on principles from game
theory are beginning to take on a more psychological and information-processing direction.
Applications
Peer-to-peer networks underly numerous applications. The most commonly known application is file sharing, which
popularized the technology.
Communications
• Skype, an Internet telephony network, uses P2P technology. (Formerly)
• Instant messaging systems and online chat networks.
61
Peer-to-peer
62
Content delivery
In P2P networks, clients provide resources
as well as using them. This means that
unlike client-server systems, the content
serving capacity of peer-to-peer networks
can actually increase as more users begin to
access the content (especially with protocols
such as Bittorrent that require users to
share). This property is one of the major
advantages of using P2P networks because it
makes the setup and running costs very
small
for
the
original
content
[25][26]
distributor.
The use of peer-to-peer file-sharing software such as aMule (pictured here) is
responsible for the bulk of P2P internet traffic
File-sharing networks
Many file sharing networks, such as gnutella, G2 and the eDonkey network popularized peer-to-peer technologies.
From 2004 on, such networks form the largest contributor of network traffic on the Internet.[citation needed]
• Peer-to-peer content delivery networks. See: Kontiki, Ignite, RedSwoosh.
• Peer-to-peer content services, e.g. caches for improved performance such as Correli Caches[27]
• Software publication and distribution (Linux, several games); via file sharing networks.
Intellectual property law and illegal sharing
Peer-to-peer networking involves data transfer from one user to another without using an intermediate server.
Companies developing P2P applications have been involved in numerous legal cases, primarily in the United States,
primarily over issues surrounding copyright law.[28] Two major cases are Grokster vs RIAA and MGM Studios, Inc.
v. Grokster, Ltd..[29] In both of the cases the file sharing technology was ruled to be legal as long as the developers
had no ability to prevent the sharing of the copyrighted material.[citation needed]
Network neutrality
Peer-to-peer applications present one of the core issues in the network neutrality controversy. Internet service
providers (ISPs) have been known to throttle P2P file-sharing traffic due to its high-bandwidth usage.[30] Compared
to Web browsing, e-mail or many other uses of the internet, where data is only transferred in short intervals and
relative small quantities, P2P file-sharing often consists of relatively heavy bandwidth usage due to ongoing file
transfers and swarm/network coordination packets. In October 2007, Comcast, one of the largest broadband Internet
providers in the USA, started blocking P2P applications such as BitTorrent. Their rationale was that P2P is mostly
used to share illegal content, and their infrastructure is not designed for continuous, high-bandwidth traffic. Critics
point out that P2P networking has legitimate uses, and that this is another way that large providers are trying to
control use and content on the Internet, and direct people towards a client-server-based application architecture. The
client-server model provides financial barriers-to-entry to small publishers and individuals, and can be less efficient
for sharing large files. As a reaction to this bandwidth throttling, several P2P applications started implementing
protocol obfuscation, such as the BitTorrent protocol encryption. Techniques for achieving "protocol obfuscation"
involves removing otherwise easily identifiable properties of protocols, such as deterministic byte sequences and
packet sizes, by making the data look as if it were random.[] The ISP's solution to the high bandwidth is P2P caching,
where an ISP stores the part of files most accessed by P2P clients in order to save access to the Internet.
Peer-to-peer
Streaming media
• Streaming media. P2PTV and PDTP. Applications include TVUPlayer, Joost, CoolStreaming, Cybersky-TV,
PPLive, LiveStation, Giraffic and Didiom.
• Spotify uses a peer-to-peer network along with streaming servers to stream music to its desktop music player.
• Peercasting for multicasting streams. See PeerCast, IceShare, FreeCast, Rawflow
• Pennsylvania State University, MIT and Simon Fraser University are carrying on a project called LionShare
designed for facilitating file sharing among educational institutions globally.
• Osiris (Serverless Portal System) allows its users to create anonymous and autonomous web portals distributed
via P2P network.
Distributed storage and search
There are both advantages and disadvantages in P2P networks related to the topic of data backup, recovery, and
availability. In a centralized network, the system administrators are the only forces controlling the availability of
files being shared. If the administrators decide to no longer distribute a file, they simply have to remove it from their
servers, and it will no longer be available to users. Along with leaving the users powerless in deciding what is
distributed throughout the community, this makes the entire system vulnerable to threats and requests from the
government and other large forces. For example, YouTube has been pressured by the RIAA, MPAA, and
entertainment industry to filter out copyrighted content. Although server-client networks are able to monitor and
manage content availability, they can have more stability in the availability of the content they choose to host. A
client should not have trouble accessing obscure content that is being shared on a stable centralized network. P2P
networks, however, are more unreliable in sharing unpopular files because sharing files in a P2P network requires
that at least one node in the network has the requested data, and that node must be able to connect to the node
requesting the data. This requirement is occasionally hard to meet because users may delete or stop sharing data at
any point.[citation needed]
In this sense, the community of users in a P2P network is completely responsible for deciding what content is
available. Unpopular files will eventually disappear and become unavailable as more people stop sharing them.
Popular files, however, will be highly and easily distributed. Popular files on a P2P network actually have more
stability and availability than files on central networks. In a centralized network a simple loss of connection between
the server and clients is enough to cause a failure, but in P2P networks the connections between every node must be
lost in order to cause a data sharing failure. In a centralized system, the administrators are responsible for all data
recovery and backups, while in P2P systems, each node requires its own backup system. Because of the lack of
central authority in P2P networks, forces such as the recording industry, RIAA, MPAA, and the government are
unable to delete or stop the sharing of content on P2P systems.[citation needed]
In addition to data storage, P2P systems also provide the ability to provide distributed search engines to locate
resources shared on a network. Examples include:
• YaCy, a free distributed search engine, built on principles of peer-to-peer networks.
• FAROO, another distributed search engine.
• The sciencenet P2P search engine.
Creating more resilient and scalable computer networks
The decentralized nature of P2P networks increases robustness because it removes the single point of failure that can
be inherent in a client-server based system.[] As nodes arrive and demand on the system increases, the total capacity
of the system also increases, and the likelihood of failure decreases. If one peer on the network fails to function
properly, the whole network is not compromised or damaged. In contrast, in a typical client–server architecture,
clients share only their demands with the system, but not their resources. In this case, as more clients join the system,
fewer resources are available to serve each client, and if the central server fails, the entire network is taken down.
63
Peer-to-peer
Other P2P applications
• Bitcoin is a peer-to-peer-based digital currency.
• The U.S. Department of Defense is conducting research on P2P networks as part of its modern network warfare
strategy.[31] In May, 2003, Anthony Tether, then director of DARPA, testified that the U.S. military uses P2P
networks.
• In bioinformatics, drug candidate identification. The first such program was begun in 2001 the Centre for
Computational Drug Discovery at the University of Oxford in cooperation with the National Foundation for
Cancer Research. There are now several similar programs running under the United Devices Cancer Research
Project.
• Wireless community network, Netsukuku
• Dalesa a peer-to-peer web cache for LANs (based on IP multicasting).
• Open Garden, connection sharing application that shares Internet access with other devices using Wi-Fi or
Bluetooth.
• Research like the Chord project, the PAST storage utility, the P-Grid, and the CoopNet content distribution
system.
• JXTA, for Peer applications. See Collanos Workplace (Teamwork software), Sixearch
• Kato et al.'s studies indicate over 200 companies have invested approximately $400 million USD in P2P
networking. Besides file sharing, companies are also interested in distributing computing and content distribution
applications.
• An earlier generation of peer-to-peer systems were called "metacomputing" or "middleware". These include:
Legion, Globus
Historical development
While P2P systems had previously been used in many application domains,[32] the concept was popularized by file
sharing systems such as Napster (originally released in 1999).[citation needed] The basic concept of peer-to-peer
computing was envisioned in earlier software systems and networking discussions, reaching back to principles stated
in the first Request for Comments, RFC 1.[33]
Tim Berners-Lee's vision for the World Wide Web was close to a P2P network in that it assumed each user of the
web would be an active editor and contributor, creating and linking content to form an interlinked "web" of links.
This contrasts to the broadcasting-like structure of the web as it has developed over the years.[34]
A distributed messaging system that is often likened as an early peer-to-peer architecture is the USENET network
news system that is in principle a client–server model from the user or client perspective, when they read or post
news articles. However, news servers communicate with one another as peers to propagate Usenet news articles over
the entire group of network servers. The same consideration applies to SMTP email in the sense that the core email
relaying network of Mail transfer agents has a peer-to-peer character, while the periphery of e-mail clients and their
direct connections is strictly a client–server relationship.[citation needed]
64
Peer-to-peer
References
[1] Rüdiger Schollmeier, A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications,
Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE (2002).
[9] Typically approximating O(log N), where N is the number of nodes in the P2P system
[10] Other design choices include overlay rings and d-Torus. See for example
[11] R. Ranjan, A. Harwood, and R. Buyya, "Peer-to-peer based resource discovery in global grids: a tutorial," IEEE Commun. Surv., vol. 10, no.
2. and P. Trunfio, "Peer-to-Peer resource discovery in Grids: Models and systems," Future Generation Computer Systems archive, vol. 23, no.
7, Aug. 2007.
[13] Moni Naor and Udi Wieder. Novel Architectures for P2P Applications: the Continuous-Discrete Approach (http:/ / www. wisdom.
weizmann. ac. il/ ~naor/ PAPERS/ dh. pdf). Proc. SPAA, 2003.
[14] Gurmeet Singh Manku. Dipsea: A Modular Distributed Hash Table (http:/ / www-db. stanford. edu/ ~manku/ phd/ index. html). Ph. D.
Thesis (Stanford University), August 2004.
[24] P. Antoniadis and B. Le Grand, "Incentives for resource sharing in self-organized communities: From economics to social psychology,"
Digital Information Management (ICDIM '07), 2007
[27] Gareth Tyson, Andreas Mauthe, Sebastian Kaune, Mu Mu and Thomas Plagemann. Corelli: A Dynamic Replication Service for Supporting
Latency-Dependent Content in Community Networks. In Proc. 16th ACM/SPIE Multimedia Computing and Networking Conference
(MMCN), San Jose, CA (2009). (http:/ / www. dcs. kcl. ac. uk/ staff/ tysong/ files/ MMCN09. pdf)
[29] John Borland, Judge: File-Swapping Tools are Legal , http:/ / news. cnet. com/ Judge-File-swapping-tools-are-legal/ 2100-1027_3-998363.
html/
[30] Janko Roettgers, 5 Ways to Test Whether your ISP throttles P2P, http:/ / newteevee. com/ 2008/ 04/ 02/
5-ways-to-test-if-your-isp-throttles-p2p/
[32] D. Barkai, Peer-to-Peer Computing, Intel Press, 2002.
[33] RFC 1, Host Software, S. Crocker, IETF Working Group (April 7, 1969)
External links
• Glossary (http://www.p2pna.com/glossary.html) of P2P terminology
• Foundation of Peer-to-Peer Computing (http://www.sciencedirect.com/science/issue/
5624-2008-999689997-678759), Special Issue, Elsevier Journal of Computer Communication, (Ed) Javed I. Khan
and Adam Wierzbicki, Volume 31, Issue 2, February 2008
• Ross J. Anderson. The eternity service (http://www.cl.cam.ac.uk/users/rja14/eternity/eternity.html). In
Pragocrypt 1996, 1996.
• Marling Engle & J. I. Khan. Vulnerabilities of P2P systems and a critical look at their solutions (http://www.
medianet.kent.edu/techreports/TR2006-11-01-p2pvuln-EK.pdf), May 2006
• Stephanos Androutsellis-Theotokis and Diomidis Spinellis. A survey of peer-to-peer content distribution
technologies (http://www.spinellis.gr/pubs/jrnl/2004-ACMCS-p2p/html/AS04.html). ACM Computing
Surveys, 36(4):335–371, December 2004.
• Biddle, Peter, Paul England, Marcus Peinado, and Bryan Willman, The Darknet and the Future of Content
Distribution (http://crypto.stanford.edu/DRM2002/darknet5.doc). In 2002 ACM Workshop on Digital Rights
Management, November 2002.
• John F. Buford, Heather Yu, Eng Keong Lua P2P Networking and Applications (http://www.p2pna.com).
ISBN 0123742145, Morgan Kaufmann, December 2008
• Djamal-Eddine Meddour, Mubashar Mushtaq, and Toufik Ahmed, " Open Issues in P2P Multimedia Streaming
(http://multicomm.polito.it/proc_multicomm06_8.pdf)", in the proceedings of the 1st Multimedia
Communications Workshop MULTICOMM 2006 held in conjunction with IEEE ICC 2006 pp 43–48, June 2006,
Istanbul, Turkey.
• Detlef Schoder and Kai Fischbach, " Core Concepts in Peer-to-Peer (P2P) Networking (http://www.econbiz.de/
archiv1/2008/42151_concepts_peer-to-peer_networking.pdf)". In: Subramanian, R.; Goodman, B. (eds.): P2P
Computing: The Evolution of a Disruptive Technology, Idea Group Inc, Hershey. 2005
• Ralf Steinmetz, Klaus Wehrle (Eds). " Peer-to-Peer Systems and Applications (http://www.peer-to-peer.info/
)". ISBN 3-540-29192-X, Lecture Notes in Computer Science, Volume 3485, September 2005.
65
Peer-to-peer
• Ramesh Subramanian and Brian Goodman (eds), Peer-to-Peer Computing: Evolution of a Disruptive Technology
(http://www.igi-pub.com/books/details.asp?ID=4635), ISBN 1-59140-429-0, Idea Group Inc., Hershey, PA,
USA, 2005.
• Shuman Ghosemajumder. Advanced Peer-Based Technology Business Models (http://shumans.com/
p2p-business-models.pdf). MIT Sloan School of Management, 2002.
• Silverthorne, Sean. Music Downloads: Pirates- or Customers? (http://hbswk.hbs.edu/item.jhtml?id=4206&
t=innovation). Harvard Business School Working Knowledge, 2004.
CAN bus
CAN bus (for controller area network) is a vehicle bus standard designed to allow microcontrollers and devices to
communicate with each other within a vehicle without a host computer.
CAN bus is a message-based protocol, designed specifically for automotive applications but now also used in other
areas such as aerospace, industrial automation and medical equipment.
Development of Controller Area Network bus started originally in 1983 at Robert Bosch GmbH.[] The protocol was
officially released in 1986 at the Society of Automotive Engineers (SAE) congress in Detroit, Michigan. The first
CAN controller chips, produced by Intel and Philips, came on the market in 1987. Bosch published the CAN 2.0
specification in 1991. In 2012 Bosch has specified the improved CAN data link layer protocol, called CAN FD,
which will extend the ISO 11898-1.
CAN bus is one of five protocols used in the OBD-II vehicle diagnostics standard. The OBD-II standard has been
mandatory for all cars and light trucks sold in the United States since 1996, and the EOBD standard has been
mandatory for all petrol vehicles sold in the European Union since 2001 and all diesel vehicles since 2004.[1]
Applications
Automotive
A modern automobile may have as many as 70 electronic control units (ECU) for various subsystems.[2] Typically
the biggest processor is the engine control unit (also engine control module/ECM or Powertrain Control
Module/PCM in automobiles); others are used for transmission, airbags, antilock braking/ABS, cruise control,
electric power steering/EPS, audio systems, windows, doors, mirror adjustment, battery and recharging systems for
hybrid/electric cars, etc. Some of these form independent subsystems, but communications among others are
essential. A subsystem may need to control actuators or receive feedback from sensors. The CAN standard was
devised to fill this need.
The CAN bus may be used in vehicles to connect the engine control unit and transmission, or (on a different bus) to
connect the door locks, climate control, seat control, etc. Today the CAN bus is also used as a fieldbus in general
automation environments, primarily due to the low cost of some CAN controllers and processors.
Bosch holds patents on the technology, and manufacturers of CAN-compatible microprocessors pay license fees to
Bosch, which are normally passed on to the customer in the price of the chip. Manufacturers of products with custom
ASICs or FPGAs containing CAN-compatible modules may need to pay a fee for the CAN Protocol License.[citation
needed]
66
CAN bus
Technology
CAN is a multi-master broadcast serial bus standard for connecting electronic control units (ECUs).
Each node is able to send and receive messages, but not simultaneously. A message consists primarily of an ID
(identifier), which represents the priority of the message, and up to eight data bytes. The improved CAN (CAN FD)
extends the length of the data section to up to 64 bytes per frame. It is transmitted serially onto the bus. This signal
pattern is encoded in non-return-to-zero (NRZ) and is sensed by all nodes.
The devices that are connected by a CAN network are typically sensors, actuators, and other control devices. These
devices are not connected directly to the bus, but through a host processor and a CAN controller.
If the bus is idle which is represented by recessive level (TTL=5V), any node may begin to transmit. If two or more
nodes begin sending messages at the same time, the message with the more dominant ID (which has more dominant
bits, i.e., zeroes) will overwrite other nodes' less dominant IDs, so that eventually (after this arbitration on the ID.)
only the dominant message remains and is received by all nodes. This mechanism is referred to as priority based bus
arbitration. Messages with numerically smaller values of IDs have higher priority and are transmitted first.
Each node requires a
• Host processor
• The host processor decides what received messages mean and which messages it wants to transmit itself.
• Sensors, actuators and control devices can be connected to the host processor.
• CAN controller (hardware with a synchronous clock)..
• Receiving: the CAN controller stores received bits serially from the bus until an entire message is available,
which can then be fetched by the host processor (usually after the CAN controller has triggered an interrupt).
• Sending: the host processor stores its transmit messages to a CAN controller, which transmits the bits serially
onto the bus.
• Transceiver
• Receiving: it adapts signal levels from the bus to levels that the CAN controller expects and has protective
circuitry that protects the CAN controller.
• Transmitting: it converts the transmit-bit signal received from the CAN controller into a signal that is sent onto
the bus.
Bit rates up to 1 Mbit/s are possible at network lengths below 40 m. Decreasing the bit rate allows longer network
distances (e.g., 500 m at 125 kbit/s). The improved CAN (CAN FD) extends the speed of the data section by a factor
of up to 8 of the arbitration bit rate.
The CAN data link layer protocol is standardized in ISO 11898-1 (2003).[3] This standard describes mainly the data
link layer (composed of the logical link control (LLC) sublayer and the media access control (MAC) sublayer) and
some aspects of the physical layer of the OSI reference model. All the other protocol layers are the network
designer's choice.
Data transmission
CAN features an automatic arbitration-free transmission. A CAN message that is transmitted with highest priority
will succeed, and the node transmitting the lower priority message will sense this and back off and wait.
This is achieved by CAN transmitting data through a binary model of "dominant" bits and "recessive" bits where
dominant is a logical 0 and recessive is a logical 1. This means open collector, or wired or physical implementation
of the bus (but since dominant is 0 this is sometimes referred to as wired and). If one node transmits a dominant bit
and another node transmits a recessive bit then the dominant bit "wins" (a logical AND between the two).
67
CAN bus
68
Truth tables for dominant/recessive, logical or, and logical and (for comparison)
Dominant Recessive
0 1
0 1
Dominant Dominant Dominant
0 0 1
0 0 0
Recessive
1 1 1
1 0 1
Dominant Recessive
So, if a recessive bit is being transmitted while a dominant bit is sent, the dominant bit is displayed, evidence of a
collision. (All other collisions are invisible.) A dominant bit is asserted by creating a voltage across the wires while a
recessive bit is simply not asserted on the bus. If any node sets a voltage difference, all nodes will see it. Thus there
is no delay to the higher priority messages, and the node transmitting the lower priority message automatically
attempts to re-transmit six bit clocks after the end of the dominant message.
When used with a differential bus, a carrier sense multiple access/bitwise arbitration (CSMA/BA) scheme is often
implemented: if two or more devices start transmitting at the same time, there is a priority based arbitration scheme
to decide which one will be granted permission to continue transmitting. The CAN solution to this is prioritized
arbitration (and for the dominant message delay free), making CAN very suitable for real time prioritised
communications systems.
During arbitration, each transmitting node monitors the bus state and compares the received bit with the transmitted
bit. If a dominant bit is received when a recessive bit is transmitted then the node stops transmitting (i.e., it lost
arbitration). Arbitration is performed during the transmission of the identifier field. Each node starting to transmit at
the same time sends an ID with dominant as binary 0, starting from the high bit. As soon as their ID is a larger
number (lower priority) they will be sending 1 (recessive) and see 0 (dominant), so they back off. At the end of ID
transmission, all nodes but one have backed off, and the highest priority message gets through unimpeded.
For example, consider an 11-bit ID CAN network, with two nodes with IDs of 15 (binary representation,
00000001111) and 16 (binary representation, 00000010000). If these two nodes transmit at the same time, each will
transmit the first six zeros of their ID with no arbitration decision being made. When the 7th bit is transmitted, the
node with the ID of 16 transmits a 1 (recessive) for its ID, and the node with the ID of 15 transmits a 0 (dominant)
for its ID. When this happens, the node with the ID of 16 will realize that it lost its arbitration, and allow the node
with ID of 15 to continue its transmission. This ensures that the node with the lower bit value will always win the
arbitration. The ID with the smaller number will win the right to use.
ID allocation
Message IDs must be unique on a single CAN bus, otherwise two nodes would continue transmission beyond the end
of the arbitration field (ID) causing an error.
In the early 1990s, the choice of IDs for messages was done simply on the basis of identifying the type of data and
the sending node; however, as the ID is also used as the message priority, this led to poor real-time performance. In
those scenarios, a low CAN bus utilization of circa 30% was commonly required to ensure that all messages would
meet their deadlines. However, if IDs are instead determined based on the deadline of the message, the lower the
numerical ID and hence the higher the message priority, then bus utilizations of 70 to 80% can typically be achieved
before any message deadlines are missed. It will use the CSMA/CD method in an efficient way.
CAN bus
69
Bit timing
Each node in a CAN network has its own clock, and no clock is sent during data transmission. Synchronization is
done by dividing each bit of the frame into a number of segments: synchronization, propagation, phase 1 and phase
2. The length of each phase segment can be adjusted based on network and node conditions. The sample point falls
between phase buffer segment 1 and phase buffer segment 2, which helps facilitate continuous synchronization.
Continuous synchronization in turn enables the receiver to be able to properly read the messages.
An example CAN bit timing with 10 time quanta
per bit.
Layers
The CAN protocol, like many networking protocols, can be decomposed into the following abstraction layers:
Application layer
Object layer
• Message filtering
• Message and status handling
Transfer layer
Most of the CAN standard applies to the transfer layer. The transfer layer receives messages from the physical layer
and transmits those messages to the object layer. The transfer layer is responsible for bit timing and synchronization,
message framing, arbitration, acknowledgement, error detection and signalling, and fault confinement. It performs:
•
•
•
•
•
•
•
•
Fault Confinement
Error Detection
Message Validation
Acknowledgement
Arbitration
Message Framing
Transfer Rate and Timing
Information Routing
Physical layer
CAN bus (ISO 11898-1:2003) originally specified the link layer
protocol with only abstract requirements for the physical layer, e.g.,
asserting the use of a medium with multiple-access at the bit level
through the use of dominant and recessive states. The electrical aspects
of the physical layer (voltage, current, number of conductors) were
specified in ISO 11898-2:2003, which is now widely accepted.
CAN bus electrical sample topology with
However, the mechanical aspects of the physical layer (connector type
terminator resistors
and number, colors, labels, pin-outs) have yet to be formally specified.
As a result, an automotive electronic control unit (ECU) will typically
have a particular—often custom—connector with various sorts of cables, of which two are the CAN bus lines.
Nonetheless, several de facto standards for mechanical implementation have emerged, the most common being the
9-pin D-sub type male connector with the following pin-out:
CAN bus
•
•
•
•
pin 2: CAN-Low (CAN-)
pin 3: GND (Ground)
pin 7: CAN-High (CAN+)
pin 9: CAN V+ (Power)
This de facto mechanical standard for CAN could be implemented with node having both male and female 9-pin
D-sub connectors electrically wired to each other in parallel within the node. Bus power is fed to a node's male
connector and the bus draws power from the node's female connector. This follows the electrical engineering
convention that power sources are terminated at female connectors. Adoption of this standard avoids the need to
fabricate custom splitters to connect two sets of bus wires to a single D connector at each node. Such nonstandard
(custom) wire harnesses (splitters) that join conductors outside the node reduce bus reliability, eliminate cable
interchangeability, reduce compatibility of wiring harnesses, and increase cost.
The absence of a complete physical layer specification (mechanical in addition to electrical) freed the CAN bus
specification from the constraints and complexity of physical implementation. However it left CAN bus
implementations open to inter-interoperability issues due to mechanical incompatibility.
Noise immunity on ISO 11898-2:2003 is achieved by maintaining the differential impedance of the bus at a low
level with low-value resistors (120 ohms) at each end of the bus. However, when dormant, a low-impedance bus
such as CAN draws more current (and power) than other voltage-based signaling busses. On CAN bus systems,
balanced line operation, where current in one signal line is exactly balanced by current in the opposite direction in
the other signal provides an independent, stable 0 V reference for the receivers. Best practice determines that CAN
bus balanced pair signals be carried in twisted pair wires in a shielded cable to minimize RF emission and reduce
interference susceptibility in the already noisy RF environment of an automobile.
ISO 11898-2 provides some immunity to common mode voltage between transmitter and receiver by having a 0 V
rail running along the bus to maintain a high degree of voltage association between the nodes. Also, in the de facto
mechanical configuration mentioned above, a supply rail is included to distribute power to each of the transceiver
nodes. The design provides a common supply for all the transceivers. The actual voltage to be applied by the bus and
which nodes apply to it are application-specific and not formally specified. Common practice node design provides
each node with transceivers which are optically isolated from their node host and derive a 5 V linearly regulated
supply voltage for the transceivers from the universal supply rail provided by the bus. This usually allows operating
margin on the supply rail sufficient to allow interoperability across many node types. Typical values of supply
voltage on such networks are 7 to 30 V. However, the lack of a formal standard means that system designers are
responsible for supply rail compatibility.
ISO 11898-2 describes the electrical implementation formed from a multi-dropped single-ended balanced line
configuration with resistor termination at each end of the bus. In this configuration a dominant state is asserted by
one or more transmitters switching the CAN- to supply 0 V and (simultaneously) switching CAN+ to the +5 V bus
voltage thereby forming a current path through the resistors that terminate the bus. As such the terminating resistors
form an essential component of the signalling system and are included not just to limit wave reflection at high
frequency. During a recessive state the signal lines and resistor(s) remain in a high impedances state with respect to
both rails. Voltages on both CAN+ and CAN- tend (weakly) towards ½ rail voltage. During a dominant state the
signal lines and resistor(s) move to a low impedance state with respect to the rails so that current flows through the
resistor. CAN+ voltage tends to +5 V and CAN- tends to 0 V. A recessive state is only present on the bus when none
of the transmitters on the bus is asserting a dominant state. Irrespective of signal state the signals lines are always in
low impedance state with respect to one another by virtue of the terminating resistors at the end of the bus.
This signalling strategy differs significantly from other balanced line transmission technologies such as RS-422/3,
RS-485, etc. which employ differential line drivers/ receivers and use a signalling system based on the differential
mode voltage of the balanced line crossing a notional 0 V. Multiple access on such systems normally relies on the
media supporting three states (active high, active low and inactive tri-state) and is dealt with in the time domain.
70
CAN bus
71
Multiple access on CAN bus is achieved by the electrical logic of the system supporting just two states that are
conceptually analogous to a ‘wired OR’ network.
Frames
A CAN network can be configured to work with two different message (or "frame") formats: the standard or base
frame format (described in CAN 2.0 A and CAN 2.0 B), and the extended frame format (only described by CAN 2.0
B). The only difference between the two formats is that the "CAN base frame" supports a length of 11 bits for the
identifier, and the "CAN extended frame" supports a length of 29 bits for the identifier, made up of the 11-bit
identifier ("base identifier") and an 18-bit extension ("identifier extension"). The distinction between CAN base
frame format and CAN extended frame format is made by using the IDE bit, which is transmitted as dominant in
case of an 11-bit frame, and transmitted as recessive in case of a 29-bit frame. CAN controllers that support extended
frame format messages are also able to send and receive messages in CAN base frame format. All frames begin with
a start-of-frame (SOF) bit that denotes the start of the frame transmission.
CAN has four frame types:
• Data frame: a frame containing node data for transmission
• Remote frame: a frame requesting the transmission of a specific identifier
• Error frame: a frame transmitted by any node detecting an error
• Overload frame: a frame to inject a delay between data and/or remote frame
Data frame
The data frame is the only frame for actual data transmission. There are two message formats:
• Base frame format: with 11 identifier bits
• Extended frame format: with 29 identifier bits
The CAN standard requires the implementation must accept the base frame format and may accept the extended
frame format, but must tolerate the extended frame format.
Base frame format
CAN-Frame in base format with electrical levels
without stuffbits
The frame format is as follows:
CAN bus
72
Field name
Length
(bits)
Purpose
Start-of-frame
1
Denotes the start of frame transmission
Identifier (green)
11
A (unique) identifier for the data which also represents the message priority
Remote transmission
request (RTR)
1
Dominant (0) (see Remote Frame below)
Identifier extension bit
(IDE)
1
Declaring if 11 bit message ID or 29 bit message ID is used. Dominate (0) indicate 11 bit message ID
while Recessive (1) indicate 29 bit message.
Reserved bit (r0)
1
Reserved bit (it must be set to dominant (0), but accepted as either dominant or recessive)
Data length code (DLC)*
(yellow)
4
Number of bytes of data (0–8 bytes)
Data field (red)
0–64 (0-8
bytes)
Data to be transmitted (length in bytes dictated by DLC field)
CRC
15
Cyclic redundancy check
CRC delimiter
1
Must be recessive (1)
ACK slot
1
Transmitter sends recessive (1) and any receiver can assert a dominant (0)
ACK delimiter
1
Must be recessive (1)
End-of-frame (EOF)
7
Must be recessive (1)
Extended frame format
The frame format is as follows:
Field name
Length (bits)
Purpose
Start-of-frame
1
Denotes the start of frame transmission
Identifier A
11
First part of the (unique) identifier for the data which also represents the message priority
Substitute remote request (SRR)
1
Must be recessive (1). Optional
Identifier extension bit (IDE)
1
Must be recessive (1). Optional
Identifier B
18
Second part of the (unique) identifier for the data which also represents the message priority
Remote transmission request (RTR) 1
Must be dominant (0)
Reserved bits (r0, r1)
2
Reserved bits (it must be set dominant (0), but accepted as either dominant or recessive)
Data length code (DLC)*
4
Number of bytes of data (0–8 bytes)
Data field
0–64 (0-8 bytes) Data to be transmitted (length dictated by DLC field)
CRC
15
Cyclic redundancy check
CRC delimiter
1
Must be recessive (1)
ACK slot
1
Transmitter sends recessive (1) and any receiver can assert a dominant (0)
ACK delimiter
1
Must be recessive (1)
End-of-frame (EOF)
7
Must be recessive (1)
The two identifier fields (A & B) combine to form a 29-bit identifier.
* It is physically possible for a value between 9–15 to be transmitted in the 4-bit DLC, although the data is still
limited to eight bytes. Certain controllers allow the transmission and/or reception of a DLC greater than eight, but
the actual data length is always limited to eight bytes.
CAN bus
73
Remote frame
• Generally data transmission is performed on an autonomous basis with the data source node (e.g., a sensor)
sending out a Data Frame. It is also possible, however, for a destination node to request the data from the source
by sending a Remote Frame.
• There are two differences between a Data Frame and a Remote Frame. Firstly the RTR-bit is transmitted as a
dominant bit in the Data Frame and secondly in the Remote Frame there is no Data Field.
i.e.,
RTR = 0 ; DOMINANT in data frame
RTR = 1 ; RECESSIVE in remote frame
In the very unlikely event of a Data Frame and a Remote Frame with the same identifier being transmitted at the
same time, the Data Frame wins arbitration due to the dominant RTR bit following the identifier. In this way, the
node that transmitted the Remote Frame receives the desired data immediately.
Error frame
The error frame consists of two different fields:
• The first field is given by the superposition of ERROR FLAGS (6–12 dominant/recessive bits)contributed from
different stations.
• The following second field is the ERROR DELIMITER (8 recessive bits).
There are two types of error flags:
Active Error Flag
six dominant bits – Transmitted by a node detecting an error on the network that is in error state "error active".
Passive Error Flag
six recessive bits – Transmitted by a node detecting an active error frame on the network that is in error state
"error passive".
Overload frame
The overload frame contains the two bit fields Overload Flag and Overload Delimiter. There are two kinds of
overload conditions that can lead to the transmission of an overload flag:
1. The internal conditions of a receiver, which requires a delay of the next data frame or remote frame.
2. Detection of a dominant bit during intermission.
The start of an overload frame due to case 1 is only allowed to be started at the first bit time of an expected
intermission, whereas overload frames due to case 2 start one bit after detecting the dominant bit. Overload Flag
consists of six dominant bits. The overall form corresponds to that of the active error flag. The overload flag’s form
destroys the fixed form of the intermission field. As a consequence, all other stations also detect an overload
condition and on their part start transmission of an overload flag. Overload Delimiter consists of eight recessive bits.
The overload delimiter is of the same form as the error delimiter.
Interframe spacing
Data frames and remote frames are separated from preceding frames by a bit field called interframe space. Overload
frames and error frames are not preceded by an interframe space and multiple overload frames are not separated by
an interframe space. Interframe space contains the bit fields intermission and bus idle and, for error passive stations,
which have been transmitter of the previous message, suspend transmission. Interframe space consists of at least
three consecutive recessive (1) bits.[]
CAN bus
74
Bit stuffing
In CAN frames, a bit of opposite polarity is inserted after five consecutive bits of the same polarity. This practice is
called bit stuffing, and is due to the non-return to zero (NRZ) coding adopted. The stuffed data frames are destuffed
by the receiver. Since bit stuffing is used, six consecutive bits of the same type (111111 or 000000) are considered
an error.
Bit stuffing implies that sent data frames could be larger than one would expect by simply enumerating the bits
shown in the tables above.
Standards
There are several CAN physical layer and other standards:
• ISO 11898-1: CAN Data Link Layer and Physical Signalling
• ISO 11898-2: CAN High-Speed Medium Access Unit
ISO 11898-2 uses a two-wire balanced signalling scheme. It is the most used physical layer in car
powertrain applications and industrial control networks.
• ISO 11898-3: CAN Low-Speed, Fault-Tolerant, Medium-Dependent Interface
• ISO 11898-4: CAN Time-Triggered Communication
ISO 11898-4 standard defines the time-triggered communication on CAN (TTCAN). It is based on the
CAN data link layer protocol providing a system clock for the scheduling of messages.
•
•
•
•
ISO 11898-5: CAN High-Speed Medium Access Unit with Low-Power Mode
ISO 11898-6: CAN High-speed medium access unit with selective wake-up functionality
ISO 11992-1: CAN fault-tolerant for truck/trailer communication
ISO 11783-2: 250 kbit/s, Agricultural Standard
ISO 11783-2 uses four unshielded twisted wires; two for CAN and two for terminating bias circuit
(TBC) power and ground. This bus is used on agricultural tractors. This bus is intended to provide
interconnectivity with any implementation adhering to the standard.
• ISO 15765-2 also called ISO-TP, is a standard for flow control and handling of messages larger than eight bytes.
• SAE J1939-11: 250 kbit/s, Shielded Twisted Pair (STP)
• SAE J1939-15: 250 kbit/s, Unshielded Twisted Pair (UTP) (reduced layer)
TheSAE J1939 standard uses a two-wire twisted pair, −11 has a shield around the pair while −15 does
not. SAE 1939 defines also application data and is widely used in heavy-duty (truck) and autobus
industry as well as in agricultural & construction equipment.
• SAE J2411: Single-wire CAN (SWC)
Higher layer implementations
As the CAN standard does not include tasks of application layer protocols, such as flow control, device addressing,
and transportation of data blocks larger than one message, and above all, application data, many implementations of
higher layer protocols were created. Several are standardised for a business area, although all can be extended by
each manufacturer. For passenger cars, each manufacturer has its own standard. Among these implementations are:
• ARINC 825 (for the aviation industry)
• CANaerospace (for the aviation industry)
• CAN Kingdom
• CANopen (used for industrial automation)
• CCP / XCP
• DeviceNet (used for industrial automation)
CAN bus
•
•
•
•
•
•
•
•
•
•
•
•
•
EnergyBus (used for electrical vehicles)
GMLAN (for General Motors)
ISO 15765-4
ISO 11783 or ISOBUS (agriculture)
ISO 14229
SAE J1939 (heavy road vehicles)
MilCAN
NMEA 2000 (marine industry)
RV-C (used for recreational vehicles)
SafetyBUS p (used for industrial automation)
SmartCraft
Smart Distributed System (SDS)
VSCP (used for building automation)
Security
CAN is a low-level protocol, and does not support any security features intrinsically. Applications are expected to
deploy their own security mechanisms; e.g., to authenticate each other. Failure to do so may result in various sorts of
attacks, if the opponent manages to insert messages on the bus. Password mechanisms exist for data transfer that can
modify the control unit software, like software download or ignition key codes, but usually not for standard
communication.
Development tools
When developing and/or troubleshooting the CAN bus, examination of hardware signals can be very important.
Logic analysers and bus analysers are tools which collect, analyse, decode and store signals so people can view the
high-speed waveforms at their leisure. There are also specialist tools as well as CAN bus monitors.
References
[1] Building Adapter for Vehicle On-board Diagnostic (http:/ / www. obddiag. net/ adapter. html), obddiag.net, accessed 2009-09-09
[2] Comparison of Event-Triggered and Time-Triggered Concepts with Regard to Distributed Control Systems A. Albert, Robert Bosch GmbH
Embedded World, 2004, Nürnberg
[3] ISO 11898-1:2003 abtract (http:/ / www. iso. org/ iso/ iso_catalogue/ catalogue_tc/ catalogue_detail. htm?csnumber=33422)
External links
• Bosch specification (http://www.bosch-semiconductors.de/media/pdf_1/canliteratur/can2spec.pdf) (old
document — slightly ambiguous/unclear in some points, superseded by the standard
• ISO 11898 (http://www.iso.org/iso/search.htm?qt=Controller+Area+Network&searchSubmit=Search&
sort=rel&type=simple&published=true))
• Bosch CAN FD Specification Version 1.0 (http://www.bosch-semiconductors.de/media/pdf_1/canliteratur/
can_fd_spec.pdf)
• Controller Area Network (CAN) Schedulability Analysis: Refuted, Revisited and Revised (http://www.
springerlink.com/content/8n32720737877071/)
• Pinouts for common CAN bus connectors (http://www.interfacebus.com/Can_Bus_Connector_Pinout.html)
• Independent discussion platform CANLIST (http://www.canlist.org/)
• Free Tutorials and Low cost development tools (http://www.dominantbit.com/)
• A webpage about CAN in automotive (http://marco.guardigli.it/2010/10/hacking-your-car.html)
75
CAN bus
• Controller Area Network (CAN) Schedulability Analysis with FIFO Queues (http://www.cs.york.ac.uk/ftpdir/
reports/2011/YCS/462/YCS-2011-462.pdf)
• Controller Area Network (CAN) Implementation Guide (http://www.analog.com/static/imported-files/
application_notes/AN-1123.pdf)
• Free Tutorial: Controller Area Network (CAN) Introduction and Fundamentals (http://microcontroller.com/
CAN_(Controller_Area_Network):_Introduction_and_Fundamentals.htm)
Frame (networking)
In computer networking and telecommunication, a frame is a digital data transmission unit that includes frame
synchronization, i.e. a sequence of bits or symbols making it possible for the receiver to detect the beginning and end
of the packet in the stream of symbols or bits. If a receiver is connected to the system in the middle of a frame
transmission, it ignores the data until it detects a new frame synchronization sequence.
In computer networking, a frame is a data packet on the Layer 2 of the OSI model.[1] A frame is "the unit of
transmission in a link layer protocol, and consists of a link-layer header followed by a packet."[2] Examples are
Ethernet frames (maximum 1500 byte plus overhead), PPP frames and V.42 modem frames.
In telecommunications, specifically time-division multiplex (TDM) and time-division multiple access (TDMA), a
frame is a cyclically repeated data block that consists of a fixed number of time slots, one for each logical TDM
channel or TDMA transmitter. In this context, a frame is typically an entity at the physical layer. TDM application
examples are SONET/SDH and the ISDN circuit switched B-channel. TDMA examples are the 2G and 3G circuit
switched cellular voice services. The frame is also an entity for time-division duplex, where the mobile terminal may
transmit during some timeslots and receive during others.
References
76
Article Sources and Contributors
Article Sources and Contributors
Local area network Source: http://en.wikipedia.org/w/index.php?oldid=564209615 Contributors: 13magilj, [email protected], 1johnny 1269, 2mcm, A beast with claws, Aapo Laitinen, Abarry, Abresas,
Academic Challenger, Active Banana, Affiray, Ahoerstemeier, Aka, Akhilsharma86, Alansohn, Aldie, Aleksandar Bulovic', Alexandria, Alfio, AlisonW, AlistairMcMillan, Amaraiel,
Ameliorate!, Aneah, Angela, Anguskywong, Animum, Anrie Nord, Antandrus, Arjun01, ArmondoSC, Arthena, Astral9, Athaenara, Atlant, AxelBoldt, Bagatelle, Barry26, Beland, Ben-Zin,
Bingo-101a, Biot, Bobblewik, Bongwarrior, Born2cycle, Bovineone, Brianga, BrokenSegue, Brovnik, Brt100, Bryan Derksen, Bthebest, C0N6R355, CONFIQ, Camw, Can't sleep, clown will eat
me, Canderson7, CapitalR, Catmoongirl, Ceros, CharlieGalik, Chico75, Chris jones the man, Chris the speller, Chriswiki, Chuq, Cipher text, Citicat, Ckatz, Closeapple, Closedmouth, Cmichael,
Colorprobe, Commander, Commander Keane, CommonsDelinker, Comrade009, Conversion script, Coolmaxi898, Cpl Syx, Cst17, Cy0x, Cybercobra, DARTH SIDIOUS 2, DStoykov, Danelo,
Darkeffekt, Darkmaster2004, Darth Panda, Dave Farquhar, Daverocks, DavidCary, Davismargaret, Dawd, Dawnseeker2000, Daz 90, Dead3y3, DeadEyeArrow, Delirium, Delldot, Demize,
DerHexer, Dgtsyb, Discospinster, DonConquistador, Dotancohen, Dougher, Driftkid92, Eeekster, Emijrp, Enviroboy, Epbr123, Escape Orbit, Evice, Excirial, Exer 505, Exir Kamalabadi, Exposit,
Fagiolonero, Falcon8765, Farchand, Feydey, FiP, Fox2k11, Frankenpuppy, Frap, Frecklefoot, Fullerene, Fæ, Gail, Gaius Cornelius, Gareth Griffith-Jones, Gcorbaz, Gertjanmeteenboomstam,
Giftlite, Gilliam, Glenn, GoShow, Grafen, Grey Shadow, Gsmgm, HMSSolent, Hadal, Haffner, Hall Monitor, Hannes Hirzel, Haon, HarisM, Harryzilber, Hbk cmd, Headbomb, Hennessey,
Patrick, Herr Beethoven, HiDrNick, Hmains, Hope(N Forever), Hovea, Husond, I Feel Tired, I dream of horses, Ialdreadyknow, Ianmillner, Ibc111, Ice Cold Beer, Ignatzmice, Ilario, Immunize,
InvertRect, Iricigor, IrisKawling, Irishguy, IronGargoyle, Itusg15q4user, J wood hail, J. M., J.delanoy, JLaTondre, JRamlow, Jackfork, Jakolu, JamesBWatson, Jason Patton, Jcw69, JediLofty,
Jim1138, Jjensen347, JoeDaStudd, Joebediah, Johnuniq, JonHarder, Jondel, Joowwww, Jorunn, Juliancolton, Jvano, Jóna Þórunn, KALPESH2607, KGasso, KTC, Karanne, Katieh5584, Kbrose,
Kcufuoyokifyounowwhtim, KelleyCook, KennethJ, KennyRogerz, Khazar2, Kingpin13, KnowledgeOfSelf, Koki.s, Kondody, Kushalbiswas777, Kvng, L Kensington, LarryQ, Lcsrns,
Lemcmaster, Libcub, Liftarn, London2012, Lonewolf BC, Lorany21k, Lradrama, Lugia2453, Luke111000, Luna Santin, Lupin, MIT Trekkie, MTurpin, MaestroX, Magioladitis, Mahjongg,
Mandarax, Manop, Marshall Williams2, Mashby, Materialscientist, Mathonius, Matthäus Wander, Maura Driscoll, Mayur, Mbbs, Mdanh2002, MelbourneStar, MerlinYoda, MessiFCB,
Metricopolus, Micky140391, Mild Bill Hiccup, Mindmatrix, Mjpieters, Mogulu, Monkeyfox, Monkeyman, Monopolyisgreat, Mortein, Mozillar, Mr Bound, Mtking, Myri fan, Mzub,
NNU-1-05100211, Naniwako, Nanshu, Neon white, Networkingguy, Nmacu, Norm, Northamerica1000, Nubiatech, Obtund, Ocee, Ohnoitsjamie, Ohyassie, Omnipaedista, Onorem, Ossworks,
Owchowch, Oxymoron83, PL290, Pajz, Panoramix, Patrick, Patstuart, Pcb21, Pdicanio1986, Perfecto, Peter McGinley, PeterSymonds, Peyre, Phantomsteve, Phatom87, PhilipMW,
Philomathoholic, Pierre-Yves Schütz, Pigsonthewing, Pjoef, Plugwash, Pmj, Polly, Povtula, Poweroid, Prashanthns, PrestonH, PseudoSudo, Psychonaut, Quaque, Quester, Quibik, Qxl32,
Qzwxeccexwzq, REP93, Rajubanka, Raven4x4x, Rawrxmimi, Reach Out to the Truth, Reatlas, Reconsider the static, Rees11, Requestion, Rgoodermote, Rick Sidwell, Ricsi, Rjstott,
Robertviews, Rocastelo, Rocketrod1960, Roy Baty, Rsm99833, SD5, Sam Hocevar, SanGatiche, Sannse, Savio mit electronics, ScottSteiner, Sdowg, Seaphoto, Shanes, Sitethief, SixSix, Skapur,
Skittleys, Skor, SkyWalker, Slipmikeknot, Smilesfozwood, Snafflekid, Snori, Snoyes, Solipsist, Soosed, SpiderRider3, Spliffy, SpuriousQ, Stdazi, Stefan h, Stephenb, Stuart Morrow, StubbyT,
SurreyGaming, Sylvanwulf, Syncategoremata, THEN WHO WAS PHONE?, Taelus, Teles, Telfordbuck, The Adventurer, The Anome, The Thing That Should Not Be, TheKMan, Thejerm,
Theslapandwack, Thumperward, Tide rolls, Tiger xox, Tkynerd, Tony6ty4ur, Tregoweth, Tripodics, Trollingftw, Troy 07, Trusilver, Tslocum, Turlo Lomon, Ulric1313, Urgos, Vaidyanathparli,
VampWillow, Villarinho, Violetriga, Vipinhari, Vybr8, Wadamja, Waggers, Wavelength, Wayward, Wernher, Wertuose, Weylinp, WikHead, Wikicrazier2011, Wikieditor06, Wikilibrarian,
Wikipelli, Willy on Wheels over Ethernet, Windowsvistafan, Wipe, Wizardist, Woohookitty, Wtt, Xaldafax, Yair rand, Yamamoto Ichiro, Yudiweb, Zachlipton, ZooFari, Zundark, Zzuuzz,
İnanmu, 964 anonymous edits
OSI model Source: http://en.wikipedia.org/w/index.php?oldid=566256393 Contributors: 0612, 0x6D667061, 1337 JN, 1966batfan, 2001:6F8:900:8F8D:48A6:9FC5:FA70:977, 24.12.199.xxx,
2404:D0:A:5:225:90FF:FE21:736, 2600:1016:B00F:CE6A:E5F8:AAED:8012:1616, 28bytes, 336, 63.227.96.xxx, 7, 75th Trombone, 802geek, 90 Auto, @modi, A.amitkumar, A412, A930913,
ABF, Abarry, Abune, Adamantios, Addshore, Adibob, Adityagaur 7, Adj08, Adoniscik, Adrianwn, Advancedtelcotv, Ageekgal, Ahoerstemeier, Aitias, Ajo Mama, Ajw901, Alansohn, Albanaco,
Aldie, Ale jrb, AlistairMcMillan, Allens, Alphachimp, Alucard 16, Alvestrand, Amillar, Amitbhatia76, Amtanoli, Andjohn2000, Andkore, Andre Engels, Andybryant, Angrysockhop, Animum,
Anjola, AnkhMorpork, Anna Lincoln, Anon lynx, Anonymous anonymous, Another-anomaly, Apocryphite, Apparition11, Apurv.11213, Arroww, Artur Perwenis, Arunachalammanohar,
Ashutosh.mcse, Aslambasha09, Asn1tlv, AtomicDragon, Atreyu42, Audunv, Avitesh, AxelBoldt, Ayengar, B4hand, BACbKA, BDerrly, Bakilas, Balajia82, Bariswheel, Bchiap, Bdamokos,
Beelaj, BenLiyanage, Beno1000, Benzband, Bgwhite, Biblbroks, Bjelleklang, Bletch, Blueskies238, Bmylez, Bobo192, Bogdangiusca, Boikej, Bojer, BommelDing, Bonobosarenicer,
Booyabazooka, Borgx, Brambleclawx, Brandon, Brick Thrower, Brougham96, Bryan Derksen, BuickCenturyDriver, Bzimage.it, Bücherwürmlein, CDima, CIreland, CMBJ, Caerwine, Caesura,
Calmer Waters, Caltas, CambridgeBayWeather, Camw, Can You Prove That You're Human, Can't sleep, clown will eat me, CanadianLinuxUser, Candc4, Caper13, Carre, Casey Abell, Causa sui,
Cburnett, Cbustapeck, Cflm001, Charles Edward, Charm, Che090572, Chester Markel, Chfalcao, Chimpex, Chirag, Chrislk02, Chupon, Cikicdragan, Citicat, Closedmouth, Cokoli, Cometstyles,
Congoblast, Conquest ace, Conversion script, Coriron, Courcelles, Cputrdoc, CraSH, CraigBox, Crasheral, Crimsonmargarine, Cs mat3, Ctbolt, Cxxl, Cybercobra, CyborgTosser, Cyktsui,
CynicalMe, DARTH SIDIOUS 2, DBhavsar709, DJPohly, DSParillo, Damian Yerrick, Daniel, Danlev, Dave2, Davetrainer, David Edgar, David Gerard, David0811, DavidBarak,
DavidLevinson, Davidh63, Davidjk, Dcooper, Dcovell, Deagle AP, Delfeye, Delldot, DeltaQuad, Demitsu, Denisarona, DennyColt, Dgtsyb, Dicklyon, Dili, Dino.korah, Discospinster, Dispenser,
Djib, Djmoa, DmitryKo, Dmohantyatgmail, Doniago, Dpark, DrDOS, DrSpice, Drat, Dreish, Drwarpmind, Duey111, Dumbledad, Dzubint, EJDyksen, EJSawyer, ENeville, EagleOne, Eazy007,
Ed g2s, EdH, Edivorce, Edward, ElKevbo, Eldiablo, Eleassar, Elfosardo, Eliezerb, Elipongo, Emperorbma, EnOreg, Enjoi4586, Enochlau, Epbr123, Eric Soyke, Everyking, Evillawngnome,
Ewlyahoocom, Excirial, FF2010, Falk.H.G., Fang Aili, Feezo, Fiable.biz, Filemon, Finlay McWalter, Fjpanna, Fleg31789, Flewis, Flowanda, Fraggle81, FrankTobia, Fred Bradstadt, Fredrik,
Free Bear, FreshPrinz, Fresheneesz, Friday, Friedo, Friginator, Fullstop, Fumitol, Fuzheado, Fvw, Fæ, GDonato, GGShinobi, Gadfium, Gafex, GarethGilson, Gary King, Gasp01, Gazpacho,
Geek2003, Ghostalker, Giftlite, Gilliam, GlassCobra, Glenn, Goodnightmush, GorillaWarfare, Graeme Bartlett, Grafen, Graham.rellinger, GreYFoXGTi, Grendelkhan, Grubber, Gsl, Gurchzilla,
Guy Harris, Gwernol, Gökhan, H2g2bob, H34d, HMGb, Haakon, Hadal, HamatoKameko, Happysailor, HarisM, Hatch68, Hcberkowitz, Hdante, Helix84, Hellomarius, Henrikholm, Herbee,
Heron, Hes Nikke, Hetar, HexaChord, Hgerstung, Hiddekel, Highpriority, Honeyman, I dream of horses, IMSoP, IReceivedDeathThreats, Iambk, Iambossatghari, Ideoplex, Ifroggie, Ilario,
Immunize, Inkhorn, Inkling, Insineratehymn, Intgr, Inversetime, InvisibleK, Inwind, Iridescent, Irnavash, IronGargoyle, Ishikawa Minoru, Island Monkey, Isofox, Isthisthingworking, Itpastorn,
Itusg15q4user, Iviney, J.delanoy, JMatthews, JV Smithy, Jake Wartenberg, Jakuzem, JamesBWatson, Jannetta, Jatinsinha, Jauerback, Jchristn, Jcw69, Jdrrmk, JeTataMe, Jeanjour, Jeff G., Jeffrey
Mall, Jessemerriman, Jetekus, Jhilving, JidGom, Jim1138, Jimw338, Jjenkins5123, Jmorgan, Jnc, JoanneB, Joaquin008, JodyB, Joebeone, John Hopley, John Vandenberg, John254, Johnblade,
Johnleemk, Johnuniq, JonHarder, Jonathanwagner, Jonwatson, Joodas, Josef Sábl cz, Josh Parris, Jovianeye, Joy, Jpta, Jrodor, Jschnur, Jschoon4, Jsonheld, Jusdafax, Kaaveh Ahangar, Kallaspriit,
Karelklic, Karpouzi, Kaszeta, Katalaveno, Kaz219, Kazrak, Kbrose, Kcordina, KerryVeenstra, Kesla, Kevin Rector, Kgrr, Khat17, Killiondude, Kim Rubin, Kingpin13, Kinu, Kirill Lokshin,
Kkbairi, KnowledgeOfSelf, Kraftlos, Kramerino, Krampo, Krellis, Kronn8, Kuru, Kvng, Kyllys, LOL, LOTRrules, Lachlancooper, Lankiveil, Lawrence Cohen, Lazarus666, Leafyplant, Lear's
Fool, Lectonar, Lee Carre, Lighthead, Lights, LittleOldMe, LittleWink, LizardJr8, Lockcole, Logictheo, Logthis, Lomn, Looxix, Lord Chamberlain, the Renowned, Lordeaswar, Lotje, Luk, Lulu
of the Lotus-Eaters, Luna Santin, Lupin, Lynnallendaly, M, MBisanz, MER-C, MIT Trekkie, Maguscrowley, Mahanga, Mahesh Sarmalkar, Majorly, Mange01, Manishar us, Marek69,
MarkSutton, MarkWahl, Markb, Markhurd, Markolinsky, MartinHarper, Martinkop, Marvin01, Materialscientist, Mathonius, Mattalyst, Matthew Yeager, Mattjgalloway, Mattmill30, Mbc362,
Mboverload, McGinnis, Mcnuttj, Mdd, Meepster, MelbourneStar, Melonkelon, Mendel, Merlion444, Metaclassing, Micahcowan, Michael Hardy, Michael miceli, Mike Rosoft, Mikel Ward,
Mikemoral, Mikeo, Mikeyh56, Milind m2255, Minimac, Mkweise, Mlewis000, Mmeerman, Mmernex, Mmmeg, Mobius R, Moe Epsilon, Mohitjoshi999, Mohitsport, Mojalefa247, Monterey
Bay, Morten, Moxfyre, Mr Elmo, Mr Stephen, Mr.ghlban, MrOllie, Mrankur, MrsValdry, Mtd2006, MuZemike, Mudasir011, Mulad, Mwtoews, Myanw, Myheadspinsincircles, N-Man, N5iln,
Naishadh, Nanshu, Naohiro19, Naresh jangra, Nasa-verve, Natarajuab, Nate Silva, Nathanashleywild, NawlinWiki, Nbarth, Nbhatla, Neevan99, Neil P. Quinn, Nejko, Nemesis of Reason,
Nethgirb, Netsnipe, Niaz, Nick, Nickshanks, Nicolas1981, Nisavid, Nitecruzr, Nivix, Nk, Nkansahrexford, Noahspurrier, Nolyann, Northamerica1000, Nsaa, Nubiatech, NuclearWarfare, Nux,
OSUKid7, Octahedron80, Odie5533, Ogress, Oita2001, OlEnglish, Omicronpersei8, Orange Suede Sofa, Ore4444, Originalharry, Ott, Ottosmo, Ouishoebean, Oxymoron83, PGWG, Palltrast,
Pamri, Panser Born, Paparodo, Parakalo, Pastore Italy, Patch1103, Patrikor, Patstuart, Paul August, PaulWIKIJeffery, Payal1234, Pb30, Peni, Penno, Pethr, Petrb, Phatom87, Phil Boswell, Philip
Trueman, PhilipMW, Pluyo8989, Pmorkert, Pointillist, Postdlf, Postmortemjapan, Praggu, ProPuke, Pseudomonas, Psiphiorg, Public Menace, Puchiko, Puckly, PyreneesJIM, Pytom, Qexter,
Racerx11, RainbowOfLight, Raju5134, RandomAct, Ravikiran r, RazorICE, Rcannon100, Rebroad, Recognizance, RedWolf, Reedy, Rejax, RenamedUser01302013, Rettetast, Rfc1394,
Rgilchrist, Rhobite, Rich Farmbrough, RichardVeryard, Richwales, Rick Sidwell, Rjgodoy, Rjstinyc, Rlaager, Rnbc, RobEby, Robert K S, RobertL30, RockMFR, Rohwigan03, Ronz,
Roo314159, RoscoMck, RossPatterson, Roux, Roux-HG, RoyBoy, Rsiddharth, Runis57, Runtux, Rursus, Rushbugled13, Ryan au, Ryt, Ryulong, S, S3000, SMC, Saad ziyad, Saddy Dumpington,
Safety Cap, Saintfiends, Sakurambo, Satellizer, Savh, SaxicolousOne, Scarian, Schumi555, Scientus, Scohoust, Scolobb, Scottonsocks, Seaphoto, Semsi Paco Virchow, Sesu Prime, Sfeldner,
Shadow1, Shadowjams, SharePointStacy, Shell Kinney, Shirik, Shoeofdeath, ShornAssociates, Shraddha deshmukh, Shrofami, Sietse Snel, Simonfl, Simple Bob, SineChristoNon, Sir Nicholas de
Mimsy-Porpington, Skier Dude, Sliceofmiami, Slrobertson, Smalljim, Smokizzy, Snehasapte, SnowFire, Snowolf, Soosed, Sp33dyphil, SpaceFlight89, Speaker to Lampposts, SpeedyGonsales,
Spitfire8520, SpuriousQ, Sridev, StaticGull, Stemonitis, Stephan Leeds, Stephen Gilbert, StephenFalken, Stevage, Steven Zhang, Stryn, StuartBrady, Subfrowns, Sunilmalik1107, Suruena,
Suyashparth, Swapcouch, Syntaxsystem, TAS, THEN WHO WAS PHONE?, Tagishsimon, Tangotango, Tarekradi, Taruntan, Tbhotch, Tbsdy lives, Tcncv, Techtoucian, Tedickey, Tellyaddict,
Tempodivalse, Thardrain, The Anome, The Athlon Duster, The Haunted Angel, The Thing That Should Not Be, Theopolisme, Therumakna, Thief12, Thingg, Think4amit, ThreeDee912,
ThunderBird, Tide rolls, Tim Q. Wells, TinyTimZamboni, Todd, Tom harrison, TomPhil, Tommy2010, Tompsci, Tony1, Tooki, Tpbradbury, Tprz, Tpvibes, Tranzz, Travelbird, Tree Biting
Conspiracy, Trevor MacInnis, Triona, TripleF, Triwbe, Troy 07, Turb0chrg, Tyler.szabo, UU, Umair ahmed123, Uncle Dick, Unkownkid123, Vanished user fois8fhow3iqf9hsrlgkjw4tus,
Vegaswikian, Venu62, Versus22, VidGa, Vishnava, Visor, Vk anantha, Vmguruprasath, Voidxor, WLU, Waggers, Warrierrakesh, Wayfarer, Webclient101, Weregerbil, Whitejay251, Widr,
WikiDan61, Wikipelli, William Avery, Willking1979, Wilson.canadian, Wily duck, Wingman4l7, Winston Chuen-Shih Yang, Wire323, Wireless friend, Wishingtown, Wizardist, Wknight94,
WoiKiCK, Woohookitty, Wrlee, Wrs1864, Wtmitchell, Wtshymanski, Yamamoto Ichiro, YamiKaitou, Yamike, Yintan, Yms, YolanCh, Yuokool12, ZX81, ZachPruckowski, Zachary, Zoobee79,
සීසර්, ℍuman, 3440 anonymous edits
Collision domain Source: http://en.wikipedia.org/w/index.php?oldid=556278649 Contributors: -Midorihana-, Adamantios, Adamdaley, Anna Lincoln, Anujkant1, Archangelo, Arnos78,
Asterion, Banana04131, Bigmantonyd, Blueman378, Booyabazooka, Bostonvaulter, Citral, Drilnoth, Elkman, Endlessmoon, Ewlyahoocom, F4cl3y, Fairway, Frap, Giftlite, Haakon, IMSoP, JTN,
JohnOwens, Johnblade, Johnuniq, JonHarder, Jyoti.mickey, Kelly Martin, Kranthiswaroop, Kvng, Kwiki, MaxEnt, Nkansahrexford, Nuno Tavares, Petiatil, Plugwash, Pratyya Ghosh, Pyerre,
77
Article Sources and Contributors
Quintote, Raanoo, Rick Sidwell, Rijesh, Robofish, Robohoe, Rocketrod1960, Rus boi, Silverglade00, Skor, Stephenb, Strike Eagle, T3hrealadamd, The Thing That Should Not Be, Txomin,
Utcursch, W Nowicki, Yintan, 115 anonymous edits
Channel access method Source: http://en.wikipedia.org/w/index.php?oldid=565747066 Contributors: AxelBoldt, Biezl, Brandon, Casey Abell, Danhannan, Dawnseeker2000, Deville,
Everyking, Ewlyahoocom, Extraordinary, Flat Out, Harryzilber, InternetMeme, Intgr, Itusg15q4user, Jhbdel, Jim.henderson, Kbrose, Kvng, Lihui912, LilHelpa, Malcolmxl5, Mange01,
Mblumber, MementoVivere, Mojodaddy, Morten, Muhandes, Net, Palfrey, Piano non troppo, Qwyrxian, R'n'B, Radiojon, Robofish, Slakr, Snori, Splash, Sun Creator, Tagishsimon, Tobias
Bergemann, Tprentice, Travelbird, Vitz-RS, Welsh, Wireless friend, ‫ﺧﺎﻟﻘﯿﺎﻥ‬, 72 anonymous edits
Carrier sense multiple access Source: http://en.wikipedia.org/w/index.php?oldid=564673836 Contributors: Anna Lincoln, Arastcp, Arteum, Astronaut, Atropos235, Bigmantonyd, Butko,
Costello, DARTH SIDIOUS 2, Darklich14, DavidGrayson, DerHexer, Dicklyon, Dileepgg, Garybaus, Hans Frandsen, Harsh killa, Ilario, Itpastorn, Jcarroll, Jnraj, Johnblade, Johnnyw, Johnuniq,
Jpkotta, Kbrose, Ketiltrout, Kvng, LBJtheking, Mange01, Maury Markowitz, MikeMass, Mintu Movi, Mojodaddy, Mortense, Mtzweil, Paul Koning, Praveentech, Rick Sidwell, Robofish,
Siddhant, Simon South, Srleffler, Stdazi, Strbargav, Suruena, Sylvestersteele, The Anome, Tim1357, Topbanana, 95 anonymous edits
Carrier sense multiple access with collision avoidance Source: http://en.wikipedia.org/w/index.php?oldid=557366583 Contributors: ALiSA 88, Aldie, Alistair1978, Antonio92, Chbarts, Corti,
DevastatorIIC, Etu, Feezo, Flewis, Garybaus, Glenn, Graeme.summers, Guolas, IT Sleuth, Ilario, Itai, Itusg15q4user, JohannGerell, Kbrose, KelleyCook, Kingkhan521, Kvng, Lee Carre, Lindum,
MARQUIS111, Magnus.de, Martarius, Melamed katz, Mhuxtable, Mlaffs, Mojodaddy, MonteChristof, MrInfo2012, Nakon, Nancy, NotInventedHere, OS2Warp, P199, Paragdighe, Praveentech,
QuentinTravers, Sanmele, Seronline, Severin.marcombes, Simon South, Snori, Splash, Sproutingeek, Tkz4, Unyoyega, Vectro, Vitz-RS, Wormeyman, Wrs1864, Zack, 74 anonymous edits
Carrier sense multiple access with collision detection Source: http://en.wikipedia.org/w/index.php?oldid=565360069 Contributors: ABF, Abdull, AbsenceWiki, Aldie, Alexius08, Althena,
Autumnking, Basawala, Bernhard Bauer, Bgwhite, Bibop528, Borgx, Boscobiscotti, Carbuncle, CatLikeThief, Costello, Datashark, Denisarona, Ducknish, Eastlaw, Eeekster, EmreDuran, Etu,
Garybaus, Getonyourfeet, Glenn, Golgofrinchian, Grubber, I.aditya, Ibc111, Ilario, Indon, IsUsername, Jesse Viviano, Joel.leonhardt, Johnuniq, Kbrose, Kdau, KelleyCook, Kevinpaje, Kvng,
Largoplazo, Lee Carre, LiDaobing, Lugia2453, MER-C, Mange01, Markyleong, Martintoft, McGeddon, MessiFCB, Mhuxtable, Michaelas10, Mojodaddy, Nakon, Neutra, NickW557, Nimiew,
Nkansahrexford, Nuno Tavares, Od Mishehu, Paul August, Paul Koning, Pbrandao, Piano non troppo, Plugwash, Praveentech, Prunesqualer, Quibik, R54186, Rgoodermote, Rich257, Rick
Sidwell, Runtux, Rursus, Scootey, Shadowjams, Silverwindx, Simon South, Squadri, Stdazi, SwisterTwister, The Thing That Should Not Be, Theneoindian, Tide rolls, ToastieIL, VasilievVV,
Vdsabev, Velella, Vitz-RS, Vks.vivek, Waffleatron9, Whiskars1, Zac439, Zack, Тиверополник, 관인생략, 155 anonymous edits
Token passing Source: http://en.wikipedia.org/w/index.php?oldid=554598013 Contributors: Alphachimp, Amikake3, Casey Abell, CosineKitty, Dawnseeker2000, Guy Harris, Intgr,
Itusg15q4user, Mange01, Pearle, Rdj999, Snori, Trevor MacInnis, Wikipelli, 11 anonymous edits
Ethernet Source: http://en.wikipedia.org/w/index.php?oldid=565716446 Contributors: 0612, 121a0012, 1lovegal, 1stJahman, 4a6f656c, 7, ARC Gritt, Aapo Laitinen, Abdull, Adashiel,
AdjustShift, Adrian.benko, Aeluwas, Ahoerstemeier, Ajraddatz, Akriasas, Alan Liefting, Alansohn, Aldie, Ale jrb, Alecv, Algocu, AlistairMcMillan, Altermike, Alvestrand, Alyssapvr, Amatulic,
Ameliorate!, Amillar, Amore proprio, Anaraug, Andareed, Andreas Toth, Andy Dingley, Andybryant, Andyhodapp, Aneah, Angela, Angusmca, Anss123, Applemacintosh10, Arch dude, Arctic
Kangaroo, Arkrishna, Armando, ArnoldReinhold, Artaxiad, AtomEdge, Avono, Azaghal of Belegost, B4hand, BD2412, Back ache, Bbachrac, Bctwriter, Bdmcmahon, Becritical, Betacommand,
Betbest1, BiT, Bidabadi, Bigboymcgee, Bigjimr, Biker Biker, Bilbo1507, Biot, BlueAg09, Blutrot, Bobblewik, Boffy b, Bomac, Bookbrad, Bookofjude, Bootleggingly mcbootleg, Boscobiscotti,
Bovineone, Branclem, Branko, Brian Patrie, Bruce1ee, Btilm, Bumm13, Buy P%E%P%S%I, C0nanPayne, CRGreathouse, CS46, Calltech, Caltas, CamTarn, Can't sleep, clown will eat me,
Capricorn42, Carlo.Ierna, Casey Abell, Catgut, Causantin, Cburnett, CesarB, Chaosgate, Charles Gaudette, Chasingsol, Chealer, Chmod007, Chowbok, Cjdaniel, ClementSeveillac, Closedmouth,
CloudNine, Cluth, Cmdrjameson, Colin Marquardt, Conversion script, Corpx, Corti, Corwin8, Cpl Syx, Creidieki, Crispmuncher, Crissov, CryptoDerk, Cst17, Cstanners, Cybercobra,
DBhavsar709, DVdm, Daa89563, Dachshund, Damian Yerrick, Danrok, DarkSlayer516, Davehard, David Biddulph, DavidBailey, DavidH, Davidch12, Dcorzine, Deflective, Dennis Brown,
Dharmadhyaksha, Dicklyon, Digitalsushi, Discospinster, Diskdoc, DocWatson42, Dogcow, Donnieleefarrow, Download, Drak2, Drphilharmonic, Dtcdthingy, EEgirl18, EagleOne, Ebear422,
Econrad, Eeekster, Efa, Egil, Ehn, Eivind F Øyangen, El Cubano, ElBenevolente, Electron9, Elektrik Shoos, Eleuther, Elinruby, Eloil, Engineerism, Enjoi4586, EoGuy, Epbr123, Evil genius,
Ewlyahoocom, Excirial, Facts707, Faizan, Femto, Fenrisulfr, Fetofs, Fieldday-sunday, Finest1, Firsfron, Flewis, Flyer22, FocalPoint, Frankchn, Frap, Fratrep, Fred Bradstadt, Fredrik,
Fresheneesz, Fudoreaper, Fulldecent, Furrykef, G4wsz, GTAKIllerEric, Gah4, Gascreed, Geek2003, Gekkoblaster, Generica, Ghaly, Giftlite, Gilliam, Glacialfox, Glenn, Gnalk, Gnuish, Gogo
Dodo, Golgofrinchian, Gopher23, Goplat, Gosub, Graham87, Grandsonofmaaden, Greylion, Grgan, Guanxi, Guy Harris, Gyanlakhwani, H0serdude, HCelik, HMSSolent, Haakon, Hadal,
HappyCamper, Harryzilber, Harvester, Helix84, Herberthuber, Heron, Hobophobe, Hughey, Hungrymouse, Hussein 95, Hvn0413, Iambk, Iamzemasterraf, Ibc111, Idkyididthis, Igoldste,
Indefatigable, Intgr, Iridescent, Irq, Isaac Rabinovitch, Itai, Itusg15q4user, J.delanoy, J04n, Jackfork, Jags707, Jakohn, JamesBWatson, JamesEG, JeLuF, Jec, Jemichel, Jhartmann, Jim.henderson,
Jim1138, John a s, JohnOwens, JohnWittle, Johnblade, Johnnyboyshoots, Johnuniq, JonHarder, Joseph507357, Joyous!, Jschnur, Jtkiefer, Juansempere, Judzillah, Juliancolton, K45671, KGasso,
Kakomu, KaragouniS, Karn, Kasabax, Kate.woodcroft, Kbh3rd, Kbolino, Kbrose, Keith D, KelleyCook, Kerotan, Kevmcs, Kgfleischmann, Khalad, Kinema, King of Hearts, Kjkolb, Knucmo2,
Ksn, Kuru, Kvng, Kwamikagami, Kwiki, Lallolu, Lamro, Laudaka, Lavenderbunny, Lee Carre, Leebo, Leotohill, Lightmouse, Ligulem, LilHelpa, Limbo socrates, LittleBenW, LittleOldMe,
Lockg, Lolpack, LordJumper, Lotu, Lovecz, Lped999, Lukith, Lumos3, Luna Santin, MER-C, MacGyverMagic, Magioladitis, Mahjongg, Makeemlighter, Manish soni, Markjx, Martarius,
Martijn Hoekstra, Matt.farina, Maury Markowitz, Mav, Mavieira, Mbutts, McGeddon, Melvinvon, Mendel, MessiFCB, Mhare, Michael Hardy, Michael Slone, Michael Thomas Sullivan,
MightyWarrior, Mightyms, Mike Rosoft, Mikm, Milan Keršláger, Mindmatrix, Minesweeper, Minna Sora no Shita, Mmiszka, Modulatum, Mortense, MoussePad, Moxfyre, Mozzerati, MrFish,
MrOllie, Mrand, Mrh30, Mwanner, Myanw, N TRoPY, NJM, NawlinWiki, NeaNita, Nelson50, NewEnglandYankee, Nicolaasuni, Nightraider0, Nikevich, Nimiew, Nishkid64, Nixdorf, Nnemo,
Norm, Northamerica1000, Now3d, Nroets, Nthep, Nubiatech, Nvj, Nyttend, Oakad, Ohconfucius, Ohnoitsjamie, Oneocean, OverlordQ, OwenX, Oxymoron83, Oztuck, Packetslinger,
Palmer1973, Paul, Paul Koning, Peck123, Pekaje, Percy Snoodle, Peruvianllama, Petrb, Peyre, Pgallert, Pgan002, Phil Boswell, Philip Trueman, Piano non troppo, PierreAbbat, Pilatus,
PinkMonkeys, Pjbrockmann, Pkirlin, Plasticup, Plugwash, Pluma, Pmsyyz, Praetor alpha, Prolog, Publicly Visible, QmunkE, Quarl, Quintote, RHaworth, RadioFan, Rait, Ramurf, Rapaporta,
Rarmy, Recurring dreams, RedWolf, Rednectar.chris, Reedy, Requestion, Rettetast, Rhobite, Rholton, Rich Farmbrough, RichardBennett, Rick Sidwell, Ricsi, Rjwilmsi, Rlcantwell, RoySmith,
Roybadami, Royote, Rror, Rsrikanth05, Rufus210, Ruud Koot, Rw4nd4, Rwwww, SF007, SHCarter, Salsa Shark, Sam Hocevar, Sander123, Sceptre, Schneelocke, Scott McNay, ScottJ,
SeaChanger, Selmo, Semsi Paco Virchow, Setu, Shadowjams, Shanes, Sharkford, Shieldforyoureyes, Sietse Snel, Silenceisfoo, Sincoskie, Sligocki, SoSaysChappy, Sobelbob, Solarra, Solveforce,
Someone's Moving Castle, SpamBilly, Spencer, Spiritia, Steeev, Stephan Leeds, Stephenb, Steven Luo, Stratocracy, Stuart P. Bentley, Suruena, Svick, Swapdisk, Swarnabhra, TAnthony,
Tankman98, Tas50, Tedernst, Template namespace initialisation script, Tempodivalse, Thaas00, The Anome, The Random Editor, The Thing That Should Not Be, The quark, The undertow,
TheMoog, Thingg, Thue, TimBovee, Tiny plastic Grey Knight, Tizio, Tmontalv, TomPhil, Tonsofpcs, Tooki, Tothwolf, Tpbradbury, Transmission 1000, Trev M, Tunnie, Turgan, Tverbeek,
Typo47, Tyz, UU, Ukexpat, Ulric1313, UncleBubba, Unschool, Urvabara, Useight, Utuado, Vanished user kjdioejh329io3rksdkj, Vashti, Vdm, Veinor, Versus22, Vidmes, Vijaykumar, Viridae,
Vmenkov, W Nowicki, Wa2ise, WadeSimMiser, Wasisnt, Wattlesmorse, Wavelength, Wayfarer, WaysToEscape, Wbenton, Wbm1058, Wefa, WhiteDragon, Wik, WikiJaZon, Wikiborg,
Wikifranz, WillAndrews, WillLord, Willy on Wheels over Ethernet, Wimt, Wingnutamj, Wk muriithi, Wmahan, Wmasterj, Woohookitty, WriterHound, Wrs1864, Wtshymanski, Xenium,
Xnatedawgx, Yintan, Yudiweb, Yuvalnod, Yyy, Zac67, ZenerV, Zero10one, Zhangyue, Zodon, Zoicon5, 1073 anonymous edits
IP address Source: http://en.wikipedia.org/w/index.php?oldid=565749072 Contributors: *drew, 09ialsharrai, 0waldo, 1.mallesh, [email protected], 1a2b3c4e5d, 1exec1, 203.109.250.xxx, 20percent,
21655, 48states, 4twenty42o, 5 albert square, 76df457hjkozdfg, 7qrfl41r, 9258fahsflkh917fas, A Softer Answer, ABF, AVand, Abdul muqeet, Abecedare, Abmitgkp2011, Acalamari, Acather96,
Accurizer, Acroterion, Adammw, AdjustShift, Aervanath, AgainErick, Ageekgal, Agent007bond, Agentscott00, Agurzil, Ahkitj, Ahoerstemeier, Ahy1, Airconswitch, Airplaneman, Aitias, Ajuk,
Alan Rockefeller, Alanbrowne, Alansohn, Alex Cohn, Alex43223, Alison, AlistairMcMillan, Alpha 4615, Alphachimp, Alphax, AltecLansing12, Alvestrand, Amnuay, Andres, Andrewski, Andy,
Andy Dingley, Andy Smith, AngelOfSadness, Anna Lincoln, AnonGuy, Anonymous editor, Antandrus, AnthonyR, Anthonymetal, Apoyon, Applesqsx, Aqberr, Arakunem, Arbor to SJ, Archer7,
Argentium, ArglebargleIV, Arizona1983, Arman Cagle, Arthuran, Artibaton, Ashenai, Asoiaf fanatic, Atlant, AtomSmazher, Avnjay, Avogadro94, Avoided, Avono, AzaToth,
[email protected], Badmachine, Barek, BarretB, Bayberrylane, Benwildeboer, Berro9, Beta m, Betbest1, Bfolkens, Biblbroks, Bigjimr, Bihco, Bill37212, BioPupil, Bjankuloski06en,
BlackAce48, Blake3522, Blanchardb, BlueCanary9999, Bluerasberry, Blutred, Bobblewik, Bobo The Ninja, Bobo192, Bogey97, Bongwarrior, Bovineone, Braaropolis, Brian0918, Brianporter,
Brick Thrower, Brothejr, BryanG, Bubba hotep, Bubba73, Bubzyz, Bucketsofg, BuickCenturyDriver, Bullzila, CTZMSC3, Caltas, Can't sleep, clown will eat me, CanadianLinuxUser, Canaima,
CannedLizard, Capricorn42, CaptainVindaloo, Cardonnell, Cburnett, Cdc, CecilWard, Ceo, Cepopaladin, CesarB, Chacor, Chainz, Chamal N, Chaoserver, Chase me ladies, I'm the Cavalry,
Chasingsol, Cherron1994, Chick Bowen, Cholmes75, Chopeen, Chris the speller, ChrisHodgesUK, Chriswiki, Chromaticity, Chuunen Baka, Chzz, CiTrusD, Cj005257-public, Cleared as filed,
Cntras, Coasterlover1994, Cobi, Cometstyles, Comex, ConconJondor, Connormah, Controloye, Conversion script, Corpx, Corti, Corvus cornix, Courcelles, Crazycomputers, Crazytales,
Creative0o, Crecy99, Cremepuff222, Crystallina, Cst17, Cureden, Curps, Cwolfsheep, Cybjit, Cynicism addict, D-Katana, DARTH SIDIOUS 2, DJ Clayworth, DMahalko, DVD R W, DaL33T,
Damicatz, Damore1405, Dan6hell66, Dandorid, Daniel Olsen, Daniel.Cardenas, Daniel5127, DanielCD, Danny, Dante20XX, Dark MooGoo, Darrell Greenwood, Darth Panda, David Levy,
David.Mestel, Davidoff, Dawn Bard, Dcljr, Ddas, DeadEyeArrow, Deagle AP, Deannyc, Deman 24, Demmy, Denelson83, Denis.arnaud, DerHexer, Dharris, Digitalme, Dillard421, Dina,
Diomidis Spinellis, Dionyziz, Discospinster, Dmaftei, Doc Daneeka, Doniago, Doria, Dougofborg, Doulos Christos, Dr.queso, Dragonball1986, Dragons flight, Dreadstar, Drkmaster, Drmies,
Drunken Pirate, Dspradau, Dungodung, Dysepsion, Dzof, E0steven, ESkog, EagleOne, East718, Echuck215, Edward, Edward301, Egmontaz, El Monster, ElKevbo, Elassint, Elockid, Emersoni,
Emo Elli, Emurphy42, Enviroboy, Epbr123, Er Komandante, Eric Kvaalen, Eric4, Escape Orbit, Evercat, Everyking, Excirial, Fagiolonero, Falcon8765, Famspear, Faradayplank,
Farquaadhnchmn, FastLizard4, Favonian, Fdgsdfgg rgfsfdg fdsgsrfff, Feezo, FellowWikipedian, Ferrija1, Fieldday-sunday, Fleizach, Floaterfluss, Flyguy649, Forkazoo, Fox816, Fran Rogers,
Francis22, FrancoGG, Frankie0607, Frap, Frazzydee, FreeKresge, FreplySpang, Freshmaniac, Friendly Neighbour, Fritzpoll, Frozenpandaman, Funandtrvl, Funky Monkey, Furrykef, Fuzheado,
Fuzzypeg, Fvasconcellos, Fvw, G.A.S, GICodeWarrior, GPugh, GT5162, Gadfium, Gail, Gaius Cornelius, Galoubet, Gamaliel, Gamera2, Gary99129, Gatlingunlevel27, GcSwRhIc, Geeoharee,
Gengiskanhg, Geoffrey, George The Dragon, George2001hi, Gerardkcohen, Giftlite, Gilliam, Glane23, Gnowor, Gogo Dodo, Golbez, Goldom, Gonzo fan2007, Goodnightmush, Gracefool,
Graciella, GraemeL, Graham87, Greswik, Grim23, Grunt, Guardians611, Guest9999, Gurch, Gurchzilla, Gwalla, Gwernol, H8erade, Haakon, Hacii, Hadal, Hagerman, HalfShadow, Hall Monitor,
Hansmohrid, HappyInGeneral, Haza-w, Hbackman, Hcberkowitz, Hdt83, Henry W. Schmitt, Heracles31, HiDrNick, Hmrox, Hojimachong, Home-4f8918a9a7.\mshome, Hon-3s-T, Howabout1,
HueSatLum, Hughcharlesparker, Hughesey, Huskihuskihuski, Hut 8.5, Huttarl, Hydrargyrum, II MusLiM HyBRiD II, IRP, Iancarter, Idcmp, Idts, Ilya, Imisslife, Immunize, Imperator3733,
78
Article Sources and Contributors
Imroy, Imveryveryveryverybored, InShaneee, Indeterminate, Infrogmation, Inspector 34, Intelati, Iorek85, Ipatrol, IraChesterfield, Iridescent, Irishguy, IronGargoyle, Iseeaboar, Ixfd64, J-stan,
J.delanoy, J450NH3, JDoorjam, JForget, JHMM13, JLaTondre, JR JakeRs, JTN, Ja 62, JaGa, Jackfork, Jackohare, Jackol, Jake Nelson, James ONeal, JamesAM, Jaredbelch, Jasper Deng,
Jauerback, Jaxl, Jebba, Jeepday, Jeff G., Jeffrey Mall, Jemappelleungarcon, JeremyA, Jesant13, JesseW, Jh51681, JidGom, Jj137, Jklin, Jnc, JoanThaBone, JoanneB, JoeKearney, Joelr31, John of
Reading, John254, JohnWittle, Johndarrington, JohnnyB256, Johnteslade, Johnuniq, Jojhutton, JonHarder, JorgeGG, Josh Parris, JoshSkidmore, Jossi, Joyous!, Jpatokal, Jsalims80, Jsc83, Judik,
Juliancolton, Junckerg, Junnel, Jusdafax, Jusjih, Jwissick, K12345wiki, KFP, Kafka Liz, Kaisershatner, Kanonkas, Kaplin, Karada, Karl-Henner, Katalaveno, Katieh5584, Kbdank71, Kbrose,
Kelly Martin, Kesac, Kevin B12, Kevin66, KevinTjan, Kgfleischmann, Khukri, King of Hearts, Kingjalis3, Kingpin13, Kinu, Kipoc, Kirill Lokshin, Kjd, Kjkolb, Klepas, Klose99,
KnowledgeOfSelf, Kookykman, Koolkat2448, Kraftlos, Krellis, Krun, Kryptops, Ksn, Kthsujal, Kungming2, Kuru, Kurykh, Kvng, Kwamikagami, Kwoksir, L'ecrivant, La Parka Your Car, La
Pianista, LaMenta3, Labongo, Lam4o, Lanasa, Latka, Law, Lawrence Cohen, LeaveSleaves, LegitimateAndEvenCompelling, Les boys, LibLord, Lightdarkness, Lilac Soul, Lilserif,
LinguistAtLarge, Litefantastic, Little Mountain 5, LittleOldMe, LizardJr8, Lokimang, Lord Voldemort, Loren.wilton, Lothar von Richthofen, Lotje, Lucinos, Luke wyatt, Luna Santin, Lupin,
LyonJE, MER-C, MSSEVER, Mac, MacroDaemon, Maddiekate, Magister Mathematicae, Magnus Manske, Makeemlighter, Malcolm Farmer, Malhonen, Malo, Mani1, ManiF, Manop, Marek69,
Mark Renier, MarkSutton, Martarius, Martynas Patasius, Master Jay, Master of Puppets, Mastershake phd, Matthewrbowker, Matthuxtable, Mattv2006, Maurog, MaverickSolutions, Maximillion
Pegasus, Maxis ftw, Maxweb, McSly, Melonite, Melter, Mentifisto, Merovingian, Metaeducation, Mets501, Michael Hardy, Michael Pheddyn, Mikaey, Mike Rosoft, Mindmatrix, Minna Sora no
Shita, Mion, Misteror, Mld zero, Mmeerman, Mmernex, Mmmready, MonoAV, Montchav, Monty845, Moomoomoo, Moonriddengirl, Mormegil, Morning277, Mr.Z-man, MrJones, Mrsudip,
Mschel, Mulad, Murderbike, Mushroom, Mwtoews, My Cat inn, Mygerardromance, Myhihihi, Myiptest, Myransree, Mário, NSLE, Nagy, Naive cynic, Nakon, Nanshu, Nascar1996, Nastajus,
Natalie Erin, Nathanrdotcom, NawlinWiki, Neeples, NewEnglandYankee, Newwhist, NickBush24, Nicklous20, Nightscream, Nimiew, Ninny777, Nishkid64, Niteowlneils, Nivix, Nlu,
Nn123645, Nneonneo, No Guru, Noctibus, Nofallah, Not Sure, Nrlight, Nsaa, Nubiatech, Nula666, Obakeneko, Ocatecir, Odistery, OhmyΩ, Ohnoitsjamie, Oliver Lineham, OlivierMehani,
OllieFury, Omicronpersei8, OnePt618, Onecountry, Opelio, Orange Suede Sofa, OrangeDog, Orangutan, OrganizeFISH, Oshra schwartz, Ottawa4ever, OverlordQ, Oxymoron83, PRRfan, Pabix,
Pachydermballet, Paddu, Pandion auk, Pantjz, PatchesTheCaveman, Patpink, Patrick, Patstuart, Paul Carpenter, Paul Magnussen, Paul Stansifer, PaulHanson, PaulTanenbaum, Pavel Vozenilek,
PedroPVZ, Pepper, Perilwalruz, Persian Poet Gal, Peruvianllama, Peter, Peyre, Pg2114, Pharaoh of the Wizards, Phatom87, Phgao, PhilKnight, Philip Trueman, Piano non troppo, PierreAbbat,
Piet Delport, Pilotguy, PinchasC, Pinethicket, Pmlineditor, Pmsyyz, Pnm, Polaed, Ponies123456789, Poochy, PoopyPantsMcPooperson, PrestonH, Prolog, Pseudomonas, Psy guy, Puffin, Pyrop,
Pyrospirit, Quintote, Quuxplusone, Qwyrxian, Qxz, RDaneel2, Rachtchi, Radiant chains, Radioactive afikomen, Rafasseb, RaiderTarheel, RainbowOfLight, Ralphwiggam75, Rameshbabu.itian,
Ramitmahajan, Rantsroamer, RattleMan, Razakausar, RazorICE, Rchandra, Rcmarotz, Rdsmith4, Reconsider the static, RedHillian, RedWolf, Redalert2fan, Regancy42, RenRochefort, Rettetast,
RevolverOcelotX, RexNL, Rfc1394, RiK harhar, Riana, Rianvisser, Ricgal, Rich Farmbrough, Richard001, Rjensen, Rjstott, Rlcantwell, Rmt2m, Rmustar 10, Robbe, Robby.is.on, Robocoder,
RockMFR, Romanskolduns, Ronhjones, Rory096, RoyBoy, Rrburke, Rror, Rsm99833, RunOrDie, Rwxrwxrwx, Ryamigo, Ryan032, Ryt, SEWilco, SGBailey, Sahansuraweera, Salamurai,
Samilamethmal, Sango123, Santamage98, Sasquatch, Sayden, Scgtrp, Schzmo, ScienceGolfFanatic, Scyrma, Sean D Martin, Sean.hoyland, Seanx820, Sebastian Goll, Sebleblanc, Sgarcia05,
Shadowjams, Shadowlynk, Shanel, Shanes, Sherool, Shiftoften66, Shirik, Shirulashem, Shiva 29, Shoeofdeath, Shotwell, SidP, Sietse Snel, Sillicongal, Simetrical, Simon J Kissane, SimonP,
Simonwheatley, Simple Bob, Sims2789, Simsong, SingingDragon, Sir Nicholas de Mimsy-Porpington, Sjakkalle, Sjö, Skier Dude, Skunkboy74, SlimVirgin, Slon02, SluggoOne, SmallPotatoes,
Smileyrepublic, SmilingBoy, SoSaysChappy, Soliloquial, SonicAD, Soumyasch, Soundcomm, SpK, Spazit, Spazturtle, SpeedyGonsales, Spellcast, Spinningspark, Sportsfan 555, Spundun,
SpuriousQ, SqueakBox, SquidSK, StabiloBoss, Stephan Leeds, Stephenb, Superm401, Superuserit, Supreme Deliciousness, Suruena, SusanLesch, Swalot, SymlynX, Synchrite, T3h 1337 b0y, TJ
Spyke, TYelliot, Tangotango, Tannin, Tanthalas39, Tanweer Morshed, Tao, Taw, Tbhotch, Tcncv, Ted Longstaffe, Teh tennisman, Teles, Tgotchi, The Anome, The High Fin Sperm Whale, The
Return Of Squad, The Rogue Penguin, The Thing That Should Not Be, TheCoffee, TheGrimReaper NS, TheKMan, Thecosmos, Thegraham, Thekittenofterra, Thewayforward, Thingg,
Threeafterthree, Thue, Tide rolls, TigerShark, Tim1988, Timpailthorpe, Titoxd, Tjwagner, Tom harrison, Tommy2010, Tothwolf, Towel401, Tree Biting Conspiracy, Tresiden, Troy 07,
Trusilver, Trysudhakar, Ttlkr, Tverbeek, Tvoz, Twinkiesarethesourceofallknowledge, Twinsday, Tyw7, UFu, Ugur Basak, Ukexpat, Ulric1313, Uncle Dick, UncleBubba, UnknownzD,
Uranographer, Useight, V0rt3x, VAcharon, Valhallia, VampWillow, Vancouverguy, Vandalismterminator, Vanished User 1004, Vary, VasilievVV, Vclortho, Veesicle, VegaDark, Vendettax,
Versageek, Versus22, Vicki Rosenzweig, VirtuousCircle, Viscious81, Vrenator, Vrraybadboy78, VzjrZ, W, WJBscribe, WadeSimMiser, Wavelength, Wayne Slam, WaysToEscape, Wayward,
Weedwhacker128, Wengero, Wertuose, Weyes, Who then was a gentleman?, Whomp, Why Not A Duck, Wiigocrazii, Wikedit-34, Wiki alf, Wiki104, WikiLaurent, Wikibofh, Wikifan07,
Wikipelli, William Avery, Willking1979, Willysmilk, Wilson Tam, Wimt, Wisco, Wizardist, Wmahan, Woody, Wrs1864, Wysprgr2005, Xagent86, Xezbeth, Yahel Guhan, Yamamoto Ichiro,
Yamla, Yanksox, Yelyos, Yidisheryid, Yug, Zachlipton, Zarcillo, Zchenyu, ZeWrestler, Zeimusu, Zemadmat, ZeroOne, Zhackwyatt, Zocky, Zondor, Zsinj, Zzuuzz, ‫ﺷﺎﺕ ﺻﻮﺗﻲ‬, පසිදු කාවින්ද, 2790
anonymous edits
Industrial Ethernet Source: http://en.wikipedia.org/w/index.php?oldid=563703962 Contributors: Advantecheautomation, Arjayay, Back ache, Bobblewik, Brolin, Btilm, Cherubino, Chungyu,
Cialo, Cmathas, Cuvette, Dnator, Dougher, Drake Redcrest, EBY3221, EagleOne, Ehrhardtl, Elky7, Ex Puexto, Femto, Fieldbusguy, Frap, Funandtrvl, Glauco.b, Glrx, Grandsonofmaaden,
Jdvmanen, JonHarder, JwCLPA org, Kvng, Laug, LittleWink, MSchu, Mandarax, Martinzou, Mild Bill Hiccup, MrOllie, Mushroom, Notan Frag, Oldcommguy, Oli Filth, Pgr94, Prozac1980,
Qfli78, QueBurro, RAPIEnet, Redcs37, Requestion, SCH56, Santosd, Satori Son, Seb1982, Sietse Snel, SkeletorUK, Sol87, Some jerk on the Internet, Srleffler, Sunny2who, Surv1v4l1st,
Texture, Themfromspace, Tim1988, TommySp, UU, W Nowicki, Waldir, Woohookitty, Wtshymanski, XandroZ, Yoasif, 104 anonymous edits
Modbus Source: http://en.wikipedia.org/w/index.php?oldid=565709289 Contributors: 7, Aarontpeterson, AdAstraRG, Alshain01, Anoopmgeorge, Arnoudmulder, Batman2000, Begoon,
Bert490, Bertus, Billymac00, Bobblewik, Btilm, CALR, Calltech, Calton, CanOfWorms, Ceallachan, CharlesWemyss, Chungyan5, Comatmebro, Cp2020, Crowsnest, Cruccone, Cyberparam in,
DStoykov, Danmuz, Dareces, Darvin30dec, Dicklyon, Dogaroon, Eadric, Electron9, Fahidka, Failanas, Faught, Femto, Frau Holle, Frau K, Funvill, Gadget1700, Gasbuilding, Glenn,
Globalkrishna, Goodeq, Gorhas, Guy Harris, Hongooi, Hooperbloob, Hu12, InntegrationExpert, Iridescent, Jhose, Jimwelch, Jmundo, Jt, Komantian, Komap, Kuttipapu, Kvng, LynnLinse,
MariusG, Matusz, Mjbcswitzerland, Modbus.ug, Moriori, Morpheios Melas, Mtpaley, Nasa-verve, Natalie Erin, Nelson50, NichoEd, Ninokurtalj, Okstfan03, One half 3544, Onuralpkaratum,
PKlammer, Peswriter, Rajendu.choubisa, Remuel, Ruscito, RussNelson, Schastain, Sega381, Sfax.tn, Skamecrazy123, SoManySpammers, Spalding, T. Canens, Thaas00, Theodore Kloba,
Thomas Larsen, Tmwusa1, Trusilver, UnitedStatesian, Voidxor, Waffleguy4, Wtshymanski, XandroZ, Xareu bs, Xsolarwindx, Zaphodikus, Zorbey, Важнов Алексей Геннадьевич, 224
anonymous edits
Profibus Source: http://en.wikipedia.org/w/index.php?oldid=563662232 Contributors: ABF, Abriwrite, Alca Isilon, Amalas, Auric, ChrisGualtieri, Christian1969, Claudia1220, Creativesoul8,
Dicklyon, Dougher, Ebyabe, EdBever, Electron9, Fahidka, Fizzbann1234, Gaius Cornelius, Giftlite, Giraffedata, GoShow, Harriv, Jkeck-wiki, JonHarder, Kku, Kozuch, Krushia,
Langerwolfgang, Lordeaswar, MereNonsense, Micru, Morten, Naarbarry, Nasa-verve, Northamerica1000, Nukerebel, PNOAvE, PlatypeanArchcow, Plcsys, Plutix, RazorICE, Rwwww,
Smalljim, Tarbarrels, Texture, TheAMmollusc, Versageek, Wolfch, Wtshymanski, Xetheriel, Zanimum, Zeruski, 98 anonymous edits
DeviceNet Source: http://en.wikipedia.org/w/index.php?oldid=554329501 Contributors: Aaron Schulz, Allen Moore, Autobatch, Brian the Editor, Bsilverthorn, Captain panda, Cpliu338,
Dicklyon, Editore99, Edward, Electron9, Fahidka, Irishguy, Kelvin Goh, Locodios, Mortense, NBS, Poco a poco, Rjwilmsi, Rwwww, Teuxe, Vfbp-geyf, 49 anonymous edits
ControlNet Source: http://en.wikipedia.org/w/index.php?oldid=544954403 Contributors: Alansohn, Brolin, Chowbok, David Leino, DrRSP, Electron9, Fahidka, Griffin700, JRThro, Pnm,
Protocolanalyzer, RightSideNov, SparkyRichard, Tabletop, Vrenator, 28 anonymous edits
Fieldbus Source: http://en.wikipedia.org/w/index.php?oldid=565636644 Contributors: Acalamari, Adacore, Alexf, AlfredoMQuintero, Arch dude, Attilios, Aussiecontrols, BD2412, Beland,
Billywhack, BjKa, Brolin, CBMalloch, Chemical Processing, ChrisCork, ChrisGualtieri, Christian1969, Cialo, Crackerjackal, DavidCary, DickCaro, Dickcaro, Electron9, Elky7, Eng101,
Euchiasmus, Euryalus, Fieldbus, Fieldbus man, Finejon, Foggy Morning, Fuhghettaboutit, Geschichte, Giraffedata, Gri6507, Grika, Ground Zero, Grutness, HeavyD14, Heron, Homagrani,
IamNotU, Ishi Gustaedr, J.delanoy, Jason Quinn, Joaoborges, JonHarder, Jono4174, JustAGal, Kramer-Wolf, Kundor, Kvng, Langerwolfgang, Lee Vonce, Lobrien29, Lorenzbe, Makomk,
Martinzou, Mattisse, Mboverload, Meatsgains, Michbeie, Mikeblas, Mlewis000, Mojtaba Cazi, Mortense, MrOllie, Mrazmara, Nasa-verve, Notan Frag, Oliverkywu, Pais, Paulpw, Pedro.haruo,
Phd0, PigFlu Oink, RAPIEnet, Regregex, ResidueOfDesign, Rjwilmsi, Rl, Royalguard11, Rpclod, Rwwww, S, SCH56, Spalding, Suruena, Tabletop, TastyPoutine, Texture, Thiagoeh, User A1,
Wdustbuster, Wolfch, Youngkalam, Zakholdsworth, Zeruski, Zvar, 154 anonymous edits
Peer-to-peer Source: http://en.wikipedia.org/w/index.php?oldid=566354806 Contributors: -lulu-, 2bar, 4nT0, 4pq1injbok, A8UDI, ABF, ACNS, Aarghdvaark, Aaronchall, Abab99, Abrech,
Absalom23, Abune, Adammw, Adrian.benko, Aervanath, Ahoerstemeier, Ahtih, Aimini, Akamad, Akkinenirajesh, Alainr345, Alcuin, Aldie, AlexMyltsev, Alexkon, Aliendude5300,
AlistairMcMillan, Allyant, Amwebb, Andre Engels, Andrewpmk, Anishsane, Antelan, Anthony, Antoniad, Apoc2400, Arangana, Arm-1234, ArneBab, Arny, Atbk, Atif.t2, Audriusa, Augest,
Augman85, Authalic, AxelBoldt, Az1568, Bagatelle, Bahahs, Bane004, Bayerischermann, Ben-Zin, Benad, Bentogoa, Bernino, Bhadani, Bhuston, BiH, Bigjimr, Bikeborg, Binksternet, Bkonrad,
Bloodshedder, Bluezy, Bmicomp, Boivie, Bomac, Bondolo, Bongwarrior, Borgx, Bovineone, BrainMagMo, Bramp, Branko, BrokenSegue, BrotherE, Brunelstudy, Bslede, Btrest, Buryfc,
Bwishon, Caiaffa, Caltas, Cambrasa, CambridgeBayWeather, Canderson7, CanisRufus, Carlconrad, Carlosguitar, Cctoide, Cecilia Hecht, Celique, CesarB, Ceyockey, CharlesC, Charleswiles,
Chazza1113, Chris the speller, ChrisGualtieri, Chuq, Chuunen Baka, Cjdkoh, Ck lostsword, ClanCC, Classicrockfan42, Cldnails, Closedmouth, CoMePrAdZ, CobaltBlue, Coelacan, Coinchon,
Coldfire82, Collabi, Cometstyles, Computerjoe, Connelly, Conny, Conti, Conversion script, Coolblaze03, Copsewood, CortlandKlein, CosineKitty, CountZer0, Courcelles, Cp123127, Cpl Syx,
Creative1980, Cshear, Cuahl, Cuaxdon, Cutter, Cwilso, Cwolfsheep, CyberSkull, Cyko 01, Cynical, Cyrius, DMG413, DRTllbrg, Dadu, Damian Yerrick, Daniel Olsen, DanielCD, Dattebayo321,
Davewho2, David Levy, DavidCary, DeadEyeArrow, Deathmolor, Deeahbz, Deelkar, Dekimasu, Delirium, Desmarie17, Dfe6543, Diegocr, Dilumb, Dinesh smita, Diomidis Spinellis, Dk,
DocWatson42, Dougofborg, Drew R. Smith, Ducknish, Dustin gayler, Dysfunktion, E. Sn0 =31337=, ECELonghorn, Echoghost, Ed g2s, Edggar, Editerjhon, Edward, Eekoo, Ekilson, Elbperle,
Elchupachipmunk, Eliezerb, Ellmist, Eltomzo, Emufarmers, Endlessnameless, Epbr123, Eric119, Evansp, Evil Monkey, Evildeathmath, Ewawer, Ewlyahoocom, Exile.mind, F15 sanitizing eagle,
FF2010, Falsifian, Fan-1967, Farshad83, FatalError, Feedloadr, Feierbach, Felix.rivas, Fennec, FenrirTheWolf, Flamingblur, Folajimi, Forage, FrYGuY, Fram, Fred Gandt, Frieda, Frosted14,
Funandtrvl, Funky Monkey, Furrykef, G8yingri, Gabbe, Gabriel Kielland, Gabrielgmendonca, Gail, Gaius Cornelius, Garas, GargoyleMT, Gaurav1146, Gbeeker, Gen0cide, Gene Nygaard,
Generic69, Geniac, Gerbrant, Ghacks, Giftlite, Gilliam, Gillyweed, Gimmetrow, Glenn, Gobonobo, Gogo Dodo, Gounis, Gracefool, GraemeL, GrayEagle1, Greg Lindahl, Grick, Ground Zero,
Gwendal (usurped), H0riz0n, Haakon, Haham hanuka, HalfShadow, Hansix, Hardistyar, Harisankarh, Harjk, Harryboyles, Haseo9999, Heron, Hgfernan, Hobartimus, Hopper96, Hpfreak26,
I'mDown, Iainscott, Ice77cool, IceKarma, Icedog, Icseaturtles, Idleguy, Ifny, Ihsuss, Ilario, Imeriki al-Shimoni, InfinityB, Ingjerdj, Inkypaws, Iridescent, Itai, Ivo, JForget, JHunterJ, Jackfork,
79
Article Sources and Contributors
Jackiechen01, Jakester23jj, JamesBWatson, Jamesday, Jareha, Jeff G., Jennavecia, Jeremyb, Jersyko, Jiddisch, Jim McKeeth, Jimmytharpe, Jludwig, Jmundo, Johann Wolfgang, Johnleemk,
Johnteslade, Jon Backenstose, JonHarder, Jonik, Joshua Andersen, Joyous!, Jprg1966, Jrash, Jrdioko, Jreconomy, Jsnow, Julesd, Just zis Guy, you know?, Juststreamit, K.lee, Karam.Anthony.K,
Karrade, Kbdank71, Kbrose, KelleyCook, Kelly Martin, Kennyluck, Kevinzhouyan, Kevyn, Kgfleischmann, Kingturtle, Kku, Knownot, Knutux, Koenige, Koman90, Konstable, Korath, Korou,
Kos1337tt, Kozuch, Kpjas, Kristen Eriksen, Kry, Kukini, Kumarbhatia, Kwertii, Kwirky88, Kzm, LBarsov, Laboriousme, Lairdp, Lajena, Larrybowler, Laudaka, Lawman3516, Layona1,
LeaveSleaves, LedgendGamer, Lee1026, LeoNomis, Lesldock, Leuko, Lewu, Lexor, Liao, Lifefeed, Liftarn, Lightmouse, LilHelpa, LinuxPickle, Little Mountain 5, LittleDan, LjL, Lo2u,
Loadmaster, Lockeownzj00, Lord JoNil, Lord dut, Loren36, LotharZ, Lousyd, Lradrama, Ludditesoft, Lugia2453, M, M 3bdelqader, MC707, MONGO, Mac, MadEwokHerd, Magioladitis,
Mahanga, Mangojuice, ManiaQ, Manja Neuhaus, Manu3d, Materialscientist, MatrixFrog, Matthewedwards, Matthewleslie, Mattsag, Mattsenate, Mattycl, Mauro Bieg, Mavol,
Maxamegalon2000, Maximaximax, Maximus Rex, Maxwell bernard, Mbauwens, Meembo, Melaen, Merope, Mesoderm, Miami33139, Miatatroll, Michael Hardy, Michaelbusch,
MiguelTremblay, Mike Van Emmerik, Mikeblas, Mindmatrix, Minesweeper, Minghong, Mintleaf, Mirshafie, Miym, Mjohnson, Mkweise, Mlspeten, Mmv-ru, Mo0, Mobilon, Moehre, Moose
mangle, Mormegil, Morten Blaabjerg, Morton.lin, MrJones, MrOllie, Mrdoomino, Msoos, Mthibault, Mupet0000, Mushroom, Musicat, Mydogategodshat, Neilapalmer, Neilc, Neiltheffernaniii,
Nethgirb, Netkinetic, Netoholic, Nick, Ninly, Niteowlneils, Nixeagle, Nlu, NoIdeaNick, Nonnompow, Noodles-sb, Nshunter, Nuwewsco, Nyhet, OWV, Ocexyz, Octahedron80, Od Mishehu,
Ohnoitsjamie, Old Death, Oldiowl, Olivier, Omegatron, Ooskapenaar, Owen, P2pauthor, P2prules, Palica, Paranoid, Patrickzuili, Pausch, Permacultura, Petchboo, Peter Tribe, PeterC, Peyre,
Pgr94, Phatom87, Phelfe, PhilHibbs, Philip Trueman, Phoenix-forgotten, Pilotguy, PinchasC, Pinethicket, Ping, Pip2andahalf, Pjbflynn, Pmerson, Postdlf, Prab, Pratyeka, Preada, Preeeemo,
Preston.lee, Profilemine, Qnext-Support, Quale, Qwm, RL0919, Radagast83, Radio Dan, Raraoul, RayBeckerman, Rchamberlain, Rcomrce, Rearden9, RedMurcury1, Reedy, Reinderien,
Remember the dot, RentalicKim, Requestion, Retired username, Rettetast, RexNL, Rexguo, ReyBrujo, Rhobite, Rich Farmbrough, Richard Allen, RichardOSmith, [email protected], Rjdainty1, Rjstott,
Rjwilmsi, Rl, Rocketrod1960, RogersMD, Ronz, RoseParks, Rosejn, Rossami, Rossgk, Royboycrashfan, Ruud Koot, Rvalles, RyanKoppelman, Ryulong, S.K., SEWilco, Sachdevj, Sae1962,
Sahil sharma2119, Salsb, Sander123, SasiSasi, Satellizer, Schneelocke, SchreiberBike, Scoutersig, Scyth3, Seb26, Secfan, Senator2029, Sendai2ci, Shadowjams, Sharepro, ShaunMacPherson,
Shellreef, Shielazhang, Sietse Snel, Sigma 7, Silvarbullet1, SimonP, Sir Paul, SirJibby, Sirius Wallace, Sjakkalle, Skizzik, Skpande, Sky Attacker, SkyWalker, Sl, Slon02, SmileToday, Smywee,
Snied, Soali, Softssa, Solitude, Someguy1221, Sonia, SpeedyGonsales, Splintax, Sschluter, Stanleyuroy, Stedjamulia, Steel, Stephan Leeds, Stephenchou0722, SteveSims, Stjones86, Strait, Sunil
Mohan, Sweety Rose, TBloemink, TCL, TUF-KAT, Tad Lincoln, Tawker, Tazmaniacs, Teemuk, Teilolondon, Terribim, Teryx, Texture, Tgeairn, The Anome, The Belgain, The Thing That
Should Not Be, The Wordsmith, The stuart, Thommi, Thumperward, Tide rolls, Tiger Brown, Tigrisnaga, Tigstep, Tim Ivorson, Timwi, TittoAssini, Tknew, Tohd8BohaithuGh1, Tom X. Tobin,
Tom235, Tomchiukc, Tomdobb, Tony Sidaway, Tothwolf, Totof, Touisiau, TouristPhilosopher, Toussaint, Toytoy, Trek00, Tuxa, Tverbeek, Tyofcore, Ultra-Loser, Una Smith, Unyoyega,
VBGFscJUn3, VCHunter, Vald, Valermos, VampWillow, Vanished user 8jq3ijalkdjhviewrie, VanishedUserABC, Vbs, Veinor, Velociped, Versageek, Viajero, Victorgrigas, Vincent stehle,
Vironex, Vorash, Vrenator, Waldir, Wangi, Warlordwolf, Wavelength, Wayne Slam, Wayward, Webpageone.co.uk, Wellreadone, Wesley, Widr, Wik, Wikidenizen, Will Beback Auto, Wiml,
Wolfkeeper, Wrs1864, Wtfunkymonkey, Wuyanhuiyishi, Wvithanage, XDnonameXD, Xkoalax, Xpclient, Yacht, Yamakiri, Yandman, Yaronf, Yoelzanger, Youssefsan, Zak123321, Zarex,
Zephyrxero, Zicko1, ZimZalaBim, Zso, Zzuuzz, Милан Јелисавчић, 1620 anonymous edits
CAN bus Source: http://en.wikipedia.org/w/index.php?oldid=565619429 Contributors: 2001:db8, 2A01:E35:8A15:9E60:E140:423E:8D06:166B, AGlossop, Aaron Nitro Danielson, AbuJazar,
Accounting4Taste, Aechols, Agl, Ahoerstemeier, Ajn1, Akadruid, Albramallo, Alex.muller, Alexandreag, Allen Moore, Amorymeltzer, Anapaulasag, Andre maier, Andy Dingley, Arjayay,
Armistej, Asher196, Attilios, Automotive joe, Axlq, BIL, Benburleson, Betsytimmer, Biker Biker, Bobblewik, Bsilverthorn, CAkira, Calltech, CanisRufus, Cburnett, Chrisbolt, Colin Marquardt,
Corwin8, D rock naut, DAALIYA, Deeptrivia, Denisarona, Depictionimage, DerHexer, Dicklyon, Dmorr, Dpotop, Drunken Pirate, Ee79, Egil, Electron9, Eliyahu S, Enric Naval, Erniotti,
Fahidka, Finlay McWalter, Fleminra, Ft1, Fxhomie, Gabriel Kielland, Gejigeji, GoingBatty, Grafen, Gregmelson, Gtwfan52, Guy Harris, GyroMagician, Harriv, Heron, Hidayat ullah, Hmpeople,
Hobsonlane, Hondrej, Hopp, IamNotU, IanOsgood, Idonra, Invernizzi.l, Inwind, Iviney, JacobBramley, Jidan, Jni, Joel7687, John of Reading, JohnCD, Johnny.cespedes, JonHarder, Jredders,
Jschnur, JuergenKlueser, Juggers2k, Katharineamy, Kdub432, Khazar, Kinema, Kingdon, KnowledgeOfSelf, Kramer-Wolf, Kris iyer, Lakshmank85, Langerwolfgang, Leeraphael, MC
MasterChef, MStock, Marcelosr, Marco Guardigli, Marius siuram, MarkO555, MaxSem, Mc cappy, Mdem, Meestaplu, Meise, Miceduan, Michael Hardy, Millermk, MisterTS, Mortense,
Mpeg4codec, MrOllie, Nasa-verve, Natevw, Niteowlneils, Nixdorf, Notyetinspace, Ondrejandrej, Patpou77, Pentawing, Philippe, Phosphoricx, Pikamander2, Pingveno, Plindemann, Plupp01,
Ponchobonjo, Quibik, Qxz, Radartooth, Ramtam, Rcpinto, Reply123, Robert K S, Rocketmagnet, Rocketrod1960, RolfBly, Ronz, Rotmat, Russella, Rvoorhees, SD5, SGBailey, Sagie, Sam8,
Sbmeirow, Scientus, Selket, Sertrel, SethML, Shaddack, Simon04, Skomorokh, SlackerMom, Slgrandson, Stannered, StealthFox, Stobor827, Suruena, TFolsom, TastyPoutine, Thaiio,
TheAllSeeingEye, Thebigandroid, Thomas888b, Thunderbird2, TinyMark, Tony1, Tpikonen, Trailprice, Treekids, Triplestop, Tyler, Vanished user 34958, Vegaswikian, Versageek, Waheed446,
Wdfarmer, Wikfr, Wikipedia tang, Wleizero, Wolfch, Woohookitty, Xoneca, Xylome, Yoenit, Zer0431, Zigger, ²¹², 499 anonymous edits
Frame (networking) Source: http://en.wikipedia.org/w/index.php?oldid=552861959 Contributors: [email protected], Aleksey Gerasimov, Anon lynx, Barcex, BigFatBuddha, Bookandcoffee, Brewcrewer,
Casablanca2000in, David Haslam, Debresser, Deville, Dewritech, Dysprosia, Eyreland, Ghaly, Guy Harris, Hadal, Ixfd64, JonHarder, KnowledgeOfSelf, Kvng, LachlanA, Luna Santin, Mac,
Mange01, Missionary, Nancy, Nuno Tavares, Patrick, Phatom87, Rocketgoat, Sephiroth storm, Statkit1, The Anome, Theopolisme, TripleF, Twinkie Assassin, Waskage, Willy on Wheels over
Ethernet, Wk muriithi, Wmasterj, Zack, Σ, 48 anonymous edits
80
Image Sources, Licenses and Contributors
Image Sources, Licenses and Contributors
Image:Ethernet.png Source: http://en.wikipedia.org/w/index.php?title=File:Ethernet.png License: GNU Free Documentation License Contributors: Fuebar, Ilario, Ustas, 1 anonymous edits
File:OSI-model-Communication.svg Source: http://en.wikipedia.org/w/index.php?title=File:OSI-model-Communication.svg License: Public Domain Contributors: Runtux
File:Pdu_and_sdu.svg Source: http://en.wikipedia.org/w/index.php?title=File:Pdu_and_sdu.svg License: Public Domain Contributors: Mik81
File:PD-icon.svg Source: http://en.wikipedia.org/w/index.php?title=File:PD-icon.svg License: Public Domain Contributors: Alex.muller, Anomie, Anonymous Dissident, CBM, MBisanz, PBS,
Quadell, Rocket000, Strangerer, Timotheus Canens, 1 anonymous edits
Image:csma ca.svg Source: http://en.wikipedia.org/w/index.php?title=File:Csma_ca.svg License: Attribution Contributors: jjgarcia.tsc
Image:CSMACD-Algorithm.svg Source: http://en.wikipedia.org/w/index.php?title=File:CSMACD-Algorithm.svg License: Public Domain Contributors: Runtux
Image:Ethernet RJ45 connector p1160054.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Ethernet_RJ45_connector_p1160054.jpg License: Creative Commons
Attribution-ShareAlike 3.0 Unported Contributors: User:David.Monniaux
File:Ethernet Connection.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Ethernet_Connection.jpg License: Creative Commons Attribution-Sharealike 3.0 Contributors:
User:Someone's Moving Castle
File:10Base5transcievers.jpg Source: http://en.wikipedia.org/w/index.php?title=File:10Base5transcievers.jpg License: Creative Commons Attribution-Sharealike 2.5 Contributors: Original
uploader was Robert.Harker at en.wikipedia
Image:Network card.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Network_card.jpg License: GNU Free Documentation License Contributors: User:Nixdorf
File:Network switches.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Network_switches.jpg License: unknown Contributors: ShakataGaNai
File:Coreswitch (2634205113).jpg Source: http://en.wikipedia.org/w/index.php?title=File:Coreswitch_(2634205113).jpg License: Creative Commons Attribution-Sharealike 2.0 Contributors:
Dave Fischer
File:SMSC LAN91C110 ethernet chip.jpg Source: http://en.wikipedia.org/w/index.php?title=File:SMSC_LAN91C110_ethernet_chip.jpg License: Creative Commons Attribution-Sharealike
3.0 Contributors: User:Nixdorf
Image:Ipv4 address.svg Source: http://en.wikipedia.org/w/index.php?title=File:Ipv4_address.svg License: Public Domain Contributors: Indeterminate
Image:Ipv6 address.svg Source: http://en.wikipedia.org/w/index.php?title=File:Ipv6_address.svg License: Public Domain Contributors: Indeterminate
File:Siemens ESM TP80.JPG Source: http://en.wikipedia.org/w/index.php?title=File:Siemens_ESM_TP80.JPG License: Public Domain Contributors: Mixabest
File:0x-pb-stecker-verschieden.jpg Source: http://en.wikipedia.org/w/index.php?title=File:0x-pb-stecker-verschieden.jpg License: Creative Commons Attribution-Sharealike 2.0 Contributors:
Original uploader was Oxensepp at de.wikipedia
Image:P2P-network.svg Source: http://en.wikipedia.org/w/index.php?title=File:P2P-network.svg License: Public Domain Contributors: User:Mauro Bieg
Image:Server-based-network.svg Source: http://en.wikipedia.org/w/index.php?title=File:Server-based-network.svg License: GNU Lesser General Public License Contributors: User:Mauro
Bieg
File:Unstructured peer-to-peer network diagram.png Source: http://en.wikipedia.org/w/index.php?title=File:Unstructured_peer-to-peer_network_diagram.png License: Creative Commons
Zero Contributors: Mesoderm
File:Structured (DHT) peer-to-peer network diagram.png Source: http://en.wikipedia.org/w/index.php?title=File:Structured_(DHT)_peer-to-peer_network_diagram.png License: Creative
Commons Zero Contributors: Mesoderm
File:DHT en.svg Source: http://en.wikipedia.org/w/index.php?title=File:DHT_en.svg License: Public Domain Contributors: Jnlin
File:Torrentcomp small.gif Source: http://en.wikipedia.org/w/index.php?title=File:Torrentcomp_small.gif License: GNU Free Documentation License Contributors: Frigotoni, Holek, Joolz,
Mdd, Senator2029, Sputnik, Wikiadd, Wknight94, Ypacaraí, 3 anonymous edits
File:AMule 2.3.1 screenshot (active downloads).png Source: http://en.wikipedia.org/w/index.php?title=File:AMule_2.3.1_screenshot_(active_downloads).png License: GNU Free
Documentation License Contributors: Mesoderm
Image:CAN Bit Timing2.svg Source: http://en.wikipedia.org/w/index.php?title=File:CAN_Bit_Timing2.svg License: Public domain Contributors: en:User:Rocketmagnet, traced by
User:Stannered
File:CAN-Bus Elektrische Zweidrahtleitung.svg Source: http://en.wikipedia.org/w/index.php?title=File:CAN-Bus_Elektrische_Zweidrahtleitung.svg License: unknown Contributors:
Alexander.stohr, Stefan-Xp
File:CAN-Bus-frame in base format without stuffbits.png Source: http://en.wikipedia.org/w/index.php?title=File:CAN-Bus-frame_in_base_format_without_stuffbits.png License: Creative
Commons Attribution-Sharealike 3.0 Contributors: Erniotti
81
License
License
Creative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/
82
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement