HCIA-Router&Switch网络工程师认证学习笔记

以太网帧结构

网络中传输数据时需要定义并遵循一些标准,以太网是根据IEEE802.3标准来管理和控制数据帧的。

在网络通信中,IEEE802是一套用来管理物理数据流在局域网中传输的标准(包括在局域网中传输数据的802.3以太网标准),帧中继(FR)、高级数据链路控制(HDLC)、异步传输模式(ATM)是用来管理数据流使用串行介质的广域网传输标准。

开放系统互连参考模型OSI

由来:国际标准化组织ISO在1979年建立了一个分委员会来专门研究一种用于开放系统的体系结构,提出了开放系统互连OSI模型,这是一个定义连接异种计算机的标准主体结构。1984年提出了OSI RM模型,很快的OSI参考模型成为了网络通信的基础模型。

OSI模型优点:简化了相关的网络操作、提供了不同厂商之间的兼容性、促进了标准化工作、结构上进行了分层、易于学习与操作。
OSI简介:OSI采用了分层的结构化技术,共分七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

OSI分层 基本功能
应用层 为应用程序提供网络服务
表示层 数据格式化、加密、解密
会话层 建立、维护、管理会话连接
传输层 提供面向连接或非面向连接的数据传递以及迚行重传前的差错检测。
网络层 提供逡辑地址,供路由器确定路径。
数据链路层 将比特组合成字节,再将字节组合成帧,使用链路层地址(mac地址)来访问介质,幵迚行差错检测。
物理层 在设备之间传输比特流,规定了电平、速度和电缆针脚。

TCP/IP分层模型

Internet采用了TCP/IP协议,如同OSI参考模型,TCP/IP也是一种分层模型。它是基于硬件层次上的四个概念性层次构成,即网络接口层、IP层、传输层、应用层。
该模型将网络分为四层,不关注底层物理介质,主要关注终端之间的逻辑数据转发,TCP/IP模型的核心是网络层和传输层。

TCP/IP分层 基本功能
应用层 通过各种协议向终端用户提供业务应用
传输层 提供应用层之间的通信,即端到端的通信,保证源端到目的端的可靠传输,以确保数据无差错的地按序到达。
网络层 解决网络之间逻辑转发问题。
网络接口层 网络接口层也称数据链路层,这是TCP/IP最底层。功能:负责接收IP数据报并发送至选定的网络

数据封装的过程

数据需要经过TCP/IP每一层处理后,才能通过网络传输到目的端。
每一层上都使用该层的协议数据单元PDU交换信息,不同层的pdu包含不同的信息,因此pdu在不同层被赋予了不同名称,如上层数据在传输层添加tcp报头后得到的pdu被称为segment,数据段被传递给网络层,网络层添加IP报头得到的pdu被称为packet,数据包被传递到数据链路层,封装数据链路层得到的pdu被称为frame,最后,帧被转换为bit,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

扫描二维码关注公众号,回复: 10166434 查看本文章

终端之间的通信

数据包在以太网物理介质上传输之前必须封装头部和尾部信息,封装后的数据包被称为数据帧,数据帧中封装的信息决定了数据如何传输。
以太网数据帧格式:
Ethernet_II帧格式
在这里插入图片描述
2. D MAC(destination MAC)是目的mac地址,DMAC字段长度6个字节,标识帧的接收者。
3. S MAC(source MAC)是源mac地址,SMAC字段长度为6个字节,标识帧的发送者。
4. Type为类型字段,用于标识数据字段中包含的高层协议,Type字段长度为2个字节。type字段取值为0x0800的帧代表IP协议帧,type取值为0x0806的帧为arp协议帧。
5. Data数据字段为网络层数据,最小长度必须为46字节以保证帧长至少64字节,数据字段最大长度为1500字节。
6. FCS循环冗余校验字段提供了一种错误检测机制,该字段长度为4个字节。

IEEE 802.3帧格式
在这里插入图片描述
IEEE 802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的type域被IEEE 802.3帧格式的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。

  1. Length字段定义了Data字段包含的字节数。
  2. LLC逻辑控制链路,包含目的访问点、源访问点、Control字段组成。
  3. SNAP子网接入协议由机构代码和Type类型字段组成。

