计算机网络和配置管理

网络协议和管理配置

内容概述

  • 网络概念 OSI模型 网络设备 TCP/IP IP地址规划 配置网络 多网卡绑定 网桥 网络测试工具 Ubuntu网络配置

《一》网络基础

1 网络基础

要掌握这些相关知识需要的是理解记忆,就是以网络体系结构框架展开对协议、网络设备、典型网络的融入。

1.1 网络概念

网络包含计算机网络,网络除开计算机网络也包括交通网络、铁路网络、人体内神经系统网络等。
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享和信息传递的系统,也就是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则(协议),进行通信的集合。也就是说计算机网络由硬件、软件、协议组成。
在这里插入图片描述
计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,连接方式也就是常说网络拓扑,只是搭建起来计算机网络的架子,还不能通信,需要在计算机或者网络设备上安装软件,软件实现了资源共享和信息传递。

网络功能和优点

  • 数据通信
  • 资源共享(硬件、软件、数据)
  • 分布式处理(多台计算机各自承担同一任务的一部分,例如Hadoop平台)
  • 提高可靠性(宕机了去连接到替代机继续工作任务)
  • 负载均衡(LVS负载均衡)
  • 网络存储(阿里网盘)

作用范围分类

  • 广域网WAN(WAN, Wide Area Network)–>交换技术
  • 城域网MAN (MAN, Metropolitan Area Network)
  • 局域网LAN (LAN ,Local Area Network) -->广播技术
  • 个人区域网PAN ( PAN, Personal Area Network) -->IrDA技术

1.2 常见的网络物理组件&应用程序

1.2.1 常见的网络物理组件

常见的网络物理组件有路由器、交换机
在这里插入图片描述

1.2.2 常见的网络应用程序

常见应用程序
应用类型 :典型软件
Web :浏览器 Chrome、IE、Firefox等
即时消息:IM QQ、微信、钉钉等
短视频 :抖音,快手等
电子邮件 :Outlook、foxmail 等
协作: 视频会议、VNC、Netmeeting、WebEx等
web网络服务: apache、nginx、IIS
文件网络服务: ftp 、nfs、samba
数据库服务: MySQL、MariaDB、MongoDB
中间件服务: Tomcat、JBoss
安全服务: Netfilter
… …
应用程序对网络的要求
不同类型的应用程序对网络的要求有区别,例如:
批处理程序 -->迅雷下载 -->无需直接人工交互 -->带宽很重要,但并非关键性因素
交互式程序–> 电商网站–> 人机交互–> 等待页面结果,响应时间影响用户体验
实时程序 -->视频聊天,直播–> 人与人的交互–> 端到端的延时至关重要

1.3 网络性能指标&拓扑

1.3.1 网络性能指标

速率 带宽 吞吐量 时延 时延带宽积 往返时间RTT 利用率
速率
速率即数据率或称数据传输率或比特率。
比特:计算机发出的信号都是以0或1的数字形式发送的,这里的0或1就是比特,单位bit,简写b,叫做位,是计算机中数据量的一个衡量单位;
那么连接在计算机网络上的主机在数字信道上传送数据位数的速率,速率单位有b/s、kb/s、Mb/s、Gb/s、Tb/s
在这里插入图片描述
速率换算是10的3次方,存储容量换算是1024(2的10次方)
在这里插入图片描述

带宽
"带宽"原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
计算机网络中,带宽是指单位时间内从网络中的某一点到另一点所能通过的“最高速率”。单位是“比特每秒”,b/s、kb/s、Mb/s、Gb/s,是用来表示网络的通信线路传送数据的能力。

带宽指的是主机(或网络设备如交换机)在链路入口所能发送比特的最高速率,而不是信道中的传输速率,也不是接收端接口的最高速率。在链路中是以电磁波方式传输,电磁波是信号的载体
在这里插入图片描述
带宽也表示网络设备所支持的最高速度(假如一个交换机的接口是100M,那么这个交换机的极限传输速率是100Mb/s,在通信过程中1s内这个交换机最多向信道[链路上面]传输100Mb)
在这里插入图片描述

带宽与宽带的区别:宽带是一种名词,指的是各个运营商的一项业务;带宽指的是网速,用来描述网络或线路理论上传输数据的最高速率。
在这里插入图片描述
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s、kb/s、Mb/s、Gb/s。
带宽是理想状态的最高速率,吞吐量是接收所有信道实际速率的和
在这里插入图片描述
时延
指数据(报文、分组、比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位s。
在这里插入图片描述

在这里插入图片描述
时延带宽积
时延带宽积又称为以比特为单位的链路长度,描述的是某段链路现在有多少比特的容量。
在这里插入图片描述
往返时延RTT
从发送方发送数据开始,到发送方收到接收方的确认,总共经历的时延(包括往返传播时延=传播时延*2和末端处理时间)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用率
利用率分为信道利用率和网络利用率
信道利用率:有数据通过时间与总数据(有数据+无数据)通过时间的比值
网络利用率:信道利用率加权平均值

1.3.2 网络拓扑

拓扑结构一般是指由点和线排列成的几何图形
计算机网络的拓扑结构是指一个网络的通信链路和计算机结点相互连接构成的几何图形
拓扑分类:物理拓扑、逻辑拓扑
物理拓扑
物理拓扑描述了物理设备的布线方式。
网络的物理拓扑指的是设备和电缆的物理布局。必须选择与需要安装的电缆类型匹配的恰当的物理拓
扑。
逻辑拓扑
逻辑拓扑描述了信息在网络中流动的方式。
网络的逻辑拓扑表示信号从网络一个点传输到另一个点的逻辑路径。也就是说,数据访问网络介质,并
通过网络介质传输数据包的方式。
拓扑结构类型:总线拓扑、环形拓扑、星形拓扑和扩展星型拓扑、网状和部分网状拓扑
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
各拓扑结构的特点
总线拓扑
总线拓扑通常也称为线性总线,总线拓扑中的所有设备均由一条电缆进行连接。
在总线拓扑中,一条线缆从一台设备延伸到另一设备,类似于城市中的公交线路。主线缆段的末端必须
采用终结端,当信号到达线路或线缆末端时,终结端将吸收信号。如果不具备终结端,表示数据的电子
信号将在线缆末端弹回,导致网络出错。
环形拓扑
在这种拓扑结构中,网络上的所有设备都以环的形式连接。环形拓扑不需要终止的开始端或结束端。数
据的传输方式不同于总线拓扑。其中一种实施形式为:“令牌”沿环移动,并在每台设备处停止。如果一
台设备希望传输数据,则会在令牌中添加数据和目标地址。随后,令牌继续沿环移动,直至最终找到目
标设备,目标设备将从令牌中获取数据。这类方法的优势在于,数据包不会发生冲突。环形拓扑分为两
种:单环和双环
单环拓扑
Magedu-M51
在单环拓扑中,网络上的所有设备共用一条线缆,数据单向传输。各设备等候轮到自己时再通过网络发
送数据。但是,单环拓扑可能存在单一故障点的问题,一个故障就可能导致整个环形拓扑停止工作。
双环拓扑
在双环拓扑中,两个环形允许双向传输数据。这种设置能提供冗余(容错能力)。也就是说,如果一个
环发生故障,数据仍可在另一个环上传输。
星形和扩展星形拓扑
星形拓扑是以太网LAN中最常见的物理拓扑。在星形网络扩展为包含连接主要网络设备的附加网络设备
时,即称其为扩展星形拓扑。
星形拓扑
星形拓扑将表现为车轮轮辐的形式。它包含一个中央连接点,该点是集线器、交换机或路由器等设备,
所有电缆段均汇集于这一点。网络上的所有设备均使用自己的电缆连接到中央设备。
扩展星形拓扑
扩展星形拓扑的一种常见部署方式就是分层设计,例如WAN、企业LAN或园区LAN。
纯粹的扩展星形拓扑的问题在于,如果中央节点发生故障,大部分网络就会被隔离。因此,大多数扩展
星形拓扑都采用一组独立连接设备之外的冗余连接,以避免在设备发生故障时造成隔离。
网状和部分网状拓扑
网状拓扑提供了星形拓扑中设备间的冗余。网络可以是完全网状的,也可以是部分网状的,具体取决于
所需冗余级别。这种类型的拓扑有助于提高网络的可用性和可靠性。但是,这会提高成本,也会制约可
扩展性。
全网状拓扑
全网状拓扑将所有设备(节点)彼此相连,以实现冗余和容错能力。其实施成本高、难度大。但这种拓
扑的容错能力最强,因为任何一条链路的故障都不会影响网络的连通性。
连通线路计算公式:n(n-1)/2。
部份网状拓扑
在这种拓扑中,只有重要节点的设备与其它设备具有直接一一相连的线路,对于其它设备的数据传输,
需要从其它节点中继,这种设计有一定的冗余和容错能力,也降低了全网状拓扑结构的成本和实施难
度。

1.4 网络标准和分层

1.4.1 网络标准

要实现不同厂商的硬件、软件之间的相互连通需要遵守统一的标准,这样才具有兼容性。RFC(Request For Comments)–因特网标准的形式,只要是因特网标准一定是RFC标准的形式。标准分为法定标准和事实标准,例如OSI法定标准,TCP/IP事实标准。国家标准化组织ISO(例如制定了OSI参考模型、HDLC协议),国际电信联盟ITU(制定通信规则),国际电气电子工程师协会IEEE(学术机构、IEEE802系列标准、5G),Internet工程任务组IETF(负责因特网相关标准的制定,如RFC)

1.4.2 网络分层

为什么要分层?
发送文件前要完成的工作:
(1)发起通信的计算机必须将数据通信链路激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要确认目的主机文件管理程序是否做好准备工作。
(5)确保差错和意外可以解决。
。。。。
在这里插入图片描述
可以看出通信是非常繁琐的一个大问题,所以需要将大问题拆分成多个小问题解决。
层次划分的必要性
计算机网络是由许多硬件、软件和协议交织起来的复杂系统。由于网络设计十分复杂,如何设计、组织
和实现计算机网络是一个挑战,必须要采用科学有效的方法。
层次划分的方法
网络的层应当具有相对独立的功能
梳理功能之间的关系,使一个功能可以为实现另一个功能提供必要的服务,从而形成系统的层次结

为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
每一层只为相邻的上一层提供服务
在这里插入图片描述
实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
协议:为进行网络中的对等实体数据交互而建立的规则、标准或约定,对等实体协议一样,协议水平性,例如第5层协议就不能在第3层使用;协议包含三部分语法、语义、同步(语法规定传输数据的格式、语义规定要完成的功能、同步规定各操作的顺序)。
接口:即访问服务点SAP,上层使用下层服务的接口。
服务:下层为相邻上层提供的功能调用,并且具有不可逆的特点(服务是单向的,只有下层为相邻的上层服务,没有上层为下层服务一说,上层是使用下层服务的)。
在这里插入图片描述
SDU:服务数据单元,为完成用户所要求的功能而应传送的数据
PCI:协议控制信息,控制协议操作信息
PDU:协议数据单元:对等层次之间传送的数据单位
上一层的PCI+SDU=PDU构成下一层的SDU。
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
发送方和接收方各层之间的PDU
发送方: 数据单元PDU: 接收方
应用层: 报文 message :应用层
表示层 :报文 message :表示层
会话层: 报文 message: 会话层
传输层: 数据段 segment : 传输层
网络层 :数据包 packet: 网络层
数据链路层: 数据帧 frame: 数据链路层
物理层 :数据位 bit: 物理层
综上:
1)网络体系结构是从功能上描述计算机网络结构。
2)计算机网络体系结构简称分层结构。
3)每层遵循某些网络协议以完成本层功能。
4)计算机网络体系结构是计算机网络的各层及其协议的集合。
5)第n层在向n+1层提供服务时候,这个包含第n层本身还包含有第n层各个下层服务提供的功能。
6)仅仅相邻间有接口,并且提供服务的具体实现细节上对上一层完成屏蔽。
7)体系结构是抽象的,具体实现靠的是硬件和软件。

