在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.

其中,对于我们日常的分析有用的就是前面的五个字段。

它们的含义是:

SYN表示建立连接,

FIN表示关闭连接,

ACK表示响应,

PSH表示有 DATA数据传输,

RST表示连接重置。

其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,

如果只是单个的一个SYN,它表示的只是建立连接。

TCP的几次握手就是通过这样的ACK表现出来的。

但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。

RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。

wireshark
wireshark

最近在看数字证书,https相关的知识,发现之前也是模棱两可的了解,一点都不深入,这篇文章从DNS解析开始,分析打开https的网站从开始到结束的过程。

在从地址栏敲入域名之后,首先进行DNS的域名解析,抓包如下:

1、DNS请求&DNS解析阶段

​ 1.1、本机向DNS服务器发起DNS解析请求,使用UDP协议,报文结构如下:

​ 1.2、服务器向客户端发送请求的结果,同样使用UDP协议,报文结构如下:

wireshark
wireshark

  华三AP支持的Option 43属性:

  在L3 Switch上启用DHCP Server,正确配置Option43,例如AP属于VLAN100,是192.168.100.0/24网段,AC的IP地址为192.168.10.100/24,只支持16进制,DHCP Server配置如下:

  [AC] dhcp server ip-pool vlan100

  [AC-dhcp-pool-vlan100] network 192.168.100.0 mask 255.255.255.0

  [AC-dhcp-pool-vlan100] gateway-list 192.168.100.254

  [AC-dhcp-pool-vlan100] option 43 hex 80070000 01 C0A80A64

1
2
3
4
5
6
7
8
9
10
11
12
13
  #80:选项类型,固定为80,1个字节。

  #07:选项长度,表示其后内容的长度(十六进制数的个数,这里表示后面有7个十六进制数,0B表示后面有11个十六进制数),一个字节。

  #0000:Server type,固定配为0000两个字节。

  #01:后面IP地址的个数,一个字节。

  # C0A80A64: AC的IP地址192.168.10.100的十六进制表示。

  注意:dhcp server option 43的选项中最多支持下发14个ip地址,且为了满足这个最大的规格,option43的选项配置参照以下方式(每段最大4个字节,最小1个字节,大小写都可以):

  option 43 hex 803f0000 0e c0a80a60 c0a80a61 c0a80a62 c0a80a63 c0a80a64 c0a80a65 c0a80a66 c0a80a67 c0a80a68 c0a80a69 c0a80a70 c0a80a71 c0a80a72 c0a80a73

  华为AP支持的Option 43属性:

  AC的IP地址为192.168.10.100/24,既支持16进制又支持10进制

  [Dhcp-hw] ip pool ap

  [Dhcp-hw-ip-pool-huawei]network 192.168.100.0 255.255.255.0

  [Dhcp-hw-ip-pool-huawei]gateaway-list 192.168.100.254

  [Dhcp-hw-ip-pool-huawei]option 43 sub-option 3 hex 3139322e3136382e31302e313030 or option 43 sub-option 3 ascii 192.168.10.100

  Sub-option 3为option 43的子类型,后面跟的16进制包含小数点一起,16进制数31对应字符“1”的ASCII值,32对应“2”的ASCII值,以此类推,2e代表“.”的值,2c代表“,”的值。

  如果有两个AC地址的话,中间要用逗号隔开(asicc码:2c),比如AC的IP地址为192.168.10.100和192.168.1.100.option 43属性如下:

  [Dhcp-hw-ip-pool-huawei]option 43 sub-option 3 hex 3139322e3136382e31302e3130302c

  3139322e3136382e312e313030 or option 43 sub-option 3 ascii 192.168.10.100,192.168.1.100

无线
无线

原文链接:https://www.louxiaohui.com/2018/06/29/understanding-the-length-field-in-wireshark/

主要介绍wireshark中的length计算方法,主要涉及MTU、MSS、常见协议头大小。

length含义

Wireshark is showing you the length of the Ethernet frame that is handed to it, which may or may not include the FCS.

wireshark显示的长度为以太网帧的长度,不包括FCS(Frame check sequence)[帧校验序列]

常见协议头大小

1
2
3
4
5
Ethernet header: 14 bytes # 数据链路层帧头大小,一般为14bytes,其为源MAC(6bytes/48bits)+目的MAC(6bytes/48bits)+类型/长度(2bytes)
IP header (standard): 20 bytes # IP头部大小
ICMP header: 8 bytes # ICMP头部大小
ICMP payload: 32 bytes # ICMP缓冲区大小,可以通过ping的-l选项指定大小,默认为32。
FCS 4 bytes of Ethernet checksum # 帧尾CRC校验

length计算

