Skip to main content

UNICAST, MULTICAST, BROADCAST

When traffic is passed between hosts on a network, three different transmission mechanisms are possible. These include unicasts, multicasts, and broadcasts.

Unicasts

A unicast is the most simple network transmission. As the name suggests, it is a direct transmission from one system to one other system only. As such, the destination address will always uniquely identify a single host for whom the data is meant. In a shared Ethernet environment (where a system might be exposed to all frames), systems would check to see whether the destination MAC address matched their own. If it did, it would process the frame. If not, it would discard the frame. On an IP-based network, the address 192.168.1.24 represents a unicast address.

Multicasts

Unlike unicasts, which are meant for a single host, a multicast is meant for a group of systems. Think of multicasts as a one-to-many transmission method. Multicasts are generally used when traffic such as video needs to be passed to many hosts at the same time. In this way, a sender would transmit a single stream of data, which would in turn be picked up by many different hosts. On IP networks, a special group of addresses is reserved for multicasting, those in the Class D range. When multiple hosts need to receive a multicast, they are all configured with an identical multicast IP address. When they receive traffic destined for this shared address, they process it. Do not confuse a multicast address with a regular IP address. In this example, all systems still have a unique IP address, but also “listen in” on a configured multicast address.

Broadcasts

The final type of network transmission is a broadcast. Quite simply, a broadcast is a transmission destined for all hosts. A special destination address designates a broadcast – in Ethernet, the broadcast address is FF-FF-FF-FF-FF-FF. When a host sees frames with this destination MAC address, it knows it has to process the frames. While excessive broadcasts on a network are generally undesirable, many network services depend on this type of transmission.

Comments

Popular posts from this blog

Sexy C#

Download samples   Table of Contents   1.   Introduction  2.   Background    3.   Sexy Features 3.1.   Extension Methods   3.2.   Anonymous Type   3.3.   Delegate   3.4.   Lambda Expression 3.5.   Async-Await Pair   3.6.   Generics   4.   Conclusion   1. Introduction     C#  is a very popular programming language. It is mostly popular in the .NET arena. The main reason behind that is the C# language contains so many useful features. It is actually a multi-paradigm programming language. Q.   Why do we call C# a muti-paradigm programming language? A.  Well, C# has the following characteristics:  Strongly typed   Object Oriented  Functional  Declarative Programming  Imperative Programming   Component based Programming Dynamic Programming ...

Banyan VINES

Banyan VINES Banyan Virtual Integrated Network Service (VINES) implements a distributed network operating system based on a proprietary protocol family derived from the Xerox Corporation's Xerox Network Systems (XNS) protocols. VINES uses a client/server architecture in which clients request certain services, such as file and printer access, from servers. This article provides a summary of VINES communications protocols. The VINES protocol stack is illustrated in  Figure: The VINES Protocol Stack Consists of Five Separate Levels . Guide Contents Internetworking Basics LAN Technologies WAN Technologies Internet Protocols Bridging and Switching Routing Network Management Voice/Data Integration Technologies Wireless Technologies Cable Access Technologies Dial-up Technology Security Technologies Quality of Service Networking Network Caching Technologies IBM Network Management Multiservice Access Technologies Contents   [ hide ] 1   Figure:...

Running Openstack into Linux Containers (LXC on Debian)

The devstack project is an interesting tool to deploy a complete OpenStack development environment from source code. I’ve been using it from one year in my development activities on Neutron. For that, I set up an isolated VM (libvirt or VirtalBox through Vagrant), but I found that environment isn’t very efficient (too slow and uses lot of memory). Furthermore, when you developing network stack, you need to set up more than one node (three is a good number to test network virtualization). This is why I try to set up that environment into containers (LXC). Setup LXC environment I work on Debian testing release (Jessie) which uses the kernel 3.11 release. devstack supports Debian distribution thanks to the  Emilien Macchi’s commit . I use LXC experimental Debian package to be able to use the new template ‘lxc-debconfig’ which is more efficient when deploying a Debian container and; it can use preseed config file to set up the container: $ sudo 'deb http://ftp.debian.org/debian ...