当前位置: 首页 > news >正文

济南知名网站建设平台网站开发研究论文

济南知名网站建设平台,网站开发研究论文,福田做网站多少钱,网站源码对应的数据库怎么做文章目录 TCPTCP协议段格式报头和有效载荷如何分离#xff1f;4位首部长度 TCP可靠性确认应答机制的提出序号和确认序号为什么序号和确认序号在不同的字段#xff1f; 16位窗口大小 6个标志位标志位本质具体标志位PSHRSTURG 超时重传机制 文章目录 TCPTCP协议段格式报头和有效… 文章目录 TCPTCP协议段格式报头和有效载荷如何分离4位首部长度 TCP可靠性确认应答机制的提出序号和确认序号为什么序号和确认序号在不同的字段 16位窗口大小 6个标志位标志位本质具体标志位PSHRSTURG 超时重传机制 文章目录 TCPTCP协议段格式报头和有效载荷如何分离4位首部长度 TCP可靠性确认应答机制的提出序号和确认序号为什么序号和确认序号在不同的字段 16位窗口大小 6个标志位标志位本质具体标志位PSHRSTURG 超时重传机制 文章目录 TCPTCP协议段格式报头和有效载荷如何分离4位首部长度 TCP可靠性确认应答机制的提出序号和确认序号为什么序号和确认序号在不同的字段 16位窗口大小 6个标志位标志位本质具体标志位PSHRSTURG 超时重传机制 TCP TCP协议段格式 TCP报文 等于报头 加 有效载荷 TCP的标准报头长度 整体为20字节 报头的宽度是0-31表示报头所对应的字节数 (4字节)报文对应的宽度 为0-31 有效的标准报头长度一共 5行所以 整体为20字节 选项 如客户端和服务器建立好了链接但这个链接长时间不关并且也不发数据所以 操作系统 就会使用一定的策略 保证链接在一定时间内自动断开 报头和有效载荷如何分离 考虑两种情况 第一种 没有选项时 标准报头的长度为20字节剩下的都是有效载荷 第二种 有选项时 将标准报头长度20字节 与选项大小去掉剩下的就是 有效载荷 所以就需要借助4位首部长度来确定是否存在选项 若不存在选项则使用第一种方法 若存在选项则使用第二种方法 4位首部长度 TCP中存在4位首部长度占的是4个比特位 (采用的是位段所以有比特位) 首部长度 有基本单位4字节 4位首部长度 表示 TCP报头一共有多少4字节对应的行 二进制的取值范围为[0000,1111]转化为 十进制的取值范围为[0,15] 取值范围乘以4后变为 [0,60] 由于标准报头长度20字节所以最终 选项的取值范围是[20,60] 即 选项可从20字节开始最多到60字节 若为标准报头4为首部长度应该填充多少 假设填充x x*420 x5 转化为 二进制是 0101 提取报文的前20个字节(前20个字节一定是标准报头) 在提取首部长度字段 根据首部长度字段* 4 减去20字节 若为0说明没有选项报文就是标准报头直接读取有效载荷即可 若不为0剩下几个字节就说明有几个字节的选项整个报文长度 减去 标准报头以及 选项长度 即可获得 有效载荷 TCP可靠性 确认应答机制的提出 TCP通信时那些是不可靠的 丢包、乱序、重复、校验失败、发送太快/太慢 单纯的就是因为 通信双方 距离太远 在这些不可靠的问题中最核心的就是丢包问题 如何知道丢包了 就需要正确理解 确认应答机制 确认应答机制的本质确认是否丢包 如给你发个报文需要对该报文进行确认只要收到了确认就认为 发的报文被收到了 客户端给服务器发了一条消息可服务器是否收到报文客户端是不清楚的 客户端为了保证 消息被服务器收到了就要求 服务器对客户端做应答 虽然无法保证此时的ACK 是否丢失的问题但是可以保证 只要客户端收到了应答客户端向服务器发送的数据对方一定能收到 若客户端收不到应答 客户端就认为报文丢失 结论可靠性是通过收到应答保证的 在TCP中 客户端和服务器端双方的地位是对等的 如客户端想给服务器端发消息服务器端必须应答 才能保证客户端给服务器发的消息的可靠性 序号和确认序号 如果发一个接收一个效率太低了所以就采用一次向对方塞满大量数据 这样的话服务器的每一个报文都要应答 这样来看效率是提高了但是会出现两个问题 1. 发送的顺序不一定是接收的顺序 2. 当服务器收到多个确认的时候 并不知道哪一个应答对应哪一个请求报文 为了解决这两个问题 就需要给报文 带上编号 结论 TCP报头中必定要包含 序号 客户端要对众多要发送的报文数据 进行编号 假设 客户端 给服务器发送一个序号为10的报文 服务器给客户端的确认应答中 要有 确认序号 此时的确认序号 为 11 确认序号的含义 确认序号XX-1之前的报文已经全部收到了下次发送请从X编号开始发送 若在确认应答时序号10对应的确认序号11丢失了 而确认序号12是应答成功的 确认序号12 表示 11号之前的报文已经全部收到了下次从12序号 开始发送 就可以告诉 客户端 10序号的数据发送成功了只是应答丢了 为什么序号和确认序号在不同的字段 TCP是全双工的既能读又能写 看似服务器只做了一个确认应答实际上 服务器做了两个工作 1.给客户端做出应答2.给客户端发送数据 被压缩成了一个请求/应答被称为 捎带应答(提高通信效率) 如有人问你吃了吗 你说吃了并反问你呢 两个人各自只张了一次口通信效率就提高了 确认应答并不纯粹在相当大的情况下 确认应答即是对客户端的确认又携带了服务器给客户端发送的数据 该报文必须要有32位序号表示 服务器给客户端发送数据时 数据序号的问题 必须要有32位确认序号服务器对客户端的历史数据的确认 为了32位序号和32位确认序号同时存在所以必须要在不同的字段 16位窗口大小 传输层的TCP中包括 发送缓冲区 和 接收缓冲区 在传输层与应用层之间有一个 系统接口 如send/ write read/recv 调用系统接口之前应用层有自己的应用层缓冲区 如果TCP发送数据时发送太快 接收缓冲区很快就满了报文就会被丢弃掉 虽然说TCP有重传机制技术上没有问题但是这样做不合理 因为 这些报文 经过 各种网络资源的转发已经消耗很多的网络资源了才到达了目标主机 为了不出现当前情况让发送方 控制 一下自己的发送速度这种策略 称之为 流量策略 接受方 在收到报文时对每一个 收到的报文 都会进行应答 为了不使 接收方 来不及接收所以需要将自己的接收能力 告诉对方 如你回家 你妈给你做了一桌子菜当你吃饭时你妈一直给你加菜直到你吃不动时就跟你妈说吃饱了但如果你妈依旧给你加菜你肯定受不了 发送方发送的策略是要受接收方接收的能力 影响的 而接收方的接收能力 取决于 接收缓冲区的剩余空间的大小 每个报文都有应答 以及 自己是知道自己的接收能力的 两者合在一起 就对应 TCP的16位窗口大小 客户端给服务器发送消息时服务器要给客户端做出响应响应中携带对应的TCP报文TCP报文中包含TCP报头 报头中包含 16位窗口大小 会把服务器中 接收缓冲区的剩余空间大小 填入窗口大小中 就根据 16位窗口大小 来决定发送方 还能发送多少数据 6个标志位 每一个标志位在报头中 只占一个比特位 标志位本质 可能存在很多的客户端给服务器 发消息 所有的客户端在任何时刻 都可能发送大量消息 TCP是面向链接的服务器在收到数据时这些收到的数据 有相当一部分是链接请求 当通信完成时可能会断开链接此时客户端要给服务器发送一些断开链接的请求 在建立链接之后断开链接之前客户端要给服务器 正常的数据通信 绿色建立链接 蓝色发送消息 红色断开链接 服务器在同一时刻 会收到各种各样的报文请求报文之间是不同的 如你是一家餐厅的老板在餐厅中有各种各样的人有的人是来吃饭的有的人是来找人的有的人是来拿外卖的 你每天都会面对各种各样不同的人这些各种各样不同的人是你观察到的现象 来吃饭的会进行推荐店里最好吃的东西 来找人的就会询问是什么样子的 不同的人 来到店里 提供不同的处理动作 你把人划分成不同的类型所以 报文也是有类型的 标志位的本质就是 标识不同类型的报文所以服务器就会有不同的处理动作 具体标志位 ACK该报文 是一个确认应答报文可能会携带数据 (捎带应答) SYN是一个连接请求的报文 (三次握手) FIN 是一个连接断开的请求报文 (四次挥手) 这三个后面会详细说 PSH 催促对方让对方尽快将接收缓冲区的数据 向上交付 如当你正在写作业你的爸爸过来催促你让你赶紧做 所以每一个人在完成一件事情时在一定的情况下别人会催促你让你尽快把一件事情做成 同理客户端给服务器发送消息时 服务器要给客户端做出应答 通告客户端 服务器中的接收缓冲区的剩余空间的大小使客户端进行 流量控制 若服务器的TCP报文 在的 窗口大小为0 则客户端就不能发送数据了 所以客户端就需要 定期给服务器 发送一些询问报文(不携带数据) 客户端就会确认应答同时也会告知对应的 窗口大小依旧为0 客户端再次发起询问报文就可以将自己对应的PSH置为1 表示让服务器中的应用层赶紧把接收缓冲区的内容取走把接收缓冲区的空间腾出来以方便客户端发送数据 RST TCP三次握手时需要进行三次报文交互不一定能握手成功 但握手成功了一定是经历了三次握手 当客户端 与服务器 进行链接时双方都认为有链接服务器端因为一些原因 而释放了对应的链接 而客户端还不知道客户端还会一直维护这个链接 过了一会服务器又把对应的网线插上了客户端又向服务器发起请求 服务器并没有接收到 获取到三次握手的任何细节所以服务器意识到客户端的链接是异常的 所以服务器就会给客户端发送 一个 RST置为1的TCP报头 当客户端接收到 当前报头时将自己老的链接释放掉再重新发起三次握手 RST 全称 为 reset作用为 对链接进行重置 URG 紧急指针标志位 TCP本身包含了序号就可以将TCP报文按序号排序就可以按序号由小到大入队列这样就保证上层拿到的数据是有序的 若报文中携带了特殊数据让接收方将特殊数据插队处理就需要使用URG标志位 作用为告诉接收方 当前报文中的有效载荷里面 有紧急数据存在的并且16位紧急指针是有效的 (大部分情况下 16位紧急指针是无效的) 若URG被置1则表示报文中包含了紧急数据 16位紧急指针 本质为 一个偏移量紧急数据(只有1个字节) 在有效载荷中的偏移量 超时重传机制 若主机A向主机B发送消息是有可能造成丢包的但如何知道丢包呢 在特定的时间范围有没有收到应答若收到应答则说明收到了 若没收到应答则说明报文在网络中丢失了 主机A收不到应答的情况 分为两种 第一种 虽然主机A给主机B发送数据但主机B没有接收到数据所以主机B就不会应答 所以主机A在等待一段时间后就会把对应的数据重发一次 这个重发的过程就叫做 超时重传 TCP发送数据时必须把暂时没有得到反馈的数据 维护一段时间支持超时重传 最理想的情况下找到一个最小的时间 保证 确认应答一定再这个时间内返回 若超时时间设置太长会影响整体的重传效率 若超时时间设置太短有可能会频繁发送重复的包 第二种 主机A给主机B发送数据时主机B接收到了数据但是应答丢失了 主机A在特定时间内若没有收到对应的应答主机A会重新再发送对应的数据 主机B有可能收到 重复报文 就需要主机B进行对应报文的去重
http://www.w-s-a.com/news/455776/

相关文章:

  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的
  • 英文网站建设方法门户网站特点
  • 腾讯云备案 网站名称萧山城市建设网站
  • 漳浦网站建设网络营销推广策略
  • 龙岗商城网站建设教程百度关键词排名突然没了
  • 深圳网站建设服务哪家有织梦网站模板安装
  • 网站设计与网页制作代码大全网站开发还找到工作吗
  • 给设计网站做图会字体侵权吗站长工具seo综合查询张家界新娘
  • 网站的建设与颜色搭配win7在iis中新建一个网站
  • 单位做网站有哪些功能型类的网站
  • 网站怎样做优惠卷移动互联网开发培训
  • 重庆网站建设帝维科技网站做定向的作用
  • 网站建设工作室wp主题模板做污事网站
  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案
  • 网站国内空间价格销售技巧
  • 广安建设企业网站qq互联网站备案号