<center><h1>第一章:走进网络世界</h1></center>

> 作者:行癫

------

<h3>第一节:环境介绍</h3>

<h4>一:软件Ensp下载地址</h4>

```shell
https://www.xingdiancloud.cn/index.php/s/9anesk6D6Z6bKc7
```

<h4>二:软件使用</h4>

1.华为设备图标介绍

![image-20220125224657446](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125224657446.png)

2.软件具体使用

略

<h3>第二节:数据通信网络基础</h3>

<h4>一:通信与网络</h4>

<h5>1.网络通信基本概念</h5>

通信:是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递和交流

网络通信:是指终端设备之间通过计算机网络进行的通信

案例:

两台计算机通过一根网线相连,就组成了一个最简单的网络

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125225404941.png" alt="image-20220125225404941" style="zoom:50%;" />

由一台路由器(或交换机)和多台计算机设备组成的小型网络

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125225455649.png" alt="image-20220125225455649" style="zoom:50%;" />

 当计算机想从某个网址获取文件时,必须先接入Internet,然后才能下载

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125225510430.png" alt="image-20220125225510430" style="zoom:50%;" />

<h5>2.信息传递过程</h5>

![image-20220125225601100](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125225601100.png)

​		需要快递的物品:应用程序生成需要传递的信息 (或数据)。 物品被包装起来形成包裹,并粘贴含有收货人姓名、地址的快递单:应用程序将数据打包成原始的“数据载荷”,并添加“头部”和“尾部”形成报文,报文中的重要信息是接收者的地址信息,即“目的地址”。在一个信息单元的基础上,增加一些新的信息段,使其形成一个新的信息单元,这个过程称为“封装”。包裹被送到集散中心,集散中心对包裹上的目的地址进行分检,去往同一个城市的物品被放入同一架飞机,并飞向天空:报文通过网线到达“网关”,网关收到报文后,对其“解封装”,读取目的地址,再新封装,并根据目的地址不同,送往不同的“路由器”,通过网关及路由器的传递,报文最终离开本地网络,进入Internet的干道进行传输。其中,网线所起的作用跟公路一样,它是信息传输的介质。飞机抵达目的机场后,包裹被取出进行分检,去往同一地区的包裹,被送到了同一集散中心:报文经过Internet干道的传输,到达目的地址所在的本地网络,本地网络的网关或路由器对报文进行解封装和封装,并根据目的地址决定发往相应的下一台路由器,最终到达目的计算机所在网络的网关。集散中心根据包裹上的目的地址进行分检,快递员送包裹上门,收件人拆开包裹,确认物品完好无损后收下。整个快递过程完成。报文到达目的计算机所在网络的网关,解封装和封装,然后根据目的地址发往相应的计算机。计算机收到报文后,对报文进行校验处理,校验无误后,接收下报文,并将其中的数据载荷交由相应的应用程序进行处理。一次完整的网络通信过程就结束了。

<h5>3.常见术语</h5>

数据载荷:

​		可以理解为最终想要传递的信息,但实际上,在具有层次化结构的通信过程中,上一层协议传递给下一层协议的数据单元(报文)都可以称之为下一层协议的数据载荷

报文:

​		网络中交换与传输的数据单元,具有一定的内在格式,通常都具有头部+数据载荷+尾部的基本结构。传输过程中,报文的格式和内容可能发生改变

头部:

​		为了更好的传递信息,在组装报文时,在数据载荷的前面添加的信息段统称为报文的头部

尾部:

​		为了更好的传递信息,在组装报文时,在数据载荷的后面添加的信息段统称为报文的尾部。注意,很多报文是没有尾部的

封装:

​		分层协议所采用的一种技术,底层协议收到来自上层协议的消息时,将该消息附加到底层帧的数据部分

解封装:

​		是封装的逆过程,也就是去掉报文的头部和尾部,获取数据载荷的过程

网关:

​		是在采用不同体系结构或协议的网络之间进行互通时,用于提供协议转换、路由选择、数据交换等功能的网络设备。网关是一种根据其部署位置和功能而命名的术语,而不是一种特定的设备类型

路由器:

​		为报文选择传递路径的网络设备

终端设备:

​		数据通信系统的端设备,作为数据的发送者或接收者,提供用户接入协议操作所需必要功能,可以是计算机、服务器、手机等

<h5>4.数据通信网络</h5>

概念:

​		由路由器、交换机、防火墙、无线控制器、无线接入点以及个人电脑、网络打印机、服务器等设备构成的通信网络

功能:

​		数据通信网络最基本的功能是实现数据互通

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220125230356387.png" alt="image-20220125230356387" style="zoom:50%;" />

<h5>5.网络设备介绍</h5>

**交换机:**

​	距离终端的设备最近,用于终端设备接入网络、对数据帧进行交换等

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126153143550.png" alt="image-20220126153143550" style="zoom:50%;" />

​		在园区网络中,交换机一般来说是距离终端用户最近的设备,接入层的交换机一般为二层交换机,又称为以太网交换机,二层是指TCP/IP参考模型的数据链路层

​		以太网交换机可以实现:数据帧的交换、终端用户设备的接入、基本的接入安全功能、二层链路的冗余等

​		广播域:一个节点发送一个广播报文其余节点都能够收到的节点的集合

**路由器:**

