Advertisement

计算机网络协议——通信协议综述

阅读量:

通信协议综述

  • 概述

  • 一、为什么学习网络协议

    • 1.1 常见的网络协议
  • 第二章 网络分层的核心内涵

    • 2.1 网络体系架构优化的目的何在?
      • 2.2 信息流从入口到处理节点的完整流转路径
      • 2.3 深入剖析各层次间的相互作用机制
  • 三、ifconfig命令的由来

      • 3.1 IP地址
      • 3.2 基于子网掩码的无管理域路由(CIDR)
      • 3.3 公网IP地址和私网IP地址
      • 3.4 MAC地址
  • 四、 DHCP与PXE:IP地址的生成

    • 4.1 Dynamic Host Configuration Protocol (DHCP)

      • 4.2 解析DHCP的工作原理
      • 4.3 预启动执行环境(PXE)
    • 总结

我在极客时间平台学习了这个专栏关于计算机网络协议的内容。已有大量读者(超过三万人)订阅了刘超老师的《趣谈网络协议》课程。课程内容非常出色,让人如读小说般轻松掌握枯燥的知识点。传统的教材往往枯燥无味。值得推荐给对这方面感兴趣的朋友,请继续支持正版。作为我对该专栏的学习心得分享,请在评论区与大家交流探讨!期待在评论区与大家交流探讨!


概述

本文主要围绕专栏中的各个模块展开讨论,并按照四个专门的章节依次展开介绍。

  • 掌握基础网络协议的知识对现代计算机技术的学习具有重要意义。
    • 深入理解网络协议的分层结构及其各层之间的相互作用对于通信原理的学习至关重要。
    • ifconfig命令行参数背后运行着一套完整的配置管理逻辑。
    • IP地址的分配机制与生成规则构成了局域网中的核心配置管理路径。

一、为什么学习网络协议

协议

协议的主要由语法、语义和顺序构成。要实现网络空间中大规模协作的需求,单台设备仅凭一台设备无法完成的任务必须通过网络协议进行规范与协调。仅凭一台设备无法完成的任务必须通过网络协议进行规范与协调。

1.1 常见的网络协议

采用一个下单购物的场景,看看整个过程运用了哪些网络协议。


当您在浏览器中打开一个网站时,请记住其URL地址为\texttt{www.taobao.com}。然而 browser仅知道该网站的名称为\texttt{www.taobao.com}, 却无法确定具体位置。因此无法访问该地点。

接着,在线访问地图服务时,默认会调用高德地图API获取地理位置信息;如果需要更高精度的位置数据,则可以选择高德地图Plus服务并调用其增强版API

不论哪种查找方式, 最终都会指向一个具体的IP地址: 106.114.134.24(可任意赋值)。这实际上是一个IP地址,类似于你在互联网世界中使用的身份标识符。一旦你知道了目标 IP 地址, 浏览器就会启动相关处理流程。无论是普通访问请求还是商业性交易的请求, 都会采用相应的通信协议进行连接。具体来说, 对于普通的访问请求, 通常会使用 HTTP 协议进行通信; 而对于商业性交易的请求, 为了确保商业机密的安全传输, 则需要采用 HTTPS 协议进行加密连接。无论如何选择何种通信协议, 它们都必须明确指示你需要传输的内容以及传输的具体数量。HTTP 头文件中包含了所有与数据传输相关的详细信息:发送方信息、接收方信息、报文长度等关键要素都一应俱全

HTTP

DNS、HTTP、HTTPS所在的层为应用层;


在经过封装之后(位于应用层次),浏览器将由上一层传递给下一层处理其相关数据包,并采用socket编程作为通信方式来实现这一过程)。位于传输层次的组件包含两种不同的通信协议:

  • 无连接的协议UDP
  • 面向连接的协议TCP

