随笔分类 - 网络协议
摘要:滑动窗口的发送窗口示意图如下,其中由对端通告的窗口窗口大小为6,窗口中和窗口外的数据分别表示为:1-3发送并已经被确认的数据段,4-6发送但尚未被确认的数据段,7-9能够发送尚未发送的数据段,10-…位于窗口外不能够被发送的数据; 窗口边沿的移动示意图如下,当接收方确认数据后,这个滑动窗口不时的向右
阅读全文
摘要:时间戳选项发送方在每个报文段中放置一个时间戳值。接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT(我们必须说“每一个收到的ACK”而不是“每一个收到的报文段”,是因为TCP通常用一个ACK来确认多个报文段)。我们提到过目前很多实现为每个窗口值计算一个RTT,对于包含8个报文段
阅读全文
摘要:窗口扩大选项使TCP的窗口定义从16bit增加到32bit。这并不是通过修改TCP首部来实现的,TCP首部仍然使用16bit,而是通过定义一个选项实现对16bit的扩大操作来完成的。于是TCP在内部将实际的窗口大小维持为32bit的值; 窗口扩大选项的取值范围为0<=shif.cnt<=14;最大值
阅读全文
摘要:最大报文段长度(MSS)表示TCP传往另一端的最大数据库的长度。当一个连接建立时,连接的双方都要通告各自需要接收的MSS选项(MSS选项只能出现在SYN报文段中)。如果一方不接收来自另一方的MSS值,则MSS就定为默认值536字节(这个默认值允许20字节的IP首部和20字节的TCP首部以适合576字
阅读全文
摘要:路径MTU 当在同一个网络上的两台主机互相通信时,该网络的MTU是非常重要的。当时如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。重要的不是两台主机所在网络的MTU,而是两台通信主机路径中的最小MTU,称为路径MTU; 两台主机之间的路径MTU不一定是个常数,它取决于
阅读全文
摘要:TCP首部图 TCP首部说明 源端口,目的端口 用于寻找发送端和接收端应用进程。(源IP,源端口,目的IP,目的端口) 四元组确定唯一一个TCP连接;(IP,端口)也称为一个插口(socket); 序号 标识从TCP发送端向TCP接收端发送的数据字节流,它标识在当前传输报文段中的第一个数据字节;需要
阅读全文
摘要:前提: A:主动关闭; B:被动关闭; A执行主动关闭,发送FIN,B收到FIN,发送ACK,进入CLOSE_WAIT,B发送FIN,进入LAST_ACK等待最后一个ACK到来; 关闭方式: (1) 收到A发送回来的ACK进入CLOSED状态; (2) 未收到A发送回来的ACK,重传FIN,此时A处
阅读全文
摘要:报文(message):传输协议交给ip的数据称为报文;典型的报文包含一个传输层首部和应用程序数据; 数据报(datagram):在报文首部加上ip首部形成一个数据报; 分片(fragment):如果在选定网络中,数据报的长度太大,ip就会把数据报分裂成几个分片,每个分片含有它自己的ip首部和一段原
阅读全文
摘要:1. Nagle算法: 是为了减少广域网的小分组数目,从而减小网络拥塞的出现; 该算法要求一个tcp连接上最多只能有一个未被确认的未完成的小分组,在该分组ack到达之前不能发送其他的小分组,tcp需要收集这些少量的分组,并在ack到来时以一个分组的方式发送出去;其中小分组的定义是小于MSS的任何分组
阅读全文
摘要:1.动态路由/静态路由 动态路由 路由选择器自动共享路由信息 自动构造路由表,需要一个路由协议,如RIP或OSPF 静态路由 路由选择器不共享路由信息(单方向路由) 手工构造路由表2.直连路由/网关路由(间接路由) 其区别在于,发往直连路由的设备中不但具有指明目的端的I P地址,还具有其mac地址。
阅读全文
摘要:DHCP动态主机配置协议,简单点说,就是提供了自动获取ip地址的功能,基于四层的UDP协议; 以下描述此协议的整个工作流程: (1) 客户端发送discovery报文,二三层广播报文,源ip地址全0; (2)服务器收到discovery报文之后,进行ip地址分配,找到ip地址,并且进行arp探测,当
阅读全文
摘要:FTP协议是一种基于客户端和服务器的文件传输协议,属于应用层协议,基于传输层的TCP协议; FTP主要分成主动模式和被动模式两种传输方式, 方式是相对服务器而言的,服务器主动发起数据连接即主动方式,使用固定的20端口,客户端主动发起数据连接就是被动方式: 主动模式(PORT方式): FTP客户端随机
阅读全文