层次划分的优点
各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低
灵活性好,各层内部的操作不会影响其他层
结构上可分割开,各层之间都可以采用最合适的技术来实现
易于实现和维护,因为整个系统已被分解成相对独立的子系统
能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明

1.4.3 计算机网络分层结构

计算机网络分层结构法定标准是7层OSI参考模型,事实标准是4层TCP/IP参考模型,学习标准是5层TCP/IP参考模型。

1.4.3.1 OSI 模型的七层结构

在制定计算机网络标准方面,起着重大作用的两大国际组织是:国际电信联盟电信标准化部门,与国际
标准化组织(ISO International Organization for Standardization),虽然它们工作领域不同,但随着
科学技术的发展,通信与信息处理之间的界限开始变得比较模糊,这也成了国际电信联盟电信标准化部
门和ISO共同关心的领域。1984年,ISO发布了著名的OSI(Open System Interconnection)标准,它定义
了网络互联的7层框架,物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开
放系统互连参考模型。但是!理论成功,市场失败。
在这里插入图片描述
第7层 应用层
应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:
HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL协议等
应用层是所有能和用户交互产生网络流量的程序,用户与网络的界面,典型应用层服务文件传输、电子邮件、万维网。
第6层 表示层
表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式,主要协议JPEG、ASCII
表示层用于处理在两个通信系统中交换信息的表示方式(语法和语义)。
功能一:数据格式变换;
在这里插入图片描述
功能二:数据加密和解密
在这里插入图片描述
功能三:数据压缩和恢复
在这里插入图片描述
第5层 会话层
会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。主要协议ADSP、ASP
功能一:建立、管理、终止会话
在这里插入图片描述
功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
第4层 传输层
传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议
等发送信息。例如:传输控制协议(TCP)等。
传输层负责主机中两个进程的通信,而每个进程都有一个进程号(端口号),即端到端的通信。传输单位是报文段或用户数据报。
功能一:可靠传输(TCP)、不可靠传输(UDP)
可靠传输利用的是确认机制
功能二:差错控制
功能三:流量控制
发送端与接收端的接收数据速率和发送数据速率的匹配
功能四:复用分用
复用:多个应用层进程同时使用下面传输层的服务
分用:传输层将收到的信息分别交付给上面应用层对应的进程
在这里插入图片描述

第3层 网络层
网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。
网络表头包含了网络数据。例如:互联网协议(IP)、IPX、ICMP、IGMP、ARP、RARP、OSPF等。
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
功能一:路由选择(最佳路径)
功能二:流量控制
功能三:差错控制
功能四:拥塞控制
第2层 数据链接层
数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形
成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表
尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务
(GPRS)等。分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控(Media
access control,MAC)子层。
主要任务是把网络层传下来的数据报组装成帧。数据链路层的传输单位是帧。主要协议SDLC、HDLC、PPP、STP
功能一:成帧(定义帧的开始和结束)
功能二:差错控制(帧错+位错)
功能三:流量控制
功能四:访问(接入)控制(控制对信道的访问)
在这里插入图片描述
第1层 物理层
物理层(Physical Layer)在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网
络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、主机接口卡等。
主要任务是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。主要协议Rj45、802.3、RS-232c、RS-449
在这里插入图片描述
功能一:定义接口特性(Rj45)
功能二:定义传输模式(单工、半双工、双工)
从通信双方交互的方式看有三种通讯方式
单工通信:只有一个方向的通信,而没有反方向的通信,只有一条信道
半双工通信:通信的双方都可以发送和接收信息,但是同一时间只能一方发送,例如对讲机,需要两条信道
全双工通信:通信的双方都可以发送和接收信息,同一时间双方都可以发送和接收信息,例如qq聊天,需要两条信道
在这里插入图片描述

查看双工和速度

[root@Rocky8 ~]# mii-tool ens160  #如果此命令不支持,则可以使用 ethtool 命令
SIOCGMIIPHY on 'ens160' failed: Operation not supported

[root@Rocky8 ~]# ethtool ens160 
Settings for ens160:
	Supported ports: [ TP ]
	Supported link modes:   1000baseT/Full     #支持的工作模式
	                        10000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  Not reported
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 10000Mb/s                         #速度
	Duplex: Full                             #全双工
	Auto-negotiation: off
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: Unknown
	Supports Wake-on: uag
	Wake-on: d
	Link detected: yes                       #当前网络工作状态正常
[root@Rocky8 ~]# 

[root@Rocky8 ~]# ethtool -i ens160
driver: vmxnet3              #网卡驱动
version: 1.7.0.0-k-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
[root@Rocky8 ~]# 

功能三:定义传输速率
功能四:比特同步
功能五:比特编码

1.4.3.2 OSI参考模型解释通信过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三种通讯模式
三种通讯方式的区别在于目标,而不在于源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Linux运行ifconfig, 如果网卡信息中包含UP BROADCAST RUNNING MULTICAST,则支持广播和组播。

[root@Rocky8 ~]# ifconfig 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500   #支持广播和组播
        inet 10.0.0.202  netmask 255.0.0.0  broadcast 10.255.255.255
        inet6 fe80::20c:29ff:fe2d:4681  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:2d:46:81  txqueuelen 1000  (Ethernet)
        RX packets 367  bytes 88594 (86.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 376  bytes 28685 (28.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 12  bytes 1020 (1020.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12  bytes 1020 (1020.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@Rocky8 ~]# 

冲突域和广播域
冲突域
两个网络设备同时发送数据,如果发生了冲突,则两个设备处于同一个冲突域,反之,则各自处于不同的冲突

在这里插入图片描述
广播域
一个网络设备发送广播,另一个设备收到了,则两个设备处于同一个广播域,反之,则各自处于不同的广播

广播域的判断很简单,只需要看有没有路由器,如果一个路由器左边一个网络右边一个网络,那么就是两个广播域,如果连路由器都没有就整体是一个广播域。
在这里插入图片描述
两种数据数据传输方式
在这里插入图片描述

1.4.3.3 TCP/IP参考模型&五层参考模型

在这里插入图片描述
OSI参考模型与TCP/IP不同点
面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。第二是只有在连接成功建立之后才开始数据传输,第三,当数据传输完毕,必须释放连接。
无连接直接进行数据传输。
在这里插入图片描述
五层参考模型
在这里插入图片描述
五层参考模型的数据封装与解封
在这里插入图片描述

2 局域网 Local Area Network

2.1 局域网概述&拓扑结构

局域网概述
局域网(Local Area Network):简称LAN,是指某一区域内由多台计算机互联成的计算机组,使用广播信道
特点
特点1:网络通常为一个单位所拥有,地理范围和站点数目均有限,覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
特点2:使用专门铺设的传输介质(双绞线、同轴电缆、光纤【如果是无线局域就是空气–电磁波】)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
特点3:通信延迟时间短,误码率底,可靠性较高。
特点4:各站为平等关系,共享传输信道。
特点5:多采用分布式控制和广播方式通信,能进行广播和组播
决定局域网的主要因素:网络拓扑、传输介质和介质访问控制。
优点
能方便地共享昂贵的外部设备、主机以及软件、数据。从一个站点可以访问全网
便于系统的扩展和逐渐演变,各设备的位置可灵活的调整和改变
提高系统的可靠性、可用性和易用性
分类
以太网、令牌环网、FDDI网、ATM网、无线局域网(WLAN)
以太网:以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(100Mbps)、和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型。物理拓扑是星型或扩展星型。使用CSMA/CD。
令牌环网:物理上采用星型拓扑结构,逻辑上是环形拓扑结构。目前基本没使用。
FDDI网(Fider Distributed Data Interface)物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。
ATM网(Asynchrinous Transfer Mode)较新型的单元交互技术,使用53字节固定长度的单元进行交换
无线局域网(Wireless Local Area Network;WLAN)采用IEEE 802.11标准
标准
IEEE(国际电子电气工程师协会)于1980年2月成立了局域网标准委员会(简称IEEE802委员会),专门
从事局域网标准化工作,并制定了IEEE802标准。802标准所描述的局域网参考模型只对应OSI参考模型
的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层;
LLC子层负责向其上层提供服务;
MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差
错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
在这里插入图片描述

IEEE 802系列标准是IEEE 802LAN/MAN 标准委员会制定的局域网、城域网技术标准(1980年2月成立,所以叫802)。其中最广泛使用的有以太网、令牌环网、无线局域网等,这一系列标准中的每一个子表准都委员会中的一个专门工作组负责。
IEEE 802现有标准
在这里插入图片描述
无线网络标准
中国国家无线网络标准:WAPI
Wi-Fi:无线保真(Wireless Fidelity),是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于
IEEE 802.11标准的无线局域网技术,Wi-Fi联盟成立于1999年,当时的名称叫做Wireless Ethernet
Compatibility Alliance(WECA)。在2002年10月,正式改名为Wi-Fi Alliance。
在这里插入图片描述

Wi-Fi 6是当前最新的WiFi技术标准,专业称呼为:802.11ax,WiFi6简单来讲就是第六代WiFi标准的意
思,就和第五代移动通信标准——5G、丐帮第六代长老的意思差不多。在WiFi6之前,WiFi的名字并不
是什么WiFi5、WiFi4这种简单的叫法,而是用一串非常拗口的技术型号来区分,比如WiFi5之前就叫
802.11 ac,WiFi4就叫802.11 a/b/g/n,对于懂行的人来说辨别起来没问题,但对于普通用户来说就是
两眼一抓瞎看谁都一样(这就好比俄罗斯大兄弟的人名:尼古拉·阿列克谢耶维奇·奥斯特洛夫斯基,一样
难记)
2018年WiFi联盟自己也感觉这样叫下去不行,我们得学学别人移动通信协会3G\4G\5G那样整个简单容
易记的代号,让消费者们容易区分前代与新代,刺激厂商升级更新换代。所以WiFi6的名称就诞生了!并
且一改还顺便把WiFi4、WiFi5一起名字简化了,现在大家在最新的手机系统中的WiFi角标就能看到
WiFi4、WiFi5、WiFi6的标识来区分你连接的是第几代WiFi技术,整的和手机信号是一样一样的!
在这里插入图片描述
局域网拓扑结构
在这里插入图片描述
局域网常用总线型拓扑,以太网就是一种逻辑总线型拓扑结构。

2.2 局域网组网设备

常见组网设备包括路由器(Router),交换机(Switch),集线器(Hub),中继器(Repeater),线缆等

2.2.1 网络线缆和接口

常见的网络线缆包括 双绞线,同轴线,光纤线等;

2.2.1.1 双绞线

双绞线就是我们常说的网线,又分为屏蔽双绞线(Shielded Twisted Pair,STP)与非屏蔽双绞线(Unshielded Twisted Pair,UTP),它由两根采用一定规则并排绞合、相互绝缘铜导线组成,绞合可以减少对相邻导线的电磁干扰。
在这里插入图片描述

在这里插入图片描述
网线标准
上世纪80年代初,诞生了最早的网线标准(CAT),这个标准一直沿用至今,主要根据带宽和传输速率来
区分,从一类网线CAT1——八类网线CAT8

  1. 一类网线:主要用于传输语音,不同于数据传输主要用于八十年代初之前的电话线缆,已淘汰。
  2. 二类网线:传输带宽为1MHZ,用于语音传输,最高数据传输速率4Mbps,常见于使用4Mbps规范
    令牌传递协议的旧的令牌(Token Ring),已被淘汰。
  3. 三类网线:该电缆的传输带宽16MHz,用于语音传输及最高传输速率为10Mbps的数据传输,主要
    用于10BASE–T,被ANSI/TIA-568.C.2作为最低使用等级 。
  4. 四类网线:该类电缆的传输频率为20MHz,用于语音传输和最高传输速率16Mbps(指的是
    16Mbit/s令牌环)的数据传输,主要用于基于令牌的局域网和 10BASE-T/100BASE-T。最大网段长
    为100m,采用RJ形式的连接器,未被广泛采用。
  5. 五类线:可追溯到1995年,传输带宽为100MHz,可支持10Mbps和100Mbps传输速率(虽然现实
    中与理论值有一定差距),主要用于双绞线以太网(10BASE-T/100BASE-T),目前仍可使用,不
    过在新网络建设中已经很难看到。
    Magedu-M51
  6. 超五类线:标准于2001年被提出,传输带宽为100MHz,近距离情况下传输速率已可达
    1000Mbps。它具有衰减小,串扰少,比五类线增加了近端串音功率和测试要求,所以它也成为了
    当前应用最为广泛的网线。
  7. 六类线:继CAT5e之后,CAT6标准被提出,传输带宽为250MHz,最适用于传输速率为1Gbps的应
    用。改善了在串扰以及回波损耗方面的性能,这一点对于新一代全双工的高速网络应用而言是极重
    要的,还有一个特点是在4个双绞线中间加了十字形的骨架。
  8. 超六类线:超六类线是六类线的改进版,发布于2008年,同样是ANSI/TIA-568C.2和ISO/IEC
    11801超六类/EA级标准中规定的一种双绞线电缆,主要应用于万兆位网络中。传输频率500
    MHz,最大传输速度也可达到10Gbps ,在外部串扰等方面有较大改善。
  9. 七类线:该线是ISO/IEC 11801 7类/F级标准中于2002年认可的一种双绞线,它主要为了适应万兆
    以太网技术的应用和发展。但它不再是一种非屏蔽双绞线了,而是一种屏蔽双绞线,所以它的传输
    频率至少可达600 MHz,传输速率可达10 Gbps。
  10. 超七类线:相对于CAT7最大区别在于,支持的频率带宽提升到了1000MHz,在国内而言,七类网线
    已经有很少地方使用了,超七类就更加没有广泛的进入人们的生活,目前使用范围最广的是超五
    类、六类等网线。
  11. 八类线CAT8:相关标准由美国通信工业协会 (TIA)TR-43委员会在2016年正式发布,支持
    2000MHz带宽,支持40Gbps以太网络,主要应用于数据中心。
    网线线序和规范
    UTP线拆解
    剥开双绞线,会看到其中有八条小线,两条缠绕为一股(这也是双绞线名称的由来)
    分别是 绿-绿白,蓝-蓝白,橙-橙白,棕-棕白。
    在这里插入图片描述

EIA/TIA 568A标准
从左起线的排序:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕 [3] 。
EIA/TIA 568B标准
从左起线的排序:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕 [3] 。
在这里插入图片描述

2.2.1.2同轴线

在这里插入图片描述
在这里插入图片描述
分类
基带同轴电缆:局域网中广泛使用
宽带同轴电缆:有限电视广泛使用

2.2.1.3光纤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分类
多模光纤和单模光纤
在这里插入图片描述
在这里插入图片描述
特点
1)中继距离远,传输损耗小,对远距离传输比较经济
Short wavelength (1000BASE-SX) 最远几百米
Long wavelength/long haul (1000BASE-LX/LH) 最远几公里
Extended distance (1000BASE-ZX) 最远上百公里
2)抗雷电和电磁干扰性能好
3)无串音干扰,保密性好,也不易被窃取数据
4)体积小,重量轻

