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

网站建设案例 星座网站建设的提升

网站建设案例 星座,网站建设的提升,未来产品设计,网络服务器配置与管理学习报告TCP全部细节参考RFC标准文档 一.TCP特点: 有连接,可靠传输,面向字节流,全双工. 二.TCP数据报: 1.端口号是传输层的重要概念. 2.TCP的报头是变长的(UDP是固定的8字节),大小存在4位首部长度中,用4个bit位(0~15)表示长度单位是4字节.(TCP报头最大长度是60字节,前面20字节是固定…TCP全部细节参考RFC标准文档 一.TCP特点: 有连接,可靠传输,面向字节流,全双工. 二.TCP数据报: 1.端口号是传输层的重要概念. 2.TCP的报头是变长的(UDP是固定的8字节),大小存在4位首部长度中,用4个bit位(0~15)表示长度单位是4字节.(TCP报头最大长度是60字节,前面20字节是固定的,选项部分可有可无,可大可小) 三.TCP核心特性: 1.保证可靠性的机制: a)确认应答(核心) 1)对每个字节进行标号,只要对第一个字节编号,再结合报文长度,此时每个字节的编号就确定了. 2)确认序号表示该序号之前的数据全部收到了. 3)ACK:如果ACK为0,说明是普通报文,此时确认序号无效,如果ACK为1,此时确认序号都有效,但是序号和确认序号无关(序号是本次数据的编号,确认序号和接收的数据有关). 4)TCP载荷长度在IP层可以得知,TCP载荷 IP载荷 - TCP报头.  b)超时重传:相当于针对确认应答做出的重要补充. 1)收到了数据之后,要对数据进行去重(按照TCP的序号作为依据). 2)TCP在内核中,会给每个socket对象安排一个内存空间,相当于一个队列,称为接收缓冲区,收到的数据会不会放在缓冲区中,按照序号进行排列(队头数据之前的序号一定是读过了,如果重传,会自动去除,如果发生后发先置的情况,则会在队列中根据序号排好队,如果最先发的数据迟迟不到会阻塞等待). 3)不管是发送的消息本身丢了,还是应答报文丢了,都会重传. 4)如果多次重传失败,会重置TCP连接. RST为1表示复位报文.  c)三次挥手和四次握手(连接管理) 1)三次握手: 2)三次握手的目的:验证网络是否通畅,以及每个主机的发送能力和接收能力是否正常,进行消息协商,使客户端和服务器以相同的参数进行数据传输. 3)三次握手为什么是三次? 恰好三次,能够验证好双方的发送和接收功能均正常,并且把这样的信息同步给双方,所以两次是不可以的,虽然两次握手也可以验证完成通信能力的正确性,但是服务器这边还不知道这样验证通过的信息,四次是可以的,但是没有必要,中间两次可以合并,如果非要拆开会降低效率. 4)四次挥手: FIN:结束报文段.  5)四字挥手,为什么是四次,三次行不行? 有的时候三次可以,有的时候必须四次,中间两次不一定能合并.FIN是由程序代码触发控制的,调用socket.close()方法,或者进程结束,才会触发FIN, ACK是系统内核控制的,收到FIN之后立马会返回ACK. 6)四次挥手时数据丢失:前三次数据丢失会重传,但是会发生最后一次ACK丢失的情况,所以客户端在发生最后一次ACK之后不能之间释放资源,而是应该等待2个MSL时间(1个MSL时间是网络通信所需的最大时间,一来一回一共2倍). d)流量控制:根据服务器的处理能力,控制客户端的发送速度(窗口大小) 1)使用服务器接收缓冲区的剩余大小来衡量服务器的处理能力. 2)如果服务器发送的ACK中表示接收缓冲区空余大小为0,客户端会暂停发送数据(发也是丢包),一段时间过后,客户端会发送窗口探测包(不携带任何具体数据),为了触发服务器的ACK,根据服务器返回的ACK考虑下一步. e)拥塞控制:整体的网络传输能力 1)机制:使用实验的方法,动态调整窗口大小.使用一个较小的窗口传输,如果传输通畅,就调大窗口;使用较大的窗口传输,如果传输拥塞(丢包),就调小窗口. 2)过程: 慢启动:刚开始使用非常小的窗口试水. 指数增长:在传输通畅的情况下,拥塞窗口就会指数增长. 线性增长:当指数增长到一定阈值之后,就会触发线性增长. 回归小窗口:在窗口增长的过程中,如果出现丢包,就认为网络拥塞,此时会回归到最初的小窗口. 重复上述过程,但是会调整阈值. 注意: 实际发送窗口 min(流量控制窗口, 拥塞窗口) 2.提高传输效率: a)滑动窗口:一次性发一组数据. 1)如果一个一个发,大部分时间浪费在等待ACK什么,使用滑动窗口,一次性发送多个数据,使用一份等待时间,等待多个ACK. 2)窗口的含义:一次发送不需要等待ACK的消息个数. 3)如下图,当2001到达客户端之后,客户端就会立刻发送下一个数据,客户端始终保持等待的ACK的个数不变. 4)丢包处理: 如果是ACK丢了,不用做任何处理,比如,如果确认序号2001丢了,但是下一次会返回确认序号3001,表示3001前的数据都收到了(包括2001). 快速重传:如果普通数据丢了,必须要重传,比如,如果数据2001~3000丢了,客户端继续发送数据,服务器会一直发送确认序号2001,这时客户端就知道了数据2001~3000丢了.收到多次同样的确认序号之后,客户端就会重传. 注意:这里的快速重传和上面的超时重传并不冲突,在数据量少的情况下,TCP未必会使用滑动窗口的机制,丢包情况下会使用超时重传机制,数据量的时,TCP使用滑动窗口机制,丢包情况下使用快速重传机制. b)延迟应答: 机制:服务器返回ACK时,拖延一点时间,使服务器先消费掉一点数据,这样接收缓冲区就更大了,客户端的窗口也更大了. c)捎带应答: 机制: 响应和ACK合二为一. 实例:四次挥手可以合并成三次. 3.粘包问题: a)粘包问题就是接收方在缓冲器中取数据,无法区分一条数据的边界. b)解决问题需要站在应用层的角度. 1)应用层协议中,引入分隔符,比如\n. 2)应用层协议中,引入包长度 4.TCP异常情况处理: a)进程崩溃: 进程没了 PCB没了 文件描述符释放(相当于调用socket,close()方法) 发送FIN,触发四次握手. 和正常情况没区别. b)主机正常关机: 正常关机会干掉所有进程,和进程崩溃处理一样. c)主机掉电: 1.接收方掉电:发送方收不到ACK,发送方会触发超时重传,多次失败后,会发送复位报文(RST字段 为1)来重置连接,失败后就释放连接. 2.发送方掉电:接收方会发送心跳包(不携带业务数据)来触发ACK,目的是确认发送方是否工作和网络是否通畅. d)网线断开: 参考c)主机掉电. 5.总结:
http://www.hkea.cn/news/14274036/

