
TCP
文章平均质量分 77
iteye_4064
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
短连接导致端口耗尽
场景回放A机器的服务请求B机器的服务短连接请求,动态创建连接端口A机器服务会主动关闭连接短时间内高并发请求A机器的tcpssports被耗尽了大部分网络连接处time_wait状态 内核配置net.ipv4.ip_local_port_range = 1024 65000net.ipv4.ip_local_reserved_port...原创 2016-11-09 23:44:05 · 4310 阅读 · 0 评论 -
TCP目录贴
IP头部结构IP分片TCP/IP协议封装与DemultiplexingIP 差错控制运输层协议 TCP头部结构TCP状态转换TCP中的窗口TCP拥塞控制TCP的计数器TCP差错控制TCP编号系统TCP选项TCP流量控制 ...原创 2016-12-03 00:19:43 · 214 阅读 · 0 评论 -
TCP流量控制
流量控制平衡了生产者产生数据的速度和消费者消费数据的速度。TCP把流量控制从差错控制中独立出来。下图所示为发送方和接收方之间的单向数据传送。双向数据传送过程可以从单向传送中推断出来。 图中描绘的数据走向是从发送进程向下发送TCP,再从发送TCP到接收TCP,然后从接收TCP向上到达数据接收进程(路径1、2、和3)。不过,流量控制的反馈走向是从接收TCP到发送...原创 2016-12-01 01:08:41 · 343 阅读 · 0 评论 -
TCP选项
TCP首部可以由多达40字节的可选信息。选项用于把附加信息传递给终点,或用来填充对齐其他选项。我们将定义两大类选项:1字节选项和多字节选项。第一类选项包括两种选项:选项列表结束和误操作。在大多数实现中,第二类选项包括了五种选项:最大报文段长度、窗口扩大因子、时间戳、允许SACK和SACK,见下图。 选项结束(EOF) 选项结束(end of optio...原创 2016-11-28 00:48:25 · 853 阅读 · 0 评论 -
TCP编号系统
虽然TCP软件需要掌握正在传送的或已接收到的每一个报文段,但在报文段首部中并没有存放报文段编号的字段。实际上,在这个首部中由两个叫作序号和确认号的字段。这两个字段所指的都是字节的编号而不是报文段的编号。 字节号 TCP把在一个连接中要发送的所有数据字节(8位组)都编上号。两个方向的编号是相互独立的。当TCP接收来自进程的数据字节时,就把它们存储在发送缓存中,...原创 2016-11-27 22:55:57 · 366 阅读 · 0 评论 -
TCP差错控制
TCP是可靠的运输层协议。这就表示应用层程序把数据流交付给TCP后要依靠TCP把整个数据流交付给另一端的应用程序,并且是按序的,没有差错、也没有任何一部分丢失或重复。 TCP使用差错控制来提供可靠性。差错控制包括以下的一些机制:检测和重传受到损伤的报文段、重传丢失的报文段、保存失序到达的报文段直至缺失的报文到期,以及检测和丢弃重复的报文段。TCP通过三个简单的工具来...原创 2016-11-27 01:54:28 · 2027 阅读 · 1 评论 -
TCP的计数器
为了能够顺利的进行TCP的操作,大多数的TCP实现至少要使用4个计时器,见下图。 重传计数器为了重传丢失的报文段,TCP应用了一个重传计时器(在整个连接期间)来处理重传超时(RTO),也就是对报文段的确认的等待时间。我们可以以为重传计时器定义一下规则:当TCP发送了位于发送队列最前端的报文段后,就启动这个计时器。当这个计时器超时后,TCP重传...原创 2016-11-27 01:45:00 · 791 阅读 · 0 评论 -
TCP拥塞控制
因特网中存在一个重要的问题是拥塞(congestion)。如果一个网络中的负载(load)(也就是发送到网络上的分组数量)大于网络的容量(也就是网络能够处理的分组数量),这个网络就有可能发生拥塞。拥塞控制(congestion control)指的是用来控制拥塞,以使负载保持低于容量的机制和技术。 我们可能会问为什么网络中会出现拥塞?只要是涉及到等待的系统都会发生...原创 2016-11-26 02:27:25 · 360 阅读 · 0 评论 -
TCP中的窗口
滑动窗口 因为序号是模2的m次方,所以从0至2的m次方-1的序号可以表示为一个环。缓存被表示为一组小格子,称为滑动窗口(sliding window),在任何时候它们都占据了圆的一部分。在发送方,当一个分组被发送出去,相应的小片就被标记。当所有的小片都被标记后,就表示缓存已满,不允许从应用层接收更多的报文。当一个确认达到后,相应的小片的标记就被取消。如果这个窗口前端连续多...原创 2016-11-26 01:03:37 · 1025 阅读 · 0 评论 -
IP 差错控制
绝大多数TCP/IP协议采用的差错检测方法称为检验和(checksum)。检验和能够防止分组在传输期间出现的损坏。检验和是附加在分组上的冗余信息。 发送端计算出检验和,并把得到的结果与分组一起发送出去。接收端对包括检验和在内的整个分组重复同样的计算。若得到了满意的结果则接收这个分组,否则就把它丢弃。 发送端计算检验和 ...原创 2016-11-25 00:57:06 · 2767 阅读 · 0 评论 -
TCP状态转换
为了清楚的掌握连接建立,连接终止以及数据传送时发生的所有不同事件,下图以有限状态机的形式来定义。 TCP各种状态状态 说明CLOSED 没有连接LISTEN 收到了被动打开;等待SYNSYN-SE...原创 2016-11-23 01:46:48 · 137 阅读 · 0 评论 -
TCP头部结构
源端口(source port)16位的字段,定义了发送这个报文段的主机中的应用程序的端口号。 目的端口(destination port)16位的字段,定义了接收这个报文段的主机中的应用程序的端口号。 序列号(sequence number)32位的字段,定义了指派给本报文段第一个数据字节的编号。为了保证连接性,要发送的每一个字节都要编上号。序号可以告诉...原创 2016-11-22 02:17:59 · 516 阅读 · 0 评论 -
IP头部结构
IP头部结构 RFC 751定义了因特网协议,IP是一个无连接的协议,这意味着它将每个IP分组都看成是与其他IP分组无关的独立数据单元。IP不具备通常为了确保数据的认证机制,如果再分组转发过程中发生错误,IP不会启动任何动作来更正这个错误。分组头部的字段和为之服务的协议功能的复杂度之间存在着直接的联系,头部越简单,相应的协议越简单。 I...原创 2016-11-18 03:02:21 · 2338 阅读 · 0 评论 -
IP分片
最大传输单元MTU【Maximum Transmission Unit】以太网和IEEE 802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节,链路层的这个特性称作MTU,最大传输单元,不同类型的网络大多数都有一个上限。 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行切片(fragmentation),把数据报分成若...原创 2016-11-16 02:43:41 · 803 阅读 · 0 评论 -
TCP/IP协议封装与Demultiplexing
TCP/IP的分层 TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络协议。虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。 封装 当应用程序应用TCP传输数据时,数据被送入协议栈中,然后逐个通过每一层都被当做一串比特流送入网络。其中每一层对收到的数据都要加一些首部信息(有时还需要增加尾部信息)。TCP传给IP的数...原创 2016-11-15 01:24:38 · 553 阅读 · 0 评论 -
2016年书架整理
书架上的书有很多,有的只看了目录,有的只看了很少的内容,为了避免成为目录党,整理一下2016年已经看过的书以及下一阶段要看的书,目的是督促自己要把看书计划落实下来,同时简单回顾一下看书过程中的收获。 第一部分是2016年已经看过的书:<<Java7并发编程与实战手册>> 这是一本书的内容非常偏重于练习,学习之前更好的选择是先看并发相关...原创 2017-01-01 00:22:08 · 234 阅读 · 0 评论