Collision domain
From Wikipedia, the free encyclopedia
A collision domain is a logical network segment where data packets can "collide" with one another for being sent on a shared medium, in particular in the Ethernet networking protocol.
This is an Ethernet term used to describe a network scenario wherein one particular device sends a packet on a network segment, forcing every other device on that same segment to pay attention to it.
Contents |
[edit] Collision Domain
Collision Domain [ Network ]
Definition 1:
A group of Ethernet or Fast Ethernet devices in a CSMA/CD LAN that are connected by repeaters and compete for access on 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.
Definition 2:
A collision domain is a logical area in a computer network where data packets can "collide" with one another, in particular in the Ethernet networking protocol. The more collisions in a network the less efficient it is.
Note :
CSMA/CD : Short for Carrier Sense Multiple Access / Collision Detection, a set of rules determining how network devices respond when two devices attempt to use a data channel simultaneously (called a collision). Standard Ethernet networks use CSMA/CD to physically monitor the traffic on the line at participating stations. If no transmission is taking place at the time, the particular station can transmit. If two stations attempt to transmit simultaneously, this causes a collision, which is detected by all participating stations. After a random time interval, the stations that collided attempt to transmit again. If another collision occurs, the time intervals from which the random waiting time is selected are increased step by step. This is known as exponential back off.
CSMA/CD is a type of contention protocol. Networks using the CSMA/CD procedure are simple to implement but do not have deterministic transmission characteristics. The CSMA/CD method is internationally standardized in IEEE 802.3 and ISO 8802.3.
[edit] Colloquial usage
The term collision domain may also be used to refer to a system in which a single name or identifier is open to multiple interpretations by different layers or processing. The notion of a namespace has been widely adopted as a software programming practice to avert undesired clashes.
The analogy to ethernet collision domains is rather direct. In many cases, a small software system that begins life with little concern for namespace semantics later grows to become a large software system with undesirable and problematic collision domains (concerning names used within the system) that a mature architectural approach would have eliminated in the design phase. It is no longer considered acceptable practice to design a system without considering namespace semantics. The C preprocessor is a good example of a language facility that remains pervasive, which is no longer accepted as good practice. [1] The same evolution has taken place from the older generation of broadcast ethernet hubs which functioned as collision domains, but have now been replaced by superior switched devices which relegate this problem to the dustbin of rotary dial telephones and vinyl recordings.
Conceptually, however, the metaphor is indirect because broadcast ethernet involves collisions in time concerning a shared resource (the transmission line), rather than collisions in the naming of objects or services.
[edit] References
- ^ Bjarne Stroustrup complains about this bitterly in The Design and Evolution of C++.