I am fairly new to networking but have done manual Linux command line wireless connections and home router configuration.

The internet is full of how-to guides on transferring files between two computers, but what really is the theory behind what happens when two computers are connected via ethernet cable? I have a Windows 10 box and an Ubuntu 14 box, and both are smart enough to detect a connection, and for some reason assign ipv6 addresses to each other. The how-to manuals explain that a cross over cable is needed to transfer files, but I don't understand why that is necessary when I can connect the computers to a designated router, without even plugging into the internet, and access websites served up from either box.

Are there specific programs responsible for automatically detecting the connection? What happens beyond that?

I apologize if I am not being specific enough. I'm hoping for a good whole-picture answer, as so much is taught piece-meal. While I am it, is learning piece-meal just how networking must be learned before the big picture comes into perspective?

  • Your question is not clear. Did you hear about midx? that is the way that switches and routers detect the cable type and switch automaticaly between cross over and direct connection across the same cable Apr 30 '16 at 2:12

This question is really too broad to give you a complete answer. You are really asking about a subject for which libraries exist.

What happens when you connect two hosts with a UTP cable in their ethernet ports depends on the ethernet standards. With modern equipment and 1000BASE-T capable ports, the cable does not need to be a crossover cable, and the two ethernet ports will negotiate things like MDI/MDI-X, speed, and duplex. This doesn't involve any program on your host. You need to read up on the ethernet standards.

The earlier ethernet standards, without Auto-MDI/X, required crossover cables when connecting two like devices (e.g. host or router to host or router, hub or switch to hub or switch), but dissimilar devices (host or router to switch or hub) could use a straight-through cable.

Modern OSes have IPv6 enabled by default, and they prefer IPv6. Also, IPv6 can self-configure addressing.

Regarding your request for the whole picture, you need to learn about the network layers. There are multiple models, but the OSI model is something everyone learns. Just understand that these are just models, and don't necessarily reflect the real world. You will learn about abstraction between the layers, and how each layer is independent of the other layers. Ethernet involves both layer-1, the physical layer (multiple different media), and layer-2. IP, both IPv4 and IPv6, are at layer-3, and TCP and UDP are at layer-4.

Just because the world seems to revolve around ethernet or Wi-Fi (a separate protocol from ethernet, both at layer-1 and layer-2), IP, and TCP/UDP, don't fool yourself into thinking these are the only protocols at layers 1 to 4. For instance, UTP cabling (layer-1) can be used for various layer-1/2 protocols, even POTS or token-ring, and it can transport various layer-2 protocols, like IPv4, IPX, IPv6, etc. IP is not restricted to UTP cabling, either.

  • 1
    this does actually give me what I need. many of the terms you used are currently unfamiliar to me, but they provide a solid ground and guidance for doing further research. thank you!
    – thesis
    May 1 '16 at 14:12

Not the answer you're looking for? Browse other questions tagged or ask your own question.