网络工程师负责设计、部署和维护计算机网络系统,包括交换机、路由器配置,TCP/IP、DNS等协议的掌握,以及网络安全。他们需具备良好沟通和问题解决能力,理解网络拓扑、负载均衡、高可用性及云计算等领域知识。
网络工程
数据封装

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);
数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);
数据包被传递到数据链路层,封装数据链路层报头和尾部得到PDU被称为Frame(数据帧);
最后,帧在物理层被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
以太网头部 | IP头部 | TCP头部 | 用户数据 | 以太网尾部 |
---|
IP
IP报头
IP报头由基本报头(20字节)和扩展报头(0-40字节)组成,一字节8bit,一行32bit,
1、version:版本,长度4bit,IPv4和IPv6
2、header length:头部长度,长度4bit,描述IP报头的具体长度
3、type of service:类别服务,长度8bit,用于数据包快速转发,常用于qos服务
4、total length:总长度,长度16bit,描述IP报头和携带的数据长度总和
5、identification:标识,长度16bit,用于标识一台设备发送的数据
6、flags:标志,长度3bit,第一bit 是 保留的
第二bit 是 DF(don’t fragment不分片), 置 0 代表可以分片,置 1 代表不可以分片
第三bit 是 MF(more fragment多分片), 置 0 代表后续没有分片,置 1 代表后续还有分片
7、fragment offset:片偏移,长度13bit,将收到所有分片报文,按照原有顺序进行排列,每一个分片报文都会存在偏移量
第一个分片报文 偏移量值为0
第一个分片报文 偏移量值为第一个分片报文的(偏移量+携带的数据长度)
第一个分片报文 偏移量值为第二个分片报文的(偏移量+携带的数据长度)
8、TTL:time to live 生存时间,长度8bit,防止数据包在网络中无限循环。每经过一个路由器,TTL值减1,当TTL为0时,该数据包会被丢弃。
9、protocol:协议,长度8bit,标识上层协议类型,如TCP(6)、UDP(17)、ICMP(1)、IGMP(2)、EIGRP(88)、OSPF(89)。
10、header checksum:头部校验和,长度16bit,检验IP头部的完整性。
11、source ip address:源IP地址,长度32bit,标识发送数据包的设备IP地址。
12、destination ip address:目的IP地址,长度32bit,标识接收数据包的设备IP地址。
13、options:可选字段,长度可变(0-40字节),用于一些特殊用途,如安全、路由记录等。
Wireshark 抓包
IP地址
什么是IP地址?
IP地址就是三层网络设备接口的标识
IP地址表示?
- 一个IPv4地址有32 bit
- 采用“点分十进制”表示
- 一个十进制数由 8 个二进制组成
IP地址构成
- 网络部分:用来标识一个网络
- 主机部分:用来区分一个网络内的不同主机
- 网络掩码:网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
- 网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0。
- 通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
- 网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
IP地址子网划分
ICMP

什么是ICMP?
- Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。
- ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。
- 字段解释:
- ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数。
- 校验和字段用于检查消息是否完整。
- 消息中包含32 bit的可变参数,这个字段一般不使用,通常设置为0。
- 在ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关。
- 在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复消息进行一一对应。
ICMP作用?
- ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
IP路由
ARP 协议的工作过程
第一步:首先,每个主机都会有自己的 ARP 缓存区中建立一个 ARP 列表,以表示 IP 地址和MAC 地址之间的对应关系。
第二步:当源主机要发送数据时,首先检测 ARP 列表中是否对应 IP 地址的目的主机的 MAC地址,如果有,则直接发送数据。如果没有,就向本网段的所有主机发送 ARP 数据包,内容:我是 IP 地址、mac 地址,谁是 IP 地址、mac
第三步:当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。如果是,则首先从数据包中取出源主机的 IP 和 mac 地址写入到 ARP 列表中,如果以存在,则覆盖,然后将自己的 mac 地址写入 arp 响应包中,告诉源主机自己是它想要找的 mac 地址。
第四步:源主机收到 ARP 响应包后,将目的主机的 IP 和 mac 地址写入 arp 列表,并利用此信息发送数据,如果源主机一直没有收到 arp 响应数据包,
VPN
VPN:虚拟私有网络
什么是VPN:就是使用隧道技术将私网数据相互通信的技术,本质就是数据的再封装
MPLS VPN网络设备概念:
- CE设备:用户端边缘设备
- PE设备:ISP端边缘设备
- P设备:ISP骨干设备
为什么私网路由不能直接在公网传递?
- 因为私网地址是可以重复使用的,如果多个站点使用相同的路由,那么公网设备学习的路由就会发生冲突
公网设备(PE)如何区分公网路由和不同站点的私网路由
- 通过VRF技术,配置VPN实例 来隔离私网路由和公网路由
什么是VRF?是什么是VPN实例?
VRF:虚拟路由转发,在物理设备上通过虚拟化构建多台逻辑设备
VPN实例:是VRF技术具体实现手段,每一台路由器都会存在一张public路由表
[PE2]ip vpn-instance VPN-A 创建了一台逻辑路由器,该路由器生成路由表名称为VPN-A
如果接口绑定了VPN实例,则连接站点建立动态协议也需要绑定VPN实例
对于公网设备之间传递站点路由信息后(不考虑如何传递),如果P设备可以接收站点的路由,如何区分路由来自不同的站点?
PE设备根据VPN实例区分不同的站点路由,发送给P设备
P设备如果收到的路由网段相同,则无法区分
P设备如果收到的路由网段不同,则可以正常区分
PE设备如何发送不同的私网路由?
PE设备发送私网路由时,根据规则设定发送的是VPNv4路由
什么是VPNv4路由?
VPNv4路由是由 RD + ipv4私网路由 组成
什么是RD?
RD:路由区分符 书写方式 AA:NN (32bit:32bit)
通过在VPN实例视图下进行配置,将不同站点的私网路由 通过指定RD进行绑定,绑定后就形成唯一的VPNv4路由
[PE2-vpn-instance-VPN-A]route-distinguisher 100:1
作用:用来区分不同站点相同的路由信息
如果对端PE接收了不同站点的路由,可以通过RD值进行区分,但是如何接收不同站点路由 接收进本地站点?
在VPN实例下规定了RT值,通过RT来判断需要接收了VPNv4路由