在支付领域中,在处理事务时通常使用...标记。即为:面向连接意味着数据传输必须确保其成功送达目标方。若无法送达,则会持续重传直至成功接收;其中包含两个主要的端口:一个是用于浏览器侧使用的端口号和另一个是用于电商服务器侧使用的端口号。操作系统的相关机制会根据这些信息来分配相应的进程:接收的数据包将被指定给相应的处理单元;

TCP协议

在传输层完成封装后(...),浏览器将向操作系统提供的网络层发送数据包(...)。该网络层中采用的是基于IP的协议(...),这些协议中会包含源端点标识(...)以及目标端点标识(...)。其中,“源端点”具体指的是表示浏览器所在设备的IP地址以及电商设备对应的目标端点(...)。

IP地址

目标IP即为电商地址上的门牌号码;当操作系统识别出目标位置具有特定的门牌号码时就必须思考如何定位该位置。

首先判断目的地是本地还是外地。像办理海关手续一样,外出去都需要经过网络关卡,也就是常说的网关位置设置上具有重要差异性特点

如果是本地通信就依赖——ARP协议 的使用。操作系统的arp功能一 broadcast 一个报文询问该IP地址对应的主机是谁?被网关回应后确定自身IP地址。而该本地IP地址对应的是网络接口的MAC地址。arp功能正是通过这种方式实现的。

IP包

随后操作系统将该IP数据包向下一层传递(具体来说就是MAC层)。网络接口卡在发送该数据包时会携带有该设备的MAC地址信息。当网络控制平面接收到该数据包后(即网关),通过其管理逻辑来确定下一步如何处理(这通常被称为路由器的路由表)。

路由器类似于在国际间穿梭的中继节点,在全球互联网中扮演着关键角色;这些中继节点是连接不同区域网络的关键中继点;而每个这样的区域网络内部都可以有自己的网络地址分配方案;所有这些网络之间可以通过统一的IP地址系统实现互联与通信。

一旦越过城关就必须取出IP表, 其中包含有东土大唐的IP源地址, 欲前往西方极乐国朝拜并取经的目的地是西天, 途经一处名胜古迹, 暂作一晚停泊, 那么接下来该如何行动呢?

在这里插入图片描述

城关与城关之间的沟通协议叫做路由协议 ,常用的由OSPF和BGP

同一个国家中的各个城市 hieroglyphs之间存在连接关系。当一个数据包需要前往某个特定的城市 hieroglyphs时,在进入该国之前必须经过一系列城市 hieroglyphs之间的传输过程。每个城市 hieroglyphs都会根据自身所掌握的信息来确定自己的职责范围:首先会查询相邻城市 hieroglyphs所使用的 MAC 地址信息来确定下一步行动的方向。最终定位到该国家的最后一个或最远的城市 hieroglyphs中心节点之后才能完成整个传输路径的规划工作。最后的城市 hieroglyphs能够明确指示该数据包的目的地:向整个国家发出指令:寻找目标 IP 的位置,请告知目标 IP 的具体位置,并相应地返回一个统一标识代码....


目标主机

此层中接收的每一个数据包都会产生一个确认信息。具体来说,则是关于购买状态以及扣款金额等情况。值得注意的是,并非由此次单一请求引发的结果。也就是说,在TCP层上发送了一个反馈信息来表示已接收到数据,并确保传输过程中的正常运转不会出现数据丢失的情况。

等到一段时期后仍未收到,则发端TCP层会自行重传该包或原请求数据直至安全到达应答。“绝对不是你的浏览器在重复发起一次下单请求”。从你的浏览器而言,在此情况下只会提交一个下单请求。除非在TCP层面出现故障(如连接中断),否则问题仍归应用层处理。

当网络包安全地到达TCP层之后,在TCP头中存在目标端口号这一字段信息。通过该端口号能够定位到电商网站所运行的那个进程正试图监听该特定端口。假设我们使用一个Tomcat实例,并将此连接包发送给电商网站。

电商网站主要处理HTTP请求,并能够识别或了解顾客想要购买的商品种类及数量等信息。
在早期阶段的一个Tomcat角色主要充当了一个协调员的角色。
例如,在实际操作中该协调员会通知相关环节记录订单详情并扣除库存数量同时计算相应的款项。

