Saturday, June 25, 2011

Internship @ A Service Provider

The summer of 2011 was getting stressful than the last semester. As usual, i had a BIG to-do list. One of the task was sorta necessary and i was looking forward to it i.e. a 21 day internship, to be done as a part of our Bachelor of Engineering's course in Computer Science.
This year, BSNL a.k.a. Bharat Sanchar Nigam Limited (India's Largest Internet Service Provider) was hosting training for 2/3 year engineering students of Electronics/Electrical/Computer Science students. The RTTC (Regional Telecom Training Center) which is only one for a particular state was nearby my home. I initially joined their 4 weeks programme.

The RTTC is quite big, consisting of 3 floors, equipped with large lecture halls, conference rooms, seminar halls, a library, communication labs along with a separate MSC (Mobile Switching Center) and offices of the instructors (or rather employees of BSNL)

The first day, our mentor (more of a batch in-charge) T. D. Mishra, introduced himself and other senior employees present there. He handed over our schedule to us along with the timings. The four weeks were divided into separate units that include sessions, labs as well as visits to telephone exchanges. The lectures started with the overview of telecom networks and job opportunities for engineering students in the field of telecommunication. In the first week, we covered The PCM Principle along with Digital Switching. These topics demonstrate how every bit of your voice that u speak in your telephone reaches from point A to point B within no time via a huge network starting from the local loop(the line from your home which connects to the service provider's nearest exchange) to the ISP's switching modules, trunk lines (hopping from one exchange to the other) via copper or optical fibers to the correct exchange which further routes the signal to the nearest exchange the called person is connected to and finally transmitting it via another local loop to the correct telephone which decodes the signal back to comprehensible voice that the other person is able to hear and respond to in a similar manner.


Fun Fact: A mobile number generally is over 100 digits long! This includes all codes and identification numbers that can be used to pin-point a particular SIM card uniquely in the entire world. But when limited to within a country and considering the large amount of Service providers present, subscribers need to only remember 10 digits.

The second week was fun, conceptually as well as physically. We had a fiber optic systems session, coupled with SDH and DWDM concepts. Then two labs relating to fiber optics, where we understood how practically SDH systems are laid out in a large service provider's network, how they actually work and in what manner are they easy to troubleshoot.

Fun fact: A single optical fiber can be used to such an extent that it can facilitate simultaneous 1,25,000 calls via wavelength windows and loads of multiplexing. This is the reason why tariffs exist that reduce calls costs to only a few cents per minute.

Following this, the most interesting lab was where we got to join two optical fibers by fusion spilicing. The week ended with our first exchange visit where we got to enter all the rooms that stated "No Entry" or "Not Allowed" :-) including the MDF (Main Distribution Frame) Room, Switching and Power/Backup rooms.


Side View of MDF room (Click to view Full size image)
       
The third week seemed small to me, but it had great sessions, especially the GSM and CDMA parts as well as the visit to the Mobile Switching Center. I could not manage to get pictures of the inside of the MSC, but it was fascinating how it served millions of subscribers simultaneously.

Fun Fact: GSM is the most widely used mobile communication standard, because of which it is termed as "Global Systems for Mobile Communications"


(Click to view full size image)
Fig: A section of the MDF installed in an exchange. The mesh of wires terminating into vertical white boxes(called as modules) interconnect the subscriber's landline to the exchange's switching system
The final week was the best of them all as it included the concept of Intelligent Networks (seriously, that was a wow!), how SSP's, SCP's and SMP's work together in a secure manner to provide amazing services throughout the country. The last visit was to the biggest exchange in the city. Except for WiMAX, every other technology was implemented, including the 16Mbps-100Mbps fiber lines that provided high end connectivity to subscribers (IIRC it was implemented by using a HUAWEI box). Further, the exchange had separate 2G (more in number) and 3G racks (comparatively less in number) which were mostly implemented by Ericsson. The CDMA division was implemented by ZTE's BTS's (Base Trans-Receive Station, what is referred to as a "mobile tower" by the general public) and a software named Netnumen provided all possible controls for both physical and radio configurations. Amongst all these, the MSC's HLR's and VLR's were held in their own server racks (MSC is a collective term consisting of all mobile related registers). HLR or the "Home Location Register" (is populated with cell phone numbers local to a resident area) and VLR or the "Visitor Location Register" (temporary register, which is populated by roaming cellphone numbers) is an integral part of every MSC. By registers i mean to imply databases with focus on regular backups.

Fun Fact: BSNL's NIB (National Internet Backbone) consists of five Cisco 12416 routers interconnected in a mesh, each costing nearly 1 million dollars (~5 Crores INR)


The meaning of internship is not limited to going to a company and performing a task for a specified period of time, rather it involves regular learning, hands on experience along with the huge amount of life lessons that u get in a very short period of time. Special thanks to Mr. T.D. Mishra for sticking by me and answering even the most stupid question i had. After the completion of my training, everytime i move around and see cellphone towers(technically called as BTS's) it reminds me of my days at BSNL.

Technorati Tags: BSNL, internship, mobile, rttc, training, GSM, CDMA, NIB, server, telecommunication 

Thursday, January 6, 2011

Tid-Bits of Routing


The most fascinating part about networks is Routing. As the term indicates Routing describes the path a data packet takes to reach its destination. The term seems simple enough, but I will go step by step to describe the complex bits and bytes of the process of routing.
Every network device (for example a router, a computer, multilayer switches) contains a pre-configured routing table. On a host computer, this can be viewed by typing the “netstat –r” command or simply “route print” at the command line (in case of windows systems) and the “route” command for linux based systems.





In general, an IPv6 routing table and an interface list (in a case of a computer) will accompany the IPv4 table when u view the routing table of a device that supports both protocols. The routing table is composed of 6 parts as follows:-
  1. Network Destination: The IP address of the network of the device listed as the final destination for a packet.
  2. Netmask: Commonly termed as “Subnet Mask”. Separates the Network ID with the host ID.
  3. Gateway: The router through which the packet has to travel to reach to its destination.
  4. Interface: The IP address of the network adapter from which the packet originated (the local computer)
  5. Metric: A term which relates indirectly to the cost involved for the packet to reach to its destination if it takes the specified route. The lesser the metric, the better and faster the transfer of a packet.
  6. Persistent Routes: Manually added routes are termed as “Persistent” which stay even if the device reboots.


Let’s take an example route from the above routing table. The 6th entry in the routing table is shown as follows:-

192.168.91.0      255.255.255.0      On-link      192.168.91.1      4501

The “On-link” in the gateway column specifies that the packet can be directly forwarded to the specified network destination without any routing (i.e. the destination is on the local subnet)
It signifies that in order for a packet to travel from the interface with an IP address of 192.168.91.1 to the 192.168.91.0 network with a subnet mask of 255.255.255.0 it can to be directly forwarded to the network i.e. no routing required, with a cost of 4501.

If a gateway was specified e.g. 192.168.1.1 then the packet had to travel through it to reach the mentioned network destination. Complex algorithms are employed to determine each metric. Another thing to note here is the network destination specified as 0.0.0.0. This denotes all other network destinations other than the ones listed in the routing table.

By default, there are no persistent routes. But they can be added via command line.

To add a route manually type at the command line:-
route add “network destination” mask “netmask” “gateway”
e.g. route add 192.168.1.0 mask 255.255.255.0 192.168.1.1

To add a persistent route, type:
route add “network destination” mask “netmask” “gateway” –p
e.g. route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 -p



If no metric is specified, it can be automatically calculated by the device.

To delete a route type:
route delete “network destination”
route delete 192.168.1.0

Routing can be broadly classified into two categories: Static and Dynamic

Static Routing: Network devices have to be configured and updated manually.
Dynamic Routing: Network devices communicate with each other to share their routing information.

Routing is governed by Routing Protocols which can also be divided into two categories: Distance Vector Routing and Link State Routing Protocol.

Distance Vector Routing Protocols: Each router communicates all the networks it knows about to other routers to which it is directly attached. Communication takes place on a regular basis.

Link State Routing Protocols: Each router generates a network map. A router communicates information about the networks it is connected to through LSAs i.e. Link State Advertisements. But communication, unlike distance vector routing protocols, takes places only when a change is made to the network.

Distance Vector Protocols include RIP(Routing Information Protocol), RIPv2 and BGP(Border Gateway Protocol).
RIP and RIPv2 both support a maximum of 15 hops(1 hop= 1 jump from a router) and updates every 30 seconds. RIP uses broadcast communication whereas RIPv2 uses multicast communication for obtaining updates. Also, RIPv2 supports authentication whereas RIP does not.

Link State Protocols include OSPF (Open Shortest Path First) and IS-IS (Intermediate System to Intermediate System) Protocols.

OSPF is used in medium-large networks which gives preferences to certain paths based upon metrics.
IS-IS is designed with the OSI model. Interestingly, IS-IS is another name for a router.

Hybrid Routing Protocol includes Cisco’s EIGRP(Extended Interior Gateway Routing Protocol). It uses the Diffusing Update Algorithm (DUAL) whereby each router keep a copy of it’s neighbor’s routing table and it periodically checks the state of its neighbors by sending a packet.

Technorati Tags: Networks, Protocols, Routing

Tuesday, July 20, 2010

Holidays and stuff...

Yeah, summer time, vacation time. The second semester ended and it was a huge relief as with that, the first year of Engineering also came to an end. I had a BIG TO-DO list for the upcoming 2 months.

After 2 semesters, my CGPA stood at 9.52 on a ten point scale. The semester contained much ups and downs at random intervals. Anyways, that didn't change my music listening. This time i was trying out indie-electro bands, like Death Cab for Cutie, The Postal Service and Owl City. These bands had some amazing tracks like Marching bands of Manhattan, Soul Meets Body, Such Great Heights, Fireflies, Saltwater Room and many more.

Other thing that i would like to mention here is about a clear-type font called Calibri. Calibri is of Sans-serif typeface now widely adopted by Microsoft as default font in their applications. My liking for calibri began while i was reading through blogs. It's currently my default font in Windows, IE, Firefox and other applications.

Regarding gaming, i think i mentioned in some previous posts that my integrated video chip could not handle much, so i got some games for my Playstation 2. I got NFS Undercover (yes i know it's too late but i can't help it), Tennis (A new version), and Gran Turismo 4 (Long awaited :)) The PS2 has been around for 10 years since it's release in 2000 and these were some of the last games to exist on this platform.

Technorati Tags: technology, holidays, gaming, fonts, racing, Playstation 2

Friday, December 25, 2009

Change Log of the past 6 months

It was after 4.5 months that i returned back home from college. It was a hard time as one has to manage his studies taking care of his routine, food, clothes, and what all is required to leave a healthy life @ any college. The first semester is an important part of the 4 year BE. After the completion of the first sem, i currently have a healthy GPA of 9.38 on a ten point scale.

December is vacation time for most of the college students. I had pre-planned my vacations in all respects. Most of the part dealt with gaming and other computing activities that i could not indulge into while i was at college. To start with, i completed Farcry, probably rated as one of the best FPS of all time. Graphics rendering was not good on my notebook, but i should appreciate what the integrated intel chipset could do with 1759MB of shared memory. Today, many people have completed even Farcry 2 , but that can hardly run on my machine. The second game i started with was Machinarium, a super puzzle game. The biggest thing about this game is that it relies entirely on the flash engine. And Amanita Designs have put their heart and soul into creating this amazing piece of adventure.

Regarding computing, i had several things in mind. I wanted to learn Visual C# completely. The confusing part was with the pre-knowledge of C++, Visual C++ was a good second option. It carried great weightage as the new code i had thought of implementing in Firefox was based on Visual C++. I was unfamiliar with Mercurial (and the huge list of hg commands) which were a sort of prerequisite to begin coding for mozilla. During this year, i had succeeded in creating some windows form applications of general use in Visual C#. I finally went with C# and currently in the process of learning. The second thing regarding computing was getting back my data from my old desktop to my notebook. I had two options, direct LAN or WAN. I tried both ways, first LAN, i got a nearly constant speed of 10MBPS. Switching to WAN via my Siemens 802.11 a/b/g Router gave me a maximum of 54Mbps, much slower than what a single LAN wire would easily provide. At the end of nearly 4 hrs, i ended up transferring 150GB of data :)





Christmas time one of the most awesome period of the year (Even though i hate cold weather :P). This year, i got for myself a 1600 CPI iball laser mouse and some comic books, including Superman Adventures, Batman, Justice League and Spiderman. My old 800 CPI mouse had a defective scroll wheel. Things at home had changed somewhat. I had shifted to a new temporary home far away from my old place, something that i hardly liked. So meeting old friends was an integral part of this vacation. These holidays are coming to an end in a week's time from now and i'm already waiting for the next semester to be over as soon as possible.

Technorati Tags: change log, christmas, computing, vacation

Saturday, June 27, 2009

Adjusting to Mandriva Linux

I did a clean install of Mandriva Linux (i586) powerpack 2008 yesterday on a separate 25GB partition (ext3 formatted), thereby dual booting with Windows Vista Home Premium.

One of the early problems i faced was regarding writing data on NTFS formatted drives (i had 3 of them!). Thankfully Linux programmers have written out a library known as ntfs-3g to enable write support on the Linux kernel. Fetch the ntfs-3g through "Mandriva Linux Control Center", unmount the NTFS drive through disk drake, switch to "Expert mode", change the type of the drive to "NTFS-3G", uncheck ro (read-only) from options, and re-mount the drive for the changes to take place.





The same thing can be done through "Configuration Editor".


Second thing was getting my windows applications to run so that i dont feel like i'm in a no-man's land :)

