TCP/IP四层模型之应用层部分协议(一)学习笔记
一.DNS协议
DNS (Domain Name Service 域名服务) 协议基于 UDP,使用端口号 53。
DNS 服务器是个分层次的系统:
-
(1)根 DNS 服务器 :全世界共有 13 台根域名服务器,编号 A 到 M,其中大部分位于美国。
-
(2)顶级(TLD)DNS 服务器 :负责如 com 、org 、edu 等顶级域名和所有国家的顶级域名(如 cn 、uk 、jp )。
-
(3)权威 DNS 服务器 :大型组织、大学、企业的域名解析服务。
-
(4)本地 DNS 服务器 :通常与我们主机最近的 DNS 服务器。
而域名解析的过程,有迭代查询和递归查询两种方式:
一个 DNS 服务器接收到一个 DNS 回答后,会将其信息缓存一段时间(好像是20分钟),当再有一个对相同域名的查询时,便可直接回复。
通过 DNS 缓存,其实很多查询都只需要本地 DNS 服务器便可完成。
域名解析的的优先顺序是:先在 DNS 缓存查询,若没有找到记录,再查询 hosts 文件,若还是没找到记录,再向 DNS 服务器发出 DNS 查询报文。
二.FTP协议
FTP (File Transfer Protocol 文件传输协议) 基于 TCP,使用端口号 20(数据)和 21(控制)。
它的主要功能是减少或消除在不同操作系统下处理文件的不兼容性,以达到便捷高效的文件传输效果。
-
FTP 只提供文件传输的基本服务,它采用 客户端—服务器 的方式,一个 FTP 服务器可同时为多个客户端提供服务。
-
在进行文件传输时,FTP 的客户端和服务器之间会建立两个 TCP 连接:21 号端口建立控制连接,20 号端口建立数据连接。
-
FTP 的传输有两种方式:ASCII 传输模式和二进制数据传输模式。
三.HTTP协议
HTTP (HyperText Transfer Protocol 超文本传输协议) 基于 TCP,使用端口号 80 或 8080。
工作过程:
-
点击一个链接后,浏览器向服务器发起 TCP 连接;
-
连接建立后浏览器发送 HTTP 请求报文,然后服务器回复响应报文;
-
浏览器将收到的响应报文内容显示在网页上;
-
报文收发结束,关闭 TCP 连接。
报文分为 3 部分:
-
(1)开始行:用于区分是请求报文还是响应报文,请求报文中开始行叫做请求行,而响应报文中,开始行叫做状态行。在开始行的三个字段之间都用空格分开,结尾处 CRLF 表示回车和换行。
-
(2)首部行:用于说明浏览器、服务器或报文主体的一些信息。
-
(3)实体主体:请求报文中通常不用实体主体。
请求报文的方法字段是对所请求对象进行的操作,而响应报文的状态码是一个 3 位数字,分为 5 类 33 种:
-
1xx 表示通知信息,如收到或正在处理。
-
2xx 表示成功接收。
-
3xx 表示重定向。
-
4xx 表示客户的差错,如 404 表示网页未找到。
-
5xx表示服务器的差错,如常见的 502 Bad Gateway。