​		网络层设备,可以在因特网中进行数据报文转发,路由器根据所收到的报文的目的地址选择一条合适的路径,将报文传递到下一个路由器或目的地,路径中最后的路由器负责将报文送交目的主机

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126153723645.png" alt="image-20220126153723645" style="zoom:50%;" />

功能:

​		实现同类型网络或异种网络之间的通信

​		隔离广播域

​		维护路由器、运行路由协议

​		路由选择、IP报文转发

​		广域网接入、网络地址转换

​		连接通过交换机组建的二层网络

**防火墙:**

​		网络安全设备,用于控制两个网络之间的安全通信,它通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现对网络的安全保护

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126154425303.png" alt="image-20220126154425303" style="zoom: 50%;" />

​		隔离不同安全级别的网络

​		实现不同安全级别的网络之间的访问控制

​		用户身份认证

​		实现远程接入功能

​		实现数据加密及虚拟专用网业务

​		执行网络地址转换

​		其他安全功能

​		是位于两个信任程度不同的网络之间(如企业内部网络和Internet之间)的设备,它对两个网络之间的通信进行控制,通过强制实施统一的安全策略,防止对重要信息资源的非法存取和访问,以达到保护系统安全的目的。

**无线设备:**

​		无线局域网WLAN广义上是指以无线电波、激光、红外线等无线信号来代替有线局域网中的部分或全部传输介质所构成的网络。而常见的Wi-Fi是指IEEE 802.11标准上的无线局域网技术

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126154859755.png" alt="image-20220126154859755" style="zoom:50%;" />

无线接入点(AP,Access Point):

​		一般支持FAT AP、FIT AP和云管理工作模式,根据网络规划的需求,可以灵活地在各种模式下切换

​		FAT AP:适用于家庭,独立工作,需单独配置,功能较为单一,成本低 【胖AP】

​		FIT AP:适用于大中型企业,需要配合AC使用,由AC统一管理和配置,功能丰富 【瘦AP】

​		云管理:适用于中小型企业,需要配合云管理平台使用,由云管理平台统一管理和配置,功能丰富,即插即用

无线接入控制器(AC,Access Controller):

​		一般位于整个网络的汇聚层,提供高速、安全、可靠的WLAN业务

​		提供大容量、高性能、高可靠性、易安装、易维护的无线数据控制业务,具有组网灵活、绿色节能等优势

<h5>6.网络类型与网络拓扑</h5>

​		按照地理覆盖范围来划分,网络可以分为局域网(Local Area Network)、城域网(Metropolitan Area Network)和广域网(Wide Area Network)

局域网(LAN):

​		在某一地理区域内由计算机、服务器以及网络设备组成的网络,局域网的覆盖范围一般是方圆几千米内

​		典型的局域网:一家公司的办公网络、一个网络的网络、一个家庭的网络

城域网(MAN):

​		在一个城市范围内所建立的计算机通信网络

​		典型的城域网:宽带城域网、教育城域网、市级或省级电子政务专网等

广域网(WAN):

​		通常覆盖很大的地理范围,从几十公里到几千公里,他能连接多个城市甚至国家,并能提供远距离通信,形成国际性的大网络

​		典型的广域网:Internet (因特网)

教育行业中的局域网、城域网以及广域网

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126160927275.png" alt="image-20220126160927275" style="zoom:50%;" />

网络拓扑:

​		网络拓扑是指用传输介质(例如双绞线、光纤等)互连各种设备(例如计算机终端、路由器、交换机等)所呈现的结构化布局

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126161345590.png" alt="image-20220126161345590" style="zoom:50%;" />

网络拓扑形态:

​		按照网络的拓扑形态来划分,网络可以分为星型网络、总线型网络、环型网络、树型网络、全网状网络和部分网络形状

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126161519153.png" alt="image-20220126161519153" style="zoom:50%;" />

星型网络:

​		所有节点通过一个中心节点连接在一起

​		容易在网络中增加新的节点。通信数据必须经过中心节点中转,易于实现网络监控

​		中心节点的故障会影响到整个网络的通信

总线型网络:

​		所有节点通过一条总线(如同轴电缆)连接在一起

​		安装简便,节省线缆。某一节点的故障一般不会影响到整个网络的通信

​		总线故障会影响到整个网络的通信。某一节点发出的信息可以被所有其他节点收到,安全性低

 环型网络:

​		所有节点连成一个封闭的环形

​		节省线缆

​		增加新的节点比较麻烦,必须先中断原来的环,才能插入新节点以形成新环

树型网络:

​		树型结构实际上是一种层次化的星型结构

​		能够快速将多个星型网络连接在一起,易于扩充网络规模

​		层级越高的节点故障导致的网络问题越严重

全网状网络:

​		所有节点都通过线缆两两互联

​		具有高可靠性和高通信效率

​		每个节点都需要大量的物理端口,同时还需要大量的互连线缆。成本高,不易扩展

部分网状网络:

​		只是重点节点之间才两两互连

​		成本低于全网状网络

​		可靠性比全网状网络有所降低

注意:

​		在实际组网中,通常都会根据成本、通信效率、可靠性等具体需求而采用多种拓扑形态相结合的方法

<h3>第三节:网络参考模型</h3>

<h4>一:应用和数据</h4>

<h5>1.应用</h5>

​		应用的存在,是为了满足人们的各种需求,比如访问网页、在线游戏、在线视频等

