随笔分类 -  网络

摘要:TCP NewRenoNewReno是在Reno的基础上,改进了Fast Recovery,主要思想是保证处于network中的packet的总量是饱和的。在Reno算法中,一个超时会导致相应的那个packet的重传,然而,一个超时发生时,本可以重传多个潜在的丢包,但Reno算法没有这样实现,这就导致性能不高。Reno在遇到多包丢失时,存在两个问题:一个是,大量的包没有足够的重复ACK触发重传,只能等待超时才能得以重传。第二个是,即使采取措施(在Partial Acknowledgement一节中已有所讨论)避免了超时,也会存在Multiple Fast Retransmits和严重的wind 阅读全文
posted @ 2014-03-25 15:11 使命召唤 阅读(1435) 评论(0) 推荐(0)
摘要:1. Multiple Packet LossesFast Retransmit/Fast Recovery机制可以很好地处理单个packet丢失的问题,但当大量packet同时丢包时(一个RTT内),FR机制可能无济于事。下面举例说明。下面两张图是一次多包丢失的情景。其中上图中的三条线分别描述的是SND.UNA,SND.NXT,SND.UNA+SND.WND三个变量随着时间变化的情况,下图中的线描述的是拥塞窗口cwnd随着时间变化的情况。由于丢包具有随机性,我们假设下面的情景开始之前,小于65号的包都已经被sender发送出去,但51, 53, 55号在网络中被丢弃。在0.83s之前,sen 阅读全文
posted @ 2014-03-25 15:04 使命召唤 阅读(1127) 评论(0) 推荐(1)
摘要:TCP RenoTCPReno引入了ssthresh(Slow Start threshold)变量,作为TCP的Slow Start和Congestion Avoidance两个阶段的分界线。当cwnd = ssthresh时,TCP进入Congestion Avoidance阶段。ssthresh实际上影响着TCP的性能,但其初始值在RFC中没有明确定义,可以为任意大的值,在实现时一般初始化为rwnd。TCP Reno拥塞控制算法继承了“数据包守恒准则”,保证处于网络中的packet的总量是守恒的。它通过4个算法保证这一点:1. Slow Start在TCP连接建立之后,由于不知道实际可用 阅读全文
posted @ 2014-03-25 14:57 使命召唤 阅读(1462) 评论(0) 推荐(0)
摘要:拥塞控制不同于流量控制,拥塞控制是在拥塞发生时,发送方根据一定的反馈,主动调节自己的发送速率,以防止拥塞恶化的行为。1. 网络拥塞路由器是网络中的关键组件,其内部有一定量的缓冲区,用于缓存来不及转发(forward,或称transmit)出去的packet。如果将网络看成一个整体,那么一个网络的链路容量(link capacity)就取决于网络中的路由器的缓冲区大小。链路容量越大,整个网络可容纳的outstanding(即在网络中propagate)的packet就越多。当网络中的packet较少时,每个packet进入路由器,会较快被转发出去,几乎没有延迟。而当网络中的packet过多时,路 阅读全文
posted @ 2014-03-25 14:56 使命召唤 阅读(889) 评论(0) 推荐(0)
摘要:下面简单介绍了TCP的流量控制。流量控制是发送方和接收方合作完成的端到端的流量控制,用于防止发送方发送数据包的速率超过了接收方的接收速率,造成了接收方溢出。流量控制早于拥塞控制出现,是实现拥塞控制的基础,因此在深入学习拥塞控制之前,有必要回顾流量控制。1.1 Acknowledgement机制TCP基于ACK实现可靠传输。sender每发送一个packet,都会等待receiver的响应,而receiver收到packet之后,会立即反馈一个ACK,ACK表明receiver成功收到了该packet[5]。ACK机制得以稳定运行的前提之一是所有的数据都是按序编号的,因此packet和其ACK便 阅读全文
posted @ 2014-03-12 11:04 使命召唤 阅读(2129) 评论(0) 推荐(0)
摘要:机房有3台服务器,需要搭建一个小型集群,用于做大数据实验。现在的条件如下:1. 共3台服务器,每台服务器上有4个1G网络接口。2. 只给了一个外网IP,用于接入互联网。3. 一台8口100M家用路由器(-_-)。目的如下:1. 要3台服务器能够相互通信,并且通信的带宽要尽量大,因为是做大数据的实验。2. 要3台服务器能同时上网。现在有两种较直接的方案:1. 3台机器接到路由器+路由器接入外网这是传统的小局域网模式,这样3台机器互联以及上网的目的都可以达到,但小路由器的带宽和性能,根本无法胜任大数据量的传输。虽然两两间的带宽可以达到10MB/s,但当机器间同时传输数据时,平均带宽就很小了。况且, 阅读全文
posted @ 2013-10-12 14:06 使命召唤 阅读(1374) 评论(0) 推荐(0)
摘要:安装完VMware后,宿主机上会多出以下虚拟设备:VMnet0,用于桥接模式下的虚拟交换机。VMnet1,用于Host-only模式下的虚拟交换机。VMnet8,用于NAT模式下的虚拟交换机。VMware Network Adapter VMnet1,在Host-only模式下,宿主机用于与虚拟机通信的网卡。VMware Network Adapter VMnet8,在NAT模式下,宿主机用于与虚拟机通信的网卡。1. Bridge(桥接)桥接,就是利用交换机(网桥),将多个节点组成一个子网。VMware的桥接模式就是将虚拟机里的网卡与宿主机的网卡都连接到一个虚拟交换机之上,然后虚拟交换机通过宿 阅读全文
posted @ 2012-05-08 14:46 使命召唤 阅读(1407) 评论(0) 推荐(1)
摘要:交换机(网桥)是数据链路层上的设备,用于将同一个子网的多个节点连接在一起,没有进/出口之分。它只能处理MAC地址,不能处理IP地址。与路由器不同,它内部没有网络适配器,即没有IP和MAC地址,只有端口。也就是说,它对接收到的数据包,只负责解开MAC地址,查询对应的端口,然后发送出去,并不管数据包的进端口和出端口是否属于同一个子网。一方面,这一高效简洁的处理方式,使其很适合用于组织同一子网的节点;另一方面,实际上可以利用它来组织不同子网的节点。实际上,用交换机连接的两个计算机,只要它们知道对方的MAC地址,就能进行链路层的通信,进一步,再知道对方的IP地址,就能进行网络层及更上层的通信了。原因是 阅读全文
posted @ 2012-05-08 14:44 使命召唤 阅读(13939) 评论(0) 推荐(1)