MTU=MSS+IP header(20 bytes)+tcp header(20 bytes)

length=MTU+Ethernet header(14bytes)

其中MSS为Maximum Segment Size,即最大报文段长度,其受MTU大小影响,这里的MTU指的是三层的,二层的MTU固定为1500,不能修改。

MTU为Maximum Transmission Unit,即最大传输单元,需要注意MTU如果太小会影响收到数据包的速度,表现为下载过慢。

1
2
三层收到大数据包时,要将数据包分片后再往下层传输,这就是IP分片原理。既然IP分片可以改变一个IP数据包的大小 ,那么IP分片怎么设置呢?
这也是网上人们所谓的修改MTU值达到最佳网速的方法,而这里所说的修改“MTU”大小其实是IP分片的大小。

2.png1.png

从截图中可以看到MSS为1460,MTU计算后为1500,1460 + 20(IP header) + 20(tcp header) = 1500

遇到的问题

  • 问题

同一局域网中,同样的操作系统,同样的URL链接,同样的端口,使用ESXI虚拟出来的两台虚机,分别绑定host,使用wget测试下载速度,一个下载200K/s,一个10M/s。

url IP 下载速度 截图
http://192.168.28.210:8989/mac_3.4.196_1530084415522.zip 192.168.28.210 10M/s 1.png
http://192.168.28.41:8989/mac_3.4.196_1530084415522.zip 192.168.28.41 200K/s 2.png
  • 解决
wireshark
wireshark

路由协议的优先级(Preference,即管理距离**Administrative Distance**)一般为一个0到255之间的数字,数字越大则优先级越低。表一是通常情况下各路由协议的优先级规定:

表一:一般路由协议优先级

路由协议 优先级
DIRECT 0
OSPF 10
IS-IS Level 1 15
IS-IS Level 2 18
NSFnet主干的SPF 19
缺省网关和EGP缺省 20
重定向路由 30
由route socket得到的路由 40
由网关加入的路由 50
路由器发现的路由 55
静态路由 60
CISCO IGRP 80
DCN HELLO 90
Berkeley RIP 100
点对点接口聚集的路由 110
Down状态的接口路由 120
聚集的缺省路由 130
OSPF的扩展路由 140
BGP 170
EGP 200

各产品厂商可能对路由协议的优先级有不同的规定,表二、表三分别列出了华为、思科路由器路由优先级列表:

表二:华为路由器路由优先级

路由协议 优先级
DIRECT 0
OSPF 10
STATIC 60
IGRP 80
RIP 110
OSPFASE 150
BGP 170

表三:思科路由器路由协议优先级

路由协议 优先级
DIRECT 0
STATIC 1
EIGRP Summary 5
EBGP 20
内部EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP 120
EGP 140
外部EIGRP 170
IBGP 200
未知 255

路由的优先级的概念是优先级高的新路由协议可替代优先级低的同信宿路由,反之,则不然。

路由
路由

出现背景:

0a5b4b39c301b479.png
在防火墙上部署了NATserver后,外网用户可以访问内部服务器。一般内部服务器都会通过一个域名进行解析。但如果内网用户也想通过此域名访问服务器就会出现问题。

原因分析:

  1. 内网用户要想访问internet,需要在防火墙上做个源NAT,将内网用户的网段转换为公网ip
  2. 假设pc通过公网ip 200.1.1.100 访问服务器,在出防火墙时防火墙做可源NAT会将PC的原地址转换为200.1.1.100将数据包交出去。
  3. 防火墙上配置了NATserver,将公网ip 200.1.1.100映射为服务器的私网地址192.168.1.100。数据包会交给服务器。
  4. 去时的数据包走向没有问题,分析回来的,回来时就会出现问题。
  5. 由于服务器和PC处于同一网段(防火墙以放行PC所在区域和服务器所在区域的数据),回包时服务器发送ARP报文找到了PC的MAC地址,三层封装时源IP地址为:192.168.1.100,目的IP地址为192.168.1.1。源目MAC地址分别为服务器的MAC地址和PC的MAC地址。数据包直接走二层过去。
  6. PC和服务进行通信需要建立TCP的三次握手,第一次握手时的目的IP地址为200.1.1.100,但此时却收到了192.168.1.100的回包。怎么办,凌乱了,握手不成功。TCP连接无法建立。
华为
NAT

人们常说,IPv6的一大特性就是移动性。

那么对于IP终端来说,如何去理解他的移动性呢?

其实就是IPv6的无状态自动配置。

前段时间有幸一个同事给我演示了一下这个功能,但是更多的疑问产生了。

IPv4中,比如说电脑,在网卡中设置自动获取IP地址和DNS.那么就可以自动从DHCP服务器上面获得IP地址和DNS还有网关了。