​		伴随着应用会有信息的产生,比如文本、图片、视频等都是信息的不同呈现方式

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126163135986.png" alt="image-20220126163135986" style="zoom:50%;" />

<h5>2.数据</h5>

数据的产生:

​		在计算机领域,数据是各种信息的载体

数据传输:

​		大部分应用程序所产生的数据需要在不同的设备之间传递

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126163253729.png" alt="image-20220126163253729" style="zoom:50%;" />

​		计算机只能识别0和1的组成的电子数据(digital data)。它不具备读取各种信息的能力,所以信息需要通过一定的规则翻译成数据,而对人来说,我们不具备读取电子数据的能力,所以在读取信息的时候,需要将数据转成人能理解的信息,需要更关注数据的端到端传递的过程

<h4>二:网络参考模型与标准协议</h4>

<h5>1.OSI参考模型</h5>

​		OSI 模型(Open Systems Interconnection Model),由国际化标准组织ISO (The International Organization for Standardization ) 收录在ISO 7489标准中并于1984年发布

物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性

数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测

网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络

传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测

会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成

表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别

应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务

<h5>2.TCP/IP参考模型</h5>

​		因OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考协议

![image-20220126164548081](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126164548081.png)

​		TCP/IP模型在结构上与OSI模型类似,采用分层架构,同时层与层之间联系紧密

<h5>3.TCP/IP常见协议</h5>

**应用层:**

​		HTTP(Hypertext Transfer Protocol,超文本传输协议):用来访问在网页服务器上的各种页面

​		FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上

​		DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之间的转换

**传输层:**

​		TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP

​		UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证

**网络层:**

​		IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务

​		IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系

​		ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决

**数据链路层:**

​		PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议,多用于广域网

​		Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术

​		PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网

<h5>4.应用层</h5>

​		应用层为应用软件提供接口,使应用程序能够使用网络,应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等

​		应用层的PDU被称为数据Data

​		TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用PDU(Packet Data Unit,协议数据单元)彼此交换信息,确保网络设备之间能够通信,不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称

常见的应用层协议:

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126165757220.png" alt="image-20220126165757220" style="zoom:50%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126165813774.png" alt="image-20220126165813774" style="zoom:50%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126165832189.png" alt="image-20220126165832189" style="zoom:50%;" />

<h5>5.传输层</h5>

​		传输层协议接受来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”的连接

​		传输层的PDU被称为Segment(段)

**TCP和UDP报文格式**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126170554832.png" alt="image-20220126170554832" style="zoom:67%;" />

**TCP报文头部:**

​		Source Port:源端口,标识哪个应用程序发送。长度为16比特

​		Destination Port:目的端口,标识哪个应用程序接收。长度为16比特

​		Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。

​		Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack标识为1,此字段有效。长度为32比特。

​		Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若无选项内容,则该字段为5,即头部为20字节。

​		Reserved:保留,必须填0。长度为6比特。

​		Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段。

​		Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。

​		Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12字节的伪头部。长度为16比特。▫ Urgent:紧急指针,只有当URG标志置1时紧急指针才有效。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。长度为16比特。

​		Options:选项字段(可选),长度为0-40字节。

**UDP报文头部:**

​		Source Port:源端口,标识哪个应用程序发送。长度为16比特。

​		Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。

​		Length:该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节,因为UDP报头已经占用了8字节。由于这个字段的存在,UDP报文总长不可能超过65535字节(包括8字节的报头,和65527字节的数据)。

​		Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特。

**TCP的建立**

​		任何基于TCP的应用,在发送数据前,都需要进行TCP的“三次握手”建立连接

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126171140474.png" alt="image-20220126171140474" style="zoom:80%;" />

TCP连接建立的详细过程:

​		由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 

​		接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确认序列号为a+1

​		PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立

**TCP的序列号与确认序列号:**

​		TCP使用序列号和确认序列号字段实现数据的可靠和有序传输

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126171459181.png" alt="image-20220126171459181" style="zoom:80%;" />

假设PC1要给PC2发送一段数据,传输过程如下:

​		PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为 “a+1”,第二个字节的序号为“a+2”,依次类推

​		 PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number),然后将TCP报文发送出去

​		 PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一个字节的序号(a+1+12) 

​		PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12” ,说明“a+1”到“a+12”这一段的数据已经被接受,需要从“a+1+12”开始发送

​		为了提升发送效率,也可以一次性发送多段数据,由接收方统一确认

**TCP的窗口滑动机制**

​		TCP通过滑动窗口机制来控制数据的传输速率

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126171720210.png" alt="image-20220126171720210" style="zoom:80%;" />

​		在TCP三次握手建立连接时,双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)

​		连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据

​		接受方接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放

​		接收方根据自身的缓存空间大小通告当前的可以接受的数据大小( Window )

​		发送方根据接收方当前的Window大小发送相应数量的数据

**TCP的关闭**

​		当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220126171951995.png" alt="image-20220126171951995" style="zoom:80%;" />

​		TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭

​		由PC1发出一个FIN字段置”1 ”的不带数据的TCP段

​		PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文

​		若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连接

​		PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开

<h5>6.网络层</h5>

​		传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另一台主机之间的传递

​		网络层的PDU被称为Packet(包)

**网络层协议工作过程**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127145431291.png" alt="image-20220127145431291" style="zoom:80%;" />

