【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 命令可以永久修改静态主机名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/77572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python_股票月数据趋势判断

目录 前置 代码 视频&月数据 前置 1 A股月数据趋势大致判断,做一个粗略的筛选 2 逻辑: 1)取最近一次历史最高点 2)以1)中最高点为分界点,只看右侧数据,取最近一次最低点 3&#xf…

Python PyAutoGUI库【GUI 自动化库】深度解析与实战指南

一、核心工作原理 底层驱动机制: 通过操作系统原生API模拟输入使用ctypes库调用Windows API/Mac Cocoa/Xlib屏幕操作依赖Pillow库进行图像处理 事件模拟流程: #mermaid-svg-1CGDRNzFNEffhvSa {font-family:"trebuchet ms",verdana,arial,sans…

Spring框架allow-bean-definition-overriding详细解释

Spring框架中,allow-bean-definition-overriding 是一个控制是否允许覆盖同名Bean定义的配置属性。以下是详细说明: ​1. 作用​ ​允许/禁止Bean定义覆盖​:当Spring容器中检测到多个同名的Bean定义时,此配置决定是否允许后续的…

机器人抓取位姿检测——GRCN训练及测试教程(Pytorch)

机器人抓取位姿检测——GRCN训练及测试教程(Pytorch) 这篇文章主要介绍了2020年IROS提出的一种名为GRCN的检测模型,给出了代码各部分的说明,并给出windows系统下可以直接复现的完整代码,包含Cornell数据集。 模型结构图 github源码地址:https://github.com/skumra/robo…

在web应用后端接入内容审核——以腾讯云音频审核为例(Go语言示例)

腾讯云对象存储数据万象(Cloud Infinite,CI)为用户提供图片、视频、语音、文本等文件的内容安全智能审核服务,帮助用户有效识别涉黄、违法违规和广告审核,规避运营风险。本文以音频审核为例给出go语言示例代码与相应结…

GraphRAG知识库概要设计展望

最近研究了一下GraphRAG,写了一个文档转换工具还有图可视化工具,结合langchain构建RAG经验,还有以前的数据平台,做了一个知识库概要设计,具体应用欢迎留言探讨。 一、GraphRAG整体概述 GraphRAG图基检索增强生成&…

Android Studio 日志系统详解

文章目录 一、Android 日志系统基础1. Log 类2. 日志级别 二、Android Studio 中的 Logcat1. 打开 Logcat2. Logcat 界面组成3. 常用 Logcat 命令 三、高级日志技巧1. 自定义日志工具类2. 打印方法调用栈3. 打印长日志4. JSON 和 XML 格式化输出 四、Logcat 高级功能1. 自定义日…

深度对比:Objective-C与Swift的RunTime机制与底层原理

1. RunTime简介 RunTime(运行时)是指程序在运行过程中动态管理类型、对象、方法等的机制。Objective-C 和 Swift 都拥有自己的运行时系统,但设计理念和实现方式有很大不同。理解 RunTime 的底层原理,是掌握 iOS 高级开发的关键。…

使用手机录制rosbag包

文章目录 简介录制工具录制步骤录制设置设置IMU录制频率设置相机分辨率拍照模式录制模式数据制作获取数据数据转为rosbag查看rosbag简介 ROS数据包(rosbag)是ROS系统中用于记录和回放传感器数据的重要工具,通常用于算法调试、系统测试和数据采集。传统上,rosbag依赖于ROS环…

浅谈PCB传输线(一)

前言:浅谈传输线的类型,以及传输线的一些行为特性。 1.传输线的种类 2.互连线被视为传输线的场景 3.传输线的行为特性*** 1.传输线的种类 PCB 中的信号传输线通常有两种基本类型: 微带线和带状线。此外,还有第三种类型–共面线(没有参考平面…

【angular19】入门基础教程(一):项目的搭建与启动

angular现在发展的越来越能完善了,在vue和react的强势竞争下,它迎来了自己的巨大变革。项目工程化越来越好,也开始拥抱了vite这种高效的构建方式。所以,我们有必要来学习这么一个框架了。 项目实现效果 nodejs环境 Node.js - v^…

在前端应用领域驱动设计(DDD):必要性、挑战与实践指南

引言 领域驱动设计(Domain-Driven Design,简称 DDD)起源于后端复杂业务系统建模领域,是 Eric Evans 在 2003 年提出的一套理论体系。近年来,随着前端工程化与业务复杂度的持续提升,"前端也要 DDD&quo…

一文了解 模型上下文协议(MCP)

MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司于2024年11月推出的一项开放标准协议,旨在解决大型语言模型(LLM)与外部数据源和工具之间的通信问题。其核心目标是通过提供一个标准化的接口&…

面向全球的行业开源情报体系建设方法论——以易海聚实战经验为例

在全球数字化转型加速的背景下,如何精准锁定目标领域的关键信息源,构建可持续迭代的情报网络,已成为企业战略决策的核心能力。深圳易海聚信息技术有限公司(以下简称“易海聚”)深耕开源情报领域十余年,其自…

UDP协议详解+代码演示

1、UDP协议基础 1. UDP是什么? UDP(User Datagram Protocol,用户数据报协议)是传输层的核心协议之一,与TCP并列。它的主要特点是:​​​​ 无连接:通信前不需要建立连接(知道对端的…

基于大模型的胆总管结石全流程预测与临床应用研究报告

目录 一、引言 1.1 研究背景 1.2 研究目的与意义 1.3 研究方法和创新点 二、大模型在胆总管结石预测中的应用原理 2.1 大模型概述 2.2 模型构建的数据来源与处理 2.3 模型训练与优化 三、术前预测与准备 3.1 术前胆总管结石存在的预测 3.2 基于预测结果的术前检查方…

Windows避坑部署SkyworkAI/SkyReels-V2昆仑万维电影生成模型

#工作记录 前言 SkyworkAI/SkyReels-V2 是由昆仑万维开源的全球首个无限时长电影生成模型,基于扩散强迫框架结合多模态大语言模型、强化学习等技术,支持文本到视频、图像到视频等多种生成方式 开源项目地址: SkyworkAI/SkyReels-V2&#x…

iVX 图形化编程如何改写后端开发新范式

在数字化转型加速推进的当下,企业对后端系统的需求呈现爆发式增长。Gartner 最新报告指出,2025 年全球企业平均需完成 300 定制化应用开发,而传统编码模式下,单个项目平均交付周期长达 6 - 8 个月。与此同时,Redis、K…

策略模式:灵活的算法封装与切换

策略模式是一种行为型设计模式,它将一组算法封装成独立的类,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端。本文将以一个收银系统为例,详细介绍策略模式的实现和应用。 什么是策略模式? 策略模式定义了算法…

第十四章-PHP与HTTP协议

第十四章-PHP与HTTP协议 一,HTTP 协议详解 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的协议之一,用于客户端(如浏览器)与服务器之间的通信。它是 Web 技术的基石…