I was really excited for one of the network engineers to give a talk at Girl Geek Dinner. It’s easy to complain as a software engineer that people don’t appreciate what you do, but in networking that is actually true – people just complain when it goes wrong! I took a lot of notes, but Jen was really, really hilarious, and there is no way I will be able to convey that.
Quote from Sun: the Network is the Computer.
The network should be transparent for users, they shouldn’t worry about it. It should just work.
There are lots of things hiding in a diagram of “a network” – routers, switches, and firewalls (firewalls mostly break connectivity).
Network Engineers look after stuff. She’s a plumber, looking after pipes.
When trying to watch a YouTube video, the laptop is sending magic packets to the server. The bad news is, that sometimes returning packets have a different path.
Lots of users (pipes!), and a lot of stuff can break. Try to monitor and fix all broken stuff – need to know what is broken before users complain. See: The 10 Most Bizarre and Annoying Causes of Fiber Cuts.
Animals! Shotguns! Digging equipment! Daily fiber cuts in India, because people are always digging stuff. They find a cable and don’t stop because if they stop they know who will be upset, but if they keep digging no-one will be upset, or at least the people who will be upset will be pretty far away! Like – in Sydney.
Awesome video of a shark trying to bite an undersea cable. The cable is OK, digging equipment is more dangerous to cables than sharks – the poor shark is still hungry.
What Network Engineers do:
- Consider how the network should be done.
- Whiteboard, books, paper.
- Make a nice network design.
- Get equipment.
- Sometimes get onsite and deploy.
- Hard being a woman in engineering, have to be able to do heavy job (carry heavy equipment!) or avoid it.
Should be quiet, but pages everywhere when things go wrong. So monitor the network – can often find problems in other networks, finds herself troubleshooting other people’s networks.
Troubleshooting designs for network – feel like no idea what she’s doing. People usually have some specialisation now, but before working for Google customers would come with a broad range of questions that she wouldn’t immediately know the answer to.
Used to be that the network was like the old telephone network. Connection was OK, you would know you had a connection, and bandwidth. This did not scale – cannot do this with a lot of users.
Then, each device is independent. Each router makes a decision. Sometimes routers will have a different view of the network – then you can get loops. There are ways to break loops after a while. Each router needs memory and CPU. Needs more and more, because the potential route complexity is always increasing.
Next, every router does not make a decision. Want to send important packets a fast/expensive way, and other traffic (like P2P) another way. This is Traffic Engineering. End to end paths, so only the first router needs to make a decision about the route.
Then, in a Software Defined Network, you put the brain outside the network. There are lots of stupid routers but just one brain (or, two, or three, depending on redundancy).
IPv4 – 32 bits. Not many, have spent almost all of them. There are none left in APAC, so if you wanted to start a small ISP you would not be able to get enough.
IPv6, people saw the problems with IPv4 a long time ago and came up with a solution. But people are lazy and complain that they can’t remember a long number. You’re not supposed to remember it! You’re expected to use DNS.
To support IPv6 you need to change:
- End user OS
- Network Infrastructure
- Users do not care
- ISPs say that users don’t ask, and there is no content.
- Content providers say there are no users.
Users shouldn’t care!
It’s not so bad. IPv6 adoption is increasing, about 1.5% worldwide. Some places it is 0, and some ISPs more like 80%. Australia is good, Switzerland is better.
June 2012 was the world IPv6 launch. Internode has 3.6% of users on IPv6, which is double worldwide average.
For Software Engineers, it’s a lot of work. See: Making Application iPv6 Compatible. It’s not just a new address, it is a lot of boring work. The devil is in the details!