​		当采用IP作为网络层协议时,通信的双方都会被分配到一个“独一无二”的IP地址来标识自己。IP地址可被写成32位的二进制整数值形式,但为了方便人们阅读和分析,它通常被写成点分十进制的形式,即四个字节被分开用十进制表示,中间用点分隔,比如192.168.1.1

**IP数据包的封装与转发**

​		网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中

​		中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包

​		IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理

​		IP协议工作时,需要如OSPF、IS-IS、BGP等各种路由协议帮助路由器建立路由表,ICMP帮忙进行网络的控制和状态诊断

<h5>7.数据链路层</h5>

​		数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务,数据链路层的PDU被称为Frame(帧)

​		以太网(Ethernet)是最常见的数据链路层协议

**以太网与MAC地址**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127150315161.png" alt="image-20220127150315161" style="zoom:80%;" />

​		以太网是一种广播式数据链路层协议,支持多点接入

​		个人电脑的网络接口遵循的就是以太网标准

​		一般情况下,一个广播域对应着一个IP网段

​		MAC地址在网络中唯一标识一个网卡,每个网卡都需要且会有唯一的一个MAC地址

​		MAC用于在一个IP网段内,寻找到具体的物理设备

​		工作在数据链路层的设备,例如以太网交换机,会维护一张MAC地址表,用于指导数据帧转发

​		MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F

**地址解析协议(ARP)**

​		根据已知的IP地址解析获得对应的mac地址

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127151644644.png" alt="image-20220127151644644" style="zoom:80%;" />

​		ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议

ARP是IPv4中必不可少的一种协议,它的主要功能是:

​		将IP地址解析为MAC地址

​		维护IP地址与MAC地址的映射关系的缓存,即ARP表项

​		实现网段内重复IP地址的检测

**APR工作原理:**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127151829794.png" alt="image-20220127151829794" style="zoom:80%;" />

​		网络设备一般都有一个ARP缓存(ARP Cache)。ARP缓存用来存放IP地址和MAC地址的关联信息

​		在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它

​		学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除

​		如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址。然后将数据发送给网关。最后网关再把数据转发给目的设备

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127152046377.png" alt="image-20220127152046377" style="zoom:80%;" />

​		所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会将ARP请求报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127152122508.png" alt="image-20220127152122508" style="zoom:80%;" />

​		主机2会向主机1回应ARP Reply报文

​		ARP Reply报文中的发送端IP地址是主机2自己的IP地址,目的端IP地址是主机1的IP地址,目的端MAC地址是主机1的MAC地址,发送端MAC地址是自己的MAC地址,同时操作类型被设置为Reply

​		ARP Reply报文通过单播传送

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127152218526.png" alt="image-20220127152218526" style="zoom:80%;" />

​		主机1收到ARP Reply以后,会检查ARP报文中目的端IP地址字段与自身的IP地址是否匹配。如果匹配,ARP报文中的发送端MAC地址和发送端IP地址会被记录到主机1的ARP缓存表中

<h5>7.网络层</h5>

​		数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者式电磁波信号

​		物理层的PDU被称为比特流(Bitstream)

**常见传输介质**

​		双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为

​				STP-屏蔽双绞线

​				UTP-非屏蔽双绞线

​		光纤传输,按照功能部件可分为:

​				光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道

​				光模块:将电信号与光信号互转的器件,产生光信号

​		串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等

​		无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输

<h4>三:数据通信过程</h4>

<h5>1.发送方数据封装</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127153413582.png" alt="image-20220127153413582" style="zoom:80%;" />

假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情:

​		1. IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还应包括HTTP头部,此处省略) 

​		2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块

​		3. TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称作Segment(段)

​		4.在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理)

​		5. IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的PDU被称为Packet(包)

​		6. 由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理

​		7. Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧)

​		8. 在Ethernet模块封装完毕之后,会将数据传递到物理层

​		9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无 线)信号等

​		10. 转换完成的信号在网络中开始传递

<h5>2.中间网络数据传输</h5>

​		封装好的完整数据会在网络中被传递

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127153839453.png" alt="image-20220127153839453" style="zoom:80%;" />

​		网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的信息进行相应的“交换”操作

​		网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进行相应的“路由”操作

<h5>3.接收方数据解封装</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127153936050.png" alt="image-20220127153936050" style="zoom:80%;" />

​		经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理

<h3>第四节:华为VRP系统</h3>

<h4>一:VRP系统基础</h4>

<h5>1.华为VRP系统概述</h5>

​		VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127155106294.png" alt="image-20220127155106294" style="zoom:50%;" />

**功能:**

​		实现统一的用户界面和管理界面

​		实现控制平面功能,并定义转发平面接口规范

​		实现各产品转发平面与VRP控制平面之间的交互

​		屏蔽各产品链路层对于网络层的差异

**VRP的发展:**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127155028448.png" alt="image-20220127155028448" style="zoom:80%;" />

**文件系统:**

​		文件系统是指对存储器中文件、目录的管理,功能包括查看、创建、重命名和删除目录、拷贝、移动、重命名和删除文件等

​		掌握文件系统的基本操作,对于网络工程师高效管理设备的配置文件和VRP系统文件至关重要

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127155329896.png" alt="image-20220127155329896" style="zoom:80%;" />

