How Ethernet works?

There would be many of use who are presently in colleges and stay in touch with their mates via Ethernet present in colleges .Most libraries today also use Ethernet to make the access of books easier for the readers.

Now Ethernet basically works on a LAN, and is used for communication between the various nodes that are linked to each other. I want to specify that by nodes I mean the PCs and Laptops that have an Ethernet port present in them. Now suppose you want to send a message to your fellow mate using another port. What will happen is your message will be broadcasted on the network. But the question is how does the Ethernet know to whom the message is intended to. I mean you don’t wanna just broadcast your private message right. So, this is accomplished by the use of IP addresses. That are unique for every system. Now the packet or in Ethernet language the frame sent by you would be prefixed with a header that would contain the info about the source address and the destination address, to whom the message is intended to. Now every node that is connected to the network will receive a broadcast frame, and will look upon the destination address. If it matches its IP Address then it will take it otherwise it will discard it.

A Daily Life Example

Now Suppose that there is small room in which some well mannered people are having a conversation. Now, as they are smart and well mannered, before anyone would be willing to share something they would confirm that no one else is talking at that moment. And then only would they speak. This is what happens in Ethernet. If a node wants to broadcast a frame then it waits till the network becomes silent or the network is currently idle. Now coming back to the room example, suppose the everyone has finished and more than one person wants to share something. This situation is termed as collision. When this kind of situation occurs in the Ethernet then the node wait for a random amount of time, so that when the nodes have finished waiting they don’t collide again.

The Ethernet range is usually small like about 500 meters only. But in huge campuses, this kind of thing is undesirable. So repeaters are used to increase the range. The repeaters are basically devices that transfer the frame from one Ethernet segment to another, thereby increasing the range. 

Suppose the small room now becomes a larger room where there are many groups talking to each other at the same time. Now if every one follows the same procedure of mannerism that is waiting for others to finish and then start saying something. That wont be viable. But what happens when someone in your group is talking to you, you are able to distinguish that person’s voice from all the voices that are being heard at the same time. So ,  The probability of collision increases many folds and this leads to delay in communication and slows it. To resolve this network traffic issue, Bridges come into play. Bridges mostly function same as repeaters like transferring the frame from one segment to other. The network is divided into segments. When the frame comes to bridge it checks for the destination address and transfers the frame to that segment accordingly rather than simply broadcasting it to every other segment, it encounters. Bridges are able to reduce traffic upto some level. 

Switches were introduced later on to improvise the concept of bridges and to enhance the transfer speed between the network. Switched Ethernet allows a system to have its own segment and switches allow more segments to connect. Switches replaced the sharing technology with the dedicated station segment for each node. Switches on receiving the frame sends it to the appropriate segment. But since every segment is associated with an individual node, it allows the frame to sent only to the recipient. This allows many conversation to occur simultaneously on the switched network. Switched networks allowed the Ethernet to be full duplex that is node can send as well as receive at the same time. Since the nodes do not directly communicate with each other they do it via the switch, This allows the communication to be collision free. With the use of fiber optic cables transfer speeds of 100Mb/s to 1000Mb/s can be achieved. Switches allow the device to use the whole bandwidth for itself.

Now there is a difference between how the switches and how the routers do. Switches are considered to operable at layer 2 (Data-Link) of OSI Model i.e they work over the MAC addresses, and NIC. while the routers operate on layer 3 that includes IP addresses. Now consider a 4 way road. Suppose vehicles are coming from all four directions intersecting at a common point. Instead of waiting for the road to be clear Switches makes an exit pass for the vehicle that allows them to cross the point without waiting for others to stop. Thats why switches allow the device to use the whole bandwidth for sending and receiving data. In a network the devices can communicate easily if they know destination addresses of each other. Suppose a new device is added to the network. Then how would the other devices know its address. So when a new device enters the network it broadcasts a message which allows all the devices to save its address in their memory, and communicate directly from that point. 

How are routers different from this? Suppose on 4 way road, on reaching the intersection point you have to give the destination address to the border security guard before you can cross the road. Now if you dont know the destination address, then you cant pass. So routers dont allow broadcasts to be sent without knowing the destination address. This is where switches are used. Routers are used to connect two different networks.

Here’s a step-by-step description of transparent bridging:

  • The switch is added to the network, and the various segments are plugged into the switch’s ports.
  • A computer (Node A) on the first segment (Segment A) sends data to a computer (Node B) on another segment (Segment C).
  • The switch gets the first packet of data from Node A. It reads the MAC address and saves it to the lookup table for Segment A. The switch now knows where to find Node A anytime a packet is addressed to it. This process is called learning.
  • Since the switch does not know where Node B is, it sends the packet to all of the segments except the one that it arrived on (Segment A). When a switch sends a packet out to all segments to find a specific node, it is called flooding.
  • Node B gets the packet and sends a packet back to Node A in acknowledgement.
  • The packet from Node B arrives at the switch. Now the switch can add the MAC address of Node B to the lookup table for Segment C. Since the switch already knows the address of Node A, it sends the packet directly to it. Because Node A is on a different segment than Node B, the switch must connect the two segments to send the packet. This is known as forwarding.
  • The next packet from Node A to Node B arrives at the switch. The switch now has the address of Node B, too, so it forwards the packet directly to Node B.
  • Node C sends information to the switch for Node A. The switch looks at the MAC address for Node C and adds it to the lookup table for Segment A. The switch already has the address for Node A and determines that both nodes are on the same segment, so it does not need to connect Segment A to another segment for the data to travel from Node C to Node A. Therefore, the switch will ignore packets traveling between nodes on the same segment. This is filtering.
  • Learning and flooding continue as the switch adds nodes to the lookup tables. Most switches have plenty of memory in a switch for maintaining the lookup tables; but to optimize the use of this memory, they still remove older information so that the switch doesn’t waste time searching through stale addresses. To do this, switches use a technique called aging. Basically, when an entry is added to the lookup table for a node, it is given a timestamp. Each time a packet is received from a node, the timestamp is updated. The switch has a user-configurable timer that erases the entry after a certain amount of time with no activity from that node. This frees up valuable memory resources for other entries. As you can see, transparent bridging is a great and essentially maintenance-free way to add and manage all the information a switch needs to do its job!