如何通知相关的过程呢?通常通过使用Remoting API来进行操作,并采用远程过程通讯(RPi)的方式实现。RPi的作用机制是:当被要求管理订单进程时,默认情况下客户-side的操作员无需关心中间的网络连接问题即可完成任务——这些都由Remoting API层负责处理。具体来说,在实际应用中可以选择不同的Remoting API实现方式:一种是作为嵌入于HTTP报文中的Remoting API方案;另一种则是直接嵌入到TCP报文中作为Remoting API组件来使用。

当接待员确认相关业务已全部完成时,则会发送回一个HTTPS的数据包来通知订单完成状态。这个HTTPS的数据包会如同来时一般安全传输到你的个人电脑上,在浏览器中完成支付验证。

到这里看来你对自己之前学过的计算机网络知识有了整体认识吧?很多公司的面试题都会考察候选人对如何在浏览器中完整地操作URL输入这一流程的理解;完成这一系列操作后相信你的面试官也会觉得你掌握得非常扎实。

网络协议

二、网络分层的真正含义

计算机网络知识点需要背诵,但是更是要理解透彻;

2.1 为什么网络要分层?

因为不同层次之间有不同的沟通方式被称为协议。就像一家公司也分为不同层级:总经理、经理、组长和普通员工等职位,在这些层级间采用不同的交流手段;

由于复杂的程序通常需要分层处理。将网络包视为一段Buffer或一块内存具有特定格式。该程序可以在多种设备上运行:例如电脑、服务器、交换机以及路由器。设想拥有多个网口:通过某个接口接收一个网络包并利用自己的处理逻辑进行分析和转换;

显然网络包具有较为复杂的结构;该程序同样具有较高的复杂度;较为复杂的程序通常需要按层次划分结构;这反映了程序设计中的基本原则。

2.2 浏览点击请求过程

浏览点击请求过程如下所示:

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

假如你发现这个包的MAC地址与你的匹配,则说明这是发给你的。此时需要调用process_layer3(buffer):在此过程中,在二层头已经被处理掉或偏移量已经相应调整的情况下,在该函数内部移除三层头以判断是直接发送给自己还是需要转发出去。

当IP地址不属于本机时,则应将其转发给其他设备;若为本机地址,则直接发送给自己即可。通过查看IP头信息来确定:在去除前三个头部字段后进行下一步的操作是调用process_tcp(buffer)还是process_udp(buffer)

假设地址是TCP , 将执行函数process_tcp(Buffer) 。此时, Buffer中没有三层协议头部信息,因此需要解析四层报头,判断其属于发起包、应答包还是普通数据包等类型,并分别采取相应的处理措施。如果是发起包或应答包,下一步需要生成相应的回复报文;如果是普通数据包,则应当上层进行处理。具体而言,应该将数据交给process_http(buffer)函数进行后续处理。

如果你负责处理网络包,并不建议直接调用process_http(buffer)函数,则应转交给应用程序来完成这一任务。具体如何将这些流量分配给相应的应用程序?四层头部包含着各种服务所需的地址与端口号信息,在四层空间中存在多个服务实例,在不同位置运行着不同服务进程——例如,在四层空间中存在一个进程专门运行WWW服务,在另一个进程上则运行邮件传输代理(SMTP)服务等不同服务进程。若发现客户端(如浏览器)正在绑定该特定端口,则应将当前的流量转发给客户端即可。无需关心客户端如何接收和处理这些流量

当你再次点击鼠标时, 点击动作被浏览器捕获后, 随后生成一个新的HTTP请求并发送到你的设备上.

建议调用send_tcp(buffer) 这个函数来处理数据传输任务。无需赘述的是,在这个过程中,Buffer中存储的就是当前用户的HTTP请求内容。通过在该函数中添加一个TCP头字段,并记录源端口信息, 我们能够确保数据传输过程中的通信路径被正确识别和解析. 最后, 服务器将返回目标端口号码,默认情况下通常是80号位.

