网桥, bridge

网桥, bridge Linux 虚拟网络设备之 bridge (桥) 什么是bridge? 首先,bridge 是一个虚拟网络设备,所以具有网络设备的特征,可以配置IP,MAC地址等; 其次,bridge 是一个虚拟交换机,和物理交换机有类似的功能。 对于普通的网络设备来说,只有两端,从一端进来的数据会从另一端出去,如物理网卡从外面网络中收到的数据会转发给内核协议栈,而从协议栈过来的数据会转发到外面的物理网络中。 而 bridge 不同,bridge 有多个端口,数据可以从任何端口进来,进来之后从哪个口出去和物理交换机的原理差不多,要看mac地址。 创建bridge 我们先用iproute2创建一个bridge: sudo ip link add name br0 type bridge sudo ip link set br0 up 当刚创建一个bridge时,它是一个独立的网络设备,只有一个端口连着协议栈,其它的端口啥都没连,这样的bridge没有任何实际功能,如下图所示: +----------------------------------------------------------------+ | | | +------------------------------------------------+ | | | Newwork Protocol Stack | | | +------------------------------------------------+ | | ↑ ↑ | |..............|................................|................| | ↓ ↓ | | +----------+ +------------+ | | | eth0 | | br0 | | | +----------+ +------------+ | | 192.168.3.21 ↑ | | | | | | | +--------------|-------------------------------------------------+ ↓ Physical Network 这里假设 eth0 是我们的物理网卡,IP 地址是 192.168.3.21,网关是 192.168.3.1 ...

2011-12-02 · 9 min · 1768 words · -

initcwnd

initcwnd initial congestion window parameter (initcwnd) Changing initcwnd Adjusting the value of the initcwnd setting on Linux is simple. Assuming we want to set it to 10: Step 1: check route settings. sajal@sajal-desktop:$ ip route show 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 1 169.254.0.0/16 dev eth0 scope link metric 1000 default via 192.168.1.1 dev eth0 proto static sajal@sajal-desktop:$ Make a note of the line starting with default. ...

2011-11-22 · 1 min · 140 words · -

Conditional Get

Conditional Get HTTP条件Get HTTP条件Get是HTTP协议为了减少不必要的带宽浪费,提出的一种方案。详见http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html HTTP条件Get使用的时机: 客户端之前已经访问过某网站,并打算再次访问该网站 HTTP条件Get使用的方法: 客户端向服务器发送一个包询问是否在上一次访问网站的时间后是否更改了页面,如果服务器没有更新,显然不需要把整个网页传给客户端,客户端只要使用本地缓存即可,如果服务器对照客户端给出的时间已经更新了客户端请求的网页,则发送这个更新了的网页给用户。 下面是具体的发送接受报文: 客户端发送查询请求: ```java GET / HTTP/1.1 Host: www.sina.com.cn:80 If-Modified-Since:Thu, 4 Feb 2010 20:39:13 GMT Connection: Close 下面是当没有更新时服务器的相应: ```java HTTP/1.0 304 Not Modified Date: Thu, 04 Feb 2010 12:38:41 GMT Content-Type: text/html Expires: Thu, 04 Feb 2010 12:39:41 GMT Last-Modified: Thu, 04 Feb 2010 12:29:04 GMT Age: 28 X-Cache: HIT from sy32-21.sina.com.cn Connection: close 如果服务器网页已经更新就会发送把客户端的请求当作一个普通的Get请求发送相应报文 HTTP/1.0 200 OK Date: Thu, 04 Feb 2010 12:49:46 GMT Server: Apache Last-Modified: Thu, 04 Feb 2010 12:49:05 GMT Accept-Ranges: bytes X-Powered-By: mod_xlayout_jh/0.0.1vhs.markIII.remix Cache-Control: max-age=60 Expires: Thu, 04 Feb 2010 12:50:46 GMT Vary: Accept-Encoding X-UA-Compatible: IE=EmulateIE7 Content-Length: 452785 Content-Type: text/html Age: 11 X-Cache: HIT from sy32-27.sina.com.cn Connection: close /*.......网页内容....... */

2011-10-23 · 1 min · 112 words · -

Wireshark

