TCP/IP Model : Application Layer
Introduction
This article will explain to you the workings of the application layer of the TCP/IP Model. It is the Part - III of the 6-article series on Computer Networking.
TCP/IP Model
Internet Protocol Suite, developed by ARPA. TCP/IP Model has more practical real-life applications, unlike OSI Model, which is more theoretical.
5 Layer Of TCP/IP Model
- Application Layer
- Transport Layer
- Network Layer
- Data Link Layer
- Physical Layer
This article will cover the application layer. Rest of the layers will be covered in separate articles
Application Layer
Users interact directly with this layer. Ex - mobile apps, browsers etc.
Client - Server Architecture
- Collection of Servers is called a Data Centre.
Peer To Peer Architecture
- There is no one dedicated server. Very easily scalable. Decentralised network.
HTTP
A stateless application layer protocol. Application layer protocols also require a transport layer protocol. Ex - HTTP methods like GET, POST, PUT, DELETE etc.
Uses TCP/IP Protocol as its transport layer protocol.
Error/Status Codes
Know wether a request was successful or it failed.
Ex - 200 means successful, 404 means couldn't find it, 500 for internal server error.
1XX - Informational
2XX - Success
3XX - Redirecting
4XX - Client Side Error
5XX - Server Side Error
Cookies
Unique string stored on the client's browser.
When you visit an app or website for the first time, it will set up a cookie.
Whenever you make a new request, the browser will set a cookie on the request's header.
This way the server will know from that cookie which data is to be sent and who is contacting the server.
Third Party Cookies
Cookies that are set for URLs you don't visit. Ex - Websites displaying ads through third party cookies.
How Email Works?
SMTP, POP3 - Application Layer Protocols.
TCP/IP - Transport Layer Protocol.
POP uses port number 110.
IMAP
Allows viewing emails on mutiple devices. Emails are stored in a server unless you delete them. Local copies of it are available on devices.
Domain Name System(DNS)
Database service used to store IP Addresses for all the domain names which are accessed by HTTP protocol
When you type in URLs, HTTP Protocol converts that domain name to its corresponding IP Address using DNS and connects you to the server.
icann.org manages DNS.
Ex - mail.google.com. Here, mail is the sub-domain, google is the second level domain, com is the top level domain.
Top level domains are stored in Root DNS Servers as they are the first point of contact when you write a domain name.
You cannot buy a domain name, you can only rent them.
What happens when you type a URL? Step by Step Process
Check in own computer if the IP Address is already stored in cache memory or in cookies. Browsers store the IP Addresses, which are visited for the first time, so that they can be accessed readily if needed.
If not found in cache, then look in the Local DNS Server. It is the first point of contact. Many times, your ISP becomes the local DNS Server. ISPs usually have information of all the websites you are using.
If not found in Local DNS Servers, then it looks in Root DNS Servers.
This was all about the Application Layer of TCP/IP Model.
Conclusion
You can read other articles written by me through these links.
System Design Series
Introduction To Parallel Computing
Deep Dive Into Virtualization
Insights Into Distributed Computing
Cloud Computing Series
1. Cloud Service Models
2. Cloud Deployment Models
3. Cloud Security
4. Cloud Architecture
5. Cloud Storage
6. Networking In The Cloud
7. Cloud Cost Management
8. DevOps In Cloud & CI/CD
9. Serverless Computing
10. Container Orchestration
11. Cloud Migration
12. Cloud Monitoring & Management
13. Edge Computing In Cloud
14. Machine Learning In Cloud
Computer Networking Series
1. Computer Networking Fundamentals
2. OSI Model
3. TCP/IP Model : Application Layer
4. TCP/IP Model : Transport Layer
5. TCP/IP Model : Network Layer
6. TCP/IP Model : Data Link Layer
Version Control Series
1. Complete Guide to Git Commands
2. Create & Merge Pull Requests
3. Making Open Source Contributions
Linux
Complete Guide to Linux Commands
Thanks For Reading! ๐
Garvit Singh
Subscribe to my newsletter
Read articles from Garvit Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Garvit Singh
Garvit Singh
๐ Hi, I'm Garvit, an IT Undergraduate. I'm passionate about expanding my knowledge in the field of Computer Science. ๐ป Computer Science Skills and the topics I write blogs on โ Proficient in Linux. โ Git/GitHub for version control. โ Networking Fundamentals. โ Proficient in Java, C and Python. โ Object-Oriented Programming in Java. โ Data Structures & Algorithms in Java. โ MERN Stack Web Development. โ System Design. โ Bash scripting and automation. โ Python for Scripting, Mini Projects. โ Cyber Warfare & Ethical Hacking. โ Cloud Computing. โ Distributed Computing, Parallel Computing, Real Time Systems, Virtualization. โ DevOps - Docker, Kubernetes โ Operating Systems. โ Software Testing. โ Databases - SQL, NoSQL and more...