In our example, two nodes share segment A, while the switch creates independent segments for Node B and Node D. In an ideal LAN-switched network, every node would have its own segment. This would eliminate the possibility of collisions and also the need for filtering.

Dpkg Lock in Ubuntu

Often using Ubuntu, especially when installing or updating an application,  /var/lib/dpkg/lock is acquired . And if the process turns into a infinite loop or stucks, then you may have to wait for a pretty long time.. which is really nasty. The error looks like this

E: Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)
  E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

So i saw a solution on internet a few days ago to undo the lock without deleting the file.

Now as i said this error occurs when you try to download a package using the command   ‘sudo apt-get install xyz
in the terminal while you have Synaptic package manager open (or vice versa) or in another terminal you are installing another package . The most common solution is just to wait for the other installation(s) to finish  and close the package manager if you are done with it. However, if the package manager is crashed in the middle some stuck-up  processes may still be using the lock (/var/lib/dpkg/lock).

In that case, use fuser to find out the runaway process(es); and while you’re at it, you may use -k flag which will kill the process that is still using /var/lib/dpkg/lock. Then configure (–configure) all the packages (-a) which are yet unpacked and unconfigured, using dpkg:
$ sudo fuser -vki /var/lib/dpkg/lock;

    $ sudo dpkg –configure -a

In the first command (fuser), the -i flag asks for user confirmation, and -v is for verbose mode.

After that, proceed to the usual installation step of the package that you want to install.

Nice n Easy!! Well there were some other ways too but i didnt trust’em. I found this solution convienient.

How to install Sublime Text 3 on Ubuntu/Windows and crack the license.

As we know how cool is the interface of Sublime Text 3, n I m sure the coders would enjoy using it. But unfortunately you have to purchase a license to use it.. But not any more .. Follow these steps for using Sublime Text without license..

For Windows

1. Download Sublime Text 3 from its official website as usual.. http://www.sublimetext.com/3

2. Now U need to get a hex-code editor to continue further. http://www.hexedit.com/

3. After this go to the location where you have installed Sublime Text and open the launcher file i.e. sublime text.exe file with hex-editor.

4. Now for

64 Bit Windows
Find:85 C0 0F 94 C0 88 05 D2 BA 41 00 84 C0
Replace:90 90 90 90 90 88 05 D2 BA 41 00 84 C0

32 Bit Windows
Find:74 03 33 FF 47 85 FF 0F 85 9A 06 00 00 BE 1C BE
Replace:75 03 33 FF 90 85 FF 0F 85 9A 06 00 00 BE 1C BE

After this start the sublime text application

Go to help->enter license

and copy this into it

—————————————————————————————————————————————-

– BEGIN License –
Love
Unlimited user license
EA7E-8441
918381ACA844A0379CCAC729059720A4
BC9D409098618744BB45FF23E67568DB
82B926D92157127DB3B4054834D0477F
DD9C2B251A57F2E3259E04AD9B7DB8B8
1778C37C1D3B494671C5F4ECFBD2B519
361CD9624A56C21F54F8DD51F5BDF799
68F9537ED74680494853423904F032BA
3E896607B4D398E8C897A4DD1A8CB449
– END the LICENSE –

—————————————————————————————————————————————————————-

For Linux/Ubuntu

For linux/ubuntu users go to the terminal. Install vim in it.

1. Open sublime_text with vim by typing “sudo vim /opt/sublime_text/sublime_text”(without quotes)

2. Convert to hex, type “:%!xxd“(without quotes)

3. Search and replace value by typing “:%s/7001 0000 8a9b b800 0000 e87f 3f00 0048/7001 0000 90b3 0190 9090 e87f 3f00 0048/“(without quotes)

4. Convert to binary, “:%!xxd -r“(without quotes)

5.  Save the file and exit, type “:wq”(without quotes)

Open the sublime text either by typing “subl”  in terminal or through the dash.

After that go to Help->Enter License

And copy this

– BEGIN License –
Love
Unlimited user license
EA7E-8441
918381ACA844A0379CCAC729059720A4
BC9D409098618744BB45FF23E67568DB
82B926D92157127DB3B4054834D0477F
DD9C2B251A57F2E3259E04AD9B7DB8B8
1778C37C1D3B494671C5F4ECFBD2B519
361CD9624A56C21F54F8DD51F5BDF799
68F9537ED74680494853423904F032BA
3E896607B4D398E8C897A4DD1A8CB449
– END the LICENSE –

 

And this should do it.. 😀

Hope it works. For further queries you can comment below.