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

湘潭做网站价格品牌磐石网络网站建设的维护范围

湘潭做网站价格品牌磐石网络,网站建设的维护范围,网站 成功因素,网站建设后端前端转载自 深入理解TCP/IP协议-TCP建立与终止连接 一、引言 TCP 是一个面向连接的协议。无论哪一方向另一方发送数据之前#xff0c;都必须先在双方之间建立一条连接。连接创建与终止的状态变化图如下#xff1a; 二、三次握手建立连接 过程如下#xff1a; 客户端发送一个 SY…转载自  深入理解TCP/IP协议-TCP建立与终止连接 一、引言 TCP 是一个面向连接的协议。无论哪一方向另一方发送数据之前都必须先在双方之间建立一条连接。连接创建与终止的状态变化图如下 二、三次握手建立连接 过程如下 客户端发送一个 SYN 数据包指明客户端打算连接服务器的端口初始化序号ISN为 m。 服务器发回包含服务器的 ISN 作为应答值为 n。同时将确认序号设置成客户端 ISN1m1来作为对客户端 SYN 的确认。 客户端发送一个 ACK 数据包ackn1, 作为对服务器的 SYN 的确认。 1. 为什么是三次握手而不是两次 网络是不可靠的数据包是可能丢失的。假设没有第三次确认客户端向服务端发送了 SYN请求建立连接。由于延迟服务端没有及时收到这个包。于是客户端重新发送一个 SYN 包。回忆一下介绍 TCP 首部时提到的序列号这两个包的序列号显然是相同的。假设服务端接收到了第二个 SYN 包建立了通信一段时间后通信结束连接被关闭。这时候最初被发送的 SYN 包刚刚抵达服务端服务端又会发送一次 ACK 确认。由于两次握手就建立了连接此时的服务端就会建立一个新的连接然而客户端觉得自己并没有请求建立连接所以就不会向服务端发送数据。从而导致服务端建立了一个空的连接白白浪费资源。   TCP是双通道需要双向确定。只有两次握手客户端知道了服务器收到了服务器不知道客户端收到了联想打电话。通讯系统中的占拜庭将军问题。 2. 最大报文段长度 最大报文段长度MSS表示 TCP 传往另一端的最大块数据的长度。当一个连接建立时连接的双方都要通告各自的 MSS。在三次握手的时候 SYN 的 TCP 首部中的可选字段确定。以太网的默认长度为 1460。 三、四次握手关闭连接正常状态 建立一个连接需要三次握手而终止一个连接要经过 4 次握手。这由 TCP 的半关闭 (half-close) 造成的。一个 TCP 连接是全双工即数据在两个方向上能同时传递因此每个方向必须单独地进行关闭。 主动方想要关闭连接发送 FIN 包给被动方序号为 m 被动方接收到主动方发送的 FIN 包知道了对方要关闭连接发送 ACK 确认包序号 m1。主动方连接关闭。 等待片刻处于半关闭状态在此期间finwait2,closewait。被动方发送最后的数据主动方接收最后的数据。 被动方确认要关闭连接发送 FIN 包。序号 n。 主动方等待片刻接收网络中还未到达的数据包发送 ACK 确认包。序号 n1。到此连接关闭。 1.TCP 的半关闭状态 TCP 提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。如主动方处于 fin_wait2 状态。 2.TIME_WAIT 状态 TIMEWAIT 状态也称为 2MSL 等待状态。每个具体 TCP 实现必须选择一个报文段最大生存时间 MSL Maximum Segment Lifetime。它是任何报文段被丢弃前在网络内的最长时间。因为 TCP 报文段以 IP 数据报在网络内传输而 IP 数据报则有限制其生存时间的 TTL 字段。在实际应用中对 I P 数据报 TTL 的限制是基于跳数而不是定时器。   在处于 2MSL 等待状态的 socket(客户端 IP 与端口服务器 IP 与端口) 不能再被使用。但在实际的使用中允许一个新的连接请求到达仍处于 timewait 状态的连接只要新的序号大于该连接的前一个连接的最后序号。 四、正常状态抓包 下面是一次完整的 tcp 建立连接发送数据关闭连接过程 该过程为3 次握手建立连接一次数据发送4 次握手关闭连接 五、异常情况 出现异常的时候服务器通常通过复位报文来通告复位报文为 tcp 数据包类型设置为 rst。 1. 连接超时或到达不存在的端口 / 服务器 当服务器端没有开或网络问题会出现连接超时的情况。抓包如下 客户端尝试 3 三次来连接有时候服务器端会发送 rst 数据包。 2. 异常终止一个连接 在 TCP 通讯中。如果通讯双方应为某种原因如突然断电等关闭连接时候一方如 A没有发送 fin 数据包。另一端 (如 B) 不知道对方已经关闭了连接。再次发送数据的时候异常关闭的一方可能会返回一个 rst 数据包。通知异常关闭。如果一方已经关闭或异常终止连接而另一方却还不知道我们将这样的 TCP 连接称为半打开 (Half Open) 的。 3. 同时打开 两个应用程序同时彼此执行主动打开的情况是可能的。每一方必须发送一个 SYN且这些 SYN 必须传递给对方。这需要每一方使用一个对方熟知的端口作为本地端口。同时打开的状态迁移图不同于正常状态的三次握手该情况下需要进行 4 次握手。如图 4. 同时关闭 我们在以前讨论过一方通常但不总是客户方发送第一个 FIN 执行主动关闭。双方都执行主动关闭也是可能的TCP 协议也允许这样的同时关闭simultaneous close。在同时关闭的时候双方都进入 time_wait 状态如图 六. TCP 服务器设计 大多数的 TCP 服务器进程是并发的。当一个新的连接请求到达服务器时服务器接受这个请求并调用一个新进程来处理这个新的客户请求。 1. 接入连接请求队列 一个并发服务器调用一个新的进程来处理每个客户请求因此处于被动连接请求的服务器应该始终准备处理下一个呼入的连接请求。那正是使用并发服务器的根本原因。但仍有可能出现当服务器在创建一个新的进程时或操作系统正忙于处理优先级更高的进程时到达多个连接请求。当服务器正处于忙时TCP 是如何处理这些呼入的连接请求TCP 有这样一个队列来临时存放这些连接 - 接入连接请求队列。处理方式如下 正等待连接请求的一端有一个固定长度的连接队列该队列中的连接已被 TCP 接受即三次握手已经完成但还没有被应用层所接受。注意区分 TCP 接受一个连接是将其放入这个队列而应用层接受连接是将其从该队列中移出。 应用层将指明该队列的最大长度这个值通常称为积压值 (backlog)。 当一个连接请求SYN到达时 TCP 使用一个算法根据当前连接队列中的连接数来确定是否接收这个连接。积压值说明的是 TCP 监听的端口已被 TCP 接受而等待应用层接受的最大连接数。 如果对于新的连接请求该 TCP 监听的端口的连接队列中还有空间TCP 模块将对 SYN 进行确认并完成连接的建立。此时应用层不一定知道该新的连接如果对方发送数据这些数据将放入缓冲队列中。 如果对于新的连接请求连接队列中已没有空间TCP 将不理会收到的 SYN。也不发回任何报文段即不发回 RST。如果应用层不能及时接受已被 TCP 接受的连接这些连接可能占满整个连接队列客户的主动打开最终将超时。
http://www.pierceye.com/news/919865/

