Arlon's CSUMB Intro to Computer Networks CST-311 Module 4 Learning Journal #4/#36 for the week Wed 09/22-Tues 09/28, year 2021

Arlon's CSUMB Intro to Computer Networks CST-311 Module 4 Learning Journal #4/#36 for the week Wed 09/22-Tues 09/28, year 2021

This week we finished our group assignment, teamwork was excellent, team members found bugs where there weren't supposed to be bugs, and we got it all done well and on time. This is a pinger client written in python - they give you server python that's a pinger responder and we wrote a client - a little research on how python sockets should timeout, a little research on python language details, and it runs in our virtual software-defined network environment, MiniNet.

We had a midterm test this week and what was cool is, in some classes it can sometimes be a bit of a mystery what we're going to get tested on, especially in classes with a barrage of information overload like this class has to a degree. But in this class, they gave us plenty of practice problems to use ahead of time to practice our knowledge on the material and warm up for the test. The test was very fair with lots of familiar material out of the practice problems with plenty of variation to keep us on our toes.

Then after the test, the topic turned to security, encryption, the RSA algorithm, a good overview of how key-pair encryption works, and then, new to me, was tieing that all in with authentication. I somehow botched it on the quiz even though I understood the answer - I think I answered it too fast and understood more deeply later and forgot to go back and check - but anyway the interesting point about authentication is that say you want to prove who you are - you encrypt something with your private key, and send it out. People can decrypt it with your public key to prove it's you. That's opposite of encryption where you encrypt things with their public key and only they can decrypt with their private key. Super interesting and when I get time I'd like to review the discrete math topics involved here because the mechanisms behind it are excitingly surprising with how all the modular arithmetic works. Our textbook gives a good overview of the topic but in discrete math I remember doing a bunch of problems with these algorithms, finding out stuff, what keys are, finding 'd' I can't remember all the details right now but I remember it was an extremely interesting topic, and I really appreciate revisiting it this week with an overview perspective with hilight on how it all works with the TCP/IP networking concepts that we are learning.

So we had a couple short but good question sets on these topics I only partly botched from overlooking the obvious (I checked my answers harder for the second set, and did a little better) and then did a really interesting lab using iperf3, https://iperf.fr/iperf-doc.php, a performance testing tool to performance test an intentionally partly flawed link setup (software defined network) in MiniNet. So it tells you how to run the commands for MiniNet to create a virtual software network with a delay and intentional packet loss. Then we do an iperf3 traffic test and draw graphs of what the TCP Reno congestion window cwnd is with short and long delay and with and without packet loss. The graphs are a lot like the book, showing exactly what is happening to cwnd during the different circumstances. I don't think I'm allowed to post them because that would basically be posting my homework, but it was super interesting with text-book like results we generated ourself to study. Next I'd like to do this with real ethernet lines. I'm really wondering now, is there any way I can generate data on the length of my network cords between my routers at my house? I'll keep thinking about it, this is all getting really interesting. (No - Quora: Will an ethernet cable length affect the ping? (Ok, maybe then: Amazon: Handheld Network Cable Length Tester RJ45 RJ11 BNC Wire Tracker POE PING Ethernet STP/UTP 5E, 6E Free TF Card)) And same with packet loss - once in a while a cord gets wet and stops working - am I going to be able to detect this with packet loss at some point? (And this article: Reddit: Long lan cable affecting speed and ping? suggests maybe you could partly detect cable lengths using packet loss.) One thing I started doing in real life was running 2+ cords wherever I need one. That way I can instantly test remote ends from the starting end by using both cords, but I haven't done that with every end, yet, so some are still long lines out that I still have to go out to the end to test if they stop working, or run a new long cord to that end, which doesn't always fly well with other people walking around.

Anyways, in summary, the week of studying networking topics was excellent, ranging from developing pinging client software in python with group cooperation (using pre-built server python pinger-responder code) to being tested on some of what we've learned so far in the class with plenty of practice problems ahead of the test, to turning to topics of network security, encryption and authentication topics after the test, and performance testing with iperf/iperf3 in MiniNet, as well as some live actual ethernet cord and port maintenance and additions here at my house, just for fun.

Thanks for reading!

Comments

Popular posts from this blog

Module 2 Learning Journal 1-19-21

Arlon's CSUMB ProSeminar CST300 Module 4 Learning Journal for the week Wed 1/27-Tues 2/2, year 2021

Arlon's CSUMB ProSeminar CST300 Module 8 Learning Journal for the week Wed 02/24-Saturday 02/27, year 2021 - Journal 8