当前位置: 首页 > news >正文

【Linux】第十一章 管理网络

目录

1.TCP/IP网络模型

物理层(Physical)

数据链路层(Date Link)

网络层(Internet)

传输层(Transport)

应用层(Application)

2. 对于 IPv4 地址,请说明地址结构,以及如何划分网络位和主机位。

3. 在掩码为24(255.255.255.0)的子网中,最多能有多少台主机?为什么?

4. 怎么理解IPv4路由?

5. 对于 IPv6 地址,请说明地址结构以及它的子网划分。

6. Linux 中如何解析主机名和 IP 地址的对应关系?

7. RHEL9 如何显示网络的 IP 地址?

8. RHEL9 的网络配置文件保存在哪个目录,解释 device 和 connection 的含义。

9. 使用什么命令可以修改静态主机名?静态主机名存储在哪个文件中?


1.TCP/IP网络模型

自下而上,从里到外介绍每一层。

物理层(Physical)

电脑与外界互联网通信,需要先连接网络,可以用网线(电信号:电压)、光纤(光脉冲:亮灭)、Wi-Fi(无线电波:频率变化)、蓝牙(短距离无线电信号)等方式。物理层主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。

数据链路层(Date Link)

单纯的0和1没有任何意义,所以使用者会为其赋予一些特定的含义。数据链路层确定了物理层传输的0和1的分组方式及代表的意义。早期的时候,每家公司都有自己的电信号分组方式。逐渐地,一种叫做”以太网”(Ethernet)的协议,占据了主导地位。通过该协议将传输的电信号进行分组,每一组电信号构成一个数据包,叫做“帧(Frame)”。每一个帧包含标头(Head)和数据(Data)两部分。

数据包的发送者和接收者是如何标识的呢?以太网规定,连入网络的所有设备都必须具有”网卡”接口。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。有了MAC地址,就可以定位网卡和数据包的路径。

在物理层传0和1的基础上,数据链路层负责“打包+标记地址+纠错”,让一段一段的数据安全送到正确的隔壁设备。

网络层(Internet)

以太网采用广播方式发送数据包,即会向本网络内所有接收方的计算机都发送数据包,让每台计算机读取这个包的”标头”,找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种方式效率低,而且发送的数据只能局限在发送者所在的子网络中

因此网络层就引进了一套新的地址——网络地址,此时每台计算机有了两种地址——MAC地址和网络地址。如果MAC地址属于同一个子网络,就采用广播方式发送,否则采用“路由”方式发送。使用路由方式,数据会先发给本地默认网关(路由器)的MAC地址,让路由器根据IP地址来继续帮你转发数据。

规定网络地址的协议叫做IP协议,它所定义的的地址被称为IP地址,目前广泛使用的是IP协议第四版,简称IPv4。该版本规定网络地址由32个二进制位组成,我们通常习惯用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。

根据IP协议发送的数据,就叫做IP数据包。IP数据包也分为”标头”和”数据”两个部分。

传输层(Transport)

有了MAC和IP地址,我们就可以在任意两台计算机之间建立通信。但是又有问题:如何区分某个数据包到底是发送到主机上的哪一个程序呢?此时就需要一个参数——端口(port),它是每一个使用网卡的程序的编号,来帮助我们区分特定程序。

端口的范围是0-65535,其中0-1023的端口被系统占用,用户只能选择大于1023的的端口。

我们必须在数据包中加入端口信息,这就需要新的协议。最简单的实现叫做UDP协议,它的格式几乎就是在数据前面,加上端口号。UDP数据包,也是由”标头”和”数据”两部分组成。

UDP协议的优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方是否收到。为了解决这个问题,提高网络可靠性,TCP协议就诞生了。TCP协议能够确保数据不会遗失。它的缺点是过程复杂、实现困难、消耗较多的资源。TCP数据包没有长度限制,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

应用层(Application)

应用程序收到“传输层”的数据,接下来就要对数据进行解包。”应用层”的作用就是规定应用程序使用的数据格式,以便接收方获得真正发送的数据内容。例如我们TCP协议之上常见的Email、HTTP、FTP等协议,这些协议就组成了互联网协议的应用层。

最后得到一层一层地封装起来的包裹。最后在应用层接受到后进行解封装

2. 对于 IPv4 地址,请说明地址结构,以及如何划分网络位和主机位。

IPv4 地址是 32 位数字,通常使用点号分割的四个十进制八位字节表示,分为网络位和主机位,网络位用来标识子网,主机位标识子网中的特定主机,同一子网的主机可以直接通信,否则需要路由器。

子网掩码用于确认子网的划分。比如子网掩码为24时,说明IPv4地址前三段就是网络位,最后一段做主机位。

特殊地址 127.0.0.1 指向 localhost (本机自己),网络 127.0.0.0/8 属于本地系统,即 127.x.x.x 这一段IP范围,都保留给本机内部测试用,永远不会发送到外网。只要IP是127开头的,都是找自己,和网络外面无关!外网也不能访问。

3. 在掩码为24(255.255.255.0)的子网中,最多能有多少台主机?为什么?

