/ notes

# Virtual Networking

# Network Namespaces

Bare Metal -> Virtual Machines -> Containers

namespaces: what resources and naming of those resources a process sees (file descriptors, ip addresses)

cgroup: (control groups) groups processes and allocates resources (CPU, Memory) that the kernel enforces.

Processes inherent from a parent but can exist in their own namespace. Root namespace is where user interacts.

ip netns tool for process network namespace management

then you can add ip addresses to each device and communicate between the two

Useful tools for setting up virtual networking in linux namespaces:

ip netns list
ip netns exec
ip route
ethtool
ip link
ping
tshark
tcpdump

# Docker

Docker includes a client (cli) that interacts with a host (daemon) that pulls images from the registry (web api).

A docker container is:

Docker daemon doesn't create a reference of the network namespace file in the /var/run/netns directory.

docker0 is a default network bridge that all containers attach to (unless otherwise specified)