Spring 2021, Mondays 5:30-8:00
January 25
What this course is about: Networking "at scale".
TCP Cubic: didn't quite get to. We did cover just where the high-bandwidth TCP problem comes from. See Section 21.6, and chapters 19 and 20.
Other TCPs
from iximiuz.com/en/posts/container-networking-is-simple.
Create the namespace, name netns0:
ip netns add netns0
(to delete it later: ip netns delete netns0)
List the namespace:
ip netns
ls /var/run/netns
Enter the namespace:
nsenter --net=/var/run/netns/netns0 bash
Create a virtual ethernet (veth):
ip link add veth0 type veth peer name ceth0
ip link list
This creates a link with two interfaces, veth0 and ceth0. We do this outside netns0. The next step is to move ceth0 into netns0:
ip link set ceth0 netns netns0
Now we can see ceth0 using our shell running in netns0. The next step is to give veth0 and ceth0 IP addresses:
outside netns0:
ip link set veth0 up
ip addr add 172.10.0.1/16 dev veth0
inside netns0:
ip link set ceth0 up
ip addr add 172.10.0.2/16 dev ceth0
Now they can ping one another, or talk to each other via netcat.
If we have multiple namespaces, we either must put them on separate subnets or else connect them via a virtual switch.
(Didn't get to on 1/25)
Simple example of TCP traffic:
h1---s1---h2