应用层

文章目录

  • 应用层
    • http
      • 请求格式
      • 响应格式
      • 首部字段
      • cookie
      • web缓存服务器
        • 缓存失效问题
    • https
    • websocket
    • FTP
    • SMTP
    • DNS
      • 记录
    • P2P
      • BitTorrent
      • 数据存储方式
        • 对等方扰动

前言:18年开始接触NIO/netty,于是对第一版看了大概,工作中没怎么运用过,因为都是封装的高层,现在准备研究底层,所以再次研究底层,然后再次阅读看的第二版,相对第一版,开篇就看的整个人迷迷糊糊的,就只对ipv4和v6有了一个模糊的概念.= =
应用层_第1张图片

应用层

http

应用层_第2张图片
http连接方式
非持续连接:连接一次断开一次,如果一个页面包含4个图片对象,那么加载整个html,还需要再次建立5个tcp连接.
持续连接:复用同一个连接进行连接响应,当超时后,自动断开.

请求格式

应用层_第3张图片

应用层_第4张图片应用层_第5张图片

响应格式

应用层_第6张图片
应用层_第7张图片
应用层_第8张图片

首部字段

应用层_第9张图片
缓存格式
Cache-Control: private, max-age=0, no-cache

应用层_第10张图片
应用层_第11张图片

请求首部字段
从客户端向服务器发送请求报文中所使用的字段,补充请求的附加信息,客户端信息等
应用层_第12张图片
应用层_第13张图片
应用层_第14张图片

cookie

cookie的存在对会话层提供了支持
应用层_第15张图片
格式
Set-Cookie: status=enable; expires=Tue, 05 Jul 2011 07:26:31
应用层_第16张图片

web缓存服务器

应用层_第17张图片
假设每秒15请求,每个请求占用1M带宽,则局域网上的网络强度为
在这里插入图片描述
在这里插入图片描述
要想降低延时,提升局域网带宽,将带宽提升到100M,则延时为0.15
再就是CDN加速.当采用加速,假设命中率为40%,则请求延时强度为0.6.

缓存失效问题

当缓存服务器响应请求的时候,会缓存页面,顺便记录上次修改时间应用层_第18张图片
当用户间隔一段时间访问的时候,为了检测页面是否失效,发送上次修改时间,去服务端进行对比
在这里插入图片描述
如果这段时间页面没修改过,web服务器则发送给缓存服务器
应用层_第19张图片

https

HTTP+ 加密 + 认证 + 完整性保护 =HTTPS
应用层_第20张图片
https采用共享密钥加密和公开密钥加密两者并用的混合加密机制.
在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式。充分利用非对称加密的安全性,和共享加密的效率性.

websocket

支持双工,所以可服务器主动推送
首部信息很少,所以维持一个连接比HTTP耗用资源低

改变协议
应用层_第21张图片
连接
应用层_第22张图片
应用层_第23张图片

FTP

应用层_第24张图片
TCP开启2个并行的tcp连接端口传输文件,分别是控制连接,主要用于2主机之间传输控制信息,如用户标识,口令以及命令之类的,贯穿整个传输文件的过程,另外一个是数据连接,用来传输文件的.每次传输后就断开,再次传输需要再次连接
应用层_第25张图片

SMTP

应用层_第26张图片
应用层_第27张图片
因为smtp是基于推的操作,当从1推到5时,用户代理只能采用拉的协议从邮件服务器中获取邮件,比如POP3/IMAP/HTTP.
POP3相当于下载本地读取
IMAP相当于远程读取邮件
HTTP则采用浏览器读取.

DNS

相当于将身份证号(ip地址)映射为名字(域名),底层UDP协议.
提供主要的服务包括,邮件服务器和主机别名,负载分配
为了防止单点故障,服务器的层次结构如下
应用层_第28张图片
分别有三种DNS服务器,根DNS服务器,顶级域DNS服务器(负责顶级域名,如com,org),权威DNS服务器(机构提供)
DNS服务器分别提供递归和迭代2种方式查询.1-2步骤递归,其余步骤迭代
应用层_第29张图片
为了缓解DNS压力,DNS主机会缓存ip和域名映射关系.间隔一段时间删除.

记录

DNS存储资源记录,资源记录是一个包含了Name,Value,Type,TTL的记录
TTL:记录生存时间,超过则删除
应用层_第30张图片
如果A服务器是某主机名的权威服务器,则A会包含A记录.如果A不是,而B是,则A会记录一条NS记录(记录某主机名与DNS权威服务器域名)和A记录(权威服务器名和对应ip)
应用层_第31张图片

P2P

BitTorrent

应用层_第32张图片

数据存储方式

分布式散列表存储(DHT),
存储方式一:key为目录名,value为ip地址.
用户A比如要下a目录,首先从DHT根据a查找到对等方B负责维护a目录对应的ip地址,于是从对等方B中获取具有a目录的ip地址.返回给用户A
方式二:hash一致性算法
方式三:hash一致性算法+添加随机路径(环上数量要相对较少)
应用层_第33张图片

对等方扰动

当对等方5移除的时候,对等方4用他的后继8代替他的第一个后继,
然后查询第一个后继,他的后续后继10的标识符和ip地址,加入到4的第二个后继.

你可能感兴趣的:(通讯协议)