随后调用send_layer3(buffer) 。其中已包含了HTTP头部、正文以及TCP头部的信息。在这一层函数中将添加一个IP头部字段以记录源IP地址与目标IP地址的具体值;随后调用send_layer2(buffer) ,其中已包含了HTTP头部、正文及TCP头部;此外,在这一层函数中还需要添加MAC头部字段以获取源机器自身的MAC地址及目标机器对应的MAC地址值。具体来说,在某些情况下我们需要直接补充这些信息;而当缺少这些数据时,则需要通过特定协议进行查询以获取所需信息。无论如何都要确保填写完整而不留空白;

2.3 揭秘层与层之间的关系

在现实中,则通常是员工说出一句话后,
随后由组长进行必要的补充说明,
接着经理也会跟进两句话,
而最高层的总经理则会在最后总结两次。
而在虚拟环境中,则是总经理主导交流讨论,
由经理提供具体方案,
随后由组长细化方案并提出建议,
最后员工再根据实际情况进行完善与反馈。

在三次握手过程中,在每次发送数据包时,在IP层和MAC层都会包含相应的数据信息。由于每次数据包的发送都会导致IP层和MAC层的功能模块重新执行一次操作,在三次握手中这两个网络接口组件会耗时较长。

所有运行于网络上的数据包均为完整状态。
即使某一层未实现其功能或未被配置(即缺少了上一层),但整体而言,在网络传输中不存在某一层未被配置而其他层正常的情况。
对于运行于网络中的HTTP协议数据包而言,在传输过程中始终保证其完整性。
其中所谓的二层和三层设备的区别仅体现在运行于这些设备上的应用程序功能不同。

  • 二级设备:仅分离出MAC地址头部后进行判断,并确定该端口的本地地址信息;
    • 三级设备:在分离出MAC地址头部后随后分离出IP地址头部,并判断其最终状态;

三、ifconfig 命令行的由来

ifconfig是 linux系统中查询ip地址的一个命令,windows是ipconfig ;

3.1 ip地址

网卡在网络世界中的通信地址即为IP地址,在现实生活中则类似于门牌号码。
例如:10.100.122.2 便是一个典型的IP地址实例,在此架构下 IP 地址被划分为四个组成部分,在每个部分中使用 8 个 bit 构成数据单元(即 bit),因此整个 IP 地址总计 32 位;

IP地址被分成了5类,A-E类

IP地址

在网络地址体系中,A,B,C三类划分为两大类,前面一部分为网络标识,后面一部分为主机标识.大家使用的公共地址均为六单元1001-XX号,请问您所处的具体地址是?而我的小区则属于B区系列地址.

ip地址范围

3.2 无类型域间选路(CIDR)

无类型域间选路(简称CIDR)是一种划分IP地址的方法,
将IP地址划分为两部分,
前半部分为主网号码,
后半部分为主机号码。
例如:
10.100.122.2/24
该IP地址包含一个斜杠,
其后跟一个数字' ̃ ̃ '  ' ̃ ̃ ' ' ̃ ̃ ' ̃' '。
这种表示法即为CIDR,
其中' ̃ ̃ '代表的是,
在32位IP地址中,
"前缀长度"为' ̃ ̃ '的部分即为主网号码段。

伴随CIDR的存在,在这方面表现为广播地址(如...),当发送该广播地址时,在该网络内的所有机器都可以收到;另一个则是确定子网范围的子网掩码值为...

通过将子网掩码与IP地址进行按位运算得到网络号,在此操作后即可确定出网络部分。例如,在计算过程中若使用二进制数1与其他数值进行按位与运算,则结果不变;若使用二进制数0与其他数值进行按位与运算,则结果为零。对于上面所述的IP地址与子网掩码进行按位运算后,则会获得网络号10.100.122.0。

3.3 公有IP地址和私有IP地址

在这里插入图片描述