数据帧如何传输?
以太网在二层链路上通过MAC地址来唯一标识网络设备,并且是实现局域网上网络设备之间的通信,MAC地址也称物理地址,由网卡商把MAC地址烧入了网卡的ROM中,发送端使用接收端的MAC地址作为接收地址,以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。

以太网MAC地址

在这里插入图片描述
MAC地址如何我们的名字一样,每一台网络设备都是用物理地址来标识自己,这就是MAC地址。网络设备的MAC地址是全球唯一的,MAC地址共48bits,通常用16进制表示,MAC地址包含两部分,前24比特是组织唯一标识符,由IEEE统一分配给设备制造商,剩下24位序列号由厂商自己分配。

以太网帧的三种发送方式:

  1. 单播

在这里插入图片描述
从单一的源端发送到单一的目的端,每个主机由一个MAC地址唯一标识,MAC地址的OUI中,第一字节的第8比特表示地址类型,对于主机mac地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一目的端。

  1. 广播

在这里插入图片描述
表示帧从单一的源端发送到共享以太网上的所有主机,广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。
广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。

  1. 组播

在这里插入图片描述
组播比广播更加高效,组播转发为选择性的广播,主机侦听特定组播地址,接收并处理MAC地址为该组播MAC地址的主机。
组播MAC和单播MAC是通过第一字节中的第八比特分的,组播第8比特为1。
当网络上的一组主机接收相同信息,并且其他主机不受影响的情况下,通常会用主播方式。

数据帧的发送和接收:
帧从主机的物理接口发出来后,通过传输介质传输到目的端,共享网络中,这个帧可能到达多个主机,主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧,
如果目的MAC地址是本机MAC地址,则接收该帧,检查帧FCS字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性,如果帧的FCS与本机计算值不同,主机便认为帧已被破坏,并丢弃该帧,如果该帧通过了FCS校验,则主机会根据帧头的Type字段来确定将帧发送给上层的协议处理,如果Type为0x0800,表面该帧需要发送到IP协议上处理,在发送IP协议前,帧的头部和尾部会被剥掉。


IP编址

网络层位于数据链路层与传输层之间,网络层包含了许多协议,其中最为重要的协议就是IP协议,网络层提供了IP路由功能。

上层协议类型
在这里插入图片描述
IP的报文帧格式如图,只有当Type值为0x0800时,表示该帧的网络层协议为IP协议。
在剥掉帧头和帧尾之前,网络设备需要根据Type来决定将帧发送到哪个上层协议处理。

IP报文头部
在这里插入图片描述
IP报文头部信息用于指导网络设备对报文进行路由和分片,同网段内的数据转发通过数据链路层即可实现,而跨网段的数据转发则需要使用路由功能。
分片是指数据包超过一定长度时,需要被划分成不同的片段使其能够在网络中传输。
IP报文长度头部长度20-60字节,版本字段表示当前支持的IP协议版本,当前为4,DS字段实现网络流量优化,源和目标IP地址分配给主机的逻辑地址,用于在网络层表示报文的发送方和接收方,根据源和目标IP可判断目的端是否与发送端处于同一网段,如果不在同一网段,则需要采取路由机制进行跨网段转发。

IP编址

在这里插入图片描述
IP地址分为网络部分和主机部分,IP地址由32个二进制数组成,通常用点分十进制表示。
IP用来标识网络中的设备,具备IP的设备可以在同网段或跨网段通信,网络位表示IP所属网段,主机位表示本网段的某台设备。

网络地址
在这里插入图片描述
广播地址
在这里插入图片描述
网络地址与广播地址是每个网段都有的两个特殊地址,该地址不可分配给设备,网络地址主机位为全0,表示一个网段,广播地址主机位为全1,目的地址为广播地址的报文会被该网段中所有设备接收。

二进制、十进制和十六进制

11111111—乘方—乘方数值计算结构如图
在这里插入图片描述

十进制 二进制 十六进制
0 00000000 00
9 00001001 09
255 11111111 FF

