TCP vs. UDP

Should we use TCP or UDP? This is one of the questions that professional application developers might have to ponder. Most commonly, when they begin development on a future computer application that will rely on communication over the internet to operate properly. Both of these data transport protocols have their advantages, but they do come with disadvantages that turn certain developers away.

Before I begin explaining both protocols in technical detail, let me provide some insight to those who might not be familiar to this subject.

Data sent over computer networks is transferred through packets, which are of a specified size (typically 1500 bytes), which is known as the network’s Maximum Transmittable Unit (MTU). These packets are delivered to the next network and/or destination in an order defined by the respective transport layer protocol (e.g. TCP or UDP). These protocols are designed with a different goal in mind. Every networked computer application uses one or more protocols that will deliver data pursuant to the applications needs.

Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) is designed to deliver packets and data across local networks and the internet, while doing so reliably. TCP would establish linked connections across the data path all the way to the destination, to ensure data arrives at the intended destination reliably. If the connection is interrupted the host computers at both ends would be alerted and would work to re-establish the connection. Even in the case of missing packets, TCP would keep track. Any communications sent over TCP are “handshaked”. This is both the origin and destination host computer confirming every transmission made.

This is the typical TCP connection and transmission demonstrated as a human conversation.
Get it?? TCP won’t stop trying to transmit packets… UNTIL YOU GET IT!

So, TCP already sounds like the best protocol! Why bother using anything else? Well, you won’t feel that way after reading about the one disadvantage of TCP.

While consisting of a reliable method for data packet transmission, this causes TCP to transmit packets at a slower speed than other protocols that weren’t designed with reliability in mind, such as UDP. Let’s head over and see what UDP has in store…

User Datagram Protocol (UDP)

User Datagram Protocol (UDP) is designed to allow rapid packet transmission over local network as well as the internet. Because of this, UDP does not establish reliable connection to the destination, and does not verify if a packet was ever received by the end host or if it was received in the right order. Think about someone telling you a phone number as you are dialing it, but they are not confirming that you dialed the number as you have said. It is a simple protocol designed with speed in mind.

Thank you for reading! Please leave a question or comment below, and share this article with others.

Advertisements

Wi-Fi Diagnostics Apps for Android

Sometimes your “Wi-Fi Neighborhood” becomes crowded, congested and sometime unusable. But how can you diagnose what outside wireless networks are interfering with your own connection? You could buy an expensive enterprise handheld Wi-Fi analyzer, but that would be impractical for residential environmemts. Instead, you could just use mobile applications on your Android smartphone that could provide Wi-Fi congestion and diagnostic information. The applicatio that I have used is “Wifi Analyzer” on the Google Play Store.

This app will provide details on WiFi networks located on 2.4ghz and 5ghz spectrums. Data and details provided include:

  • SSIDs or Serivce Set Identifiers
  • Access Point MAC address or BSSIDs
  • Access Point Manufacturer
  • Signal Strength
  • Channels
  • Spectrum Map/Visualizer

This app will help you spot the source of wireless networking interference and allow you to setup your network to work around the interence.

Just a sidenote to those who don’t setup their Access Points on the right channels…

PROPER WIFI ETTIQUITE IS TO ASSIGN YOUR NETWORK TO 2.4GHZ CHANNELS 1, 6, 11 WITHIN THE UNITED STATES. FOLLOWING THIS ETTIQUITE WILL REDUCE INTERFERENCE IN YOUR WIFI NEIGHBORHOOD AND MAKE EVERYONE WITHIN THAT NEIGHBIRHIOD HAPPY.

Windows 10 App Removal for Sysprep

The following PowerShell script will remove Windows 10 apps before Sysprep.

Please note:

  • Do not connect to the Internet until the script has been run
  • If needed, change Set-ExecutionPolicy to Bypass or Unrestricted to run script
  • May require Admin rights

Script (appremove.ps1):

Download File (.ZIP)

Get-AppxPackage *3dbuilder* | Remove-AppxPackage
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
Get-AppxPackage *Appconnector* | Remove-AppxPackage
Get-AppxPackage *windowscalculator* | Remove-AppxPackage
Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage
Get-AppxPackage *windowscamera* | Remove-AppxPackage
Get-AppxPackage *CandyCrushSaga* | Remove-AppxPackage
Get-AppxPackage *officehub* | Remove-AppxPackage
Get-AppxPackage *skypeapp* | Remove-AppxPackage
Get-AppxPackage *getstarted* | Remove-AppxPackage
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Get-AppxPackage *windowsmaps* | Remove-AppxPackage
Get-AppxPackage *Messaging* | Remove-AppxPackage
Get-AppxPackage *solitairecollection* | Remove-AppxPackage
Get-AppxPackage *ConnectivityStore* | Remove-AppxPackage
Get-AppxPackage *bingfinance* | Remove-AppxPackage
Get-AppxPackage *zunevideo* | Remove-AppxPackage
Get-AppxPackage *bingnews* | Remove-AppxPackage
Get-AppxPackage *onenote* | Remove-AppxPackage
Get-AppxPackage *people* | Remove-AppxPackage
Get-AppxPackage *CommsPhone* | Remove-AppxPackage
Get-AppxPackage *windowsphone* | Remove-AppxPackage
Get-AppxPackage *photos* | Remove-AppxPackage
Get-AppxPackage *WindowsScan* | Remove-AppxPackage
Get-AppxPackage *bingsports* | Remove-AppxPackage
Get-AppxPackage *windowsstore* | Remove-AppxPackage
Get-AppxPackage *Office.Sway* | Remove-AppxPackage
Get-AppxPackage *Twitter* | Remove-AppxPackage
Get-AppxPackage *soundrecorder* | Remove-AppxPackage
Get-AppxPackage *bingweather* | Remove-AppxPackage
Get-AppxPackage *xboxapp* | Remove-AppxPackage
Get-AppxPackage *XboxOneSmartGlass* | Remove-AppxPackage

 

pfSense Router Software

Many enterprises invest a huge amount of money into network. And they should! However, when it comes to your routing and firewall appliances, there are cheaper, and more efficient options available.

One of those options is pfSensepfSense is a free and open source router and firewall software that you can install on almost any Intel machine. Here are a few of the features:

  • Basic Routing (IPv4, IPv6, DHCP, DNS, UPnP, etc.)
  • Advanced Routing (Supernetting and Subnetting, VLANs)
  • Authentication (RADIUS, LDAP)
  • Guest Networking (Captive Portal, Bandwidth Control)
  • Additional Functionality via Plug-ins (Proxy, Reverse Proxy, URL Filtering, Content Filtering, and many many more!)

 

Download pfSense Routing and Firewall software at pfsense.org

DOCSIS vs. DSL

Everyone has a different opinion on this. DOCSIS has greater speed, but is shared with other customers. DSL is dedicated to the user, but cannot provide as high of speed.

My verdict: I prefer as high of speed as possible be delivered to me. I currently use Comcast 150mbps internet at my home. It uses DOCSIS technology. I never have seen a decrease in speed from my service. I feel DOCSIS technology works very well and can handle many users regardless of being a shared technology.