平时我们在办公室、学校、家里的IP地址中都采用内部网络地址 ,这是因为这些地址能够进行内部管理并实现资源分配的自主性,在组织内实现IP地址的有效共享与重复使用。例如,在我们学校的教学楼内可能存在多个班级拥有相同的六单元编号(如六单元一号),而在其他组织中也可能出现类似的情况

但是,在离开了校园之后,则需要使用公有IP地址这一规定变得至关重要。例如,在上海南京西一路88号这个地点就属于国家统一规划的公共设施。**公有IP地址的分配由相关机构负责管理,在使用前通常需要支付相应的费用以确保资源的有效利用。

私有IP地址以192.168.0.x 的形式表示最为常见。家中通常会配置一个WiFi接入点即可拥有对应的IP地址。然而一般家庭内的上网设备数量通常不超过256台因此采用/24的私有网段划分足以满足大多数家庭需求。

举例:CIDR中容易犯错的点

在五种类型的地址中,第三种类型为D型分组地址.采用该类型地址时,在同一组内的所有设备均可接收.这类似于企业内部群组配置:向内群发送信息时,在加入该群的所有成员均可收到.

在IP地址字段后添加了一个scope。它表明该网卡对外开放,并能接收来自全球网络的所有数据包。而对lo接口而言,则仅限于本地主机使用。

有时也被称为Loopback(LO),又被称作环回接口(Fb),它通常会分配到127.0.0.1这个IP地址。该接口被设计用于本地设备之间的通信,在经过内核层处理后直接返回结果或响应信息,并不会出现在任何网络环境中。

3.4 MAC地址

在IP地址的正上方一行显示了数据内容:link/ether\ fa\:16\:3e\:c7\:79\:75\ brd\ ff\:ff\:ff\:ff\:ff\:ff ,这一行数据被定义为...

传输一个网络包需要从一个地点发送到另一个地点,在除了必须包含明确的目标地址之外还必须具备定位能力的基础上 再者只有当IPv4地址带有门牌号码属性时它才具有远程定位的能力

比如希望你能前往XX大学XX学院寻找小明在途中询问时你会发现许多人并不清楚XX学院在哪里但其他人可能只知道XX大学的位置然而如果你仅仅凭借小明的身份证号码询问他人他的所在学院自然无法确定他的具体学院

MAC地址更像是身份证号码,在技术领域中它扮演着独特的身份标识角色 。它的独特性设计旨在确保在组网时不同设备在同一网络内运行时不会产生通信冲突问题;从硬件层面的角度来看,在物理层中每个设备都应拥有独一无二的MAC地址以避免识别上的混淆与干扰**

MAC地址具备定位能力 ,通过IP地址信息可以确定到某所高校某学院一栋楼某个实验室的位置;当到达后一喊就能发现小明是谁就会向你应和。

MAC地址的工作范围相对有限 。仅限于一个特定子网内进行通信。例如,在192.168.0.\! ¹²³\! /_{\text{X}}\! ¹²³}访问\! ¹²³\! 相同前缀的不同主机时可用此方法\! _{^\text{注}}\! 。然而一旦跨入另一个子网(如从\! _{^\text{注}}\! 跳转至\! _{^\text{注}}\!\!\!\!\!\!\!\!\!\! \;}\;}\;}\;}\;}\;}\;}\;}\;}\;}\;}\;}\;}),则需要IP地址来进行通信。

总结:

  • ip可被视为一种标识符,在网络中具有唯一性和地理位置识别能力;而MAC则类似于一种身份验证标识符,在物理层面上提供身份认证服务而不具备地理位置识别能力。
    • CIDR技术主要用于鉴别用户的地理位置信息。
    • 在网络体系中,IP资源被划分为公网IP和内网IP两大类

四、DHCP和PXE:ip的由来

只要有在互联网运行的数据包具备下一层而不具备上一层,则必须满足其对应的上一层也存在