192.168.1.1 IP地址以字节为单位分为四段,每字节包含8比特,可以表示从0-255,共256个数值。

IP地址范围

私有地址范围:

10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255

本地环回地址:127.0.0.0-127.255.255.255
任何网络:0.0.0.0
广播地址:255.255.255.255

32位的地址分为4个字节,每个字节有256个取值,256^4约为42亿个IP地址,实际上,世界上所有的网络设备已经超过42亿,为了解决地址稀缺问题,为主机分配私网地址已解决公网地址稀缺问题,在局域网中普遍使用的是私网地址。默认情况下,私网地址与公网通信,那私网地址必须转换成公网地址。


ICMP协议

ICMP(Internet Control Message Protocol)控制报文协议,它是TCP/IP协议簇的核心协议之一,它属于网络层,ICMP主要用于在IP网络设备间发送控制报文,传递差错、控制、查询等信息,它对于收集网络信息,诊断、排除各种网络故障具有重要的作用(检测网络通不通、主机是否可达等)。

ICMP

  1. ICMP Redirect 重定向消息是路由器发现主机针对某个目的ip有一个更好的路由策略,其使用ICMP redirect方式通知主机。
  2. ICMP Ping 命令是检测网络连通性的常用工具,Ping命令输出的信息:目的地址、ICMP报文长度、序号、TTL值、往返时间。
  3. ICMP Tracert 可基于报文头中的TTL值来逐跳跟踪报文的转发路径,可用于检测网络丢包及时延,可用于发现网络中的路由环路。
Type 描述
0 Ehco Reply
3 Code 0为网络不可达、Code 1为主机不可达、Code 2为协议不可达、Code 3为端口不可达
5 Redirect
8 Echo Request

ARP协议

ARP(Address Resolution Protocol)地址解析协议,ARP是通过IP地址获取物理地址的TCP/IP协议。
当主机需要发送数据给一台设备时,必须要知道对方的IP地址,IP地址由网络层来提供,但是,仅有IP地址是不够的,IP报文必须封装成帧才能够通过数据链路进行发送。数据帧必须包含有物理地址(MAC地址),因此,通过目的IP地址来获取目的MAC地址的过程就是ARP协议来实现的。

ARP工作原理:

在这里插入图片描述
当主机A要和主机B通信时,ARP协议可以将主机B的IP地址解析成主机B的MAC地址。

  1. 通过查主机A的路由表,IP用于确定主机B的转发地址为192.168.1.3,然后主机A根据其ARP缓存表,可以查询到主机B的MAC地址。
  2. 如果主机A的缓存表中没有找到B的MAC地址,则主机A发送ARP请求报文,该报文属于广播报文,本地网络中的所有主机都会收到该报文,报文内容概述如下:IP192.168.1.3的主机请把你的MAC地址发给我。每台主机都收到该ARP请求并检查该IP与自己是否匹配,如果主机发现IP与自己不匹配则将其丢弃。
  3. 主机确定ARP请求的IP地址与自己相符,则将主机A的IP地址和MAC地址的映射关系会被放入ARP缓存表中。
  4. 主机B将包含MAC地址的ARP消息发送给主机A。ARP的工作就完成了。

ARP缓存表
网络设备都有一个ARP缓存表,它是用来存放IP地址与MAC地址的关联消息,在发送数据前,设备会先查找ARP缓存表,如果缓存表中存在对端设备的MAC地址,则直接采用该地址封装成帧,将帧发送给对端。如果不存在,则通过ARP Request报文来获取它,学习到的IP及MAC地址会被存入ARP缓存表,在有效期内,设备可以直接从这个表中查找目的MAC地址来进行数据封装。
如果目标网络处于不同网段或其他网络,则源设备会在ARP缓存表中查找网关的MAC地址,然后将数据发送给网关,网关会把数据转发给对端设备。

传输层协议

TCP协议
TCP(Transmission Control Protocol)传输控制协议,它是一种面向连接的端到端协议,提供可靠的传输服务。

