本章将介绍TCP所使用的被称为滑动窗口协议的一种流量控制方法. 该协议允许发送方在停止并等待确认前可以连续发送多个分组,这样就可以加速数据的传输. 滑动窗口 下图用可视化的方法显示了滑动窗口协议 我们使用三个术语来描述窗口左右边缘的运动: 1.称窗口左边沿右边缘靠近为窗口合拢.这种现象发生在数据被发送和确认时. 2.当窗口右边沿右移动将允许发送更多的数据,我们称之为窗口张开. 3.当右边沿向左移动时,我们称之为窗口收缩.…
先补充一个知识: 1.停止等待协议:是tcp保证传输可靠的重要途径,"停止等待"就是指发送完一个分组就停止发送,等待对方确认之后,才能继续发送下一个分组 停止等待协议的优点是简单,缺点就是信道的利用率太低,一次只发送一个消息,信道大部分时间都是空闲的. 2:超时重传有一下三种情况: 1)  分组丢失:发送方发出来了,接收方没有收到 2)  确认丢失:接收方收到了,也发送了确认分组,但是确认分组丢失了 3)  确认延时:确认分组没有丢失,由于传输太慢,发送方在规定时间内没有收到接收方发的…
在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路层协议,本文主要讨论以太网链路层协议.PPP协议以及大多数实现都包含的环回(loopback)驱动程序. 使用ifconfig命令查看本机的网络接口 其中eth0就是以太网接口,lo是环回接口. 1.以太网IP数据包的封装 链路层使用了48bit的MAC地址来标识一台主机,该地址是唯一的. 2.PP…
1.在每个TCP报文段中,头部的flag字段里的SYN,FIN,RST,PSH可以多个有效,并没有限定为必须只有一个 2.TCP连接建立过程: 1)客户端发送一个SYN报文段,其中包含了客户端要传送的初始字节序列J 2)服务器端收到上述报文段,并且返回一个报文段,其中包含了服务器端的SYN序号K,以及对客户端SYN序号的响应信号ACK,J+1,其实ACK确认序列号指的是服务器端希望从客户端得到的下一个字节流的序号,由于SYN消耗了一个序号,因此返回的ACK确认序号为J+1 3)同样,接收到从服务…
1.Delayed Acknowledgements:TCP通常不会在收到数据之后立即返回一个ACK,而是会有一个延时,希望能ACK报文段中带上一些数据,通常这个延时为200ms 2.Nagle Algorithm:在TCP连接中,只能有一个小的报文段未被确认.即TCP在发送了一个小的报文段之后,会将之后的小数据都收集起来,直到之前的小报文段得到确认,才将收集到的小数据打包成一个报文段发出.这样做的减少了网络中小报文段的数量,减轻了网络的阻塞,提高了传输的效率 3.当一个包到达以后,它首先被设备…
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK报文段很可能会发生丢失,这个时候就不可避免地发送了死锁.因此,发送方需要设置一个persist timer,每隔一段时间就向接收方发送一个询问报文window probes,当接收方可以接收数据时就重新开始发送 2.通常发送方都会包含一个字节数据的报文段作为window probes,该字节的数据其…
1.TCP提供的是可靠传输,它通过接收方发送一个确认报文ACK来提供这种可靠性.但是数据报文和确认报文都可能会丢失,所以TCP会给发出的数据报文设置一个时间,如果超时了则进行重传 2.Karn's Algorithm:当发生了一次超时重传之后,我们不能根据发回的对于重传数据的ACK更新RTT和RTO(retransmission timeout 重传时间)的值.因为我们不知道这个ACK是对于第一次传送的数据的确认(可能是第一次发送的数据在网络中有延时或者是它对应的ACK报文有延时)还是对重传数据…
本章节主要内容: ACK的累积 滑动窗口协议(即 接收方TCP数据报缓存的大小) 流量控制(慢启动 -发送方TCP的 拥塞窗口(cwnd) 以及接受方的 通告窗口) 20.1 引言 在教材的之前章节中可以看到 TFTP 使用了停止等待协议.数据发送方 在发送下一个数据块之前 需要等待接收 对已发送数据的确认. 本章将介绍,TCP的流量控制方法:滑动窗口协议,该协议允许发送方在 停止并等待确认之前可以 连续发送多个分组,这加快了数据的传输. 接下来介绍 TCP的PUSH标志,慢启动,最后是 成块数…
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应答.逆地址解析协议:RARP. 本章介绍了以太网协议,SLIP协议,PPP协议(现在常用),以及loopback等协议. 2.2.1 以太网和IEEE802封装 以太网 以太网是指数字设备公司和英特尔公司和Xerox公司在1982年联合发布的一个标准.采用CSMA/CD的媒体接入方法. IEEE(电…
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的命令跟书上显示的格式不太一样.我从网上找了一些ifconfig命令的基本使用教程,粘贴如下. 首先是我自己的一些研究成果,我在自己的ubuntu13.04上运行了 ifconfig -a 得到了下面的结果 raphael@raphael-Aspire-5741G:~$ ifconfig -a eth…