Linux在处理跨网段请求时,默认不会立即发送数据包到网络。相反,在这种情况下,默认情况下系统会尝试将数据包转发至相应的网络接口或设备。具体来说,在使用该功能时,默认情况下要求该接口所在的网络必须与目标设备所在的子网至少共享一个连接;只有当满足这一条件时才能成功完成数据包的转发操作。

4.1 动态主机配置协议(DHCP)

动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP

有了这一份电子文档, 网络管理员的工作量大大减轻了。他只需为所有新接入的设备分配同一个共享 IP 地址即可。所有新增设备都会使用 DHCP 协议自动获取该共享 IP 地址,无需人工干预就能完成设备 IP 地址分配。当现有设备释放或不再需要该 IP 地址时归还给管理员,这样其他设备就能继续使用可用资源。

对于数据中心内部的服务器来说,一旦设置完成后,其IP地址基本不会发生变化,这类似于你自己购买了一套已经装修好的房子. DHCP机制的工作原理就像是 you 只要租赁而不负责布置一样. 无需自行配置,DHCP就已经为你准备好了一切. 使用完后即可释放资源.

4.2 解析DHCP的工作方式

当一台机器接入新的网络环境时,仅知道自身的MAC地址后会发出呼叫以询问有人吗?这一过程被称为 DHCP Discover

新机器启用了全网可达的IP地址(即...)来发送广播数据;其目的IP地址配置为全1(即...)。该广播数据通过UDP协议进行分组封装,并进一步嵌套使用routable Multiplexing Extension (RME)协议进行传输。值得注意的是,在实际应用中,
虽然routable Multiplexing Protocol (RMP)作为增强版替代了传统的routable Multiplexing Protocol (RME)功能,
但网络设备在抓取数据时通常仍会标识为'routable Multiplexing Over routable Multiplexing Protocol (r OMP)'。

在这个广播包里,请一位新员工呼叫一声:"我是新来的(Boot request),请问我的MAC地址是多少?但我目前还没有IP地址,请问能否提供帮助?"

在这里插入图片描述

网络管理员在对网络进行了DHCP服务器的设置, 等同于IP管理员, MAC地址是其身份证明的关键。仅当MAC地址唯一时, IP管理员能够识别这是一个新设备, 并将其分配一个新的IP地址, 这个流程就是** DHCP Offer**.

DHCP Offer 格式如下:
里面会有给新人分配的地址;

DHCP Offer

DHCP 服务器依旧采用广播地址作为目的地址 。当接收多个 IP 地址时,则会选择最先到达的那个,并向网络发送一个 DHCP 请求广播数据包。这个数据包将包含客户端的 MAC 地址、已接受租约中的 IP 地址以及提供该租约的 DHCP 服务器地址等信息,并通知所有 DHCP Offer 它们将接受哪台服务器提供的 IP 地址。此外,请感谢其他 DHCP 服务器并请求它们撤销它们提供的 IP 地址,请准备好为下一个承租者提供新的分配。

在这里插入图片描述

由于尚未收到 DHCP 服务器的最终确认,一台终端仍然继续使用其源 IP 地址 0.0.0.0 和掩码 255.255.255.255 作为目的地址进行广播操作。在该协议中进行分配时,在 BOOTP 中接收某个 DHCP 服务器分配的 IP。

当 DHCP 服务器接收到来自客户端的一份 DHCP 请求时(即 DHCP request),它会向网络中发送一个 DHCP Ack 消息(即 DHCP ACK 消息包),该消息旨在确认客户的网络接入请求,并将被许可使用的 IP 地址及相关配置参数一并传输至客户端计算机(即发送方)。随后,在完成上述操作后(即随后),服务器会将 DHCP 授权信息传递给客户端计算机,并邀请其加入当前网络环境(即欢迎)。

在这里插入图片描述

租约达成以后,还是要广播一下,让大家都知道呢

ip地址的收回和续租