TCP端口
TCP使用端口号来区分不同的网络服务,网络服务知名(也叫固定端口,它的范围是:0-1023)端口:
在这里插入图片描述

协议 端口
FTP 21(文件传输协议) 、22(SSH)
Telnet 23(Telnet服务)
SMTP 25(简单邮件传输协议)
DNS 53(域名服务)
HTTP 80(超文本传输协议)
HTTPS 443(安全超文本传输协议)

TCP允许一台主机同时运行多个应用进程,每台主机可以拥有多个应用端口。
动态端口号的范围:1024-65535,动态端口不固定分配给某个服务,许多服务都可以使用这些端口,只要运行的程序向系统提出访问网络的请求,那么系统就可以从这些端口中分配一个供该程序使用。

TCP建立连接(三次握手):
TCP是一种可靠的,面向连接的全双工传输层协议,它建立连接的过程需要Client(客户端)与Server(服务端)共发送三个包确认来连接的建立。
在这里插入图片描述

  1. 第一次握手:Client将标志位SYN置为1,随机生成一个值seq=j,将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
  2. 第二次握手:Server收到数据包后,由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=j+1,随机产生一个值seq=k,并将该数据包发送给Client以确认连接请求,Server进入SYN_RECV状态。
  3. 第三次握手:Client收到确认后,检查ack是否为j+1,ACK是否为1,如果正确则将标志位ACK置为1,ACK=K+1,并将数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client与Server进入ESTABL ISHED状态,三次握手建立完成。

TCP关闭连接(四次挥手)

TCP建立连接是一个三次握手的过程,而TCP连接的终止则要经过四次挥手。

在这里插入图片描述

  1. 第一次挥手:Client发送FIN,用来关闭Client与Server的数据传输,Client进入FIN_WAIF_1状态。
  2. 第二次挥手:Server收到FIN后,发送一个ACK给客户端,确认序列号为收到序号+1,Server进入Close_WAIT状态。
  3. 第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传输,Server进入LAST_ACK状态。
  4. 第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

UDP协议
概述:
UDP(User Datagram Protocol)用户数据报协议是一个面向无连接的传输层协议,传输的可靠性没有保证。TCP则是面向连接的协议。
当应用程序对传输的可靠性要求不高(如视频、语音通话),但是对传输速度和延时要求较高时,便可使用UDP协议来传输数据。
UDP将数据从源端发送到目的端,无需事先建立连接。由于UDP采用了简单、易操作的机制在应用程序间传输数据,无TCP中的确认技术及滑动窗口机制,因此UDP不能保证数据传输的可靠性,也无法避免接收到重复数据的情况。

UDP Header:

在这里插入图片描述

  1. UDP报文:UDP报文头和数据两部分组成。
  2. UDP报头:由源端口、目的端口、报文长度及校验组成。
  3. UDP优点有传输效率高、开销小等优点。
  4. UDP缺点:无法保证数据传输的可靠性
  5. 图0-15表示16为源端口号、16-30表示目的端口号。

UDP传输过程:
设备发送数据时,数据包是以有序的方式发送到网络中,每个数据包独立的在网络中被发送出去,不同的数据包会通过不同的网络路径传输到对端,这种情况下,先发送的数据不一定先到达,因为UDP包没有序号,对端设备无法将包按照原来的顺序组合,因此,则需要应用程序提供报文的到达确认、排序、流量等控制功能。
UDP采用实时传输机制和时间戳来传输语音及视频数据。
TCP数据段丢失,会进行重传,重传会带来传输延时和数据重复
UDP不重传,丢失少量的数据忽略不计,这对使用UDP就会提高用户体验度。


数据转发过程

数据转发的依据是遵循TCP/IP协议簇来进行的,TCP/IP协议簇与底层协议配合,实现了数据端到端的传输,数据传输的过程包含了一系列的封装与解封装。

数据按转发流程可以分为:本地转发与远程转发,本地转发即局域网的传输,远程就是传输到公网中。

数据按封装过程分为:TCP-IP-

协议 协议分层
TCP 传输层
IP 网络层
以太网封装 数据链路层