相关文章:

  • 做简历的网站叫什么软件外贸网站建设工作计划
  • 关键词搜索引擎网站公司要求做网站
  • 如何判断网站开发语言浙江省网站建设报价
  • 建设一个网站思路有关网站建设的网站
  • 网站文明建设工程包括做电影网站什么后果
  • 邯郸市有搞网站服服务的吗怎样免费建设免费网站
  • 衡水学校网站建设wordpress后台中文安装
  • 英文网站建站模板电子名片制作app
  • 沧州网站建设多少钱网站多域名
  • 自己做的网站怎么被搜录免费在线观看韩国电视剧网站推荐
  • 网站推广策划案格式及范文专业做网站排名多少钱
  • 做网站优化多少钱南京华典建设有限公司网站
  • 建网站是什么专业类别海洋高端的专业做网站
  • 网站建设评审标准asp网站安全吗
  • 网站服务器怎么维护网站建设讠金手指科杰
  • 网站关键词推广哪家好咸阳seo推广
  • 自己建设网站难不难门户网站建立流程
  • 制作梦核的网站做网站注意哪方面
  • 京东商城网站wordpress模板凡科网做的网站能直接用吗
  • 网站 位置导航网站备案查询系统php版
  • 网站安全检测平台做网站的怎么挣钱
  • 3营销型网站建设做网站开发最多能做几年
  • 南宁世尊商贸网站建设wordpress给文章设置标题
  • 网站建设与准备微信带颜色的公众号
  • 郑州整站关键词搜索排名技术企业网站建设 信息安全
  • 招聘网站建设计划书网站ftp密码怎么修改
  • 网站的360度全景图片怎么做网站做可信认证多少钱
  • 建立网站图片wordpress msg
  • 南京做中英文网站设计wordpress单位内网做网站
  • 网站有必要备案吗ps课程教学零基础网课