feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  网络

摘要:As part of my work in OpenDaylight, we are looking at creating a router using Open vSwitch... Why? Well OpenStack requires some limited L3 capabilitie... 阅读全文

posted @ 2014-10-21 16:21 feisky 阅读(3972) 评论(0) 推荐(0) 编辑

摘要:dpdk.orgWhat it isIntel® DPDK is a set of libraries and drivers for fast packet processing on x86 platforms. It runs mostly in Linux userland.This pro... 阅读全文

posted @ 2014-10-11 11:09 feisky 阅读(1612) 评论(0) 推荐(0) 编辑

摘要:1. telnet是标准的提供远程登录功能的应用,一个简单的telnat示意图如下: 注意: 1)Telnet客户进程同时和终端用户和TCP/IP协议模块进行交互。通常我们所键入的任何信息的传输是通过TCP连接,连接的任何返回信息都输出到终端上。 2)Telnet服务器进程经常要和一种叫做“伪终端设备”(pseudo-terminaldevice)打交道,至少在Unix系统下是这样的。这就使... 阅读全文

posted @ 2012-10-27 22:33 feisky 阅读(1580) 评论(1) 推荐(0) 编辑

摘要:1. TCP的路径MTU探测(1)根据自身MTU及对方SYN中携带的MSS确定发送报文数据部分的最大容量(如果对方没有指定MSS,则默认为536); (2)在IP头部打开DF标志位; (3)如果收到ICMP错误信息告知需要分片, 如果ICMP信息中包含下一跳MTU的信息, 那么根据这个值调整数据的最大容量, 如果ICMP信息中不支持这种新协议(下一跳MTU值为0), 那么调整数据的最大容量至下一个可能的大小; (4)DF标志位会一直打开, 以保证能够测量得到正确的Path MTU; (5)超时后会重新探询Path MTU以保证链路改变也能用到正确的Path MTU.TCP Path MTU探询 阅读全文

posted @ 2012-10-24 21:37 feisky 阅读(1875) 评论(0) 推荐(0) 编辑