TCP封装:
在这里插入图片描述
TCP封装位于传输层,它依靠TCP协议传输数据和封装报文,报文必须包含的字段有:源端口、目的端口、初始序列号,确认序列号、标识位、窗口、校验和。如果你访问的是web应用,那么目的端口号就是80,主机的源端口号:1027。
IP封装
在这里插入图片描述
传输层封装完之后,会进行网络层封装,在网络层中,使用IP封装数据,必须明确IP的源地址和目的地址。
最大传输单元(MTU):如果IP报文大小大于MTU,报文在传输时会被分片。
生存时间(TTL):路由器转发一个数据包时,该值会被减1,如果路由器发现该值被减为0,就会丢弃该数据包。这样,即使网络中存在环路,数据包也不会在网络上一直被转发。

查找路由
主机A在发送数据前需要先检查是否能够到达目的端,这个过程是通过查找路由来完成的。在此示例中,主机A拥有一条到达“任何网络”(在IP编址部分已经简要介绍过)的路由,它发往其他网络的数据都会通过IP地址为10.1.1.1的接口转发到下一跳,即网关10.1.1.254。

RSTP协议

RSTP(Rapid Spanning-Tree Protocol)快速生成树协议在STP基础上进行了改进,实现了网络拓扑快速收敛。

STP与RSTP收敛时间对比:STP(30-50秒)、RSTP收敛时间(3-5秒)

RSTP改进点:备份端口、边缘端口、P/A机制、Hello机制、拓扑变化机制。

RSTP端口角色:

  1. Backup端口作为指定端口的备份,备份端口能立即进入 转发状态。备份端口主要是通设备上接了两跳物理链路到设备。

  2. RSTP边缘端口:一头连接主机,边缘端口不参与RSTP计算,可以由Desabled直接到forwaring,如果再收到bpdu就转为普通端口。

  3. P/A机制:Proposal提议 Agreement确认,

  4. Hello BPDU:非根桥设备无论是否接收到根桥发送的配置BPDU,都会按照Hello Timer规定的时间间隔发送配置BPDU

RSTP预备端口主要是为了备份根端口,而备份端口主要是为了备份指定端口。无论是备份端口还是预备端口都不处于转发状态。

RSTP协议中,当网络拓扑发生变化时,响应拓扑结构改变的机制是:对MAC地址表采取部分删除操作。

MSTP协议

MSTP(Multi Spanning-Tree Protocol)多生成树协议,MSTP协议在实际中用的最多。MSTP可以最大化利用网络资源,无需阻塞端口,MSTP协议根据不同VLAN计算不同生成树,MSTP收敛时间与RSTP时间一致(3-5秒)。

在STP/RSTP/MSTP中,根桥的所有端口都是指定端口,华为交换机默认模式MSTP。

TC保护功能:

[SWB]stp tc-protection
disable: TC protection function disable //禁用tc保护功能
enable: TC protection function enable //启用tc保护功能

启用tc保护功能后,在单位时间内,MATP进程处理类型BPDU报文的次数可配置,可避免攻击者伪造拓扑变化BPDU报文来恶意攻击交换机设备,并造成其频繁的删除MAC地址表项,从而保护了交换机。

执行命令使能mstp进程TC类型BPDU报文的保护功能。

stp tc protection  enable

MSTP端口角色

  1. 边缘端口:不参与MSTP的计算过程,其他端口角色都会参加计算过程。
  2. MSTP同一个端口在不同的生成树实例中可以担任不同的角色。
  3. MSTP域边缘端口:位于MST域的边缘,并连接其它MST/SST端口。

RIP协议

RIP特性 所带来的问题
逐跳收敛 网络发生变化,RTA向邻居RTB发出更新,RTB需先进行本地计算,再逐跳向其他路由器发出更新,如此循环,造成收敛慢,故障恢复时间长。
分布式路由计算 路由器在计算路由是完全依赖邻居路由器收到的信息,缺少对全局网络拓扑的了解。
以跳数为度量 RIP基于跳数的度量方式,存在选择次优路径的风险。

参考华为HCIA技术文档

发布了30 篇原创文章 · 获赞 55 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_39689711/article/details/102781429