2.2.1.4 非导向性传输介质

无线电波、微波、红外线、激光
无线电波:信号向所有方向传播
微波、红外线、激光:信号向固定方向传播

2.2.2 网络适配器

网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第1层和2层之间。它使得用户可以通过电缆或无线相互连接。
每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。
没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制器(网卡)销售商分配唯一的MAC地址。
网卡也叫网络适配器、网络接口卡。
在这里插入图片描述
在这里插入图片描述
网卡上面装有处理器和存储器(包括RAM和ROM),ROM上有计算机硬件地址MAC地址。
在局域网中硬件地址被称为物理地址或MAC地址,实际上就是标识符,这个表示独一无二,唯一性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
网卡作用
进行串行/并行转换数据缓存
在计算机操作系统中安装设备驱动程序
实现以太网协议
网卡类型
按总线接口类型进行分类:分为ISA、PCI、PCI-X 、PCMCIA、PCI-E 和USB等几种类型
按传输介质接口分类:细同轴电缆的BNC接口网卡、粗同轴电缆AUI接口网卡、以太网双绞线RJ-45
接口网卡、光纤F/O接口网卡、无线网卡等
按传输速率(带宽)分类:10Mbps网卡、100Mbps以太网卡、10Mbps/100Mbps自适应网卡、
1000Mbps千兆以太网卡、40Gbps自适应网卡等

2.2.3 中继器

中继器 repeater
实际上是一种信号再生放大器,可将变弱的信号和有失真的信号进行整形与放大,输出信号比原信号的
强度将大大提高,中继器不解释、不改变收到的数字信息,而只是将其整形放大后再转发出去
中继器的两端:两端的网络部分是网段,而不是子网,适用于完全相同的两类(A、B、C)网络的互连,并且两个网段速率要相同还得是同一个协议,也不会存储转发。两端可以是不同的传输媒介(例如一段是双绞线另一端是同轴电缆)。
在这里插入图片描述
中继器只能在规定范围运行,否则会出现网络故障(5-4-3规则)
在这里插入图片描述
优点
易于操作
很短的等待时间
价格便宜
突破线缆的距离限制来扩展局域网段的距离
可用来连接不同的物理介质
缺点
采用中继器连接网络分支的数目要受具体的网络体系结构限制
中继器不能连接不同类型的网络
中继器没有隔离和过滤功能,无路由选择、交换、纠错/检错功能,一个分支出现故障可能会影响
到其他的每一个网络分支
使用中继器扩充网络距离是最简单最廉价的方法,但当负载增加时,网络性能急剧下降,所以只有
当网络负载很轻和网络时延要求不高的条件下才能使用

2.2.4 集线器 hub(多口中继器)

再生,放大信号
在这里插入图片描述
集线器(Hub)工作在物理层,是中继器的一种形式,是一种集中连接缆线的网络组件,可以认为集线
器是一个多端口的中继器,集线器提供多端口连接,主要功能是对接收到的信号进行再生整形放大,以
扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。
集线器不能分割冲突域。
Hub并不记忆报文是由哪个MAC地址发出,哪个MAC地址在Hub的哪个端口
Hub的特点:
共享带宽
半双工

2.2.5 网桥

网桥 Bridge
在这里插入图片描述

网桥(Bridge)也叫桥接器,是连接两个局域网的一种存储/转发设备,根据MAC地址表对数据帧进行转
发,可隔离碰撞域
网桥将网络的多个网段在数据链路层连接起来,并对网络数据帧进行管理
网桥的内部结构
在这里插入图片描述
在这里插入图片描述
透明网桥
在这里插入图片描述
源路由网桥
在这里插入图片描述
优点
过滤通信量
扩大了物理范围
提高了可靠性
可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网
缺点
存储转发增加了时延
在MAC 子层并没有流量控制功能
具有不同 MAC 子层的网段桥接在一起时时延更大
网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的
广播信息而产生网络拥塞。这就是所谓的广播风暴

2.2.6 交换机(多接口网桥)

在这里插入图片描述
交换机是工作在OSI参考模型数据链路层的设备,外表和集线器相似
它通过判断数据帧的目的MAC地址,从而将数据帧从合适端口发送出去
交换机是通过MAC地址的学习和维护更新机制来实现数据帧的转发
在这里插入图片描述
内部结构
在这里插入图片描述

工作原理
交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发,如数据帧中的目的MAC地址不在MAC地址中,则向所有端口转发。这一过程称为泛洪(flood),广播帧和组播帧向所有的端口转发。

在这里插入图片描述

2.3 以太网技术

2.3.1 概述

以太网是应用最为广泛的局域网,满足网络网络速率要求:10Mbps~10Gbps,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(100Mbps)、和10G以太网,它们都符合IEEE802.3系列标准规范,是当今现有局域网采用最通用的通信协议标准,以太网技术在局域网各种技术中占据统治性地位。使用CSMA/CD(载波监听多路访问及冲突检测)。
以太网提供无连接、不可靠传输服务,差错帧直接丢弃。
逻辑拓扑总线型。物理拓扑是星型或扩展星型。
在这里插入图片描述
在这里插入图片描述

2.3.2 MAC地址&MAC帧

MAC地址
计算机与有局域网的外界连接是通过网卡这样的通信适配器的完成。
网卡上面装有处理器和存储器(包括RAM和ROM),ROM上有计算机硬件地址MAC地址。
在局域网中硬件地址被称为物理地址或MAC地址,实际上就是标识符,这个表示独一无二,唯一性。在这里插入图片描述
IEEE 802标准为局域网规定了一种48位的全球地址(一般都简称为“地址”),是局域网中每一台计算机固
化在网卡ROM中的地址。
IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位),地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。常用6个十六进制数表示,例如54-14-F3-C8-EF-39
在这里插入图片描述

在命令提示符下输入命令“ipconfig /all”回车之后就会显示当前计算机的一些网络信息,其中“Physical Address”字样的这一项就是当前计算机中网卡的 MAC地址。当然,如果计算机中安装有多个网卡,则会有多个“Physical Address”字样。
在这里插入图片描述
或者# ip a
在这里插入图片描述

各大厂商MAC识别码:

 https://standards-oui.ieee.org/oui/oui.txt