Wireshark Wireshark (前称Ethereal) 是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 网络封包分析软件的功能可想像成 “电工技师使用电表来量测电流、电压、电阻” 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。 在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。 应用 Wireshark使用目的以下是一些使用Wireshark目的的例子: 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识当然,有的人也会"居心叵测"的用它来寻找一些敏感信息…… Wireshark不是入侵侦测软件 (Intrusion DetectionSoftware,IDS) 。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。 发展简史 1997年底,GeraldCombs需要一个能够追踪网络流量的工具软件作为其工作上的辅助。因此他开始撰写Ethereal软件。Ethereal在经过几次中断开发的事件过后,终于在1998年7月释出其第一个版本v0.2.0。自此之后,Combs收到了来自全世界的修补程式、错误回报与鼓励信件。Ethereal的发展就此开始。不久之后,GilbertRamirez看到了这套软件的开发潜力并开始参予低阶程式的开发。1998年10月,来自NetworkAppliance公司的GuyHarris在寻找一套比tcpview (另外一套网络封包撷取程式) 更好的软件。于是他也开始参与Ethereal的开发工作。1998年底,一位在教授TCP/IP课程的讲师RichardSharpe,看到了这套软件的发展潜力,而后开始参与开发与加入新协定的功能。在当时,新的通讯协定的制定并不复杂,因此他开始在Ethereal上新增的封包撷取功能,几乎包含了当时所有通讯协定。 自此之后,数以千计的人开始参与Ethereal的开发,多半是因为希望能让Ethereal撷取特定的,尚未包含在Ethereal默认的网络协定的封包而参予新的开发。2006年6月,因为商标的问题,Ethereal更名为Wireshark。 [TCP ZeroWindow]: 接收者向发送者发送的一种窗口警告,告诉发送者你的接收窗口已满,暂时停止发送。 wireshark 时序图 菜单>统计>TCP流图形>时间序列 窗口尺寸 菜单>统计>TCP流图形>窗口尺寸 https://www.codenong.com/cs106112955/ Wireshark 过滤 port 按端口过滤 # 一个端口 tcp.port == 25 # 多个端口 tcp.port == 25 or tcp.port == 80 按目标端口过滤 tcp.dstport == 25 显示来自10.230网段的封包 ip.src == 10.230.0.0/16 wireshark http ssdp 过滤方法 http&&!(udp.dstport == 1900) ip.addr == 10.1.1.1 ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 ...

2011-10-22 · 1 min · 77 words · -

trickle

trickle userspace bandwidth shaper 限速 200k trickle -s -u 200 -d 200 git pull 参数 -s, standalone mode 不依赖 trickled -u, 上传速率 KB/s -d, 下载速率 KB/s https://github.com/mariusae/trickle https://wiki.archlinux.org/title/trickle

2011-09-30 · 1 min · 28 words · -

iperf3 测速

iperf3 测速 install # centos yum install iperf3 # openwrt opkg install iperf3 #ubuntu apt-get install iperf3 windows https://iperf.fr/iperf-download.php#windows command server iperf3 -s client iperf3 -c 192.168.50.101 -t 104 # -c, --client <host> run in client mode, connecting to <host> # -t, --time time in seconds to transmit for (default 10 secs) Iperf3 是一个网络性能测试工具。Iperf 可以测试最大 TCP 和 UDP 带宽性能, 具有多种参数和 UDP 特性, 可以根据需要调整, 可以报告带宽、延迟抖动和数据包丢失. 对于每个测试, 它都会报告带宽, 丢包和其他参数, 可在 Windows、Mac OS X、Linux、FreeBSD 等各种平台使用, 是一个简单又实用的小工具。 ...

1 min · 163 words · -

SCTP GRE

SCTP sctp和tcp的区别 作为一个传输层协议,SCTP兼有TCP及UDP两者的特点。SCTP可以称为是TCP的改进协议,但他们之间仍然存在着较大的差别。首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TCP则一般是单地址连接的。在进行SCTP建立连接时,双方均可声明若干IP地址(IPv4,Ipv6或主机名)通知对方本端所有的地址。若当前连接失效,则协议可切换到另一个地址,而不需要重新建立连接。 其次SCTP是基于消息流,而TCP则是基于字节流。所谓基于消息流,是指发送数据和应答数据的最小单位是消息包(chunk)。一个SCTP连接(Association)同时可以支持多个流(stream),每个流包含一系列用户所需的消息数据(chunk)。而TCP则只能支持一个流。在网络安全方面,SCTP增加了防止恶意攻击的措施。不同于TCP连接采用的三次握手机制,SCTP连接采用四次握手机制,有效的防止了类似于SYN Flooding的防范拒绝服务攻击。SCTP主要的贡献是对多重联外线路的支持,一个端点可以由多于一个IP地址组成,使得传输可在主机间或网卡间做到透明的网络容错备援。 https://www.cnblogs.com/elleniou/p/3342140.html GRE 通用路由封装协议GRE 提供了将一种协议报文封装在另一种协议报文中的机制,是一种三层隧道封装技术;可以对IPv4协议的数据报文进行再封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输;报文通过GRE隧道透明的传输,可以解决外网主动访问内网的问题;GRE可以封装组播数据和路由选择协议,结合IP Sec使用,从而保证语音、视频等组播业务的安全。 GRE实现机制简单,对隧道两端的设备负担小;GRE隧道可以有效利用了原有的网络架构,降低成本;GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑;GRE隧道支持MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通;GRE隧道将不连续的子网连接起来,用于组建VPN,实现企业总部和分支间安全的连接。 https://zhuanlan.zhihu.com/p/103214510

1 min · 15 words · -