​		配置文件是命令行的集合。用户将当前配置保存到配置文件中,以便设备重启后,这些配置能够继续生效。另外,通过配置文件,用户可以非常方便地查阅配置信息,也可以将配置文件上传到别的设备,来实现设备的批量配置

​		补丁是一种与设备系统软件兼容的软件,用于解决设备系统软件少量且急需解决的问题。在设备的运行过程中,有时需要对设备系统软件进行一些适应性和排错性的修改,如改正系统中存在的缺陷、优化某功能以适应业务需求等

​		文件的管理方式包括:

​					通过Console或者telnet等直接登陆系统管理

​					通过FTP、TFTP或SFTP登录设备进行管理

<h5>2.存储设备</h5>

​		存储设备包括:SDRAM、Flash、NVRAM、SD Card、USB

​		SDRAM是系统运行内存,相当于电脑的内存

​		NVRAM非易失存储器,日志写入FLASH操作是耗时耗CPU的操作,因此采用缓存机制,即日志产生后,先存入缓存,定时器超时或缓存满后再写入Flash

​		Flash与SD Card属于非易失存储器,配置文件与系统文件存放于flash或SD Card中

​		SD Card是外置的SD存储卡,用来扩展。USB是接口,用于外接大容量存储设备,主要用于设备升级,传输数据

​		补丁文件和PAF文件由维护人员上传可自行指定放置

<h5>3.设备管理</h5>

​		用户对设备的常见管理方式主要有命令行方式和web网管方式两种

​		用户需要通过相应的方式登录到设备后才能对设备进行管理

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127155758135.png" alt="image-20220127155758135" style="zoom:80%;" />

**VRP用户界面**

​		用户通过命令行方式登录设备时,系统会分配一个用户界面来管理、监控设备和用户间的当前会话

​		设备系统支持的用户界面有Console用户界面和虚拟类型终端VTY用户界面

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127160014823.png" alt="image-20220127160014823" style="zoom:80%;" />

**VRP用户级别**

​		VRP提供基本的权限控制,可以实现不同级别的用户能够执行不同级别的命令,用以限制不同用户对设备的操作

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127173254879.png" alt="image-20220127173254879" style="zoom:80%;" />

**WEB网管方式登录**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127173336104.png" alt="image-20220127173336104" style="zoom:80%;" />

**命令行方式登录**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127173408530.png" alt="image-20220127173408530" style="zoom:50%;" />

​		使用Console线缆来连接交换机或路由器的Console口与计算机的COM口,这样就可以通过计算机通过PuTTY工具实现本地调试和维护。Console口是一种符合RS232串口标准的RJ45接口。目前大多数台式电脑提供的COM口都可以与Console口连接。笔记本电脑一般不提供COM口,需要使用USB到RS232的转换接口,Console口登录是设备默认开启的功能,不需要对设备做预配置

**本地登录**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127173528378.png" alt="image-20220127173528378" style="zoom:50%;" />

​		很多终端模拟程序都能发起Console连接,例如,可以使用PuTTY连接到VRP操作系统。使用PuTTY连接VRP时,必须设置端口参数。上图是端口参数设置的示例,如果对参数值做了修改,需要恢复默认参数值

**远程登录**

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127173605321.png" alt="image-20220127173605321" style="zoom:50%;" />

​		设备默认不开启SSH登录功能,需要用户先通过Console口登录,配置上SSH登录必须的参数之后,才可以使用SSH登录功能

​		如果使用ssh远程登陆,连接类型为ssh,需要输入远程登录服务器的IP地址,端口默认为:22

​		如果使用telnet远程登录,连接类型为telnet,需要输入远程登录服务器的IP地址,端口默认为:23

**命令行界面**

​		登录成功后即进入命令行界面CLI(Command Line Interface)

​		命令行界面是工程师与网络设备进行交互的常用工具

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127174037131.png" alt="image-20220127174037131" style="zoom:80%;" />

<h4>二:命令行基础</h4>

<h5>1.熟悉命令行</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127174152651.png" alt="image-20220127174152651" style="zoom:50%;" />

命令字:规定了系统应该执行的功能,如display(查看设备状态),reboot(重启设备)等命令字

关键字:特殊的字符构成,用于进一步约束命令,是对命令的扩展,也可以用于表达命令构成逻辑而增设的补充字符串

参数列表:是对命令执行功能的进一步约束,包括一对或多对参数名和参数值

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127174453071.png" alt="image-20220127174453071" style="zoom:50%;" />

​		命令字、关键字、参数名、参数值之间,需要用空格分隔开

​		每条命令有最多一个命令字,若干个关键字和参数,形成一条命令,参数必须由参数名和参数值组成

<h5>2.命令行视图</h5>

​		设备提供了多样的配置和查询命令,为便于用户使用这些命令,VRP系统按功能分类将命令分别注册在不同的命令行视图

​		用户视图应为登录系统后的第一个视图。在用户视图中不提供除查询和工具命令之外的其他命令

​		用户视图中,唯一可进入的视图是系统视图;系统视图中提供全局的配置命令;如果系统存在下一级配置视图,则在系统视图中须提供进入下一级配置视图的命令

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127174747778.png" alt="image-20220127174747778" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127174819063.png" alt="image-20220127174819063" style="zoom:80%;" />

<h5>3.使用命令行在线帮助</h5>

