top of page

Week 3 : Fooling ISP

Updated: Dec 13, 2021

It was a Monday again, the class was done online and I got in. She went over the topics of the last class just to recap. IN this class she went over the importance of developing a quality assurance document and planning things out ahead of time to. achieve a well managed project planning and therefore a successful project execution. She had discussions with all the teams to check and go over the individual progress. She talked with Vishnu from our side in regards to the project along with us.


Later that week I started working on the tasks that I am in-charge of mainly the chat system or VoIP system. I started off by making a conventional TCP based socket based system to establish connection with the user and the servers. which I managed to in the course of 2 days. But upon more research I came across the fact that conventional VoIP systems uses UDP protocol instead of TCP. I later researched and found the C# offers a class called as UdpClient for this purpose.


The system mainly works by making a UDP socket that takes over a port and can freely send and receive data through it. So for the accomplishment of this I need to map the UDP port to an external port so that the incoming data will be send to the device within the local device. for this I used Open.Nat and got it to work on my network locally. So i even made a terminal to dynamically enter port and ip information of the targeted host or client device.


I tested the application with my friends and found that its unable to map port on some modern routers. to find the issue i went over the a lot of online resources like StackOverflow and other forums. but was unable to figure out why. the main reasin being that I falsely assumed that it had something to do with the Open.Nat library. but later that week Anikith went to uni and came across our tutor Abo Baker, and he mentioned the issue I was facing. There he briefly mentioned the hole-punching using an external server. My buddy mentioned the whole conversation which made me realize to look in a different direction.


So I went and did some research how hole-punching is done. and came across an amazing PDF resource. which give details on how the hole punching is done.

So I managed to make a UDP server in Node.js and uploaded it in Heroku. where it went wrong again. Heroku doesn't offer a virtual machine or even a static port. I tried to identify the IP address of the dyno offered by Heroku and tried to send data to it which did jack. So upon more research I found that Heroku doesn't offer a virtual machine. So I went on looking for alternatives and came across DigitalOcean. Later I had a small talk with Abo Bakar, where he offered to give me access to his virtual machine co that i could test my udp server. So i hope I can make my VoIP system work.


Transferable Skills


Act as a Team Player/Ability to Collaborate : I manage to understand the necessities from the design and game-play programming department so that I could tailor a very efficient and relevant networking system for the project. It took constant communication and interaction with other team members to gain the required understanding.


Ability to Accept and Learn From Criticism: I went a bit hard-head during the development of the game-play server. I was stuck with the idea that I wanted to make my own UDP server. But after I wasted 2 weeks on it I was suggested by my team lead to adapt to the situation and go with the most possible solution respecting our time constrain which i chose to do.



References


What Is Peer-To-Peer (P2P)? (2019, February 4). [Video]. YouTube. https://www.youtube.com/watch?v=s-Fs_Ucy_EU


What is a peer to peer system? (2016, September 1). [Video]. YouTube. https://www.youtube.com/watch?v=w2u4eN_WWvc


Peer to Peer architecture explained in sinhala. (2018, November 18). [Video]. YouTube. https://www.youtube.com/watch?v=r9eVBIZAcuM


Peer-to-peer and Client-server Network | P2P & client server network. (2021, January 6). [Video]. YouTube. https://www.youtube.com/watch?v=8fks7p3JwIQ

12 views0 comments

Recent Posts

See All

Week 13 : Final Project Reflection Journal.

I am writing this on the last week of my Bachelor's university study at SAE Dubai. I would like to start off by writing that it was a smooth and rough ride for the past 4 years. I dreamt a lot, learne

Week 12 : Denouement...

We had our class on Monday. It was held online. We hopped in the tutor got in and detailed the submission criterions to us for the one last time. She said we have to write our last journal for week 13

bottom of page