相关文章:

  • 专业做网站 优帮云动画网站源码
  • 张家口建站优化南昌网站排名优化
  • 怀化建设公司网站做电商网站费用
  • 在网上帮做图片的网站西安微信网站开发
  • 运城哪里做网站做个人网站要多少钱
  • 哪个网站做海报比较好网易企业邮箱收费吗
  • 网站ui设计规范汽车之家在线官网
  • 建站宝盒是什么企业门户网站什么意思
  • 网站建站建设网站互动网页怎么制作
  • 楚雄网站建设rewlkj阳江网胜
  • 搞笑网站全站源码策略网页游戏大全
  • 电商网站平台有哪些网站跳出率 报告
  • 免费国外医疗静态网站模板下载wordpress虚拟资源主题教程
  • 腾讯云 门户网站建设怎么做国外的网站推广
  • 济南微信网站建设什么网站可以做PS 写论文兼职
  • 增城网站建设公司wordpress维基
  • 河北建设厅网站技术电话短链接生成器
  • 甘肃省城乡城乡建设厅网站旅游网站策划方案
  • 福州网站建设专业公司宁波网站推广怎么做
  • 孝感网站制作公司智汇团建网站登录平台
  • 如何建立自己推广网站网站模板购买 优帮云
  • 网站建设氺金手指排名14网络规划设计师待遇怎么样
  • 长沙做网站的公司对比做一个电子商务网站在哪里做
  • 网站开发技术难度商丘网站推广渠道
  • 网络推广网站电话网站建设程序代码
  • 中国门户网站有哪些自己建服务器做网站违法
  • 推荐郑州网站建设公司网上推广赚钱项目
  • 济南营销网站制作图片wordpress主题
  • 免费下载网站模版华为开发者
  • 网站建设里面链接打不开新网站怎么做