MAC帧
最常用的MAC帧格式是以太网的V2的格式
![在这里插入图片描述](https://img-blog.csdnimg.cn/9fbea1c027ae4a5fae99d96c8f3ac11f.png
在这里插入图片描述
前导码:使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:
第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;
第二个字段是帧开始定界符,表示后面的信息就是MAC帧。

地址:通常使用6字节(48bit)地址(MAC地址)。

类型:2字节,指出数据域中携带的数据应交给哪个协议实体处理。

数据:461500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充(046字节)。
注意:46和1500是怎么来的?首先,由CSMA/CD算法可知以太网帧的最短帧长为64B,而MAC帧的首部和尾部的长度为18字节,所以数据字段最短为64-18=46字节。其次,最大的1500字节是规定的。
填充:0~46字节,当帧长太短时填充帧,使之达到64字节的最小长度。

校验码(FCS): 4字节,校验范围从目的地址段到数据段的末尾,算法采用32位循环冗余码(CRC),不校验前导码。802.3帧格式与DIX以太帧格式的不同之处在于用长度域替代了DIX帧中的类型域,指出数据域的长度

前述长度/类型两种机制可以并存,由于IEEE 802.3数据段的最大字节数是1500,所以长度段的最大值是1500,因此从1501到65535的值可用于类型段标识符。(二者并存)
在这里插入图片描述

2.3.3 冲突检测的载波侦听多路访问 CSMA/CD

主要用在早期的Hub环境中,用来解决冲突域的问题,现在主流的交换机上不再使用
在这里插入图片描述
工作原理
先听后发
边发边听
冲突停止
延迟重发
在这里插入图片描述

2.4 无线局域网

IEEE所定义的IEEE802.11是无线局域网通信标准。
IEEE802.11b和IEEE802.11g定义了WIFI通信标准。
无线局域网分为:有固定设施无线局域网和没有有固定设施无线局域网的自组织网络
有固定设施无线局域网
在这里插入图片描述
无固定设施无线局域网的自组织网络
在这里插入图片描述
虚拟局域网 VLAN
是由一些局域网网段构成的与物理位置无关的逻辑组这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
虚拟局域网的实现技术

  1. 基于端口的VLAN
  2. 基于MAC地址的VLAN
  3. 基于协议的VLAN
  4. 基于网络地址的VLAN

优点
1 、更有效地共享网络资源。如果用交换机构成较大的局域网,大量的广播报文就会使网络性能下降。VLAN能将广播报文限制在本VLAN范围内,从而提升了网络的效能
2、简化网络管理。当结点物理位置发生变化时,如跨越多个局域网,通过逻辑上配置VLAN即可形成网络设备的逻辑组,无需重新布线和改变IP地址等。这些逻辑组可以跨越一个或多个二层交换机
3、提高网络的数据安全性。一个VLAN中的结点接收不到另一个VLAN中其他结点的帧
在这里插入图片描述

在这里插入图片描述
VLAN 标签各字段含义
TPID:Tag Protocol Identifier(标签协议标识符),2Byte,表示帧类型,取值为0x8100时表示IEEE
802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃,各设备厂商可以自定义
该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在
本设备上修改TPID值,确保和邻居设备的TPID值配置一致
PRI:Priority,3bit,表示数据帧的802.1p(是IEEE 802.1Q的扩展协议)优先级。取值范围为0~7,值
越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧
CFI:Canonical Format Indicator(标准格式指示位),1bit,表示MAC地址在不同的传输介质中是否以
标准格式进行封装,用于兼容以太网和令牌环网。CFI取值为0表示MAC地址以标准格式进行封装,为1
表示以非标准格式封装。在以太网中,CFI的值为0
VID:VLAN ID,12bit,表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。由于0和4095
为协议保留取值,所以VLAN ID的有效取值范围是1~4094

2.5 网络架构分层

示例:
在这里插入图片描述

3 TCP/IP协议栈

3.1 TCP/IP 标准

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层(如图)。
在这里插入图片描述

3.1.1 TCP/IP 介绍

Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议
TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议。

最早发源于1969年美国国防部(缩写为DoD)的因特网的前身ARPA网络项目,1983年1月1日,TCP/IP取代了旧的网络控制协议NCP,成为今天的互联网和局域网的基石和标准,由互联网工程任务组负责维护 。国防高级研究计划局DARPA与BBN技术公司、斯坦福大学和伦敦大学学院签约,在多个硬件平台上开发协议的操作版本。 在协议开发过程中,数据包路由层的版本号从版本 1 进展到版本 4,后者于 1983 年安装在 ARPA NET 中。它被称为互联网协议版本4(IPv4)作为协议,仍在互联网使用,连同其目前的继承,互联网协议版本6(IPv6)。
RFC 文档: https://www.ietf.org/rfc/rfc1180.html

3.1.2 TCP/IP 分层

共定义了四层,和OSI参考模型的分层有对应关系

RFC文档: https://www.ietf.org/rfc/rfc1122#section-1.3.3

RFC官方分为四层:
Application Layer
Transport Layer
Internet Layer
Link Layer(media-access)
在这里插入图片描述
从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层(如图)。

3.2 网际层 IP

网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。
在这里插入图片描述
在这里插入图片描述

网络层协议
TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)。
在这里插入图片描述

3.2.&IP协议

3.2.1 IP协议

概述
IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。它同时被TCP和UDP使用,TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。
IP协议是网络互联协议(Internet protocol)的简称,是TCP/IP协议簇中两个重要的协议之一,是TCP/IP协议簇的运作核心。
在这里插入图片描述

3.2.2 IP数据报格式

在这里插入图片描述

IP PDU 报头
在这里插入图片描述
版本:占4位,指 IP 协议的版本目前的IP协议版本号为4;
首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此IP 的首部长度的最大值是60字节;
区分服务:占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过,后改名为区分服务,只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下不使用;
总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节,总长度必须不超过最大传送单元 MTU;
标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1, 也用于数据包分片,在同一个包的若干分片中,该值是相同的;
标志(flag):占3位,目前只有后两位有意义, DF: Don’t Fragment 中间的一位,只有当 DF=0 时才允许分片,MF: More Fragment 最后一位,MF=1表示后面还有分片,MF=0 表示最后一个分片IP PDU 报头;
片偏移:占13位,指较长的分组在分片后,该分片在原分组中的相对位置。片偏移以8个字节为偏移单位;
生存时间:占8位,记为TTL (Time To Live) 数据报文在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段,推荐的初始值由分配数字 RFC 指定,当前值为 64,发送 ICMP 回显应答时经常把 TTL 设为最大值 255;
协议:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程,1 表示为 ICMP 协议, 2 表示为 IGMP 协议, 6表示为 TCP 协议,17表示为 UDP 协议;
首部检验和:占16位,只检验数据报文的首部不检验数据部分,这里不采用 CRC 检验码而采用简单的计算方法;
源地址和目的地址:都各占4字节,分别记录源地址和目的地址;
可选字段:0~40B,用来支持排错,测量以及安全措施。
填充:全0,吧首部补充为4B的整数倍。

修改默认ttl

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_default_ttl 
64
[root@localhost ~]# echo 100 > /proc/sys/net/ipv4/ip_default_ttl
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_default_ttl
100

禁用IPv6
注意:禁用IPv6可能会影响一些服务的启动,如:ssh,postfix,mysql等

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP 
group default qlen 1000
   link/ether 00:0c:29:3e:ac:46 brd ff:ff:ff:ff:ff:ff
   inet 172.16.1.50/24 brd 172.16.1.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
   inet6 fe80::20c:29ff:fe3e:ac46/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
       
       
[root@localhost ~]# vim /etc/sysctl.conf
#加两行
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[root@localhost ~]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP 
group default qlen 1000
   link/ether 00:0c:29:3e:ac:46 brd ff:ff:ff:ff:ff:ff
   inet 172.16.1.50/24 brd 172.16.1.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever

3.2.3 IP地址

3.2.3.1 IP地址概述

IP可以给每个主机标识地址,也就是说给每个路由器接口、主机接口全球唯一的标识符。
它们可唯一标识 IP 网络中的每台设备 ,每台主机(计算机、网络设备、外围设备)必须具有唯一的地址。
在这里插入图片描述
mac 属于物理地址,mac 地址不可变,一出厂就写死,标识惟一设备
ip 属于逻辑地址,逻辑地址可修改,人为赋予,可以修改,使用灵活,便于管理
在这里插入图片描述
ipv4 32位二进制,以十进制显示
ipv6 128位二进制,以十六进制显示

IP地址转十进制INT

<------|------|------|------|------|------|------|------|------|---
             2^7    2^6    2^5    2^4    2^3    2^2    2^1    2^0 
             128    64      32    16      8      4      2      1
           
           
10.0.0.158
32位二进制,以.分隔,所以每处都是8位二进制
10=8+2    00001010
0= 00000000
0= 00000000
158=128+16+8+4+2 10011110
00001010.00000000.00000000.10011110
#二进制转十进制
[root@rocky86 ~]# echo "ibase=2;00001010000000000000000010011110"|bc
167772318
[root@rocky86 ~]# ping 167772318
PING 167772318 (10.0.0.158) 56(84) bytes of data.
64 bytes from 10.0.0.158: icmp_seq=1 ttl=64 time=0.662 ms
64 bytes from 10.0.0.158: icmp_seq=2 ttl=64 time=1.12 ms
^C
--- 167772318 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1064ms
rtt min/avg/max/mdev = 0.662/0.892/1.122/0.230 ms
10.0.0.1 =     00001010 00000000 00000000 00000001
10.0.0.254 =   00001010 00000000 00000000 11111110    254 = 128+64+32+16+8+4+2
[root@rocky86 ~]# echo "ibase=2;00001010000000000000000000000001"|bc
167772161

遍历检测当前网段内的主机

10.0.0.1 =     00001010 00000000 00000000 00000001
10.0.0.254 =   00001010 00000000 00000000 11111110    254 = 128+64+32+16+8+4+2
[root@rocky86 ~]# echo "ibase=2;00001010000000000000000000000001"|bc
167772161

[root@rocky86 ~]# echo "ibase=2;00001010000000000000000011111110"|bc
167772414
[root@rocky86 ~]# for i in {167772161..167772414};do ping -c1 -W1 $i && echo the 
$i is up || echo the $i is down;done;
[root@rocky86 ~]# net=10.0.0.1;for i in {1..254};do ping -c1 -W1 $net.$i 
&>/dev/null && echo the $net.$i is up || echo the $net.$i is down;done;

IP地址由两部分组成
网络 ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位

IP地址编制的历史阶段
分类的IP地址–>子网掩码–>构成超网(无分类编制方法CIDR)

IPv6
在这里插入图片描述
在这里插入图片描述

3.2.3.2 分类的IP地址

在这里插入图片描述
在这里插入图片描述
特殊IP地址
在这里插入图片描述
在这里插入图片描述
私有IP地址
公共IP地址:互联网上设备拥有的唯一地址
私有IP地址:不直接用于互联网,通常在局域网中使用
在这里插入图片描述

3.2.3.3 子网掩码

netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0,范例:255.255.255.0 ,表现为连续的高位为1,连续的低位为0
子网掩码与IP地址逐位相与,就得到子网网络地址

范例:
IP地址 172.16.0.0
子网掩码   11111111.11111111.00000000.00000000
子网掩码十进制表示 255.255.0.0

在这里插入图片描述
用不同命令查看ip和netmask

