Sunday, January 10, 2016

Week 16: Day 046 - TCP/IP Applications #4


Hello, today is my last entry on this chapter. This is also the last day I will be doing this format for my Network+ blog entries. Next time I will dedicate an entire entry to a chapter overview, much easier, less time taken up. Today I'll be focusing on more clients and servers. Now let's start it off.

The Electronic Mail (e-mail) was part of the Internet revolution for many obvious reasons. It allowed people to communicate with each other much fast. It's usually offered by ISPs for free, but let's be honest, who uses those?! Everyone's using G-Mail, Outlook, and even Y-Mail these days. Now what it consists of are e-mail clients and servers. We slightly touched on this in an earlier entry. When you receive an e-mail it's put into your inbox. The e-mail applications have some unique abilities, such as alerting you when you get an email, or deleting emails that you already have stored in your computer.

There are several application-level protocols which e-mail programs use to send and receive info and documents. The Simple Mail Transfer Protocol (SMTP) sends your e-mails, while travelling on the TCP port 25.  Post Office Protocol version 3 (POP3) which is one of two applications which receive e-mails from the SMTP servers. It uses port 110, and is the most used. Then there's Internet Message Access Protocol version 4 (IMAP4) which is the alternative to POP3. It uses TCP port 143, and has some features not in POP3. An example is that it enables you to search for keywords through your e-mail, and it supports folders to organize your e-mails. There are alternatives to those applications. Most of them are web-based. As we all know, there's G-Mail and Outlook, and Yahool Mail as I said earlier. The benefits of those services are obvious, and I do not need to explain them.

The e-mail server world is more fragmented than web servers. The most used is "sendmail" which is used on UNIX/Linux Operating Sytsems. However, similarly to Apache sendmail lacks an interface. THere are many third party interfaces though, like Webmin. To run Sendmail you need POP3 or IMAP4 server program to support the e-mail clients. Microsoft have their own e-mail server, "Microsoft Exchange Server", which runs solely on Windows. It's both SMTP and POP3 in one. As you can imagine e-mail servers accept incoming mail. This is called the mailbox, as it would in real life. The e-mail server is like a post office, it sorts the messages. Setting up and running e-mail servers can be tedious, as it needs to be planned and secured. It's getting easier, with GUIs available for the servers, and even the command-line based ones are getting easier too.

Then there's the e-mail client which is the program which sends out e-mails we type, while receiving and organizing those coming in from the e-mail server. With that said, e-mail clients communicate with the e-mail server to send the mail to their targeted recipient. To configure these clients, you just get the e-mail server's domain name and mailbox user's domain name. You'll probably notice that this is not really relevant in today's world to the average user, since they use web-based e-mails which take care of that for them. Much of this is now nullified because of that.

On a different topic, there's the File Transfer Protocol (FTP) which is used for transferring files over the internet. The benefits of this protocol are that its secure (big one) and that it's fast and reliable, more so than HTTP. The ports used for FTP are TCP port 21 and 20, but only uses 21 by default. An FTP site is either secure or not, depending on what the creator decided. It can have a user name and password to access and transfer, or not have one at all. The FTP server does all the storing of files, accepting connections, verifying passwords, and the actual transferring. All the client really does, is access the FTP site, and downloads the files from there. The reason why people need FTP servers, is if they want to share files with each other, but NOT through the internet. FTP isn't as secure as described though, because data transfers are not encrypted. However, there is the ability to add usernames and passwords, along with anonymous logins. Usually there is a limit on how many clients your server will support. This is just to prevent people from flooding your server and taking up bandwidth. In terms of the FTP clients, it accesses the FTP server through a website, command line, or a special FTP application. Best option is to use a dedicated FTP client, one of their special apps.

Finally, there are two ways of transferring data over FTP. This is "active" and "passive". Usually FTP uses the active process. When your client sends an FTP request, it goes through port 21, But remember there's also port 20 which is allocated for FTP. It uses an ephemeral port as a reception for data coming from the server, and port 20 as a source port. Basically, active FTP is great unless your router is using NAT. Because the client didn't initiate the incoming port 20, the NAT router doesn't know where the send the incoming packets. The solution to this is passive FTP which will have the server send back a random port number, telling the client which port it's listening on for data requests. The client will then send the data on the specified port of the FTP server. Only then will NAT know where to send the packet. That's where the chapter ends. Thanks for reading and goodbye.

P.S. Here is a table of Internet Application ports:

HTTP: 80
HTTPS; 443
Telnet: 23
SSH: 22
SMTP: 25
POP3: 110
IMAP4: 143
FTP: 20/21 or just 21 (passive)
TFTP: 69 (haha) (UDP)

Completion Status: 46%
Pages Left:
- Book: 366 pages
- Chapter: 0 pages


1 comment: