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

北京企业网站seo吉林手机版建站系统开发

北京企业网站seo,吉林手机版建站系统开发,教学ppt模板免费下载完整版,seo推广营销网站TCP 1.什么是TCP TCP是处于运输层的通信协议#xff0c;该协议能够实现数据的可靠性传输。 2.TCP报文格式 源端口和目的端口#xff1a;各占两个字节#xff0c;发送进程的端口和接收进程的端口号。 序号#xff1a;占4个字节,序号如果增加到溢出#xff0c;则下一个序…TCP 1.什么是TCP TCP是处于运输层的通信协议该协议能够实现数据的可靠性传输。 2.TCP报文格式 源端口和目的端口各占两个字节发送进程的端口和接收进程的端口号。 序号占4个字节,序号如果增加到溢出则下一个序号从0开始在TCP传输过程中传送的每一个字节流都是按顺序编号的。首部中的序号指的是发送数据的第一个字节流的编号。例如当前发送第一个字节流序列号为201数据部分一共100个字节那么下一次发送的序号就是301. 确认号占4字节期望收到对方下一个报文段数据第一个字节的编号。 数据偏移占4位单位是4字节TCP报文的的首部长度。 保留字段占6位保留今后使用。 控制字段6位 第一位URG(紧急标志位)为1时表示紧急标指针有效告诉系统此报文为一个紧急数据应尽快送达。发送的优先级更高。第二位ACK(确认):当为1时确认号字段有效ACK为0时确认号无效连接建立和确认应答有用。第三位PSH(推送):为1时有效发送方希望接收方收到推送包立即将该包交付给上层协议不要等到缓存区满了在向上交付。第四位RST(复位):为1时有效,表面TCP连接出现严重差错,必须释放连接,重新建立连接.第五位SYN(同步):在连接建立时用来同步序号,当SYN 1,而ACK 0时,表面这是一个连接请求报文段,如果接收方同意连接,则应返回SYN 1和ACK 1的报文段.第六位FIN(终止):用来释放一个连接,当FIN 1时,表面此报文段的发送方的数据已经发送完毕,并要求释放连接. 窗口:占2字节,值为[0,2^16-1],指的是发送本报文段的接收窗口大小,如果发送方的确认字段为1000,窗口大小为1000,那么接收方只能发送小于等于1000个字节的数据 校验和:占2字节,检验部分包括首部和数据部分,计算校验和时,要在TCP报文段加上12字节的伪首部. 紧急指针:占2字节,它指出本报文段中紧急数据的字节数(紧急指针接受后就是普通数据),窗口为0也能发送紧急数据,当处理完紧急数据时,TCP告诉应用程序恢复到正常操作. 选项:长度可变,最长40个字节. 总结:TCP的首部的前20个字节是固定的,所以首部最小长度为20字节. 2.TCP实现原理 在古代时期人们通过写信来互相交流但是信件的传输渠道并不发达要保证信件的准确到达更是难上加难在发信的过程中如果彼此都认为自己的信是准确到达的那么我们就可以认为它们互相交流是OK的。如果是你会使用什么办法判断它们互相交流没有问题呢 举例A向B发送信件B接收到了信件B可以知道A的信息是准确到达的但是A并不知道它的信息是准确到达的这时B就像A发送信息A收到了B的信件此时A就能认为自己的信是准确到达B的但是B并不知道它的信息是否准确到达此时A在向B发送一封信件B收到信件后就可以自己的信件是准确到达的此时A、B之间能感知到对方能够正确的接受消息。A,B之间就可以放心大胆的传输数据了。TCP也是如此为了保证可靠性首先收发方需要确认彼此都是正常的才能放心的发送数据下面看看TCP建立连接的过程吧。 建立连接 客户端向服务器发送SYN报文其中SYN1表示建立连接请求同时将初始序列号seqx发送给服务器。 服务器接收到SYN报文后向客户端发送SYNACK报文其中SYN1表示确认建立连接请求同时也向客户端发送了自己的初始序列号seqy和ack x1。 客户端接收到SYNACK报文后向服务器发送ACK报文其中ACK1表示确认收到了服务器的确认建立连接请求的报文并将确认号acky1发送给服务器。此时TCP连接已经建立。 在TCP三次握手的过程中客户端和服务器都会发送SYN和ACK报文以确保双方都能够正常收发数据。通过建立连接前的三次握手可以保证双方都已经准备好传输数据从而确保了数据传输的可靠性。 既然有连接那么就有一个断开的过程客户端不想在向服务端发送数据了为了保障资源的利用客户端向服务端申请断开连接。下面看看TCP是如何断开连接的吧。 断开连接 客户端向服务器发送FIN报文其中FIN1表示客户端已经没有数据要发送了。 服务器接收到FIN报文后向客户端发送ACK报文其中ACK1表示确认收到了客户端的FIN报文由系统内核自动回复。 服务器向客户端发送FIN报文其中FIN1表示服务器已经没有数据要发送了一般由应用程序触发。 客户端接收到FIN报文后向服务器发送ACK报文其中ACK1表示确认收到了服务器的FIN报文。 在TCP断开连接的过程中每一次挥手都需要等待对方的确认从而确保双方都已经准备好断开连接。通过断开连接前的四次握手可以保证双方都已经完成了数据传输并且都已经准备好断开连接从而确保了数据传输的可靠性。 注意断开之前需要保证彼此之间都没有数据需要传输了且双方都同意断开才是一次完整的断开。 TCP传输细节 TCP通过以下细节来保证数据传输的可靠性 确认应答 对于发送方发送的数据接收方如果接收到了会向发送反做出反馈表示自己确认收到了。 停止等待 当TCP发出一个段后它启动一个定时器等待目的端发送确认收报文发送方接收到了确认报文继续发送后续内容,在还未收到发送端的确认时,都应该保存好已经发送出去的内容,用于超时重传。 超时重传 发送出数据以后报文和ACK都由可能丢失但是发送端并不能确定具体哪个丢失TCP协议如何处理 如果不能及时收到一个确认应答将重发这个报文段。 滑动窗口 客户端和服务端都能作为数据的发送端如果每一次发送出的数据报都需要等待ACK返回等待的过程将会耗费比较多的时间传输效率大打折扣为了提高传输效率。因此滑动窗口就产生了那么具体过程是怎么的呢 举例假如需要发送10000个比特。分成10次发送。 第一次可以连续发送多个数据包在连续的发送过程中可能已经收到了前面数据报的确认应答报文这时候窗口就可以向后移动继续发送后面的数据在这个过程中窗口一般是持续移动的因此基本就不需要等待了提高了传输效率。 ACK丢失ACK丢失都不是什么大问题如果接收到了更大的确认序号接收端也能明白小序号的已经收到了。 数据报丢失数据报丢失时ACK返回报文中会持续索要丢包的数据直到索要成功返回ACK然后继续索要后续的数据。 流量控制 TCP连接的双方都有一定大小的接收缓存空间如果一方的发送能力太快而一方的接收能力特别弱可能会导致接收弱的一方缓存区溢出导致数据丢失那么有必要采用一些手段进行平衡发送和接收速率TCP协议如何处理 TCP报文首部有一个窗口参数仅在ACK报文中生效表示接收区缓冲区大小窗口越大发送速率就越快。当发送方获取到接收缓存区的信息就会对窗口进行相应调整来保证自己的发送速率不要过快/慢。如果窗口为0说明接收缓存区满了发送端就会停止发送并在一定时刻后发送探测报文询问接收方缓存区是否有剩余空间。 拥塞控制 数据在互联网中传输过程具有不确定性和很多的因素有关因此数据在互联网中传输的速率也需要考虑如果网络拥塞导致很多数据丢包了发送速率和接收速率很快的话也会影响总体的传输速率因为可能需要更多的时间对丢包的数据进行重传那么是如何实现拥塞控制的呢 通过不断实验的方法慢启动的方式开始给定一个比较小的窗口如何没有出现丢包逐渐的增大窗口呈指数增长到一定程度呈线性增长增大到一定程度发现丢包了重新降到一个比较小的点重新开始。 延迟应答 在流量控制中通过ACK报文告诉发送方窗口的大小。当接收方收到了数据那么这时缓存区也会相应的变小一些为了回复给发送方ACK报文缓存区大一些会等待一会时间让缓冲区的信息被应用读取缓存区就变大了这时再返回ACK报文窗口就能更大一些发送方就可以发送更多的数据。 捎带应答 基于延迟应答的一种策略ACK等待了一小段时间发送可能这时候也需要发送响应因此可以将ACK和响应数据一起发送提高了传输效率。 粘包问题 产生原因TCP是面向字节流进行传输的发送方如果发送一个应用层数据包不会出现什么问题。如果发送方一次发送多个应用层数据包多个应用层数据包合并到一个TCP报文中发送了接收方不能正确的判断边界就容易出现问题。 解决方案 约定好应用层数据包的长度每个包都有一个固定的长度不足长度的使用空格方式补齐。每个包的末尾使用固定特殊字符分割即使被拆分了接收方也能通过特殊字符对包进行合并。应用层自定义一种协议或使用现有协议将消息封装例如http协议。 TCP特征 可靠性TCP是一种可靠的传输协议它提供数据传输的可靠性保证能够在数据传输过程中检测和纠正传输中的错误确保数据的完整性和准确性。 基于连接TCP是一种基于连接的协议它要求在数据传输前先建立连接然后才能进行数据的传输。这种基于连接的方式可以保证数据传输的可靠性和有序性。 面向字节流TCP是一种面向字节流的协议它把数据看作是一个连续的字节流而不是一个个分离的消息。 全双工同时可以接收也能发送数据。 基于TCP的应用层协议 HTTP超文本传输协议、SMTP简单邮件传输协议、FTP文件传输协议、SSH协议 UDP 1.什么是UDP UDPUser Datagram Protocol是一种无连接的传输层协议而是简单地将数据报文从一个主机发送到另一个主机。UDP协议是一种轻量级的协议. 无连接UDP是一种无连接的协议发送数据之前不需要建立连接也不需要维护连接状态因此传输效率高。 不可靠UDP不提供可靠的数据传输保证发送数据时不会进行数据的重传和校验数据包有可能在传输过程中丢失或者重复。 面向报文UDP将应用程序传递给它的数据报文看作一个整体进行处理不会进行数据分段和重组操作因此能够保证数据的完整性。 简单快速UDP的头部较小没有复杂的连接控制和拥塞控制机制因此传输速度较快。 支持广播和多播UDP支持广播和多播功能可以将数据同时发送给多个接收方。 适用于实时应用UDP适用于实时应用如在线游戏、视频会议等因为它能够快速地传输数据但不保证数据的可靠性。 2.UDP数据报格式 源端口2字节需要对方响应时选用不需要可以全用0目的端口2字节目的端口号长度2字节UDP用户数据报的长度最小值为8仅有首部。校验和 2字节检测用户数据报在传输过程中是否有误。有错就丢弃可选如果传送的检验和为0说明发送端没有计算检验和数据报会被丢弃 。使用CRC循环冗余算法。 基于UDP的应用层协议NFS网络文件系统、TFTP简单文件传输协议、DHCP动态主机配置协议、DNS域名解析协议。
http://www.dnsts.com.cn/news/32295.html

