Skip to main content

UTP Network Representation

MPPUTP posted a post at their news blog about the DirectConnect file transfer is the one that affecting the Internet connection of UTP. And they showed this diagram

Dear MPP, obviously you are taking this image blindly without checking at how the UTP network functions. Its either you are being tricked about the design, or the real UTP network design is really that severely flawed.

Here, let me show you the map of the UTP network, from the the IP number point of view. I draw this map based on my experience analyzing the network structure of UTP to get around certain things to link up the UTPchat servers. How villages are separated, how stuff are being laid out. However, note that this map is mainly based on IP data and base routing only. I couldn't map VLANs and others lower level networking architecture because of the limitation of the access I have.

Let begin with the overall layout, [Image 1]

Opps ... like a web? .. oh yes it is... however, weblike doesnt mean bad. More redundant link will help reduce bottlenecks the core. The Internet have a lot of redundant links, just in case one link is down or overload, the other will take over. UTP have some redundant links, but theres something looks fishy with it. I'll explain later in this post.

Next up .. the per-village network~. I'll only show 1 village here, with 3 blocks (getting everything to be put here, is too much). [Image 2]

Now now now, this is where you file transfers are causing the perception of slow Internet connection. As you can see there, for block A traffic to get to block B, it will need to go through Block A's router then Block B's router. What makes it slow is .. 1 block, theres at least 250 IP available for use, imagine 250 computers, trying to transfer files across different blocks through one gateway. Theres only one phrase to describe that, HEAVY BOTTLENECK!. Transfer for people on the same block will need to go through the switch of the block. When too many traffic going through one gateway, the gateway became overloaded, collisions start happening, etc.

DirectConnect servers mostly handles clients on the same-village, any transfer between block of the same , by rights, won't be affecting the upstream internet connection. Unless ... somebody set the routing rules sooooo crazy, that it forces everything to meet at one point before passing it to the other blocks. The diagram you MPP show us, if that really is the real UTP network, than something really need to be done. When you make everything meet at one point, obviously, that one point become the single point of failure. Network routers and switches have maximum capacity, you cant simply direct all those 4000 100mbps LAN traffic through the central network. If you do, obviously ,when those 4000 users start transfering, for example, 1mbps (128KBps) traffic between them (not through the Internet), you'll end up with your central network had to handle all those 4000mbps traffic. The trick is to make each network able to send same-village traffic with the shortest route possible, and provide multiple routes so that when one route is overloaded, it will fallback to another.

Btw, DirectConnect, fyi , is not a virtual network. Its just a server which provide one point where users can share the file listing of what being shared on their system. Whenever a transfer occurs, it doesnt go through the DirectConnect server anymore. Its purely between the users and the other users. Imagine the server as a MatchMaker, and 2 clients as a Guy and a Gal. The MatchMaker only become the middle person to match the Guy and Gal with each other. Once the Guy and Gal met, the MatchMaker task ended there, whatever happened afterward, is between those two, the MatchMaker have no business neither control about it. The DirectConnect hubs in no way connected to each other over villages. They are just yet another computer on UTP network, all limitation of the UTP network applies to them too. So, that blue bubble in your diagram, is 100% inaccurate.

Okay thats all for now. If I want to explain more indepth of the network design from my analysis, it going to take a very long paper here. Plus, my data is not 100% accurate as I can only view from the IP level of the communication across UTP computers, I will need more access to the network devices and some worthy motivation if you want me to do a proper analysis of the design. I'm not quite supportive to those DirectConnect hubs and filesharing of illegal softwares. The only set of thing I see as okay to be shared are those TV Series, Anime, Free and Open Source Softwares, documents. TV Series and Anime are grey in the legal area because they available freely on the TV in the first place. But Movies, pirated softwares, porns, MP3/music, are generally very clear they stay in the Illegal area, and I am quite against them. However, your blaming that DirectConnect affect the UTP Internet connection is very inaccurate and I can't make myself not to rant. As you can see, DirectConnect handles same-village clients, if there really are overload of traffic, it is happening within the network itself, but not at the gateway to Internet. Of course, I noticed that V1, V2,V4 suddenly connected together while its not supposed to be, but still, it misses the point, if the design is correct, traffic should not go through the servers/gateway to the Internet. Unless, like I said again, some stupid person have set the routers to go through one single point and caused everything to get clogged when heavy traffic.

If UTP network is really designed centralized like the diagram you show us, my suggestion, its time for ITMS to learn how to layout everything in a decentralized way or hire someone to design it out. Centralized network design for a lot of traffic is soo not cool, it can't handle all this 4000 students traffic elegantly, breaks easily, and causes bottleneck at the center.

Popular posts from this blog

Consolidated community site infrastructure on Plone

In Inigo, we believe in helping out local FOSS communities and help them grow. We help out in community events where we can, present FOSS talks, and provide some platforms for local communities to grow. One of such platform is our consolidated community site infrastructure on Plone.

The system/infra and its components was originally developed for the Fedora Malaysia website, while keeping in mind to keep it generic enough so that other communities could use the same components for their own community sites. The infra is already at a usable state, and we can add new sites easily with just a few clicks.

Features in this consolidated infra are:
Document/Content management (Plone built-in)Calendar system (powered by solgema.fullcalendar addon)Conference/BarCamp system (powered by collective.conference addon, which was developed for FUDCon Kuala Lumpur 2012)Blog (powered by Products.Scrawl)Simple yet powerful theming engine (powered by Diazo) - Check out Diazo, you'l…

HOWTO: Mirroring Yum repositories using Yum-Utils

As promised before in one of my previous post, a Howto on how to mirror and manage yum repositories using some of the utilities in yum-utils.

The first step is, well, of course, is to get yum-utils from fedora repository
yum install yum-utils

Reposync is a utility for mirroring and synchronizing local copy of a yum/rpmmetadata repository.

This utility is very useful if you wanted to make a yum repository mirror. Before this, I used "wget -R -np -N" but this method is a little bit tedious and it doesnt work with repos that didn't use directory listing. Plus, it also download together additional site stuff that I don't need/want and it doesn't verify checksum of the downloaded packages.

Mirroring a repo using this utility is easy, just execute this command
reposync -r <repoid> -a <arch> -n
and the repo will be mirrored in a folder with the same name of the repoid in the directory you executed the command. Eg: you executed the command in /mnt/storage/mi…

Tee'ing Python subprocess.Popen output

A little hack for python coders out there who wanted to have a functionality similar to the unix's tee command for redirecting output to multiple places.

import sys
from subprocess import Popen,PIPE
p = Popen(['put','command','and','arguments','here'],stdout=PIPE)

while True:
o = p.stdout.readline()
if o == '' and p.poll() != None: break
# the 'o' variable stores a line from the command's stdout
# do anything u wish with the 'o' variable here
# this loop will break once theres a blank output
# from stdout and the subprocess have ended