Commit 1576d2b7 authored by wx002's avatar wx002

ch2 done

parent 820bcbc2
This chapter is going into details of the 5 layer network model, focusing on the application layer.
There are different types of application architecture when it comes to applications.
Client-Server Architecture - consist of an always-on host(Server) and clients, which the server serve requests to. Like websites, when an URL is accessed, the server return the html page of the request.
To handle massive amount of request, data centers are created to house large number of hosts with powerful virtual servers.
P2P Architecture - consist of communicating between client pairs known as peers with no dedicated server. This is useful with traffic intensive applications due to its self-scalability. However, because of needed to share data between peers, it often require upstream and downstream traffic where ISP favor downstream, which puts more stress on ISP, and its difficult to be secure. Example: BitTorrent for file sharing, and download acceleration like XunLei.
programs does not communicate, process does within operating systems. Processes can communicate with each other within the same system. They can only communicate through a network when is within different hosts by exchanging messages.
There are specific protocol for handling this, some examples of these are HTTP(web), FTP(file transfer), SMTP(Email), and DNS(Internet's Directory Service).
Http (HyperText Transfer Protocol):
- The web's application layer protocol, the heart of the internet.
- Client communicate with server host by exchanging HTTP messages. Consist of various types.
- Web page - document consist of objects
- objects - files, like an image file, addressed by URL
- URL - the location of webpages and objects defined on the server
- browser - the client side application
- Client uses web browser such as FireFox to handle and display HTTP messages provided by server upon request.
- HTTP runs over TCP rather than UDP. Once the client managed to establish a connection, the browser and server access TCP connection via socket interface
- HTTP could use persistent and non-persistent connections
- non-persistent connection: each request/response is sent over different TCP connections
- persistent connection: all request/response is sent over the same TCP connection
- persistent connection is used for HTTP due to not require the full RTT(round trip time) after the connection is established, which is much more efficient compare to non-persistent due to require to establish connection every single time
FTP(File Transfer Protocol):
- User on client provide go thru authentication, usually providing authorization information, user can transfer file to remote host and vice versa
- FTP are very similar to HTTP since both are client-server architecture
- The main different for FTP is it uses two parallel connections instead of one
- control connection: use for communicating between client/server with info such as authentication and commands
- data connection: use for transferring files
SMTP(Simple Mail Transfer Protocol):
- Client/Server architecture
- Server stores all info, client can access
- Each recipient has a mailbox located within their mailing services
- For example, if Bob wants to send a mail to Alice, then Bob will craft the message and send it using his clients to his mailing server, which would go through SMTP to Alice's mailing server, which Alice will be able access through her mailing client
- SMTP client is called user agent
DNS(The Internet’s Directory Service):
- An internet service that maps hostname to IP addresses to make it more effective to identify destinations
- This runs over UDP using port 53
- This allows Host aliasing to make names more easier to manage
- Many application such as SMTP uses DNS for routing messages
Reflection:
This chapter provide many useful topics that are modernly used. It is definitely interesting to see how some of these work in detail. The chapter also went into socket programming, which is application of the material in practice, and I have already done in labs. Overall, this chapter is very interesting and definitely provide many useful facts about application layer for network.
Questions
1. loss-intolerant and time insensitive
2. all of the above
3. 304 Not Modified
4. between 1.0 and 1.1 seconds
5. to transfer messages from one mail server to another
6. Value is the hostname of the mail server that has the alias hostname Name.
7. cache resource records, but discard them after a period of time that is on the order of a few days
8. UDPserver
9. approximately 100 seconds
10. All of the above.
11. None of the above
12. UDP
T/F
1. F
2. F
3. T
4. T
5. T
6. T
7. F
8. F
9. F
10. T
11. F
12. F
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment