Posts

Showing posts with the label internet

Sharing the Network: From Circuit Switching to Packet Switching (The Hitchhiker's Guide to Computer Networks)

Prelude ... From Circuit Switching to Packet Switching The simplest approach for two people to communicate over long distances is to connect them through a dedicate physical wire. However, how would we scale that model to a million people that individually want to be able to communicate with everyone else? One approach is to extend wires between all pairs of users, requiring hundreds of billions of wires.  This is definitely not a good way to design a network. So what's wrong with that design? First, it is unlikely that every single person in that network will want to talk to everyone else at the same time. This means that we can use fewer wires. Second, not all connections are created equal. Longer wires cost a lot more money than short ones. Our design should have short wires whenever possible. Also it will be nice if the cost of extending long wires is shared between multiple users at the same time. Let's revisit our connection strategy. Rather than extending wires betwe...

Video on Demand: Part 1 (The Hitchhiker's Guide to Computer Networks)

Image
Data from the 2019 Global Internet Phenomena Report Video is the dominant type of traffic on the Internet. In 2019, video on demand constituted 60% of the total global Internet traffic. The image to the right shows the huge gap between the bandwidth demand of video streaming and the second highest application which is web traffic (think email, blogs, and news). This means that if you are in the computer networks business, you are pretty much in the business of video delivery. So the biggest question here, what is the best way to deliver video?  The "best" in this context can mean a couple of different things. It can mean delivering the best quality video for the user. Video quality does not only refer to whether a video is in HD or UHD but also whether it freezes and hangs or not. The "best" way to deliver video can also mean the most cost efficient way. If we can save 1% of the cost of delivering all videos on the Internet, we can save tens of millions of dollars i...

The Hitchhiker's Guide to Computer Networks

Image
Introduction One of the few reliable things that didn't crumble under the pressure of quarantining and working from home is our digital infrastructure. It remains largely unaffected as we conduct most of our business activities online. This is no accident. It is the result of 40+ years of continuous research to make that infrastructure faster, cheaper, and more reliable. My goal writing this series is to shed some light on the different hidden aspects of our digital infrastructure. In doing so, I hope that I will help the reader get a behind the scene's view of what we take for granted when we are watching HD videos, buying our groceries online, and chatting online with people on the other side of the planet.  A typical Internet user pays for their Internet and online services (Netflix, Amazon Prime, Spotify, iCloud) with some expectations of the quality of experience they will receive. Users also expect that the way they interact with the digital world will keep improving. Th...

The evolution of Internet routing

Image
If you ask "how do I get a video from Netflix to my TV screen?" you will probably get a variety of answers depending on whom you ask. Here are a TL;DR of the answers you are most likely to get: the home setting answer "your access point gets the video from the Netflix over the Internet and sends it over wifi to your TV"  the smart apps and video encoding answer "the Netflix app creates an HTTP request specifying your account and some chunks of the video you are about to watch and the Netflix server replies with HTTP responses that contain the chunks" the Internet Protocol (IP) answer "your smart TV creates packets addressed to the Netflix server by its IP address. Based on the IP address, the packets are first sent to the access point which sends it over fiber or telephone landlines to the Internet Service Provider (ISP), like AT&T, the ISP then sends it to other networks which eventually deliver it to Netflix (the ISP can also directly deliv...

Where I am Spending my online and Why?

Well I have decided to check where I spend most of online time. You know Google Chrome and Firefox can do that for you so I took their results and my own analysis. GMX (Global Mail Exchange): My main server. I started using it about 2 years ago when I found out its ad on a PC world page. What attracted me to it was that I could actually have myname@gmx.us, I can have more than one address with the same inbox and it was FREE. Back then the user interface was bad and it took forever to load but I liked that it was desktop like. Now with their new home page, fast loading time, support of POP3/IMAP, largest set of available Arabic addresses and being ads free I recommend it to everyone. Google Reader : Until 2 months ago I used My Yahoo! to read the feeds I liked. It had a lot of drawbacks, if you have more than 10 feeds you'll spend a lot of time trying to reach them, the boxes were are not a good idea for blogs feeds, actually it was not built to handle 100 feeds with updates ha...