掩码24(255.255.255.0)即前24位是固定网络位,后8位是主机位可以变化。主机位数量是2的8次方:256种。

但是,主机位全部为0(00000000)不能用,是网络地址(代表这个子网本身,是一个标识符,用来识别子网)。主机位全部为1(11111111)不能用,是广播地址(用来一次性给子网内所有机器发送信息)。

所以最多能有 254 台主机。

4. 怎么理解IPv4路由?

IPv4路由就是:根据目标IP地址,决定数据包下一跳该送到哪里。

如果要发出一个数据包:给出目标IP

  • 看本地路由表。
  • 发现这个IP不是自己局域网的。
  • 根据路由表规则,数据发到默认网关。
  • 网关收到后,也查自己的路由表,看下一步往哪发。
  • 可能继续发到更上一级的网关,最终到达。

5. 对于 IPv6 地址,请说明地址结构以及它的子网划分。

IPv6 地址是一个 128 位数字,表示为八组以冒号分隔的四个十六进制半字节。

IPv6 地址分为两部分:网络前缀和接口 ID。网络前缀标识子网,长度始终为/64。这种情况下,地址的一半是网络前缀,另一半是接口ID。同一子网上的任何两个子网接口都不能具有相同接口 ID,接口 ID 可标识子网上的特定接口。

  • 单播地址(Unicast):标识单个接口的地址,用于点对点通信。
  • 广播地址(Broadcast):IPv6 中没有广播地址,取而代之的是多播地址(Multicast)和任播地址(Anycast)。
  • 多播地址(Multicast):用于将数据包发送到多个接口。
  • 任播地址(Anycast):多个接口共享的地址,数据包会发送到最近的接口。

6. Linux 中如何解析主机名和 IP 地址的对应关系?

Linux系统首先会查看 /etc/hosts 文件,看是否有主机名和 IP 地址的静态绑定。

如果 /etc/hosts 中没有找到对应关系,系统会通过 DNS(域名系统)来解析。DNS 将主机名解析成 IP 地址,或将 IP 地址反向解析成主机名。DNS 服务器的配置通常在 /etc/resolv.conf 文件中设置。

7. RHEL9 如何显示网络的 IP 地址?

使用 ip a s 命令显示 IP 地址。

8. RHEL9 的网络配置文件保存在哪个目录,解释 device 和 connection 的含义。

RHEL9 中,网络配置主要由 NetworkManager 管理,配置文件存放在以下目录:/etc/NetworkManager/system-connections/ 目录中。每个网络连接对应一个配置文件(通常是 .nmconnection.connection 后缀)。

 /etc/sysconfig/network-scripts/ 目录和 ifcfg格式配置文件 已被弃用,但为了与较早版本兼容,/etc/sysconfig/network-scripts/ 目录中 的 ifcfg格式连接仍可识别和加载。

 device 表示物理或虚拟的网络接口,是硬件层面的实体,比如以太网卡、Wi-Fi网卡、虚拟网卡等。

connection 是网络接口的配置信息,包括IP 地址、DNS、网关、VLAN、VPN 等。

一个 device 可以对应 多个 connection 配置,但是同一时间只能有一个连接处于活动状态。

9. 使用什么命令可以修改静态主机名?静态主机名存储在哪个文件中?

静态主机名存储在 /etc/hostname 中,编辑 /etc/hostname 或者使用 hostnamectl set-hostname 命令可以永久修改静态主机名。

相关文章:

  • 【SpringMVC】详解参数传递与实战指南
  • Linux系统管理与编程14:Shell变量及定制bash登录界面
  • LLM - Large Language Model
  • 迈瑞医疗一季度业绩环比大幅改善 国内业务将从今年三季度迎来重大拐点
  • AIGC重构元宇宙:从内容生成到沉浸式体验的技术革命
  • TypeScript之基础知识
  • 基于常微分方程的神经网络(Neural ODE)
  • XrayR启动失败
  • 如何查看电脑电池使用情况
  • 嵌入式开发面试典型编程题解析:排序算法、指针操作、字符处理、递归原理等基础原理的深度解析。
  • VS2022+OpenCasCade配置编译
  • C++ —— 正向迭代器与反向迭代器
  • 在服务器中,搭建FusionCompute,实现集群管理
  • KML文件转shp并保留关键字段
  • 【KWDB 创作者计划】_KWDB产品技术解读
  • 【C语言】初阶算法相关习题(二)
  • mapbox V3 新特性,室内楼层多层同时三维展示(可单层切换),类似蜂鸟视图效果
  • 第7讲:图例与标题规范(字号、位置、字体选择技巧)
  • Excel处理控件Aspose.Cells for Go :通过 C++ 实现的设计概念和 API 架构讲解
  • 关于kafka
  • 从腰缠万贯到债台高筑、官司缠身:尼泊尔保皇新星即将陨落?
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人
  • 国家发改委回应美加征关税:典型的单边主义霸凌做法
  • 暴涨96%!一季度“中国游中国购”持续升温,还有更多利好
  • 荣盛发展去年亏损约84.43亿元,要“过苦日子、紧日子”
  • 加拿大警方:已确认有9人在温哥华驾车撞人事件中遇难