应用层协议

体系结构

  • CS架构
  • P2P架构

进程通信

两个端系统之间的通信,本质是两个进程之间的通信,进程通过使用操作系统提供的接口与另一个端系统上的进程进行通信,这个接口是 套接字

套接字=(IP,端口号)

运输服务

  • TCP
  • UDP

应用层协议

  • HTTP
  • SMTP POP3 IMAP

DNS

提供了主机名和 IP 地址之间相互转换的服务

20203710332 屏幕截图 2020-09-27 110937

本地DNS收到查询请求后,会按照“是否有www.xxx.com.cn的权威服务器”→“是否有xxx.com.cn的权威服务器”→“是否有com.cn的权威服务器”→“是否有cn的权威服务器”的顺序,依次查询自己的地址记录,如果一直没有找到 就会找到根域名服务器为止

最后它将会得到“cn的权威服务器”的地址记录,然后通过“cn的权威服务器”,得到“com.cn的权威服务器”的地址记录,以此类推,最后找到能够解释www.xxx.com.cn的权威服务器地址

  • 权威域名服务器:指负责翻译特定域名的DNS服务器
  • 根域名服务器:指固定的、无需查询的顶级域名(Top-Level Domain)服务器

DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性

只有当返回的响应超过512字节或者主域名服务器向辅助域名服务器传送变化的数据时采用TCP协议

根域名 -> gTLD Server -> Name Server

域名解析记录:

  • A记录(Address) 用来指定域名对应的IP地址
  • MX记录(Mail Exchange) 用来指定邮件服务器
  • CNAME记录(Canonical Name) 别名解析就是为一个域名设置多个别名
  • NS记录 为某个域名指定DNS解析服务器
  • TXT记录 添加一段文字说明

DNS预取优化:

<!-- 加上这个标签 浏览器就会提前解析DNS 避免DNS解析带来的延迟问题 -->
<link rel="dns-prefetch" href="//domain.not-icyfenx.cn">

HTTPDNS:一种通过HTTPS协议开发的DNS查询服务,应用程序可以直接跳过操作系统主动查询

FTP

FTP 使用 TCP 进行连接,它需要两个连接来传送一个文件:

  • 控制连接:客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答
  • 数据连接:用来传送一个文件数据

主动模式

客户端与服务器建立控制连接之后 由服务器主动发起一条从服务器到客户端的连接

被动模式

客户端与服务器建立控制连接之后 由客户端再发起一条从客户端到服务器的连接

DHCP

Dynamic Host Configuration Protocol

工作过程

20203710847

远程登录协议

TELNET

电子邮件协议

SMTP

SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则

20203710108

POP3

从服务器上读取了邮件,就把该邮件删除

IMAP

客户端和服务器上的邮件保持同步

常用端口

应用 应用层协议 端口号 传输层协议 备注
域名解析 DNS 53 UDP/TCP 长度超过 512 字节时使用 TCP
动态主机配置协议 DHCP 67/68 UDP
简单网络管理协议 SNMP 161/162 UDP
文件传送协议 FTP 20/21 TCP 控制连接 21,数据连接 20
远程终端协议 TELNET 23 TCP
超文本传送协议 HTTP 80 TCP
简单邮件传送协议 SMTP 25 TCP
邮件读取协议 POP3 110 TCP
网际报文存取协议 IMAP 143 TCP

一个web页面请求过程

DHCP配置主机信息

主机刚开始没有IP地址信息,首先通过DHCP来获取IP地址 主机生成一个DHCP UDP请求报文 该请求报文被放入一个具有广播地址的IP数据报中 后该IP数据报被封装在MAC帧中,这个帧的目的地址是一个广播地址 当DHCP服务器接收到这个广播帧后不断向上分解得到主机信息,并将相关信息放入报文中,发送给主机 交换机通过自学习,因此现在交换机就可以直接知道应该向哪个接口发送该帧 主机收到该帧之后,配置自己的IP地址,子网掩码等信息

ARP解析MAC地址

主机需要跟网关路由器通信,但是DHCP 过程只知道网关路由器的 IP 地址 为了获取MAC地址,主机需要生成一个包含网关路由器地址的ARP查询报文,并将它广播出去 网关路由器接收到这个广播报文之后,向主机回送网关路由器自己的MAC地址

DNS解析域名

此时,主机可以直接通过网关路由器发送一个DNS请求报文 路由器收到这个DNS查询报文的帧后,抽取出IP数据报,根据转发表决定应该转发给哪台路由器 路由器通过内部网关协议和外部网关协议来实现路由选择 这个DNS请求到达服务器之后,DNS进行查询,发送DNS回答报文,回送给主机

HTTP请求页面

此时,主机就得到HTTP服务器的IP地址 会经过三次握手生成一个TCP套接字 TCP连接建立后,客户端生成一个HTTP请求报文,发送给服务器 服务器接收到之后,返回一个响应报文 客户端接收到响应之后,进行渲染,显示web页面

results matching " "

No results matching " "

results matching " "

No results matching " "