​		用户在使用命令行时,可以使用在线帮助功能以获取实时的帮助,从而无需记忆大量的复杂的命令

​		命令行在线帮助可以分为完全帮助和部分帮助,可以通过输入“?”实现

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127175122927.png" alt="image-20220127175122927" style="zoom:80%;" />

<h5>4.使用undo命令行</h5>

​		在命令前加undo关键字,即为undo命令行,undo命令行一般用来恢复缺省情况、禁用某个功能或者删除某项配置

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127175426219.png" alt="image-20220127175426219" style="zoom:80%;" />

<h5>5.常见文件系统操作命令</h5>

​		VRP基于文件系统来管理设备上的文件和目录。在管理文件和目录时,经常会使用一些基本命令来查询文件或者目录的信息,常用的命令包括**pwd**,**dir** [ **/all** ] [ filename | directory ]和**more** [ **/binary** ] filename [ offset ] [ **all** ]

​		**pwd**命令用来显示当前工作目录

​		**dir** [ **/all** ] [ filename | directory ]命令用来查看当前目录下的文件信息

​		**more** [ **/binary** ] filename [ offset ] [ **all** ]命令用来查看文本文件的具体内容

​		**cd** *directory*命令用来修改用户当前的工作目录

​		**mkdir** *directory*命令能够创建一个新的目录。目录名称可以包含1-64个字符

​		**rmdir** *directory*命令能够删除文件系统中的目录,此处需要注意的是,只有空目录才能被删除

​		**copy** *source-filename destination-filename*命令可以复制文件。如果目标文件已存在,系统会提示此文件将被替换。目标文件名不能与系统启动文件同名,否则系统将会出现错误提示		

​		**move** *source-filename destination-filename*命令可以用来将文件移动到其他目录下,**move**命令只适用于在同一储存设备中移动文件

​		**rename** *old-name new-name*命令可以用来对目录或文件进行重命名