当有续租需求时(即已预付租金总额的一半),客户应在租赁期内提前向 DHCP 服务器支付剩余预付金额(即总租金额的一半)。当租赁期内剩余预付金额占总租金比例为一半时(相当于总租金额的一半),该客户将向为其提供IP地址的 DHCP 服务器发送 DHCP 数据报中包含的 DHCP 请求报文。接收该服务器发送的 DHCP 确认报文中包含的数据后(即接收该服务器发送的 DHCP 确认报文),客户端将依据数据字段中的新租赁期限以及已更新过的 TCP/IP 配置信息来重新设置自身网络参数。从而使得客户端能够依据最新的网络参数重新配置 IP 地址。

网络管理员不仅能自动分配IP地址,还能帮你自动安装操作系统;

4.3 预启动执行环境(PXE)

常规笔记本通常不会拥有这种雪球功能,并且系统已经预先安装了操作系统的相关组件。然而,在数据中心管理中出现了一种情况:管理人员可能会一下子获得了数百台空置的服务器机箱,在进行繁琐的一一配置时倍感疲惫。

管理员们不仅期待能够顺利地进行ip地址分配,并且还支持自动化系统部署。一旦系统完成部署就会自动生成对应的ip地址配置。配置完成后无需人工干预即可运行。

安装操作系统的过程必须放置于BIOS启动之后。因为在未安装系统的情况下没有启动扇区。因此这一过程被称为**预启动执行环境(Pre-boot Execution Environment),简称PXE。

默认的 DHCP 服务器是需要进行配置的,默认情况下并不提供现成的设置方案,默认情况下我们需要设定 IP 地址范围 subnet mask, network interface, lease duration 等相关参数。如果选择采用 PXE 的方式,则需要特别注意并进行相应设置:首先必须设置 next-server 参数指向 PXE 服务器地址;其次还需要设定初始启动文件 filename 以确保网络能够顺利启动

通过PXE客户端启动后并发起 DHCP 请求后

解析PXE的工作过程

首先是对PXE客户端进行启动操作。具体来说,在第一步中, 利用DHCP协议向 DHCP Server 发送给其没有任何网络配置信息的状态, 于是 DHCP Server 会为其分配一个IP地址, 并提供其PXE服务器的IP地址和启动文件pexlinux.0。

随后当PXE客户端得知需要从其配置好的PXE服务器下载该文件时就可以启动设备 。随后开始进行下载操作 download operation 采用的是TCP/IP TFTP协议 protocol 。通常情况下 在PXE服务器上部署一个TFTPServer是必要的。当PXE客户端向其配置好的TFTPServer发出请求时 TFTPServer响应并将其该文件传输给PCOM Client PCOM Client则会接收到所需资源 file resource 并完成整个过程 process flow

随后PXE客户端收到该文件后开始执行它。该文件将指导PXE客户端向TFTP服务器请求计算机的配置信息pxelinux.cfg。TFTP服务器将提供相应的配置信息其中包含内核位置和initramfs路径的信息。该设备将主动获取这些必要的信息

最后,启动Linux内核,一旦启动了操作系统,啥都好办。

在这里插入图片描述

总结


本文是对通信协议综述 的总结,共分为四节去介绍:

学习网络协议有何重要性?在简单的下单流程中涉及众多协议,请详细阐述。

网络协议层级的本质
作为接收器的一端程序,在接收数据包的过程中必须具备完整的解析功能:按照特定规则提取数据字段;将各部分数据重新组合成有意义的整体;在发送端必须能够正确解析并重构这些数据;
在传输逻辑上必须满足严格的层次性约束:整个系统的运行依赖于各子系统之间的紧密配合;任何一个环节出现故障都会导致整个系统运行中断;

在ifconfig命令行界面中;
作为网络地址使用的IP具有标识网络位置的功能。
而MAC地址则类似于身份证明文件,在不具备特定权限的情况下无法访问外部资源。
通过CIDR掩码技术可以区分本地用户和外部访问者。
后面章节将介绍“出国门”这一概念及其重要性

DHCP与PXE在IP分配中的作用

全部评论 (0)

还没有任何评论哟~