爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      网络工程师必懂的网络基础知识

      首页 知识中心 其他 文章详情页

      网络工程师必懂的网络基础知识

      2023-05-06 09:04:37 阅读次数:521

      基础,网络

      计算机网络(NETWORK 部分)

      1 ip地址

      1.1 ip 地址的作用?ip 地址分类?

      ip 地址的作用:用来标识一个节点的网络地址。
      2 / 10
      ip 地址分类:

      A 类 1-126
      B 类 128-191
      C 类 192-223
      D 类 224-239(科研)
      E 类 240-254(组播)
      

      1.2. 子网掩码的作用?默认 A B C 类子网掩码?

      子网掩码的作用:用来标识 ip 地址的网络位和主机位。

      A 类:255.0.0.0
      B 类:255.255.0.0
      C 类:255.255.255.0
      

      1.3. 网关的作用?

      网关的作用:从一个网络到另一个网络的关口。

      1.4. 公有地址与私有地址的作用以及范围?

      公有地址的作用:公有地址也可以称为公网地址,通过他可以直接访问因特网,他是广域网范畴内
      的。
      私有地址的作用:私有地址也可以称为专网地址,专门为组织机构内部使用,他是局域网范畴内的,
      出了所在局域网是无法 访问因特网的。
      私有地址的范围:

      A:类 10.0.0.1-10.255.255.254
      B:类 172.16.0.1-172.16.255.254
      C:类 192.168.0.1-192.168.255.254
      

      1.5 查看 Windows 主机 IP 地址的,如何用命令查看 windows 主机 MAC 地址?

      在 windows 中查看 ip:右击网络图标-属性-更改适配器设置-双击本地连接-单击“详细信息”或者
      开始-命令提示符-运行 ipconfig
      在 linux 中查看 ip:直接运行 ifconfig
      查看 mac 地址:开始-命令提示符-运行 ipconfig/all。


      2 网络单位

      2.1. 计算机网络的功能?

      网络的功能:数据通信 资源共享 增加可靠性 提高系统处理能力

      2.2. 计算机存储单位的换算?

      计算机存储可以用位和字节计量

      8 位
      1 字节
      1024 字节 1KB
      1024KB 1MB
      1024MB 1GB
      1024GB 1TB
      

      3 网络模型

      3.1OSI 参考模型一共有七层从下至上分别为 :

      物理层-数据链路层-网络层-传输层-会话层-表示层-应用层
      

      每一层的意义:

      • 物理层:建立,维护,断开物理连接,定义了接口及介质,实现了比特流的传输。
      • 数据链路层:建立逻辑链接,进行硬件地址寻址,差错校验等功能,通过 mac 地址实现数据的通信,
        帧包装,帧传输,帧同步。交换机工作在数据链路层。
      • 网络层:进行逻辑地址寻址,实现不同网络之间的通信,定义了 ip 地址,为数据传输选择最佳路 径,路由器工作在网络层。
      • 传输层:定义传输数据的协议端口号,以及流控和差错校验,实现了程序与程序的互连,可靠与不 可靠的传输。
      • 会话层:建立,管理,中止会话,例如断点续传。
      • 表示层:数据的表现形式,如加密,压缩。
      • 应用层:网络服务与最终用户的一个借口

      3.2 OSI 七层参考模型下四层的数据单元

      1. 传输层 段 segment
      2. 网络层 包 packet
      3. 数据链路层 帧 frame
      4. 物理层 比特 bit

      3.3 tcp/ip 协议有哪几层?名字是?

      tcp/ip 协议由五层或者四层组成:

      1. 网络接口层: 负责网络包在物理网络中的传输,比如 MAC 寻址、错误侦测以及通过网卡传输网络帧等。
      2. 网络层: 负责网络包的封装、寻址和路由,比如 IP、ICMP 等。
      3. 传输层: 负责端到端的通信,比如 TCP、UDP 等。
      4. 应用层: 负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。

      网络工程师必懂的网络基础知识

      3.4 tcp/ip 五层划分

      1. 物理层
      2. 数据链路层
      3. 网络层
      4. 传输层
      5. 应用层

      3.5 应用、传输、网络层的协议?

      应用层:HTTP,https,FTP,TFTP,SMTP,POP3,SNMP,DNS,telnet
      传输层:TCP,UDP
      网络层:ICMP,IGMP,IP,ARP,RARP
      

      3.6 TCP/IP 五层每一层的设备

      应用层 计算机
      传输层 防火墙
      网络层 路由器
      数据链路层 交换机
      物理层
      网卡
      

      4 网线

      4.1 T568A 和 T568B 的顺序?哪些负责发送,哪些负责接收?

      T568A 线序:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕
      T568B 线序:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕
      1,2 发送,3,6 接收
      

      4.2 什么叫标准网线?什么叫交叉网线?分别在什么情况下使用?

      标准网线(直连线或者直通线):用于连接不同设备(A-A,B-B)
      交叉网线:用于连接相同设备 (A-B)
      

      5 交换机

      5.1 MAC 地址长度多少位?多少字节?

      mac 地址长度 48 位(6 字节),前 24 位代表厂商,后 24 为代表网卡编号
      

      5.2 交换机工作原理?

      1.初始状态
      2.根据源 mac 地址学习
      3.除源端口外的端口广播未知数据帧
      4.接收方回应
      5.交换机实现单播通信(转发)
      更新:老化时间 300 秒交换机对应端口的 mac 地址发生变化时同样进行更新
      

      5.3 目前常用的 Cisco 交换机有哪些型号?价格大约是多少?

      cisco2960 系列交换机 5k 元左右
      cisco3560 系列交换机 2w 元左右
      cisco4500 系列交换机 5w 元左右
      cisco6500 系列交换机 20w 左右
      

      5.4 交换机可以设置网关吗?如何设置?给交换机配置网关的目的?

      交换机可以设置网关
      在全局配置模式下:

      ip default-gateway 网关 IP 地址
      

      交换机配置网关的目的是实现不同网段的计算机能够对该交换机远程管理。


      6 路由

      6.1 子网掩码

      作用:用于区分 IP 地址的网络位与主机位
      计算:网络位用连续的 1,主机位用连续的 0 表示

      6.2 网络 ID

      网络位的 IP 地址不变,主机位用连续的 0 表示

      6.3 广播地址

      IP 地址的广播地址计算:网络位的 IP 不变,主机位用连续的 1 表示。
      IP 地址的广播地址:为 IP 地址网段的最后一个地址(即该网段的最大值)

      6.4 可用主机 IP 个数的计算

      2 主机位次方-2

      6.5 什么是路由?路由器的工作原理?

      路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程。
      路由器的工作原理:根据路由表选择最佳路径,每个路由器都维护着一张路由表,这是路由器转发
      数据包的关键,每条路由表记录指明了到达某个子网或主机应从路由器的哪个物理端口发送,通过
      此端口可到达该路径的下一个路由器的地址。
      

      6.6 路由表的形成?

      路由表的获得,直连路由:配置 IP 地址,端口 UP 状态,形成直连路由。
      非直连网段:需要静态路由或动态路由,将网段添加到路由表中

      6.7 静态路由与动态路由的特点?列举几个常见的动态路由协议?

      静态路由特点:由管理员手工配置的,是单向的,因此需要在两个网络之间的边缘路由器上需要双
      方对指,否则就会造成流量有去无回,缺乏灵活性,适用于小型网络。
      
      动态路由的特点动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更
      新路由表的过程,是基于某种路由协议来实现的。常见的路由协议类型有:距离矢量路由协议(如
      RIP)和链路状态路由协议(如 OSPF)。路由协议定义了路由器在与其他路由器通信时的一些规则。
      

      6.8 什么是浮动路由?什么是缺省路由?

      浮动路由:配置一个管理距离更大的静态路由,作为应急触发的备份路径,在主路由有效的情况下,
      浮动路由不会出现在路由表中。
      
      缺省路由:缺省路由是一种特殊的静态路由,杜宇末梢网络的主机来说,也被称为“默认网关”
      缺省路由的目标网络为 0.0.0.0/0.0.0.0 ,可匹配任何目标地址,只有当从路由表中找不到任何明
      确的路由条目时,才会使用缺省路由。
      

      6.9 访问一台主机访问不了请问如何排错?具体思路是哪些?

      两台主机之间访问不了可能是开启了防火墙或者两台主机没有在一个网段,是不是有正确的网关地
      址,主机跟网关直间是否能够 ping 通,dns 是否能够正常解析。
      解决方法:

      1.检查防火墙是否关闭,查看两个主机是否在一个网络当中。
      2.ping 网关是否能通;
      3.用 dns 解析一下域名是否能够正常的解析。
      

      7 协议

      7.1 传输层的协议有哪些?,分别是什么特点?

      TCP:传输控制协议,可靠的,面向连接的协议,传输效率低
      UDP:用户数据包协议 不可靠的,无连接的服务,传输效率高。
      

      7.2 简单描述一下 TCP 连接与断开?

      tcp 通过三次握手链接,通过四次断开
      syn:建立连接时将这个值设为 1
      ACK:当 ACK=1 表示确认,ACK=0 表示确认无效
      FIN:FIN=1 表示断开连接请求
      

      7.3 请简单描述一下常见的应用层协议都有哪些、传输层使用的什么协议,端口号多少?

      DNS-TCP 或 UDP 端口号 53
      HTTP-TCP 端口号 80
      HTTPS-TCP 端口号 443
      SMTP-TCP 端口号 25
      POP3-TCP 端口号 110
      TELNET-TCP 端口号 23
      FTP-TCP 端口号 21 和 20
      TFTP-UDP 端口号 69
      

      8 思科路由

      8.1 什么是 Vlan?Vlan 的作用?默认交换机的接口在那个 Vlan 中? Vlan 的种类 ?

      Vlan:虚拟局域网
      作用:广播控制、提高安全性、带宽利用、减少延迟
      默认交换机接口在 vlan1 中
      vlan 的种类:基于端口划分的静态 vlan 和基于 mac 地址划分的动态 vlan
      

      8.2 什么是 Trunk?Trunk 的模式有哪些?

      trunk:中继链路,可以承载多个 vlan
      trunk 模式:
      接入(Access)
      干道(Trunk)
      动态企望(desirable)主动
      动态自动(auto ) 被动
      

      8.3 ISL 和 802.1Q 的异同

      相同点:都是显示了 VLAN 的信息
      不同点:
      IEEE 802.1Q 是公有的标记方式,ISL 是 Cisco 私有的
      ISL 采用外部标记的方法,802.1Q 采用内部标记的方法
      ISL 标记的长度为 30 字节,802.1Q 标记的长度为 4 字节
      

      8.4 什么是 EtherChannel?有什么作用?

      Eternetchannel(以太网通道)功能:多条线路负载均衡,带宽提高,当一条线路失效时,其他线路通
      信,不会丢包。

      8.5 什么是 DHCP?DHCP 的作用?

      DHCP:动态主机配置协
      作用:给客户机自动分配 ip 地址


      9 三层交换机

      9.1 什么是三层交换机?二层交换与三层交换和路由有什么区别?

      三层交换机:具有网络层路由功能的交换机称为三层交换机
      区别:
      二层交换机:属于数据链路层设备,根据 MAC 地址表实现数据帧的转发。
      三层交换机: 三层交换技术就是将路由技术与交换技术合二为一的技术。在对第一个数据流进行路由后,
      它将会产生一个 MAC 地址与 IP 地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通
      过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。
      路由器:路由器工作于 OSI 七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据
      其中所含的目的地址,决定转发到下一个目的地址。
      

      9.2 按应用范围的不同,路由协议的类?

      按应用范围的不同,路由协议可分为两类

      1.在一个 AS 内的路由协议称为内部网关协议,内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,
      EIGRP,IS-IS 和 OSPF。
      2.AS 之间的路由协议称为外部网关协议。
      外部网关协议(也叫域 间路由协议)。域间路由协议有两种:外部网关协议(EGP)和边界网关协议(BGP)
      

      9.3 动态路由按照算法分哪几类?分别举例说明?

      动态路由按照算法可以分为:距离矢量路由协议,链路状态路由协议
      距离矢量路由协议:依据从源网络到目标网络所经过的路由的个数选择路由 RIP,IGRP
      链路状态路由协议:综合考虑从源网络到目标网络的各条路径的情况选择路由 OSPF,IS-IS
      

      10 路由协议

      10.1 什么是 HSRP?工作原理是?

      HSRP:热备份路由协议
      HSRP 是 cisco 私有协议,确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,
      以此为 IP 网络提供冗余行。通过使用同一个虚拟 IP 地址和虚拟 MAC 地址,LAN 网段上的两台或者多台
      路由器可以作为一台虚拟路由器对外提供服务。 HSRP 使组内的 cisco 路由器能互相监视对方的运行状态。
      

      10.2 什么是 STP?作用?

      STP:生成树协议
      作用:逻辑上断开环路,防止广播风暴的产生,当线路故障,阻塞接口被激活,恢复通信,起备份线路
      的作用。
      

      11 ACL(访问控制列表)

      1. 什么是 ACL?
      ACL(访问控制列表):读取第三层,第四层包头信息,根据预先定义好的规则对包进行过滤。
      
      1. 通配符掩码的作用?
      通配符掩码:也叫做反码。用二进制数 0 和 1 表示,如果某位为 1,表明这一位不需要进行匹配操作,
      如果为 0 表明需要严格匹配。
      

      12 NAT(网络转发)

      12.1 什么是 NAT?有哪些实现方式?

      NAT(网络地址转换):
      通过将内部网络的私有 IP 地址翻译成全球唯一的公有 IP 地址,使内部网络可以连接到互联网等外部网络上。
      NAT 的实现方式:

      1. 静态转换;IP 地址的对应关系是一对一,而且是不变的,借助静态转换,能实现外部网络中某些特定服 务器的访问。
      2. 动态转换:IP 地址的对应关系是不确定的,而是随机的,所有被授权访问互联网的私有地址可以随机的 转换为任何指定的合法的外部 IP 地址
      3. 端口多路复用:通过改变外出数据包的源 IP 地址和源端口并进行端口转换,内部网络的所有主机均可 共享一个合法的 IP
        地址实现互联网的访问,节约 IP

      13. 网络

      13.1 Linux 网络栈

      有了 TCP/IP 模型后,在进行网络传输时,数据包就会按照协议栈,对上一层发来的数据进行逐层处理;然后封装上该层的协议头,再发送给下一层。当然,网络包在每一层的处理逻辑,都取决于各层采用的网络协议。比如在应用层,一个提供 REST API 的应用,可以使用 HTTP 协议,把它需要传输的 JSON 数据封装到 HTTP 协议中,然后向下传递给 TCP 层。而封装做的事情就很简单了,只是在原来的负载前后,增加固定格式的元数据,原始的负载数据并不会被修改。比如,以通过 TCP 协议通信的网络包为例,通过下面这张图,我们可以看到,应用程序数据在每个层的封装格式。
      网络工程师必懂的网络基础知识
      其中:

      • 传输层在应用程序数据前面增加了 TCP 头;
      • 网络层在 TCP 数据包前增加了 IP 头;
      • 而网络接口层,又在 IP 数据包前后分别增加了帧头和帧尾。

      这些新增的头部和尾部,都按照特定的协议格式填充,想了解具体格式,你可以查看协议的文档。 比如,你可以查看这里,了解 TCP 头的格式。这些新增的头部和尾部,增加了网络包的大小,但我们都知道,物理链路中并不能传输任意大小的数据包。网络接口配置的最大传输单元(MTU),就规定了最大的 IP 包大小。在我们最常用的以太网中,MTU 默认值是 1500(这也是 Linux 的默认值)。一旦网络包超过 MTU 的大小,就会在网络层分片,以保证分片后的 IP 包不大于 MTU 值。显然,MTU 越大,需要的分包也就越少,自然,网络吞吐能力就越好。

      就是 Linux 通用 IP 网络栈的示意图:
      网络工程师必懂的网络基础知识
      我们从上到下来看这个网络栈,你可以发现,

      • 最上层的应用程序,需要通过系统调用,来跟套接字接口进行交互;
      • 套接字的下面,就是我们前面提到的传输层、网络层和网络接口层;
      • 最底层,则是网卡驱动程序以及物理网卡设备。

      13.2 网络包的接收流程

      当一个网络帧到达网卡后,网卡会通过 DMA 方式,把这个网络包放到收包队列中;然后通过硬中断,告诉中断处理程序已经收到了网络包。接着,网卡中断处理程序会为网络帧分配内核数据结构(sk_buff),并将其拷贝到 sk_buff 缓冲区中;然后再通过软中断,通知内核收到了新的网络帧。

      接下来,内核协议栈从缓冲区中取出网络帧,并通过网络协议栈,从下到上逐层处理这个网络帧。比如:

      • 在链路层检查报文的合法性,找出上层协议的类型(比如 IPv4 还是 IPv6),再去掉帧头、帧尾,然后交给网络层。
      • 网络层取出 IP 头,判断网络包下一步的走向,比如是交给上层处理还是转发。当网络层确认这个包是要发送到本机后,就会取出上层协议的类型(比如TCP 还是 UDP),去掉 IP 头,再交给传输层处理。
      • 传输层取出 TCP 头或者 UDP 头后,根据 < 源 IP、源端口、目的 IP、目的端口 > 四元组作为标识,找出对应的Socket,并把数据拷贝到 Socket 的接收缓存中。

      最后,应用程序就可以使用 Socket 接口,读取到新接收到的数据了。为了更清晰表示这个流程,我画了一张图,这张图的左半部分表示接收流程,而图中的粉色箭头则表示网络包的处理路径。
      网络工程师必懂的网络基础知识

      13.3 网络包的发送流程

      了解网络包的接收流程后,就很容易理解网络包的发送流程。网络包的发送流程就是上图的右半部分,很容易发现,网络包的发送方向,正好跟接收方向相反。

      • 首先,应用程序调用 Socket API(比如sendmsg)发送网络包。由于这是一个系统调用,所以会陷入到内核态的套接字层中。套接字层会把数据包放到 Socket 发送缓冲区中。
      • 接下来,网络协议栈从 Socket 发送缓冲区中,取出数据包;再按照 TCP/IP栈,从上到下逐层处理。比如,传输层和网络层,分别为其增加 TCP 头和 IP 头,执行路由查找确认下一跳的 IP,并按照 MTU大小进行分片。
      • 分片后的网络包,再送到网络接口层,进行物理地址寻址,以找到下一跳的 MAC 地址。然后添加帧头和帧尾,放到发包队列中。
      • 这一切完成后,会有软中断通知驱动程序:发包队列中有新的网络帧需要发送。最后,驱动程序通过 DMA
        ,从发包队列中读出网络帧,并通过物理网卡把它发送出去。

      13.4 性能指标

      • 带宽,表示链路的最大传输速率,单位通常为 b/s (比特 / 秒)。
      • 吞吐量,表示单位时间内成功传输的数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字节 / 秒)。吞吐量受带宽限制,而吞吐量 /带宽,也就是该网络的使用率。
      • 延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会有不同含义。比如,它可以表示,建立连接需要的时间(比如TCP 握手延时),或一个数据包往返所需的时间(比如 RTT)。
      • PPS,是 Packet Per Second(包 / 秒)的缩写,表示以网络包为单位的传输速率。PPS通常用来评估网络的转发能力,比如硬件交换机,通常可以达到线性转发(即 PPS 可以达到或者接近理论最大值)。而基于 Linux服务器的转发,则容易受网络包大小的影响。
      • 除了这些指标,网络的可用性(网络能否正常通信)、并发连接数(TCP 连接数量)、丢包率(丢包百分比)、重传率(重新传输的网络包比例)等也是常用的性能指标。

      13.5 网络配置

      分析网络问题的第一步,通常是查看网络接口的配置和状态。你可以使用 ifconfig 或者 ip 命令,来查看网络的配置。我个人更推荐使用 ip 工具,因为它提供了更丰富的功能和更易用的接口。ifconfig 和 ip 分别属于软件包 net-tools 和 iproute2,iproute2 是 net-tools 的下一代。通常情况下它们会在发行版中默认安装。但如果你找不到 ifconfig 或者 ip 命令,可以安装这两个软件包。

      $ ifconfig eth0
      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
            inet 10.240.0.30 netmask 255.240.0.0 broadcast 10.255.255.255
            inet6 fe80::20d:3aff:fe07:cf2a prefixlen 64 scopeid 0x20<link>
            ether 78:0d:3a:07:cf:3a txqueuelen 1000 (Ethernet)
            RX packets 40809142 bytes 9542369803 (9.5 GB)
            RX errors 0 dropped 0 overruns 0 frame 0
            TX packets 32637401 bytes 4815573306 (4.8 GB)
            TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
      ​
      $ ip -s addr show dev eth0
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 78:0d:3a:07:cf:3a brd ff:ff:ff:ff:ff:ff
        inet 10.240.0.30/12 brd 10.255.255.255 scope global eth0
            valid_lft forever preferred_lft forever
        inet6 fe80::20d:3aff:fe07:cf2a/64 scope link
            valid_lft forever preferred_lft forever
        RX: bytes packets errors dropped overrun mcast
         9542432350 40809397 0       0       0       193
        TX: bytes packets errors dropped carrier collsns
         4815625265 32637658 0       0       0       0
      

      它们都包括了网络接口的状态标志、MTU 大小、IP、子网、MAC 地址以及网络包收发的统计信息。

      第一,网络接口的状态标志。ifconfig 输出中的 RUNNING ,或 ip 输出中的 LOWER_UP ,都表示物理网络是连通的,即网卡已经连接到了交换机或者路由器中。如果你看不到它们,通常表示网线被拔掉了。
      第二,MTU 的大小。MTU 默认大小是 1500,根据网络架构的不同(比如是否使用了 VXLAN 等叠加网络),你可能需要调大或者调小 MTU 的数值。
      第三,网络接口的 IP 地址、子网以及 MAC 地址。这些都是保障网络功能正常工作所必需的,你需要确保配置正确。
      第四,网络收发的字节数、包数、错误数以及丢包情况,特别是 TX 和 RX 部分的 errors、dropped、overruns、carrier 以及 collisions 等指标不为 0 时,通常表示出现了网络 I/O 问题。其中:

      • errors 表示发生错误的数据包数,比如校验错误、帧同步错误等;
      • dropped 表示丢弃的数据包数,即数据包已经收到了 Ring
        Buffer,但因为内存不足等原因丢包;overruns 表示超限数据包数,即网络 I/O 速度过快,导致 Ring Buffer中的数据包来不及处理(队列满)而导致的丢包;
        carrier 表示发生 carrirer错误的数据包数,比如双工模式不匹配、物理电缆出现问题等;
        collisions 表示碰撞数据包数。

      13.6 套接字信息

      ifconfig 和 ip 只显示了网络接口收发数据包的统计信息,但在实际的性能问题中,网络协议栈中的统计信息,我们也必须关注。你可以用 netstat 或者 ss ,来查看套接字、网络栈、网络接口以及路由表的信息。

      # head -n 3 表示只显示前面3行
      # -l 表示只显示监听套接字
      # -n 表示显示数字地址和端口(而不是名字)
      # -p 表示显示进程信息
      $ netstat -nlp | head -n 3
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      840/systemd-resolve
      
      # -l 表示只显示监听套接字
      # -t 表示只显示 TCP 套接字
      # -n 表示显示数字地址和端口(而不是名字)
      # -p 表示显示进程信息
      $ ss -ltnp | head -n 3
      State    Recv-Q    Send-Q        Local Address:Port        Peer Address:Port
      LISTEN   0         128           127.0.0.53%lo:53               0.0.0.0:*        users:(("systemd-resolve",pid=840,fd=13))
      LISTEN   0         128                 0.0.0.0:22               0.0.0.0:*        users:(("sshd",pid=1459,fd=3))
      

      etstat 和 ss 的输出也是类似的,都展示了套接字的状态、接收队列、发送队列、本地地址、远端地址、进程 PID 和进程名称等。其中,接收队列(Recv-Q)和发送队列(Send-Q)需要你特别关注,它们通常应该是 0。当你发现它们不是 0 时,说明有网络包的堆积发生。当然还要注意,在不同套接字状态下,它们的含义不同。

      当套接字处于连接状态(Established)时:

      • Recv-Q 表示套接字缓冲还没有被应用程序取走的字节数(即接收队列长度)。
      • 而 Send-Q 表示还没有被远端主机确认的字节数(即发送队列长度)。

      当套接字处于监听状态(Listening)时

      • Recv-Q 表示全连接队列的长度。
      • 而 Send-Q 表示全连接队列的最大长度。

      所谓全连接,是指服务器收到了客户端的 ACK,完成了 TCP 三次握手,然后就会把这个连接挪到全连接队列中。这些全连接中的套接字,还需要被 accept() 系统调用取走,服务器才可以开始真正处理客户端的请求。

      与全连接队列相对应的,还有一个半连接队列。所谓半连接是指还没有完成 TCP 三次握手的连接,连接只进行了一半。服务器收到了客户端的 SYN 包后,就会把这个连接放到半连接队列中,然后再向客户端发送 SYN+ACK 包。

      13.7 协议栈统计信息

      $ netstat -s
      ...
      Tcp:
          3244906 active connection openings
          23143 passive connection openings
          115732 failed connection attempts
          2964 connection resets received
          1 connections established
          13025010 segments received
          17606946 segments sent out
          44438 segments retransmitted
          42 bad segments received
          5315 resets sent
          InCsumErrors: 42
      ...
      
      $ ss -s
      Total: 186 (kernel 1446)
      TCP:   4 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
      
      Transport Total     IP        IPv6
      *    1446      -         -
      RAW    2         1         1
      UDP    2         2         0
      TCP    4         3         1
      ...
      

      这些协议栈的统计信息都很直观。ss 只显示已经连接、关闭、孤儿套接字等简要统计,而 netstat 则提供的是更详细的网络协议栈信息。比如,上面 netstat 的输出示例,就展示了 TCP 协议的主动连接、被动连接、失败重试、发送和接收的分段数量等各种信息。

      13.8 网络吞吐和 PPS

      给 sar 增加 -n 参数就可以查看网络的统计信息,比如网络接口(DEV)、网络接口错误(EDEV)、TCP、UDP、ICMP 等等。执行下面的命令,你就可以得到网络接口统计信息:

      # 数字1表示每隔1秒输出一组数据
      $ sar -n DEV 1
      Linux 4.15.0-1035-azure (ubuntu)   01/06/19   _x86_64_  (2 CPU)
      
      13:21:40        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
      13:21:41         eth0     18.00     20.00      5.79      4.25      0.00      0.00      0.00      0.00
      13:21:41      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
      13:21:41           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
      
      • rxpck/s 和 txpck/s 分别是接收和发送的 PPS,单位为包 / 秒。
      • rxkB/s 和 txkB/s 分别是接收和发送的吞吐量,单位是 KB/ 秒。
      • rxcmp/s 和 txcmp/s 分别是接收和发送的压缩数据包数,单位是包 / 秒。
      • %ifutil 是网络接口的使用率,即半双工模式下为 (rxkB/s+txkB/s)/Bandwidth,而全双工模式下为
        max(rxkB/s, txkB/s)/Bandwidth。

      其中,Bandwidth 可以用 ethtool 来查询,它的单位通常是 Gb/s 或者 Mb/s,不过注意这里小写字母 b ,表示比特而不是字节。我们通常提到的千兆网卡、万兆网卡等,单位也都是比特。如下你可以看到,我的 eth0 网卡就是一个千兆网卡:

      $ ethtool eth0 | grep Speed
        Speed: 1000Mb/s
      

      13.9 连通性和延时

      最后,我们通常使用 ping ,来测试远程主机的连通性和延时,而这基于 ICMP 协议。比如,执行下面的命令,你就可以测试本机到 114.114.114.114 这个 IP 地址的连通性和延时:

      # -c3表示发送三次ICMP包后停止
      $ ping -c3 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=54 time=244 ms
      64 bytes from 114.114.114.114: icmp_seq=2 ttl=47 time=244 ms
      64 bytes from 114.114.114.114: icmp_seq=3 ttl=67 time=244 ms
      
      --- 114.114.114.114 ping statistics ---
      3 packets transmitted, 3 received, 0% packet loss, time 2001ms
      rtt min/avg/max/mdev = 244.023/244.070/244.105/0.034 ms
      

      ping 的输出,可以分为两部分

      • 第一部分,是每个 ICMP 请求的信息,包括 ICMP 序列号(icmp_seq)、TTL(生存时间,或者跳数)以及往返延时。
      • 第二部分,则是三次 ICMP 请求的汇总。

      比如上面的示例显示,发送了 3 个网络包,并且接收到 3 个响应,没有丢包发生,这说明测试主机到 114.114.114.114 是连通的;平均往返延时(RTT)是 244ms,也就是从发送 ICMP 开始,到接收到 114.114.114.114 回复的确认,总共经历 244ms。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://ghostwritten.blog.csdn.net/article/details/105303448,作者:ghostwritten,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:JAVA泛型中? T K V E等代表的意思

      下一篇:Linux 特殊权限a,i,t,s以及查找带有特殊权限的所有文件

      相关文章

      2025-05-14 09:51:21

      Docker大学生看了都会系列(十、Docker网络)

      docker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动一个容器时会根据docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网络网关。

      2025-05-14 09:51:21
      docker , Docker , 容器 , 宿主机 , 模式 , 网桥 , 网络
      2025-05-06 09:19:39

      【30天玩转python】网络编程基础

      网络编程是指编写能够在网络上进行通信的程序,通过网络进行数据的发送与接收。Python 提供了许多库和工具来进行网络编程,如 socket、urllib 和 requests。

      2025-05-06 09:19:39
      TCP , 地址 , 端口 , 编程 , 网络
      2025-05-06 09:18:49

      【Linux 从基础到进阶】Docker 网络配置与调优

      Docker 提供了强大的网络功能,使得容器之间、容器与宿主机、容器与外部网络之间的通信变得高效而灵活。理解和优化 Docker 网络配置对于确保容器应用的性能和可靠性至关重要。

      2025-05-06 09:18:49
      Docker , 容器 , 宿主机 , 网络
      2025-03-28 07:42:20

      知识图谱的演化:从语义网络到智能决策的关键

      知识图谱的演化:从语义网络到智能决策的关键

      2025-03-28 07:42:20
      图谱 , 数据 , 知识 , 网络 , 语义
      2025-03-27 09:41:50

      初识aurora

      初识aurora

      2025-03-27 09:41:50
      其他 , 笔记 , 网络
      2025-03-26 09:05:38

      Docker网络模型深度解析

      Docker 的网络模型是 Docker 容器之间以及与宿主机之间进行通信的基础。Docker 提供了几种不同的网络模式,包括 bridge(桥接模式,默认模式)、host(主机模式)、none(无网络模式)、container(容器模式)以及自定义网络(如 overlay 网络,用于 Docker Swarm)。这里,我们将详细解析 bridge 网络模式,并提供一个实际的代码示例,展示如何创建容器并让它们在同一桥接网络上通信。

      2025-03-26 09:05:38
      Docker , 创建 , 容器 , 网络
      2025-03-21 06:57:11

      课程介绍,基础—环境安装、判断、循环语句等(爬虫及数据可视化)

      课程介绍,基础—环境安装、判断、循环语句等(爬虫及数据可视化)

      2025-03-21 06:57:11
      python , 关键字 , 可视化 , 爬虫 , 网络 , 语句 , 运算符
      2025-03-21 06:57:11

      Linux——网络基础

      网络通信协议的设计非常复杂,因此需要进行协议分层,使其具有模块化。

      2025-03-21 06:57:11
      主机 , 协议 , 地址 , 数据 , 端口号 , 网络 , 通信
      2025-03-17 08:27:30

      docker之容器网络篇

      docker之容器网络篇

      2025-03-17 08:27:30
      namespace , network , 容器 , 网络 , 自定义
      2025-03-11 09:34:18

      【python基础】学习路线

      【python基础】学习路线

      2025-03-11 09:34:18
      python , 函数 , 基础 , 字典
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5249382

      查看更多

      最新文章

      Docker大学生看了都会系列(十、Docker网络)

      2025-05-14 09:51:21

      docker之容器网络篇

      2025-03-17 08:27:30

      【python基础】学习路线

      2025-03-11 09:34:18

      【网关】什么是网关、网桥和交换机(集线器、网桥、交换机、路由器、网关大解析)

      2025-02-21 08:57:46

      vlan划分详解

      2024-12-20 07:55:40

      【云原生技术】Docker基础知识-docker0网桥

      2024-12-13 06:53:39

      查看更多

      热门文章

      ARP渗透与攻防之ARP原理

      2023-08-03 06:46:43

      前端学习:css基本知识

      2023-03-21 10:30:17

      PKI基础与应用

      2023-03-23 06:48:15

      自定义函数基础(内有实操)

      2023-03-15 09:28:04

      CDH网络要求(Lenovo参考架构)

      2023-03-31 09:52:30

      结构体基础

      2023-03-15 09:28:04

      查看更多

      热门标签

      linux java python javascript 数组 前端 docker Linux vue 函数 shell git 节点 容器 示例
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      Nessus Host Discovery

      零信任:新时代的网络安全

      IPv6路由综合运用

      GNS3:动态路由 OSPF协议(ospf虚拟链路)&&(ospf末梢 )&&(ospf完全末梢)

      如何确保网络传输的安全性和稳定性?

      认识“协议”

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号