The default "Software Management" tool was useful in itself but it is not a complete solution. I fetched software info's as well as their main updates from Online Repositories through Konsole. A useful website for this job is :- http://easyurpmi.zarb.org






The links to the repositories (which are infact Konsole commands) are provided by selecting the appropriate linux, its version as well as its architecture.

To integrate those repositories into the "Software Management", the Konsole commands have to be executed as root.





Next, i updated my system via "Mandriva Control Center". I had around a 1100 updates (now that figure seems a little big for my 256Kbps connection :) ). After the updation process is complete, switch back to "Software management". Applications are now updated and new ones are added.



After doing this much, i felt somewhere near to being @ my home.


The one thing that surprised me in linux was its Konsole being case sensitive, as it is seen here while i was trying to install Nvidia Drivers for my 6200TC:-




Technorati Tags: mandriva, linux, repository, ntfs

Saturday, April 4, 2009

My First Windows Application!

It's a Web Searcher!

U need to have .NET framework 3.5 installed along with windows installer 3.1 in order to run the application.....

Here's the LINK for the software.

Technorati Tags: Web Searcher, mediafire

International Students Software Competition ( ISSC 2007) At Bangkok, Thailand

I with my 2 friends( team of three) represented our nation at Bangkok in International Students Software Competition, which consisted of programming ( problem solving). We stood first at the All India Level after qualifying the state level. We programmed on Java, rest teams like Sri lanka used C++, Thailand folks themselves used Java, Taiwan team worked on C++ as well, etc. There were 2 rounds on two separate days, trials and finals, we stood fourth overall. Its a great pride to represent your motherland, that was the most amazing thing that we experienced. Rest details can also be found at this site in the achievements of last 6 years list. Some Pics of Bangkok of our trips taken by my taiwan friend, Danny, can be seen here