​		**delete** [ /**unreserved** ] [ /**force** ] { *filename | devicename* }命令可以用来删除文件。不带unreserved参数的情况下,被删除的文件将直接被移动到回收站。回收站中的文件也可以通过执行**undelete**命令进行恢复,但是如果执行delete命令时指定了unreserved参数,则文件将被永久删除。在删除文件时,系统会提示“是否确定删除文件”,但如果命令中指定了/force 参数,系统将不会给出任何提示信息。*filename*参数指的是需要删除的文件的名称,*devicename*参数指定了储存设备的名称

​		**reset recycle-bin** [ *filename | devicename* ]可以用来永久删除回收站中的文件,*filename*参数指定了需要永久删除的文件的名称,*device-name*参数指定了储存设备的名称

<h5>6.基本配置命令</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127180006628.png" alt="image-20220127180006628" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127180134309.png" alt="image-20220127180134309" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127180318262.png" alt="image-20220127180318262" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220127180333860.png" alt="image-20220127180333860" style="zoom:80%;" />

​		网络上一般都会部署不止一台设备,管理员需要对这些设备进行统一管理。在进行设备调试的时候,首要任务是设置设备名。设备名用来唯一地标识一台设备。AR系列路由器默认的设备名是Huawei,而S系列交换机默认的设备名是HUAWEI。设备名称一旦设置,立刻生效

​		为了保证与其他设备协调工作,需要准确设置系统时钟。系统时钟的=UTC(Coordinated Universal Time)+当前时区与UTC的时间差,一般设备上都会有内置的UTC和时间差配置

​		可以通过clock datetime命令直接设置设备的系统时钟,格式为HH:MM:SS YYYY-MM-DD,此时UTC等于系统时钟-时间差

​		也可以通过修改UTC和系统当前时区来修改系统时钟		

​					**clock datetime** [ utc ] *HH:MM:SS YYYY-MM-DD*用来修改UTC时间

​					**clock timezone** *time-zone-name* { **add** | **minus** } *offset* 用来配置本地时区信息。本地时间加上或减去*offset*即为UTC

<h5>7.文件查询命令、目录操作</h5>
​		查看路由器当前目录下的文件和目录的信息

​		创建一个新的目录test,然后删除该目录

```shell
<Huawei>pwd
flash:

<Huawei>dir
Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time       FileName 
    0  drw-              -  Aug 07 2015 13:51:14   src
    1  drw-              -  Jan 27 2022 20:49:53   pmdata
    2  drw-              -  Jan 27 2022 20:49:57   dhcp
    3  -rw-             28  Jan 27 2022 20:49:57   private-data.txt

32,004 KB total (31,995 KB free)

<Huawei>mkdir test
Info: Create directory flash:/test......Done.
<Huawei>dir
Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time       FileName 
    0  drw-              -  Aug 07 2015 13:51:14   src
    1  drw-              -  Jan 27 2022 20:49:53   pmdata
    2  drw-              -  Jan 27 2022 20:49:57   dhcp
    3  -rw-             28  Jan 27 2022 20:49:57   private-data.txt
    4  drw-              -  Jan 27 2022 20:51:55   test

32,004 KB total (31,994 KB free)

<Huawei>rmdir test
Remove directory flash:/test?[Y/N]:y
%Removing directory flash:/test...Done!
```

<h3>第五节:网络层协议及IP编址</h3>

<h4>一:网络层协议</h4>

​		网络层协议通常被称为IP层,但是网络层不只是IP协议,还包括ICMP协议(Internet Control Message Protocol)、IPX协议(Internet Packet Exchange)等

<h5>1.IP协议</h5>

**作用:**

​		为网络层设备提供逻辑地址

​		负责数据包的寻址和转发

**版本:**

​		IPv4(IP Version 4)

​		IPv6(IP Version 6)

​		IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应

​		IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本

<h5>2.IPv4报文格式</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220129220717996.png" alt="image-20220129220717996" style="zoom:80%;" />

​		Version:4 bit,4:表示为IPv4;6:表示为IPv6

​		Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60

​		Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用

​		Total Length:16 bit,总长度,整个IP数据包的长度

​		Identification:16 bit,标识,分片重组时会用到该字段

​		Flags:3 bit,标志位

​		Fragment Offset:12 bit,片偏移,分片重组时会用到该字段

​		Time to Live:8 bit,生存时间

​		Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。

​		**常见值:**

​				− 1: ICMP, Internet Control Message; 

​				− 2: IGMP, Internet Group Management; 

​				− 6: TCP , Transmission Control Protocol; 

​				− 17: UDP, User Datagram Protocol。 

​		Header Checksum:16 bit,首部检验和

​		Source IP Address:32 bit,源IP地址

​		Destination IP Address:32 bit,目的IP地址

​		Options:可变,选项字段

​		Padding:可变,填充字段,全填0

<h5>3.数据包分片</h5>

​		将报文分割成多个片段的过程叫分片

​		网络中转发的IP报文的长度可以不同,但如果报文的长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输

​		<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220129221212232.png" alt="image-20220129221212232" style="zoom:80%;" />

​		Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段

​		Flags:3 bit,标志位

​		保留段位:0,保留

​		不分段位:1,表示“不能分片”;0,表示“能分片”

​		更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”

​		Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文

<h5>4.生存时间</h5>

​		TTL字段设置了数据包可以经过的路由器数目

​		一旦经过一个路由器,TTL值就会减1,当该字段为0时,数据包将被丢弃

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220129221851294.png" alt="image-20220129221851294" style="zoom:80%;" />

​		Time to Live:8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值

​		报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞

​		为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。(注意:网络设备也可被配置为不向源端发送ICMP错误消息。)

<h5>5.协议号</h5>

​		IP报文头中的协议号字段标识了将会继续处理该报文的协议

​		指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给那个进程处理

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220129222124044.png" alt="image-20220129222124044" style="zoom:80%;" />

​		目的端的网络层在接收并处理报文以后,需要决定下一步对报文如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议

​		该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议,对应值0x01);也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据包协议,对应值0x11)

<h4>二:IP地址介绍</h4>

<h5>1.什么是IP地址</h5>

​		IP地址在网络中用于标识一个节点

​		IP地址用于IP报文在网络中的寻址

​		在IP网络上,如果用户要将一台计算机连接到Internet上,就需要申请一个IP地址。IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地的。即我们通过IP地址实现全球范围内的网络通信

​		IP地址是网络设备接口的属性,不是网络设备本身的属性。当我们说给某台设备分配一个IP地址时,实质上是指给这台设备的某个接口分配一个IP地址。如果设备有多个接口,通常每个接口都至少需要一个IP地址

​		需要使用IP地址的接口,通常是路由器和计算机的接口

**IP地址表示**

​		IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分十进制数来表示

**点分十进制表示法**

​		IP地址表现形式能够帮助我们更好的使用和配置网络,但通信设备在对IP地址进行计算时使用的是二进制的操作方式,因此掌握十进制、二进制的转换运算非常有必要

**IPv4地址范围**

​		00000000.00000000.00000000.00000000~11111111.11111111.11111111.11111111,即0.0.0.0~255.255.255.255

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206115909107.png" alt="image-20220206115909107" style="zoom:80%;" />

<h5>2.IP地址构成</h5>

网络部分 (网络号):用来标识一个网络

​		 IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络

​		对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中

主机部分 (主机号):用来区分一个网络内的不同主机

**网络掩码 (Netmask),又称子网掩码 (Subnet Mask):**

​		网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示

​		网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0

​		通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6

​		网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数

<h5>3.IP地址寻址</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206145132672.png" alt="image-20220206145132672" style="zoom:80%;" />

​		网络号用于表示主机所在的网络,类似于“XX省XX市XX区XX小区”的作用

​		主机号用于表示网络号所定义的网络范围内某个特定的主机接口,类似于门牌号“XX栋XX号”的作用

**网络寻址:**

​		二层网络寻址:可直接通过IP地址,找到对应的主机接口

​		三层网络寻址:利用网关转发来自不同网段之间的数据包

**网关:**

​		报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段

​		网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址

<h5>4.IP地址分类(有类编址)</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206145401415.png" alt="image-20220206145401415" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206145431843.png" alt="image-20220206145431843" style="zoom:80%;" />

**为了方便IP地址的管理及组网,IP地址分成五类:**

​		A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法

​		A、B、C三类地址是单播IP地址 (除一些特殊地址外),只有这三类地址才能分配给主机接口使用

​		D类地址属于组播IP地址

​		E类地址专门用于特殊的实验目的

**A、B、C类地址比较:**

​		使用A类地址的网络称为A类网络;使用B类地址的网络称为B类网络;使用C类地址的网络称为C类网络

​		A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0,地址空间为:0.0.0.0~127.255.255.255

​		B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为:128.0.0.0~191.255.255.255

​		C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为:192.0.0.0~223.255.255.255

<h5>5.IP地址类型</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206145654781.png" alt="image-20220206145654781" style="zoom:80%;" />

**网络地址:**

​		网络号为X,主机号的每个比特都为0

​		不能分配给具体的主机接口使用

**广播地址:**

​		网络号为X,主机号的每个比特都为1

​		不能分配给具体的主机接口使用

**可用地址:**

​		又称主机地址,可用分配给具体的主机接口使用

**一个网段可用地址数量计算:**

​		一个网段的主机位为n位,则IP地址数为:2ⁿ,可用IP地址数为:2ⁿ-2 (减去网络地址和广播地址)

<h5>6.IP地址计算</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206150041098.png" alt="image-20220206150041098" style="zoom:80%;" />

​		网络地址:将IP地址的主机位全设为0,所得结果是该IP地址所在网络的网络地址

​		广播地址:将IP地址的主机位全设为1,所得结果是该IP地址所在网络的广播地址

​		IP地址数:2ⁿ,n为主机位位数

​		可用IP地址数:2ⁿ-2,n为主机位位数

<h5>7.私有IP地址</h5>

​		为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络

​		公网IP地址:连接到Internet的网络设备必须具有由ICANN分配的公网IP地址

​		私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的

​		私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换 (NAT)技术实现

<h5>8.特殊IP地址</h5>

0.0.0.0

​		如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址

​		例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址

127.0.0.0/8

​		这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统

​		一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的

169.254.0.0/16

​		如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信

255.255.255.255

​		这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用

​		路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发

<h5>9.IPv4&IPv6</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206150628589.png" alt="image-20220206150628589" style="zoom:80%;" />

<h4>三:子网划分</h4>

<h5>1.为什么要划分子网</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206151102452.png" alt="image-20220206151102452" style="zoom:80%;" />

​		“有类编址”的地址划分过于死板,划分的颗粒度太大,会有大量的主机号不能被充分利用,从而造成了大量的IP地址资源浪费

​		因此可以利用子网划分来减少地址浪费,即VLSM (Variable Length Subnet Mask),可变子网掩码。将一个大的有类网络,划分成若干个小的子网,使得IP地址的使用更为科学

<h5>2.如何进行子网划分</h5>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206151334367.png" alt="image-20220206151334367" style="zoom:80%;" />

​		假设有一个C类网段地址:192.168.10.0;默认情况下,网络掩码为24位,包括24位网络位,8位主机位

​		通过计算可知,这样的网络中,有256个IP地址

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206151419310.png" alt="image-20220206151419310" style="zoom:80%;" />

​		现在,将原有的24位网络位向主机位去“借”1位,这样网络位就扩充到了25位,相对的主机位就减少到了7位,而借过来的这1位就是子网位,此时网络掩码就变成了25位,即255.255.255.128,或/25

​		子网位:可取值0或取值1,则得到了两个新的子网

​		通过计算可知,现在网络中,有128个IP地址

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206151828694.png" alt="image-20220206151828694" style="zoom:80%;" />

计算网络地址,主机位全为0: 

​		如果子网位取值0,则网络地址为192.168.10.0

​		如果子网位取值1,则网络地址为192.168.10.128

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206151910876.png" alt="image-20220206151910876" style="zoom:80%;" />

计算广播地址,主机位全为1:

​		如果子网位取值0,则广播地址为192.168.10.127

​		如果子网位取值1,则广播地址为192.168.10.255

<h4>四:ICMP协议</h4>

​		Internet控制消息协议ICMP是IP协议的辅助协议

​		ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206152307225.png" alt="image-20220206152307225" style="zoom:50%;" />

​		为了更有效地转发IP数据报文和提高数据报文交互成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告

ICMP消息:

​		ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议		

​		ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数

​		校验和字段用于检查消息是否完整

​		消息中包含32 bit的可变参数,这个字段一般不使用,通常设置为0

​				在ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关

​				在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复消息进行一一对应

<h5>1.ICMP重定向</h5>

​		<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206152519257.png" alt="image-20220206152519257" style="zoom:80%;" />

​		ICMP重定向报文是ICMP控制报文的一种,在特定形况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由

**ICMP重定向过程:**

​		主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文

​		网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文

​		主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A

<h5>2.ICMP差错检测</h5>

​		ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206152929012.png" alt="image-20220206152929012" style="zoom:80%;" />

​		ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试

<h5>3.ICMP差错报告</h5>

​		ICMP定义了各种错误消息,用于诊断网络连接性问题,根据这些错误信息,源设备可以判断出数据传输失败的原因,如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206153211961.png" alt="image-20220206153211961" style="zoom:80%;" />

<h4>五:IP地址配置</h4>

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206153257910.png" alt="image-20220206153257910" style="zoom:80%;" />

<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206153313024.png" alt="image-20220206153313024" style="zoom:80%;" />

​		物理接口:物理接口是指网络设备上实际存在的接口,分为负责承担业务传输的业务接口和负责管理设备的管理接口,例如GE业务接口和MEth管理接口

​		逻辑接口:逻辑接口是指能够实现数据交换功能但物理上不存在、需要通过配置建立的接口,需要承担业务传输,例如VLANIF接口、Loopback接口