关于MTU (Maximum transmission unit)

* MTU工作在链路层,是网卡传输(发送/接受)的数据桢最大长度。 * Ethernet(以太网)最大MTU是1500,通常也是大部分设备默认值 * 网卡收到的数据桢长度超过该网卡的MTU时:如果数据桢里的IP或ICMP数据包header没有DF标志(Don’t Fragment flag),将数据分桢(fragmentation),分桢后第二个及以后的桢中只含有一部分IP header,并且没有tcp和udp header;否则,丢弃这个数据桢,并且给src ip发送一个“ICMP fragmentation required“并附带自己的MTU值,src可以根据这个MTU值调整自己发送的数据桢长度。(Path MTU Discovery)。 * 向网卡发送数据时,如果IP数据包长度(header + payload)超过了网卡的MTU,也会进行相同处理。 * TCP协议连接时会协商MSS(maximum segment size ), 本机的MSS是MTU减去ip header减去tcp header长度,最大为1460。取连接双方MSS的较小值。 IPv4 header长度最小为20 IPV6 header长度最小为40 ICMPv4 header长度为20+8 ICMPV6 header长度为40+8 TCP header长度为20 UDP header长度为8 IP(V4 & V6) payload(数据部分)长度最大为65535,因为header中表示长度部分是两字节。 测试链路MTU # 1472是ethernet最大值,因为ICMP header长度28 ping -s 1472 -M do 8.8.8.8 #超出长度会从最后通过的路由器(这里就是本机网卡地址)返回ICMP错误(如果该路由器防火墙禁止ICMP则没有返回,直接超时无响应) ping […]

Continue reading

windows7网络连接问题

环境: windows7, 无线路由器连接外网 网络连接如下: 无线网卡: 网关192.168.0.1/24. IP和DNS均由路由器DHCP配置, 网卡MAC绑定固定IP并设置端口段映射. VPN1: PPTP, 服务器设置的客户端网段是192.168.10.2-254 VPN2 L2TP, 客户端网段10.1.2.2-10.1.2.254 Virtual Wireless Network(windows7自带的虚拟无线AP): 设置地址为192.168.137.1/24 还有几个Vmware虚拟网卡,分别为NAT, Host-Only等类型 由于某些原因, 现在想使手机和其它设备通过这台电脑的Virtual Wireless Network而非直接通过路由器连接Internet; 于是在”无线网卡”连接属性 – “Sharing”里设置允许Virtual Wireless Network通过此网络连接Internet, 此时手机可以连接到Virtual Wireless Network的AP并上网; 但是如果windows7电脑连接到了VPN, 手机无法访问Internet. 我尝试在VPN连接属性里也设置 Sharing Internet with Virtual Wireless Network, 但是系统提示只能设置一个网络与Virtual Wireless Network共享Internet, 所以之前设置的无线网卡sharing internet 自动取消…. 有没有方法, 设置在没有连接VPN时共享无线网卡的Internet连接, 连接VPN时共享VPN的Internet连接?

Continue reading