下面是IPv4的设置界面:

clip_p_w_picpath002

那么按照这个逻辑,IPv6就应该是没有这些选项,最终达到即插即用的目的嘛?答案是否,下面的截图IPv6也有:

clip_p_w_picpath004

那么为什么还需要自动配置?

意义在哪里?

如何实现呢?

带着这些问题,我们慢慢来看看IPv6这个自动配置auto config到底是个什么原理。

IPv6
IPv6

原文链接:https://zhuanlan.zhihu.com/p/53512258

1 项目概述

根据实际情况增加项目介绍

1.1 项目背景

1.2 项目目标

2 园区总体系统规划设计

2.1 需求分析

随着企业信息化建设不断深入,企业的生产业务系统、经营管理系统、办公自动化系统均得到大力发展,对于企业园区网的建设要求越来越高。传统园区网建设初期往往面临如下问题:

(一) 网络架构较为混乱,不便于扩容和维护管理:园区网在建设初期,设备和光纤/电缆随意布放,缺乏统一的网络分层规划管理,网络拓扑相对混乱,不便于对网络性能瓶颈进行正确评估和有效扩容,给日常网络管理也带来很大难度。

(二) 网络可靠性规划不合理,影响企业生产和经营管理、造成投资浪费:由于缺乏有效的园区网规划,对于网络可靠性考虑不够,网络中既存在单点故障导致网络可靠性低、影响企业生产和经营管理行为,同时也存在网络过度冗余、造成投资浪费的现象。

(三) 网络信息安全存在隐患:网络安全性是园区网建设的重中之重,传统园区网安全漏洞较多,无法应对内外部用户日益猖獗的网络攻击行为(例如:对园区网设备进行攻击、消耗网络带宽、窃取企业核心电子资产信息),对于内部和外部用户缺乏有效的身份认证手段、用户可随意接入网络,网络层面的安全保证和防御措施也不到位,造成园区网的脆弱和易攻击。

(四) 无法满足日益增长的网络业务需求:随着企业的业务发展,出现了基于园区网基础设施的丰富增值业务需求,例如:网络接入形式要求多样化,支持WLAN无线接入,满足移动办公、大区域无线缆覆盖等特殊要求;对于企业用户访问外网进行计费,计费策略可灵活设置(时长计费、流量计费、按目的地址计费);企业多出口链路场景下的负载均衡、灵活选路需求。传统园区网建设缺乏有效满足这些增值业务需求的统一解决方案考虑,支持这些业务存在园区网络分散建设、重复投资的问题。

(五) 缺乏简单有效的网络管理系统,企业IT网络运维部门面临很大压力:当前,企业网IT运维部门面临很大的网络运维压力,来自于园区网内外部的安全事件频发、网络可靠性低引起的网络业务中断现象,网络故障诊断、分析定位过程对于IT运维人员的技术能力和经验水平要求较高,缺乏简单有效/低成本的图形化网管工具、进行实时网络拓扑显示、状态监控和各种故障事件预警/告警展示。另外,IT运维部门也需要实施统计园区网各路径的流量信息,便于对网络带宽进行管理和规划,给后续网络扩容提供参考。

2.2 设计原则

(一) 安全性:安全性是企业园区网建设中的关键,它包括物理空间的安全控制及网络的安全控制。需要有完整的安全策略控制体系来实现企业园区网的安全控制。

(二) 可靠性、可用性:高可靠性是园区网提供使用的关键,其可靠性设计包括:关键设备冗余、链路/网络冗余和重要业务模块冗余。

关键设备均采用电信级全冗余设计,可实现单板热拔插、冗余的控制模块设计、冗余电源设计。采用冗余网络设计,每个层次均采用双机方式,层次与层次之间采用全冗余连接。提供多种冗余技术,采用高效、负载均衡的双机备份。

可采用交换机的集群或者堆叠技术,在不降低网络可靠性的前提下,减化网络架构。

(三) 可扩展性:园区网方案设计中,采用分层的网络设计;每个层次的设计所采用的设备本身都应具足够高的端口密度,为后续园区网扩展奠定基础。

在园区出口层、核心层、汇聚层的设备都采用模块化设计,可根据园区网的发展进行灵活扩展。

功能的可扩展性是园区网随着发展提供增值业务的基础。实现防火墙、负载均衡、WLAN接入、认证计费等功能,为园区网增值业务的扩展提供基础。

(四) 可维护、可管理性:网络可管理性是园区网成功运维的基础。应提供低成本、简单有效的园区网统一网管系统,对园区网所有网络设备进行管理,包括网络拓扑显示、网络状态监控、故障事件实时预警和告警、网络流量统计。

华为
华为