摘要:persist定时器1. 使用persist定时器的原因ACK的传输不可靠,TCP并不对ACK报文进行确认,TCP只确认哪些那些包含了数据的ACK报文段。这样,如果一个ACK丢失了,就会因双方相互等待而导致连接终止:接收方等待接收数据(它已经通告了一个非0的窗口),发送方在等待允许它继续发生数据的窗口更新。2. persist定时器:发送方使用一个persist定时器来定期的向接收方查询窗口是否增大,这些从发送方发出的报文段称为窗口探查。窗口探查包含一个字节的数据,即序号。这些探查每隔60s发送一次,直到窗口被打开或者连接被终止。3. 糊涂窗口综合症糊涂窗口综合症的产生考虑以下两种情况: (1 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(482) 评论(0) 推荐(0) 编辑

摘要:1. Keepalive定时器用于用于检测空闲连接的另一端是否崩溃或重启。2. 设置SO_KEEPALIVE选项后,如果2小时内在此套接口的任一方向都没有数据交换,TCP就自动给对方 发一个保持存活探测报文段,客户主机处于以下4种状态之一:(1)客户主机接收一切正常,服务器收到期望的ACK响应,并将keepalive定时器复位。(2)客户主机已崩溃,并且关闭或者正在重启。此时,服务器无法收到相应,在75s后超时。服务器=总共发出10个这样的探查,每个间隔75秒。如果一个响应都没有收到,则终止连接。(3)客户主机已重启,此时服务器将收到一个复位响应,终止连接。(4)客户主机正常运行,但服务不可达 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(692) 评论(0) 推荐(0) 编辑

摘要:1. 滑动窗口协议允许发送方在停止并等待确认前可以连续发送多个分组,由于发送方不必每发一个分组就停下来等待确认,因此该方法可以加速数据的传输。2. 滑动窗口窗口大小表示接收端的TCP协议缓存中还有多少剩余空间,用于接收端的流量控制特点:(1)发送方不必发送一个全窗口的大小(2)来自接收方的一个报文段确认数据并把窗口向右滑动(窗口大小是相对于确认序号的)(3)窗口的大小可以减小,但窗口的右边不能向左移动(4)接收方在发送一个ACK前不必等待窗口被填满 窗口更新:一个ACK分组,但不确认任何数据(分组中的序号已被前面的ACK确认),只是通知对方窗口大小已变化 3. PUSH标志发送方使... 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(510) 评论(0) 推荐(0) 编辑

摘要:1. 对每个连接,TCP管理4个定时器:(1)重传定时器:用于等待另一端的确认;(2)persist定时器:用于使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口;(3)keepalive定时器:用于检测空闲连接的另一端是否崩溃或重启;(4)2MSL定时器:用于测量一个处于TIME_WAIT状态连接的时间2. 超时与重传递时间间隔超时时间可以应用程序设置(SO_RCVTIMEO,SO_SNDTIMEO),而重试的时间采用指数退避的方式,即每次重试的时间间隔为上次的2倍。在目前的实现中,首次分组传输与复位信号传输的时间间隔为9分钟。3. 往返时间RTT的测量平滑的RTT估计器:R=alpha 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(2641) 评论(0) 推荐(0) 编辑

摘要:TCP是一个面向连接的协议,在发送数据之前,双方必须通过三次握手协议建立连接,而在终止连接的时候执行4次握手协议。 连接建立和终止 先看一下telnet连接服务器80端口的抓包: 上图由wireshark抓取,并显示了TCP状态图(注意:由于网络阻塞,发生了丢包现象,4是对2的重发,而5是对4的响应(同3相同))。 根据上图可以看到建立一个TCP连接的过程为(三次握手的过程): 客户端向服... 阅读全文

posted @ 2012-10-21 22:54 feisky 阅读(1988) 评论(0) 推荐(0) 编辑

摘要:TCP的特性 1. TCP提供面向连接的、可靠的字节流服务2. 上层应用数据被TCP分割为TCP认为合适的报文段3. TCP使用超时重传机制,而接收到一个TCP数据后需要发送一个确认4. TCP使用包含了首部和数据的校验和来检查数据是否在传输过程中发生了差错5. TCP可以将失序的报文重新排序6. TCP连接的每一端都有固定大小的缓冲区,只允许另一端发送发送接收缓冲区所能接纳的数据7. TCP提供... 阅读全文

posted @ 2012-10-21 21:32 feisky 阅读(678) 评论(0) 推荐(0) 编辑

摘要:1、tftp即简单文件传送协议,最早用于引导无盘系统。为了保持简单,tftp使用UDP 2、tftp使用停止等待协议处理数据传输,即客户端每接受到服务器发送的一帧(每一帧均为512字节)后,回复确认帧,让服务器继续发送下一帧,直到客户端收到一个不足512字节的分组。分组丢失使用发送方的超时与重传解决,数据差错检验依赖于udp检验和。 3、tftp服务器通常使用端口69来接收第一个个分组,而分配另一... 阅读全文

posted @ 2012-10-21 21:31 feisky 阅读(386) 评论(0) 推荐(0) 编辑

摘要:1. DNS是一种用于TCP/IP应用程序的分布式数据库,提供主机名字和IP地址之间的转换以及有关电子邮件的选路信息。从应用的角度来看,其实就是两个库函数gethostbyname()和gethostbyaddr()。 2. DNS 是一个分布式数据库,它利用树形目录结构将主机名称的管理权分配给各级的DNS服务器,这使得管理和修改工作可以在各层本地完成,减少了每一台服务器的数据量,使得管理数据更加... 阅读全文

posted @ 2012-10-21 21:30 feisky 阅读(736) 评论(0) 推荐(0) 编辑

摘要:1. 介绍 单播是对特定的主机进行数据传送。如给某一个主机发送IP数据包,链路层头部是非常具体的目的地址,对于以太网来 说,就是网卡的MAC地址。 广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要。 广播是针对某一个网络上的所有主机发包,这个网络可能是网络,可能是子网,还可能是所有的子网。如果是网络,例如A类网址的广播就是 netid.255.255.255,如果是子... 阅读全文

posted @ 2012-10-21 21:29 feisky 阅读(485) 评论(0) 推荐(0) 编辑

摘要:1. UDP协议 UDP是一种对象数据报的传输层协议,它不提供可靠性,其数据报被封装在IP数据报中,封装格式如下图所示: UDP首部格式如下图所示: 源端口号和目的端口号分表表示了发送进程和接收进程 UDP长度字段包括了UDP首部和UDP数据的字节长度 2. UDP检验和 UDP检验和覆盖了UDP首部和UDP数据(IP首部检验和只覆盖了IP首部,不覆盖数据报中的任何数据)。 尽管UDP检验和是... 阅读全文

posted @ 2012-10-21 21:26 feisky 阅读(1064) 评论(0) 推荐(0) 编辑

摘要:1. IP层工作原理 2. 选路原理 (1)搜索路由表的优先级 主机地址 网络地址 默认路由 (2)路由表 一个典型的路由表如下: # route -n Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 0.0.0.0 255.255.192.0 U 0 0 0 eth... 阅读全文

posted @ 2012-10-21 21:19 feisky 阅读(427) 评论(0) 推荐(0) 编辑

摘要:1. traceroute可以用来查询从一台主机到另一台主机所经过的路由。 2. 原理 ping程序提供一个记录路由选项,但并不是所有的路由机都支持这个选项,而且IP首部选项字段最多也只能存储9个IP地址,因此开发traceroute是必要的。traceroute利用了ICMP报文和IP首部的TTL字段。TTL是一个8bit的字段,为路由器的跳站计数器,也表示数据报的生存周期。每个处理数据报的路由... 阅读全文

posted @ 2012-10-21 21:17 feisky 阅读(784) 评论(0) 推荐(0) 编辑

摘要:ping通过ICMP回显请求和应答实现 一些不错ping的示例:转自http://www.thegeekstuff.com/2009/11/ping-tutorial-13-effective-ping-command-examples/ Ping Example 1. Increase or Decrease the Time Interval Between Packets By defaul... 阅读全文

posted @ 2012-10-21 21:14 feisky 阅读(1369) 评论(0) 推荐(0) 编辑

摘要:1. ICMP协议格式 ICMP报文是在IP数据报内部传输的: | IP头部 | ICMP报文 | ICMP报文格式: Bits 0–7 8–15 16–23 24–31 0 Type Code Checksum 32 Rest of Header Type – ICMP type as specified below. Code – Subtype to the given type. Ch... 阅读全文

posted @ 2012-10-21 21:11 feisky 阅读(1062) 评论(0) 推荐(0) 编辑

摘要:1. RARP通常用于无盘系统,无盘系统从物理网卡上读到硬件地址后,发送一个RARP请求查询自己的IP地址。 2. RARP的协议格式:与ARP协议一致,只不过帧类型代码为0x8035 3. RARP使用链路层广播,这样阻止了大多数路由器转发ARAP请求,只返回很小的信息,即IP地址。 阅读全文

posted @ 2012-10-21 21:02 feisky 阅读(555) 评论(0) 推荐(0) 编辑

摘要:1. 链路层通信根据48bit以太网地址(硬件地址)来确定目的接口,而地址解析协议负责32bit IP地址与48bit以太网地址之间的映射:(1)ARP负责将IP地址映射到对应的硬件地址(2)RARP负责相反的过程,通常用于无盘系统。2. ARP高速缓存ARP高效运行的关键是每台主机上都有一个ARP高速缓存,缓存中每一项的生存时间一般为20分钟,但不完整表项超时时间一般为3分钟(如192.168.... 阅读全文

posted @ 2012-10-21 21:00 feisky 阅读(1157) 评论(0) 推荐(0) 编辑

无觅相关文章插件,快速提升流量