[root@bogon ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
       inet 172.16.1.50 netmask 255.255.255.0 broadcast 172.16.1.255
       inet6 fe80::20c:29ff:fe3e:ac46 prefixlen 64 scopeid 0x20<link>
       ether 00:0c:29:3e:ac:46 txqueuelen 1000 (Ethernet)
       RX packets 569 bytes 67473 (65.8 KiB)
       RX errors 0 dropped 0 overruns 0 frame 0
       TX packets 362 bytes 115316 (112.6 KiB)
       TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
     
     
#172.16.1.50/24     24表示子网掩码,就是说,32位IP地址里面,前24位表示网络ID
[root@bogon ~]# ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP 
group default qlen 1000
   link/ether 00:0c:29:3e:ac:46 brd ff:ff:ff:ff:ff:ff
   inet 172.16.1.50/24 brd 172.16.1.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
   inet6 fe80::20c:29ff:fe3e:ac46/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever  

不同IP分类对应子网掩码
在这里插入图片描述
A类:255.0.0.0 8
B类:255.0.0.0 16
C类:255.0.0.0 24

3.2.3.4 无分类编址CIDR

合并超网:将多个小网络合并成一个大网,主机ID位向网络ID位借位,主要实现路由聚合功能
无类别域间路由CIDR:消除了传统A类、B类、C类以及子网划分概念,融合子网地址和子网掩码方便子网划分。
在这里插入图片描述

#8个C类网段
220.78.168.0/24
220.78.169.0/24
220.78.170.0/24
220.78.171.0/24
220.78.172.0/24
220.78.173.0/24
220.78.174.0/24
220.78.175.0/24
#主机ID向网络ID借3位,网络ID变成21位 168=128+32+8
220.78.10101 000.0   220.78.168.0/24
220.78.10101 001.0   220.78.169.0/24
220.78.10101 010.0   220.78.170.0/24
......
220.78.10101 110.0   220.78.174.0/24
220.78.10101 111.0   220.78.175.0/24

#合并成一个大网
220.78.168.0/21
3.2.3.5 网络地址转换NAT

网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
在这里插入图片描述
在这里插入图片描述

3.2&ARP协议

ARP(Address Resolution Protocol)地址解析协议由互联网工程任务组(IETF)在1982年11月发布的RFC 826中描述制定,是根据IP地址获取物理地址的一个TCP/IP协议。
主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。
在这里插入图片描述
同网段的ARP
在这里插入图片描述
跨网段的ARP
在这里插入图片描述
查看ARP缓存

#win
arp -a
[root@localhost ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
172.16.1.49 ether 00:0c:29:a2:a3:21 C
ens160
172.16.1.254 ether 00:51:92:41:87:03 C
ens160
172.16.1.153 ether 88:66:5a:41:35:5b C
ens160
[root@localhost ~]# ip neigh
172.16.1.49 dev ens160 lladdr 00:0c:29:a2:a3:21 STALE
172.16.1.254 dev ens160 lladdr 00:51:92:41:87:03 REACHABLE
172.16.1.153 dev ens160 lladdr 88:66:5a:41:35:5b DELAY

ARP静态绑定可以防止ARP欺骗

[root@localhost ~]#arp -s 10.0.0.6 00:0c:29:32:80:38
[root@localhost ~]#arp -n
Address HWtype HWaddress Flags Mask Iface
10.0.0.6 ether 00:0c:29:32:80:38 CM eth0
10.0.0.7 ether 00:0c:29:32:80:38 C eth0
10.0.0.1 ether 00:50:56:c0:00:08 C eth0

kali 系统实现 arp 欺骗上网流量劫持

#启动路由转发功能
[root@kali ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
#安装包
[root@kali ~]# apt-get install dsniff
#欺骗目标主机,本机是网关
[root@kali ~]# arpspoof -i eth0 -t 被劫持的目标主机IP 网关IP
#欺骗网关,本机是目标主机
[root@kali ~]# arpspoof -i eth0 -t 网关IP 被劫持的目标主机IP

kali 是一个linux 发行版,里面集成了大量工具
官网 : https://www.kali.org/

RARP(Reverse Address Resolution Protocol)
RARP 反向ARP,即将MAC转换成IP
在这里插入图片描述

3.2&ICMP协议

在这里插入图片描述
ICMP(网际控制报文协议)协议为了更加有效的转发IP数据报和提高交付成功的机会。
支持主机或路由器:差错(或异常)报告、网络探寻。
在这里插入图片描述
ICMP的应用:PING、Traceroute
ping测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。
Traceroute跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。

利用icmp协议判断网络状态

[root@rocky86 ~]# ping 223.5.5.5
PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data.
64 bytes from 223.5.5.5: icmp_seq=1 ttl=128 time=8.89 ms
......
......
^C
发大数据包
多台设备同时去ping一台设备,理论上来讲,可以将该设备网卡打满,这也是ddos攻击的一种
3.3.2 Address Resolution Protocol
--- 223.5.5.5 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8013ms
rtt min/avg/max/mdev = 7.519/9.380/10.706/0.849 ms
[root@rocky86 ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=27.8 ms
......
......
^C
--- 114.114.114.114 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6011ms
rtt min/avg/max/mdev = 24.924/29.033/38.125/3.918 ms

发大数据包
多台设备同时去ping一台设备,理论上来讲,可以将该设备网卡打满,这也是ddos攻击的一种

[root@rocky86 ~]#
[root@rocky86 ~]# ping -f -s 65508 10.0.0.100
Error: packet size 65508 is too large. Maximum is 65507
[root@rocky86 ~]# ping -f -s 65507 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 65507(65535) bytes of data.
..........................................................
#实时刷新网卡数据
[root@rocky86 ~]# watch ifconfig ens160

3.3&DHCP协议

主机如何获得IP地址?静态配置、动态配置
动态主机配置协议 DHCP是应用层协议,使用C/S方式,客户端和服务端通过广播方式进行交互,基于UDP。
在这里插入图片描述

3.3 传输层

传输层(transport 层)只有主机才有的层次。
提供进程和进程之间的逻辑通信。
复用和分用。
对收到的报文进行差错检测。
在这里插入图片描述
端口号

端口是传输层的SAP,表示主机中的应用进程,例如Mysql的端口号3306,端口号只有在本地有意义,在因特网中不同计算机的相同端口号没有联系的。端口号长度为16bit,能表示65536个不同的端口号。
端口号分为服务端使用的端口号和客户端使用的端口号,服务端使用的端口号一般比较固定(熟知端口号:0~1023,让所有用户都知道;登记端口号1024-49151),客户端使用的端口仅在进程运行时才动态选择(49152-65535)。
在这里插入图片描述

#常用服务及端口对应关系
cat /etc/services
#查看非特权用户可以使用起始端口
cat /proc/sys/net/ipv4/ip_unprivileged_port_start
#查看客户端动态端口起始
cat /proc/sys/net/ipv4/ip_local_port_range

套接字Socket

套接字Socket=(主机IP地址+端口号)
套接字唯一标识了网络中的一个主机和它上面的一个进程。

3.3.1 UDP协议

UPD:用户数据报协议 ( User Datagram Protocol )
UDP只是在IP数据报服务之上增加了很少的功能,即复用分用和差错检测功能。
UDP特性
工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性
更多关于udp的内核参数,可参看man 7 udp
UDP包头
在这里插入图片描述

3.3.2 TCP协议

TCP:传输控制制协议 ( Transmission Control Protocol )
TCP特性
工作在传输层
面向连接协议
全双工协议
半关闭
将数据打包成段,排序
确认机制
数据恢复,重传
错误检查
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法
更多关于tcp的内核参数,可参看man 7 tcp

3.3.2.1 TCP报文段首部格式

在这里插入图片描述
源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口
某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通
信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个,即65536
序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字
节都会按顺序编号。由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从 0
开始
确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。也就是告诉发送方:
我希望你(指发送方)下次发送的数据的第一个字节数据的编号为此确认号
数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要
指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多
远。该字段的单位是32位(即4个字节为计算单位),4位二进制最大表示15,所以数据偏移也就是
TCP首部最大60字节
URG:表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer)只
有当URG=1时才有效
ACK:表示是否前面确认号字段是否有效。只有当ACK=1时,前面的确认号字段才有效。TCP规
定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
PSH:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间。如
果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到
更多关于tcp的内核参数,可参看man 7 tcp
的数据读走,就会一直停留在TCP接收缓冲区中
RST:如果收到一个RST=1的报文,说明与主机的连连接出现了严重错误(如主机崩溃),必须释放
连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应,带RST标志
的TCP报文段称为复位报文段
SYN:在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报
文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意
建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段
FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的
数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方
发送的数据量,达到此值,需要ACK确认后才能再继续传送后面数据,由Window size value *
Window size scaling factor(此值在三次握手阶段TCP选项Window scale协商得到)得出此值
校验和:提供额外的可靠性
紧急指针:标记紧急数据在数据字段中的位置
选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位表示,选项部分最长为:
(2^4-1)*4-20=40字节

3.3.3 TCP三次握手和四次挥手

TCP连接传输三个阶段:连接建立–>数据传送–>连接释放。
TCP连接的建立采用C/S方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫服务器。
TCP三次握手
在这里插入图片描述

seq 序号; ack 确认号
在这里插入图片描述
模拟tcp连接过程

yum install -y nc
#查看所有己处于监听状态的tcp端口 t:tcp, l:listen, n:numeric
ss -tnl
#在22 己被使用的情况下,用nc 监听22失败
[root@localhost ~]$nc -l 22
Ncat: bind to :::22: Address already in use. QUITTING.
#用nc 监本机 222
[root@localhost ~]$nc -l 222
#用远程主机连接本机222
[root@localhost ~]$nc 172.16.1.50 222
#再次查看本机tcp 连接状态,能看到有一个远程主机通过222连接本机
[root@localhost ~]# ss -tn
State Recv-Q Send-Q Local Address:Port Peer
Address:Port Process
ESTAB 0 0 172.16.1.50:22
172.16.1.153:51447
ESTAB 0 0 172.16.1.50:22
172.16.1.153:51449
CLOSE-WAIT 32 0 172.16.1.50:48384
8.43.85.14:443
ESTAB 0 0 172.16.1.50:22
172.16.1.153:51517
ESTAB 0 0 172.16.1.50:222
172.16.1.49:52294

验证只有root 才能开启超级端口

[root@localhost ~]# su jose
#222端口在1023以内,无权限
[jose@localhost root]$ nc -l 222
Ncat: bind to :::222: Permission denied. QUITTING.
#2222可以
[jose@localhost root]$ nc -l 2222

获取服务端 SYN-RCVD 瞬间状态

#客户端开启防火墙,抛弃服务端的包,并发起连接
[root@rocky86 ~]# iptables -A INPUT -s 10.0.0.158 -j DROP
[root@rocky86 ~]# ssh root@10.0.0.158
#服务端查看
[root@rocky86 ~]# ss -tna | grep SYN-RECV
SYN-RECV 0 0 10.0.0.158:22 10.0.0.157:44328

TCP 四次挥手
MSL :Maximum Segment Lifetime
在这里插入图片描述
在这里插入图片描述
查看 MSL

[root@localhost ~]# sysctl net.ipv4.tcp_fin_timeout
net.ipv4.tcp_fin_timeout = 60
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
60

3.3.4 TCP可靠传输

TCP实现可靠传输,保证接收方进程从缓存区读出字节流与发送方发出的字节流是完成一样的。
TCP实现可靠传输的机制:校验–>序号–>确认–>重传
确认和重传不分家,TCP的发送方在规定时间内没有收到确认就要进行重传已发送的报文段,即超时重传。
超时重传
异常网络状况下(开始出现超时或丢包),TCP控制数据传输以保证其承诺的可靠服务TCP服务必须能够重传超时时间内未收到确认的TCP报文段。为此,TCP模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动。如果超时时间内未收到接收方的应答,TCP模块将重传TCP报文段并重置定时器。至于下次重传的超时时间如何选择,以及最多执行多少次重传,就是TCP的重传策略。

与TCP超时重传相关的两个内核参数:

#指定在底层IP接管之前TCP最少执行的重传次数,默认值是
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_retries1
3
#指定连接放弃前TCP最多可以执行的重传次数,默认值15 (一般对应13~30min)
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_retries2
15

3.3.5 TCP流量控制

流量控制:让发送方慢点,要让接收方来得及接收。
TCP利用滑动窗口实现流量控制。

在这里插入图片描述
3.3.6 TCP拥塞控制
出现拥塞的条件:对资源需求的总和>可用资源
拥塞控制:防止过多的数据注入到网络中
网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可承受的能力,网络的性能就会变坏。此情况称为拥塞

TCP为提高网络利用率,降低丢包率,并保证网络资源对每条数据流的公平性。即所谓的拥塞控制TCP拥塞控制的标准文档是RFC 5681,其中详细介绍了拥塞控制的四个部分:慢启动(slow start)、拥塞避免(congestion avoidance)、快速重传(fast retransmit)和快速恢复(fast recovery)

拥塞控制算法在Linux下有多种实现,比如reno算法、vegas算法和cubic算法等。它们或者部分或者全
部实现了上述四个部分

#查看当前所使用的拥塞控制算法
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_congestion_control
cubic

3.3.6 内核TCP参数优化

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 2000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_orphans = 16384
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384

《二》网络配置

1 网络配置

将Linux主机接入到网络,需要配置网络相关设置,一般包括主机名、IP/network、路由、DNS服务器等。

1.1 主机名 、网卡名称、IP/network

Windows主机名
在这里插入图片描述

C:\Users\23596>hostname
DESKTOP-8PL39VJ

C:\Users\23596>ping DESKTOP-8PL39VJ

正在 Ping DESKTOP-8PL39VJ [fe80::d970:19c1:5d8c:12be%18] 具有 32 字节的数据:
来自 fe80::d970:19c1:5d8c:12be%18 的回复: 时间<1ms
来自 fe80::d970:19c1:5d8c:12be%18 的回复: 时间<1ms
来自 fe80::d970:19c1:5d8c:12be%18 的回复: 时间<1ms
来自 fe80::d970:19c1:5d8c:12be%18 的回复: 时间<1ms

fe80::d970:19c1:5d8c:12be%18 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\23596>

Linux 主机名

[root@Rocky8 ~]# hostname
Rocky8.6
[root@Rocky8 ~]# ping Rocky8.6
PING Rocky8.6(Rocky8.6 (fe80::20c:29ff:fe2d:4681%ens160)) 56 data bytes
64 bytes from Rocky8.6 (fe80::20c:29ff:fe2d:4681%ens160): icmp_seq=1 ttl=64 time=0.084 ms
64 bytes from Rocky8.6 (fe80::20c:29ff:fe2d:4681%ens160): icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from Rocky8.6 (fe80::20c:29ff:fe2d:4681%ens160): icmp_seq=3 ttl=64 time=0.030 ms
64 bytes from Rocky8.6 (fe80::20c:29ff:fe2d:4681%ens160): icmp_seq=4 ttl=64 time=0.052 ms
^C
--- Rocky8.6 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3033ms
rtt min/avg/max/mdev = 0.030/0.049/0.084/0.022 ms
[root@Rocky8 ~]# 

网卡名称
CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,但是,如果再新增硬件设备,也有可能会被识别成 eth0,eth1 等;
CentOS 7开始,改变了网卡设备命名规则,基于硬件生成网卡名,例如 ens33,ens160 等,可以保证网
卡名称稳定且唯一;但是在批量环境中,没办法统一;
Centos 6之前的版本
网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules
查看网卡:dmesg | grep -i eth 或 ethtool -i eth0
卸载网卡驱动:modprobe -r e1000 或 rmmod e1000
装载网卡驱动:modprobe e1000
接口命名方式:eth[0,1,2…]
Linux IP/network

[root@Rocky8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:2d:46:81 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 10.0.0.202/8 brd 10.255.255.255 scope global noprefixroute ens160   #IP/network信息
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2d:4681/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@Rocky8 ~]# 

1.2 VMware如何配置网络?桥接、NAT、仅主机模式

在这里插入图片描述

虚拟网卡
VMware是一款及其强大的虚拟机软件,提供了虚拟网卡的功能,安装了VMware后就会发现计算机的网卡多了两个选项,在虚拟机设置里会多出一个配置 VMNet0。(如下图所示)。
vmnet1和vmnet8是两个虚拟网卡,vmnet1是为host-only方式服务的,vmnet8是为NAT方式服务的,VMnet0是物理网卡是为Bridge桥接方式服务的。默认情况下vmnet0对应桥接模式,对应的是本地的物理网卡。
在这里插入图片描述
虚拟网络编辑器
在VMware的编辑选项中,可以对VMware的虚拟网卡进行配置(可以在这个页面新增虚拟网卡)。
在这里插入图片描述
仅主机模式(Only-Host)
仅主机模式是最简单的虚拟机网络模式,他只能和物理机进行连接,不能跟物理机下的其他虚拟机连接或者通过物理机连接互联网,使用这种模式是常见的VMware虚拟机连接不上网络的主要原因。通常这种模式被用于需要虚拟机不能联网的情况(也就是离线)。
虚拟机通过Vmnet1这个HUB互相连接,再通过物理机上的Vmnet1网卡连接物理机,不能访问外网。
在这里插入图片描述
NAT模式
NAT的连接方式有点类似于主机模式,但它可以通过物理机获得互联网的连接,也可以通过主机与其他虚拟机进行连接。NAT方式可以理解为把物理机当成一个路由器,所以虚拟机与物理机处于不同的网段。这种连接方式可以用来学习同一网段间的机器如何交互,方便以后学习服务器的负载均衡问题。
虚拟机通过Vmnet8这个HUB互相连接,再通过物理机上的Vmnet8网卡连接物理机,能访问外网,物理机充当路由器。
在这里插入图片描述
桥接模式
桥接模式与nat模式不同,桥接模式是通过物理机的网卡来连接虚拟机和互联网(主要是物理机上一级的网关),使用这种方式连接,虚拟机会与物理机处于同一个网段。这种方式可以访问到同一路由器下的其他机器,所以黑客进行局域网攻击的时候常常使用这种连接方式。
虚拟机和物理机连接同一网络,两者之间是并列关系,通过Vmnet0 这个HUB连接。
在这里插入图片描述
如何切换?
在虚拟机未启动的时候可以点击设备对设备的网络适配进行配置,通过对网络连接的切换来切换这三种模式。所以如果虚拟机上不了网,解决方案就是在这里切换模式(切换成桥接模式或者nat模式,另外,拨号上网情况下桥接模式也需要进行拨号上网)。
在这里插入图片描述

1.3 统一网卡名称

出于批量管理,以及脚本的通用性等方面的考虑;在某些情况下,需要将新的网卡命名规则改成传统的命名方式;即将 ens33,ens160等名称改为eth0,eth1 这样。
修改方法

修改 /etc/default/grub 在 GRUB_CMDLINE_LINUX 行后面加上 net.ifnames=0
修改网卡配置文件,将原网卡名的相关内容替换成新的
重新读取配置文件,并重启

Rocky8.6
修改 /etc/sysconfig/network-scripts/ifcfg-ens160 将文件内的 ens160 替换成 eth0
并修改文件名,将 ifcfg-ens160 修改成 ifcfg-eth0
重新读取配置文件
基于UEFI模式引导的系统 grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
基于BIOS模式引导的系统 grub2-mkconfig -o /boot/grub2/grub.cfg
再执行重启 reboot

Ubuntu22.04
重新读取配置文件
grub-mkconfig -o /boot/grub/grub.cfg
再执行重启 reboot

示例
Rocky8.6

#查看
[root@rocky86 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
default qlen 1000
link/ether 00:0c:29:f3:44:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.0.158/24 brd 10.0.0.255 scope global dynamic noprefixroute ens160
valid_lft 1728sec preferred_lft 1728sec
inet6 fe80::20c:29ff:fef3:449a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
group default qlen 1000
link/ether 52:54:00:b3:0b:96 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever



#修改
[root@rocky86 ~]# vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap
rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet net.ifnames=0"
#修改, 将文件内的ens160改成 eth0
[root@rocky86 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160
#修改文件名
[root@rocky86 ~]# mv /etc/sysconfig/network-scripts/ifcfg-ens160
/etc/sysconfig/network-scripts/ifcfg-eth0
#重读配置文件并重启
[root@rocky86 ~]# grub2-mkconfig -o /etc/grub2.cfg;reboot
Generating grub configuration file ...
done
#再次查看
[root@rocky86 ~]# ip a

Ubuntu22.04

#查看
root@ubuntu22:~# ip a

#修改
root@ubuntu22:~# vim /etc/default/grub
GRUB_CMDLINE_LINUX=" net.ifnames=0"
#重读配置文件并重启
root@ubuntu22:~# grub-mkconfig -o /boot/grub/grub.cfg;reboot
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-43-generic
Found initrd image: /boot/initrd.img-5.15.0-43-generic
Found linux image: /boot/vmlinuz-5.15.0-41-generic
Found initrd image: /boot/initrd.img-5.15.0-41-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done

#再次查看
root@ubuntu22:~# ip a

1.4 网络配置

静态配置:static,写在配置文件中,不会根据环境的改变而发生变化
动态配置:DHCP,Dynamic Host Configuration Protocol,根据动态主机配置协议生成相应的配置

1.4.1 Red Hat 系列网卡配置

配置文件
网卡配置文件存在于 /etc/sysconfig/network-scripts/ 目录中,以 ifcfg-XXX的格式来命名。
路径是固定的,文件命名规则也是固定的

[root@Rocky8 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ens160  ifcfg-ens160~
[root@Rocky8 ~]# 

[root@Rocky8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=10.0.0.202
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=180.76.76.76
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=1d933b70-1dd5-4976-9f74-1017e1191700
DEVICE=ens160
ONBOOT=yes
[root@Rocky8 ~]#

在这里插入图片描述
示例
添加一块网卡,并指定NAT模式,查看DNS,使用DNS解析域名,域后缀

#######添加一块网卡,并指定NAT模式############
[root@rocky86 ~]# cd /etc/sysconfig/network-scripts
[root@rocky86 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
NAME=con-eth1
IPADDR=10.0.0.88
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=114.114.114
#查看
[root@rocky86 network-scripts]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5c093cad-84c9-4cfc-8b6f-e1041db357df ethernet eth0
virbr0 77c5c6bc-b04f-4ae4-a8eb-16fdf62e9a70 bridge virbr0
[root@rocky86 network-scripts]# nmcli connection reload
############查看DNS#################
##########使用DNS解析域名
#再次查看
[root@rocky86 network-scripts]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5c093cad-84c9-4cfc-8b6f-e1041db357df ethernet eth0
con-eth1 9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04 ethernet eth1
virbr0 77c5c6bc-b04f-4ae4-a8eb-16fdf62e9a70 bridge virbr0
#查看
[root@rocky86 network-scripts]# ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.88 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fef3:44a4 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f3:44:a4 txqueuelen 1000 (Ethernet)
RX packets 23 bytes 2911 (2.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 51 bytes 5768 (5.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

######################查看DNS###############
[root@rocky86 network-scripts]# nmcli conn reload
[root@rocky86 network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 10.0.0.2
#新增114 DNS
[root@rocky86 network-scripts]# nmcli conn up con-eth1
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/5)
[root@rocky86 network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 10.0.0.2
nameserver 114.114.114.114


########使用DNS解析域名##########
[root@rocky86 ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 163.177.151.110
www.a.shifen.com has address 163.177.151.109
[root@rocky86 ~]# host www.baidu.com 114.114.114.114
Using domain server:



##########域后缀##########
Name: 114.114.114.114
Address: 114.114.114.114#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 163.177.151.109
www.a.shifen.com has address 163.177.151.110
#添加域后缀
[root@rocky86 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
NAME=con-eth1
IPADDR=10.0.0.88
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=114.114.114.114
DOMAIN=magedu.com
[root@rocky86 network-scripts]# nmcli conn reload;nmcli conn up con-eth1
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/6)
#查看DNS和域后缀
[root@rocky86 network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain magedu.com
nameserver 10.0.0.2
nameserver 114.114.114.114
#默认补全
[root@rocky86 network-scripts]# ping www
PING www.magedu.org (160.121.140.246) 56(84) bytes of data.
64 bytes from 160.121.140.246 (160.121.140.246): icmp_seq=1 ttl=128 time=54.3 ms
......

1.4.2 Ubuntu 系列网卡配置

网卡配置文件存在于 /etc/netplan/ 目录中,以 XXX.yaml 的格式来命名,yaml 是一种标记性语言,这种语言以数据做为中心,而不是以标记语言为重点。因而yaml本身的定义比简单,是 “一种人性化的语言”。官方网站 https://yaml.org/
路径是固定的,文件命名规则也是固定的

root@ubuntu22:~# cd /etc/netplan/
root@ubuntu22:/etc/netplan# ll
total 12
drwxr-xr-x 2 root root 4096 Jul 3 12:09 ./
drwxr-xr-x 99 root root 4096 Aug 8 12:09 ../
-rw-r--r-- 1 root root 116 Jul 3 12:09 00-installer-config.yaml
root@ubuntu22:/etc/netplan# cat 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
dhcp4: true
version: 2

在这里插入图片描述
示例

#########################添加一块网卡,并指定NAT模式########
root@ubuntu22:~# cd /etc/netplan/
root@ubuntu22:/etc/netplan# ls
00-installer-config.yaml
#新增网卡配置文件
root@ubuntu22:/etc/netplan# vim eth1.yaml
network:
renderer: networkd
ethernets:
eth1:
addresses: [10.0.0.6/24,10.0.0.66/24]
nameservers:
search: [magedu.com,magedu.org]
addresses: [10.0.0.2,180.76.76.76]
version: 2
#让网卡生效
root@ubuntu22:/etc/netplan# netplan apply
#查看
root@ubuntu22:/etc/netplan# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
group default qlen 1000
link/ether 00:0c:29:29:55:67 brd ff:ff:ff:ff:ff:ff
altname enp2s5
altname ens37
inet 10.0.0.6/24 brd 10.0.0.255 scope global eth1
valid_lft forever preferred_lft forever
inet 10.0.0.66/24 brd 10.0.0.255 scope global secondary eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe29:5567/64 scope link
valid_lft forever preferred_lft forever

1.5 网络配置命令

1.5.1 主机名

hostname
hostname是临时有效,重启后消失

[root@Rocky8 ~]# hostname --help
Usage: hostname [-b] {hostname|-F file}         set host name (from file)
       hostname [-a|-A|-d|-f|-i|-I|-s|-y]       display formatted name
       hostname                                 display host name

       {yp,nis,}domainname {nisdomain|-F file}  set NIS domain name (from file)
       {yp,nis,}domainname                      display NIS domain name

       dnsdomainname                            display dns domain name

       hostname -V|--version|-h|--help          print info and exit

Program name:
       {yp,nis,}domainname=hostname -y
       dnsdomainname=hostname -d

Program options:
    -a, --alias            alias names
    -A, --all-fqdns        all long host names (FQDNs)
    -b, --boot             set default hostname if none available
    -d, --domain           DNS domain name
    -f, --fqdn, --long     long host name (FQDN)
    -F, --file             read host name or NIS domain name from given file
    -i, --ip-address       addresses for the host name
    -I, --all-ip-addresses all addresses for the host
    -s, --short            short host name
    -y, --yp, --nis        NIS/YP domain name

Description:
   This command can get or set the host name or the NIS domain name. You can
   also get the DNS domain or the FQDN (fully qualified domain name).
   Unless you are using bind or NIS for host lookups you can change the
   FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
   part of the FQDN) in the /etc/hosts file.
[root@Rocky8 ~]# 

hostname [-b] {hostname|-F file} set host name (from file)
hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name
hostname display host name
#常用选项
-a|--alias #显示别名
-F|--file #从文件中读取
-i|--ip-address #显示IP地址,仅显示能解析的地址
-I|--all-ip-addresses #显示所有IP地址,包含不能被解析的,但不显示
IPV6地址,不显示回环地址

示例

#显示主机名
[root@rocky86 ~]# hostname
rocky86
#显示别名
[root@rocky86 ~]# hostname -a
#设置,从文件中读取
[root@rocky86 ~]# hostname -F name.txt
#显示IP地址
[root@rocky86 ~]# hostname -i
10.0.0.88
#显示所有IPV4地址
[root@rocky86 ~]# hostname -I
10.0.0.88 192.168.10.254 192.168.122.1

hostnamectl
写配置文件,永久有效

#查看
[root@rocky86 ~]# hostnamectl status
Static hostname: n/a
Transient hostname: rocky86
Icon name: computer-vm
Chassis: vm
Machine ID: 1b31abf8cbda4ca1b9c0fe93f527b3d5
Boot ID: 0e901405a44c4c24ae33002867697c79
Virtualization: vmware
Operating System: Rocky Linux 8.6 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8:GA
Kernel: Linux 4.18.0-372.9.1.el8.x86_64
Architecture: x86-64
#设置,写在 /etc/hostname 文件里面了,永久有效
[root@rocky86 ~]# hostnamectl set-hostname rocky86.m51.magedu.com
#查看
[root@rocky86 ~]# hostnamectl
Static hostname: rocky86.m51.magedu.com
Icon name: computer-vm
Chassis: vm
Machine ID: 1b31abf8cbda4ca1b9c0fe93f527b3d5
Boot ID: 0e901405a44c4c24ae33002867697c79
Virtualization: vmware
Operating System: Rocky Linux 8.6 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8:GA
Kernel: Linux 4.18.0-372.9.1.el8.x86_64
Architecture: x86-64

1.5.2 ifconfig 命令

该命令来自于net-tools包,建议使用 ip 代替

[root@Rocky8 ~]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.52.20160912git.el8.x86_64
[root@Rocky8 ~]# ifconfig --help
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [[-]dynamic]
  [up|down] ...

  <HW>=Hardware Type.
  List of possible hardware types:
    loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP) 
    slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP) 
    ash (Ash) ether (Ethernet) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel) 
    ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB) 
    arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device) 
    sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI) 
    irda (IrLAP) x25 (generic X.25) infiniband (InfiniBand) 
    eui64 (Generic EUI-64) 
  <AF>=Address family. Default: inet
  List of possible address families:
    unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6) 
    ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) 
    ipx (Novell IPX) ddp (Appletalk DDP) ash (Ash) 
    x25 (CCITT X.25) 
[root@Rocky8 ~]# 

#常用选项
-a #显示所有
-s #以短格式显示
-v #显示详细错误信息
<HW> #硬件类型
#loop|slip|cslip|slip6|cslip6|adaptive|ash|ether|ax25|netrom|rose|tunnel|ppp|hdl
c|lapb|arcnet|dlci|frad|sit|fddi|hippi|irda|x25|infiniband|eui64
<AF> #地址类型,协议族
unix|inet|inet6|ax25|netrom|ipx|ddp|ddp
#常用子命令
add #给设备添加IPV6地址
del #删除IPV6地址
broadcast|-broadcast #给设备添加广播地址|删除广播地址
pointtopoint|-pointtopoint #设定点对点通讯协议
netmask #设定子网掩码
dstaddr #设定目标地址
tunnel #建立隧道
hw #指定硬件类型
mtu #指定设备最大传输单元(单位:字节)
arp|-arp #指定设备是否支持ARP协议
allmulti|-allmulti #指定设备是否支持多播
multicast #指定组播
promisc|-promisc #指定设备支持promiscuous模式
up #启用设备
down #禁用设备

示例

#查看所有启用的设备
[root@Rocky86 ~]# ifconfig

#查看所有设备,包括禁用的
[root@Rocky86 ~]# ifconfig -a
#直接修改设备信息,临时有效
[root@Rocky86 ~]# ifconfig eth1 10.0.0.55 netmask 255.255.255.0
[root@Rocky86 ~]# ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.55 netmask 255.255.255.0 broadcast 10.0.0.255
ether 00:0c:29:f3:44:a4 txqueuelen 1000 (Ethernet)
RX packets 67 bytes 5904 (5.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 5164 (5.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#清除设备信息,临时有效,0.0.0.0可以写成 0
[root@Rocky86 ~]# ifconfig eth1 0.0.0.0
[root@Rocky86 ~]# ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:f3:44:a4 txqueuelen 1000 (Ethernet)
RX packets 146 bytes 12539 (12.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104 bytes 10585 (10.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#启用和禁用
[root@Rocky86 ~]# ifconfig eth1 up
[root@Rocky86 ~]# ifconfig eth1 down
#显示流量统计
[root@Rocky86 ~]# ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 1513 0 0 0 797 0 0
0 BMRU
lo 65536 38 0 0 0 38 0 0
0 LRU
virbr0 1500 0 0 0 0 0 0 0
0 BMU
#统计指定设备
[root@Rocky86 ~]# ifconfig -s eth0
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 1589 0 0 0 844 0 0
0 BMRU
#字段说明
Iface #网络设备
MTU #该接口设备最大传输单元,单位是字节,就
是一个数据包不能超1500字节
RX-OK #收包时成功接收的数据包数量
RX-ERR #收包时出错的数据包的数量
RX-DRP #收包时丢弃的数据包的数量
RX-OVR #收包时由于过速(接收设备收不过来)而丢弃
的数据包数量
TX-OK #发包时成功发送的包的数量
TX-ERR #发包时出错的数据包的数量
TX-DRP #发包时被丢弃的数据包的数量
TX-OVR #发包时由于过速而丢弃的数据包的数量
Flg #标志位
#Flg字段说明
B #该设备已经设置了广播地址
L #该设备是一个回环设备
M #该设备能接收所有经过它的数据包,而不论
其目的地址是否是它本身(混乱模式)
N #该设备不能被追踪
O #在该设备上禁用ARP
P #这是一个点到点链接
R #当前设备正在运行
U #当前设备处于活动状态

1.5.3 route命令

该命令来自于net-tools包,建议使用 ip 代替

[root@Rocky8 ~]# route --help
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.

       route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
       route {-V|--version}                  Display version/author and exit.

        -v, --verbose            be verbose
        -n, --numeric            don't resolve names
        -e, --extend             display other/more information
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB

  <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 
[root@Rocky8 ~]# 

#常用选项
-v|--verbose #显示详细信息
-n|--numeric #以IP格式显示,而不是以主机名显示
-e|--extend #显示扩展字段
-F|--fib #显示转发信息
-C|--cache #显示路由缓存
-V|--version #显示版本信息
-h|--help #显示帮助信息
-f #清除网关入口处路由表
-net #目标是一个网络
-host #目标是一个主机
#常用子命令
add
del
flush
netmask
gw
metric
Destination
Gateway

示例

#查看路由表
[root@Rocky86 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default bogon 0.0.0.0 UG 100 0 0 eth0
bogon 0.0.0.0 255.255.255.0 U 100 0 0 eth0
bogon 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
#查看路由表,以IP格式显示
[root@Rocky86 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0



在这里插入图片描述

1.5.4 netstat 命令
来自于net-tools包,建议使用 ss 代替
显示网络连接

[root@Rocky8 ~]# netstat --help
usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}
       netstat [-vWnNcaeol] [<Socket> ...]
       netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]

        -r, --route              display routing table
        -I, --interfaces=<Iface> display interface table for <Iface>
        -i, --interfaces         display interface table
        -g, --groups             display multicast group memberships
        -s, --statistics         display networking statistics (like SNMP)
        -M, --masquerade         display masqueraded connections

        -v, --verbose            be verbose
        -W, --wide               don't truncate IP addresses
        -n, --numeric            don't resolve names
        --numeric-hosts          don't resolve host names
        --numeric-ports          don't resolve port names
        --numeric-users          don't resolve user names
        -N, --symbolic           resolve hardware names
        -e, --extend             display other/more information
        -p, --programs           display PID/Program name for sockets
        -o, --timers             display timers
        -c, --continuous         continuous listing

        -l, --listening          display listening server sockets
        -a, --all                display all sockets (default: connected)
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB
        -Z, --context            display SELinux security context for sockets

  <Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}
           {-x|--unix} --ax25 --ipx --netrom
  <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 
[root@Rocky8 ~]# 

#常用选项
-A #指定网络类型
inet|inet6|unix|ipx|ax25|netrom|econet|ddp|bluetooth
-r|--route #显示路由表
-t|--tcp #显示tcp端口数据
-u|--udp #显示udp端口数据
-w|--raw #raw socket相关
-l|--listening #仅显示处于监听状态的端口
-a|--all #所有数据
-n|--numeric #以数字显示IP和端口
-s|--statistice #显示统计数据
-p|--program #显示相关进程及PID
-x|--unix #同 -A unix
-ip|--inet #同 -A
-I|--interfaces=<Iface> #指定设备
#常用组合
-tan, -uan, -tnl, -unl

示例

#以IP格式显示路由表
[root@Rocky86 ~]# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0


#显示所有连接
[root@Rocky86 ~]# netstat
#显示所有连接,都以数字IP格式显示主机
[root@Rocky86 ~]# netstat -n
#显示tcp连接 - 仅显示己建立连接的
[root@Rocky86 ~]# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 1 0 10.0.0.150:47692 8.43.85.3:443 CLOSE_WAIT
tcp 0 36 10.0.0.150:22 10.0.0.1:54318 ESTABLISHED
tcp 0 0 10.0.0.150:22 10.0.0.1:53515 ESTABLISHED

#以数字IP显示所有状态的tcp,udp连接
[root@Rocky86 ~]# netstat -ntua
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 1 0 10.0.0.150:47692 8.43.85.3:443 CLOSE_WAIT
tcp 0 36 10.0.0.150:22 10.0.0.1:54318 ESTABLISHED
tcp 0 0 10.0.0.150:22 10.0.0.1:53515 ESTABLISHED
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::33873 :::* LISTEN
udp 0 0 127.0.0.1:756 0.0.0.0:*
udp 0 0 10.0.0.150:68 10.0.0.254:67 ESTABLISHED
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp6 0 0 :::34279 :::*
......
#仅显示Listen 状态的TCP,UDP连接,并显示进程ID和程序
[root@Rocky86 ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
1862/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
1057/sshd
tcp6 0 0 :::22 :::* LISTEN
1057/sshd
tcp6 0 0 :::111 :::* LISTEN
1/systemd
tcp6 0 0 :::33873 :::* LISTEN
1428/rpc.statd
udp 0 0 127.0.0.1:756 0.0.0.0:*
1428/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:*
1/systemd
udp 0 0 0.0.0.0:5353 0.0.0.0:*
1020/avahi-daemon:
udp6 0 0 :::111 :::*
1/systemd
......

如何查看是哪个程序在监听端口

[root@Rocky86 ~]# netstat -tunlp | grep 22
[root@Rocky86 ~]# ss -ntuap | grep 22
[root@Rocky86 ~]# lsof -i:22

显示接口统计数据

#统计所有网卡信息
netstat -i|ifconfig -s|cat /proc/net/dev
#统计所有指定信息
netstat -Ieth0|netstat -I=eth0|ifconfig -s eth0|{cat /proc/net/dev|grep eth0}

1.5.4 ip命令

来自于iproute包,可用于代替ifconfig

[root@Rocky8 ~]# which ip
/usr/sbin/ip
[root@Rocky8 ~]# ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { address | addrlabel | amt | fou | help | ila | ioam | l2tp |
                   link | macsec | maddress | monitor | mptcp | mroute | mrule |
                   neighbor | neighbour | netconf | netns | nexthop | ntable |
                   ntbl | route | rule | sr | tap | tcpmetrics |
                   token | tunnel | tuntap | vrf | xfrm }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec | -j[son] | -p[retty] |
                    -f[amily] { inet | inet6 | mpls | bridge | link } |
                    -4 | -6 | -M | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } | -br[ief] |
                    -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
                    -c[olor]}
[root@Rocky8 ~]# 

#主要用来查看链路层信息
[root@Rocky86 ~]# ip link
add delete help set show
[root@Rocky86 ~]# ip address
add change del flush help replace show
[root@Rocky86 ~]# ip route
add append change del flush get help list monitor
replace
[root@Rocky86 network-scripts]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
default qlen 1000
link/ether 00:0c:29:f3:44:a4 brd ff:ff:ff:ff:ff:ff
#禁用网卡
[root@Rocky86 network-scripts]# ip link set eth1 down
#改名
[root@Rocky86 network-scripts]# ip link set eth1 name eth1-test
#启用
[root@Rocky86 network-scripts]# ip link set eth1-test up
#查看
[root@Rocky86 network-scripts]# ip link show eth1-test
3: eth1-test: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode
DEFAULT group default qlen 1000
link/ether 00:0c:29:f3:44:a4 brd ff:ff:ff:ff:ff:ff
#
#查看网卡
[root@Rocky86 network-scripts]# ip address show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
default qlen 1000
link/ether 00:0c:29:f3:44:a4 brd ff:ff:ff:ff:ff:ff
#向设备添加IP地址
[root@Rocky86 network-scripts]# ip address add 10.0.0.110/24 dev eth1

CentOS 中的网卡配置上多个地址-永久有效

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens224
DEVICE=ens224
NAME=ens224
IPADDR=172.16.1.59
PREFIX=24
IPADDR2=172.16.1.49
PREFIX2=24
IPADDR3=172.16.1.39
PREFIX3=24
GATEWAY=172.16.1.254
BOOTPROTO=static
DNS1=8.8.8.8
#重新生效
[root@localhost ~]# nmcli connection reload;nmcli connection up ens224
#再次查看
[root@localhost ~]# ip a show ens224
#新增别名文件的方法
[root@localhost network-scripts]# cp ifcfg-ens224 ifcfg-ens224:1
[root@localhost network-scripts]# vim ifcfg-ens224:1
DEVICE=ens224:1
IPADDR=172.16.1.19
PREFIX=24
BOOTPROTO=static
#重载配置
[root@localhost network-scripts]#nmcli connection reload;nmcli connection up
ens224
#查看
[root@localhost network-scripts]# ip a show ens224
#如果想删除该配置,则直接删除文件即可
[root@localhost network-scripts]# rm ifcfg-ens224:1
#重载配置
[root@localhost network-scripts]#nmcli connection reload;nmcli connection up
ens224

ip route 用法

#添加路由
ip route add TARGET via GW dev IFACE src SOURCE_IP
#添加网关:
ip route add default via GW dev IFACE
#删除路由:
ip route del TARGET
#显示路由:
ip route show|list
#清空路由表:
ip route flush [dev IFACE] [via PREFIX]
#查看路由过程
ip route get IP

1.5.5 ss命令

来自于iproute包,代替netstat,netstat 通过遍历 /proc来获取 socket信息,ss 使用 netlink与内核
tcp_diag 模块通信获取 socket 信息

[root@Rocky8 ~]# ss --help
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help          this message
   -V, --version       output version information
   -n, --numeric       don't resolve service names
   -r, --resolve       resolve host names
   -a, --all           display all sockets
   -l, --listening     display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes     show process using socket
   -i, --info          show internal TCP information
       --tipcinfo      show internal tipc socket information
   -s, --summary       show socket usage summary
       --tos           show tos and priority information
       --cgroup        show cgroup information
   -b, --bpf           show bpf filter socket information
   -E, --events        continually display sockets as they are destroyed
   -Z, --context       display process SELinux security contexts
   -z, --contexts      display process and socket SELinux security contexts
   -N, --net           switch to the specified network namespace name

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet        display PACKET sockets
   -t, --tcp           display only TCP sockets
   -M, --mptcp         display only MPTCP sockets
   -S, --sctp          display only SCTP sockets
   -u, --udp           display only UDP sockets
   -d, --dccp          display only DCCP sockets
   -w, --raw           display only RAW sockets
   -x, --unix          display only Unix domain sockets
       --tipc          display only TIPC sockets
       --vsock         display only vsock sockets
   -f, --family=FAMILY display sockets of type FAMILY
       FAMILY := {inet|inet6|link|unix|netlink|vsock|tipc|xdp|help}

   -K, --kill          forcibly close sockets, display what was closed
   -H, --no-header     Suppress header line
   -O, --oneline       socket's data printed on a single line
       --inet-sockopt  show various inet socket options

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|mptcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink|vsock_stream|vsock_dgram|tipc}[,QUERY]

   -D, --diag=FILE     Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
       STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
         TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listening|closing}
          connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
       synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
             bucket := {syn-recv|time-wait}
                big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listening|closing}
[root@Rocky8 ~]# 

ss [ OPTIONS ] [ FILTER ]
#常用选项
-n|--numeric #不以主机名的格式显示
-r|--resolve #以主机名的形式显示IP
-a|--all #显示所有数据
-l|--listening #仅显示listen状态的连接
-m|--memory #显示连接内存使用情况
-p|--processes #显示对应的进程
-i|--info #显示TCP连接的详细信息
--tipcinfo #显示TIPC连接的详细信息
-s|--summary #显示统计信息
-4|--ipv4 #仅显示IPV4连接数据
-6|--ipv6 #仅显示IPV6连接数据
-0|--packet #仅显示PACKET数据
-t|--tcp #仅显示tcp数据
-M|--mptcp #仅显示mptcp数据
-S|--sctp #仅显示sctp数据
-u|--udp #仅显示udp数据
-d|--dccp #仅显示dccp数据
-w|--raw #仅显示原生套接字数据
-x|--unix #仅显示unix数据
--tipc #仅显示tipc数据
--vsock #仅显示vsock数据
-f|--family=FAMILY #根据类型过滤
{inet|inet6|link|unix|netlink|vsock|tipc|xdp|help}
-A|--query=QUERY|--socket=QUERY #根据连接类型过滤
{all|inet|tcp|mptcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|ne
tlink|vsock_stream|vsock_dgram|tipc}[,QUERY]
#常用组合
-tan, -uan, -tnl, -unl

示例

#以IP的格式显示所有连接数据
[root@Rocky86 ~]# ss -n
#显示所有TCP连接 - 正处于连接状态
[root@Rocky86 ~]# ss -tn
#显示所有TCP连接
[root@Rocky86 ~]# ss -tan
#显示所有处于监听状态的TCP,UDP连接,并显示程序和进程ID
[root@Rocky86 ~]# ss -tunlp
#同上,并显示统计信息
[root@Rocky86 ~]# ss -tunlps

如何查询是哪个程序在监听指定端口

[root@rocky86 ~]# ss -tulnp | grep 22
[root@rocky86 ~]# lsof -i :22

1.5.6 网络配置工具 nmcli

NetworkManager
NetworkManager 是2004年由RedHat启动的项目,目的是让用户能更轻松的管理Linux中的网络,它是一个动态的,事件驱动的网络管理服务。
该项目提供了丰富的管理工具
图形工具:nm-connection-editor
字符配置工具:nmtui,nmtui-connect,nmtui-edit,nmtui-hostname
命令行工具:nmcli

[root@Rocky8 ~]# which nmcli
/usr/bin/nmcli
[root@Rocky8 ~]# nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -a, --ask                                ask for missing parameters
  -c, --colors auto|yes|no                 whether to use colors in output
  -e, --escape yes|no                      escape columns separators in values
  -f, --fields <field,...>|all|common      specify fields to output
  -g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f
  -h, --help                               print this help
  -m, --mode tabular|multiline             output mode
  -o, --overview                           overview mode
  -p, --pretty                             pretty output
  -s, --show-secrets                       allow displaying passwords
  -t, --terse                              terse output
  -v, --version                            show program version
  -w, --wait <seconds>                     set timeout waiting for finishing operations

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

[root@Rocky8 ~]# 

-a|--ask #询问
-c|--colors #输出时是否显示颜色 auto|yes|no
-e|--escape #是否转义分隔符 yes|no
-f|--fields #指定输出列 <field,...>|all|common
常用
-m|--mode #显示模式 tabular|multiline
-o|--overview #预览模式输出
-p|--pretty #完美格式输出
-t|--terse #简洁格式输出
-v|--version #显示版本信息
-h|--help #显示帮助
#OBJECT
g[eneral] #一般状态管理
n[etworking] #整体网络管理
r[adio] #网络连接切换
c[onnection] #网络连接管理
d[evice] #网络设备管理
a[gent] #网络中的代理
m[onitor] #网络中的流量数据监测
#查看网络连接
nmcli con
nmcli con show
#查看active 状态的连接
nmcli con show --active
#查看指定设备
nmcli con show eth1
#显示设备状态
nmcli dev status
#显示网络接口属性
nmcli dev show eth1
#删除连接
nmcli con del con-eth1
#启用
nmcli con up con-eth1
#禁用
nmcli con down con-eth1
#刷新
nmcli connection reload;
#新增,从dhcp 获取IP地址
nmcli con add con-name con-dhcp type ethernet ifname eth1

2. 网络测试诊断工具

在这里插入图片描述

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值