You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
datacom/Datacom-MD/第一章:走进网络世界.md

1270 lines
68 KiB

<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%;" />
无线接入点APAccess Point
一般支持FAT AP、FIT AP和云管理工作模式根据网络规划的需求可以灵活地在各种模式下切换
FAT AP适用于家庭独立工作需单独配置功能较为单一成本低 【胖AP】
FIT AP适用于大中型企业需要配合AC使用由AC统一管理和配置功能丰富 【瘦AP】
云管理:适用于中小型企业,需要配合云管理平台使用,由云管理平台统一管理和配置,功能丰富,即插即用
无线接入控制器ACAccess 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>
**应用层:**
HTTPHypertext Transfer Protocol超文本传输协议用来访问在网页服务器上的各种页面
FTPFile Transfer Protocol文件传输协议为文件传输提供了途径它允许数据从一台主机传送到另一台主机上
DNSDomain Name Service域名称解析服务用于实现从主机域名到IP地址之间的转换
**传输层:**
TCP Transmission Control Protocol传输控制协议 为应用程序提供可靠的面向连接的通信服务。目前许多流行的应用程序都使用TCP
UDPUser Datagram Protocol用户数据报协议提供了无连接通信且不对传送数据包进行可靠性的保证
**网络层:**
IPInternet Protocol互联网协议将传输层的数据封装成数据包并完成源站点到目的站点的转发提供无连接的、不可靠的服务
IGMPInternet Group Management Protocol因特网组管理协议负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系
ICMPInternet Control Message Protocol网际报文控制协议基于IP协议在网络中发送控制消息提供可能发生在通信环境中的各种问题反馈。通过这些信息使管理者可以对所发生的问题作出诊断然后采取适当的措施解决
**数据链路层:**
PPPPoint-to-Point Protocol点对点协议一种点对点模式的数据链路层协议多用于广域网
Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术
PPPoEPoint-to-Point Protocol over Ethernet以太网承载PPP协议PPPoE提供通过简单桥接访问设备接入设备把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网
<h5>4.应用层</h5>
应用层为应用软件提供接口,使应用程序能够使用网络,应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等
应用层的PDU被称为数据Data
TCP/IP每一层都让数据得以通过网络进行传输这些层之间使用PDUPacket 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%;" />
ARPAddress 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-非屏蔽双绞线
光纤传输,按照功能部件可分为:
光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道
光模块:将电信号与光信号互转的器件,产生光信号
串口电缆在WANWide 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
**命令行界面**
登录成功后即进入命令行界面CLICommand 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。设备名称一旦设置立刻生效
为了保证与其他设备协调工作,需要准确设置系统时钟。系统时钟的=UTCCoordinated 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>
**作用:**
为网络层设备提供逻辑地址
负责数据包的寻址和转发
**版本:**
IPv4IP Version 4
IPv6IP Version 6
IPv4Internet Protocol Version 4协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层该层与OSI参考模型的网络层相对应
IPv6Internet Protocol Version 6是网络层协议的第二代标准协议也被称为IPngIP Next Generation。它是Internet工程任务组IETFInternet Engineering Task Force设计的一套规范是IPv4Internet 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%;" />
Version4 bit4表示为IPv46表示为IPv6
Header Length4 bit首部长度如果不带Option字段则为20最长为60
Type of Service8 bit服务类型。只有在有QoS差分服务要求时这个字段才起作用
Total Length16 bit总长度整个IP数据包的长度
Identification16 bit标识分片重组时会用到该字段
Flags3 bit标志位
Fragment Offset12 bit片偏移分片重组时会用到该字段
Time to Live8 bit生存时间
Protocol8 bit协议下一层协议。指出此数据包携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个进程处理。
**常见值:**
1: ICMP, Internet Control Message
2: IGMP, Internet Group Management
6: TCP , Transmission Control Protocol
17: UDP, User Datagram Protocol。
Header Checksum16 bit首部检验和
Source IP Address32 bit源IP地址
Destination IP Address32 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%;" />
Identification16 bit发送主机赋予的标识分片重组时会用到该字段
Flags3 bit标志位
保留段位0保留
不分段位1表示“不能分片”0表示“能分片”
更多段位1表示“后面还有分片”0表示“最后一个数据片”
Fragment Offset12 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 Live8 bit生存时间。可经过的最多路由数即数据包在网络中可通过的路由器数的最大值
报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞
为避免环路导致的网络拥塞IP报文头中包含一个生存时间TTLTime 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报文头中的协议字段标识了将会继续处理报文的协议
该字段可以标识网络层协议如ICMPInternet Control Message Protocol因特网控制报文协议对应值0x01也可以标识上层协议如TCPTransmission Control Protocol传输控制协议对应值0x06、UDPUser 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ⁿ-2n为主机位位数
<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接口