相关文章:

  • 网站域名和网址wordpress在后台去掉链接
  • 网站素材设计百度天眼查公司
  • 建立外贸网站多少钱有什么好的网站做数学题吗
  • 怎么做自己的充值网站猎头公司网站模板
  • 模板网站什么意思低多边形网站
  • 藁城外贸网站建设wordpress多用户登录
  • ftp工具下载网站源码教程重庆响应式网站设计
  • 高校网站建设目的与意义深圳网站优化推广方案
  • 网站创建域名苏州住房和城乡建设厅网站
  • 中文域名做的网站部署推进网站建设
  • 民治网站建设wordpress 网页混乱
  • 济南装饰行业网站建设wordpress 做app
  • 网站短信验证怎么做专门做情侣装的网站
  • 网站板块怎么做我的网站模板下载不了
  • 网站建设项目的生命周期园林效果图网站
  • 平面设计做兼职网站网站布局评价
  • 陕西旭泽建设有限公司网站湖北建设工程信息网站
  • 网站每年的维护费品牌网站织梦模板下载
  • pc网站转换wap网站带用户中心的WordPress主题
  • 网站流量统计工具有哪些哪家代运营公司比较好
  • 做ppt的网站有哪些dedecms 网站访问量
  • 做淘宝网站多少钱免费xyz域名注册
  • 做感恩网站的图片枣阳网站建设等服务
  • 高端html5网站建设织梦模板有什么网站可以做电子
  • 如何防范恶意网站建设个人技术网站
  • 网站开发流程分为哪几个阶段网站 title 被修改
  • swoole怎么做直播网站wordpress feed
  • 青岛建立网站电话百度搜索优化费用
  • 如何与网站建立私密关系wordpress content widgets
  • 做网站需要什么硬件环境高级服装定制平台