我是靠谱客的博主 无心流沙,最近开发中收集的这篇文章主要介绍通信协议综述网络为什么要分层?ifconfig命令 DHCP和PXE预启动执行环境(PXE) ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

网络为什么要分层?

因为复杂的程序都要分层。

TCP在三次握手的时候IP层和MAC层在干什么?TCP每发送一次消息,都会带着IP层和MAC层,TCP每发送一个消息,IP层和MAC层的所有机制都要运行一遍。

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可 能有上层没下层。

ifconfig命令 

IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。既然是门牌 号码,不能大家都一样,不然就会起冲突。 

在网络地址中,至少在当时设计的时候,对于 A、B、 C 类主要分两部分,前面一部分是网 络号,后面一部分是主机号。这很好理解,大家都是六单元 1001 号,我是小区 A 的六单 元 1001 号,而你是小区 B 的六单元 1001 号。

 无类型域间选路(CIDR)

将 32 位的 IP 地址一分为二,前面是网络号,后面是主机号。 

公有 IP 地址和私有 IP 地址

数据中心里,办公 室、家里或学校的 IP 地址,一般都是私有 IP 地址段。因为这些地址允许组织内部的 IT 人 员自己管理、自己分配,而且可以重复。 公有 IP 地址有个组织统一分配,你需要去买。如果你搭建一个网站,给你学校的人使用, 让你们学校的 IT 人员给你一个 IP 地址就行。但是假如你要做一个类似网易 163 这样的网 站,就需要有公有 IP 地址,这样全世界的人才能访问。

既然MAC地址是全球唯一,那么直接用MAC地址通信不就好了?不行,因为一个网络包要从一个地方传到另一个地方,除了要有确定的地址,还 需要有定位功能。 而有门牌号码属性的 IP 地址,才是有远程定位功能的。比如,你可以问具体的路在哪里,但你不能直接问身份证号是XX的人在哪。MAC 地址的通信范围比较小,局限在一个子网里面。

网络设备的状态标识 

UP 表示网卡处于启动的状态;BROADCAST 表示这个网卡有广播地址,可以发送广播 包;MULTICAST 表示网卡可以发送多播包;LOWER_UP 表示 L1 是启动的,也即网线插 着呢。最大传输单元 MTU 为 1500,这 是以太网的默认值。 qdisc 全称是queueing discipline,中文叫排队规则。 内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的 qdisc(排队 规则)把数据包加入队列。

DHCP和PXE

动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP。 有了这个协议,网络管理员就轻松多了。他只需要配置一段共享的 IP 地址。每一台新接入 的机器都通过 DHCP 协议,来这个共享的 IP 地址里申请,然后自动配置好就可以了。等人 走了,或者用完了,还回去,这样其他的机器也能用。如果是数据中心里面的服务器,IP 一旦配置好,基本不会变,这就相当于买房自 己装修。DHCP 的方式就相当于租房。你不用装修,都是帮你配置好的。你暂时用一下, 用完退租就可以了。

解析 DHCP 的工作方式 

当一台机器新加入一个网络的时候,谁都不知道,只知道自己的MAC地址,这时候就根据DHCP Discover: 使用 IP 地址 0.0.0.0 发送了一个广播包,目的 IP 地址为 255.255.255.255。广播包封装了 UDP,UDP 封装了 BOOTP,个广播包里面,新人大声喊:我是新来的(Boot request),我的 MAC 地址是这 个,我还没有 IP,谁能给租给我个 IP 地址!

 网络管理员在网络里面配置了DHCP Server的话,他就相当于这些 IP 的管理员。 他立刻能知道来了一个“新人”。接着管理员会给他租给他一个IP地址,这个过程成为DHCP Of'fer。同时,DHCP Server 为此客户保留为它提供的 IP 地址,从而不会为 其他 DHCP 客户分配此 IP 地址

 DHCP Server 仍然使用广播地址作为目的地址,因为,此时请求分配 IP 的新人还没有自己 的 IP。如果有多个 DHCP Server,这台新机器 会收到多个 IP 地址它会选择其中一个 DHCP Offer,一般是最先到达的那个,并且会向网络发送一个 DHCP Request 广播数据包,包中包含客户端的 MAC 地址、接受的租约中的 IP 地址、提供此租 约的 DHCP 服务器地址等,并告诉所有 DHCP Server 它将接受哪一台服务器提供的 IP 地 址,告诉其他 DHCP 服务器,谢谢你们的接纳,并请求撤销它们提供的 IP 地址,以便提供 给下一个 IP 租用请求者

 此时,由于还没有得到 DHCP Server 的最后确认,客户端仍然使用 0.0.0.0 为源 IP 地址、 255.255.255.255 为目标地址进行广播。在 BOOTP 里面,接受某个 DHCP Server 的分配 的 IP。当 DHCP Server 接收到客户机的 DHCP request 之后,会广播返回给客户机一个 DHCP ACK 消息包,表明已经接受客户机的选择,并将这一 IP 地址的合法租用信息和其他的配置 信息都放入该广播包,发给客户机,欢迎它加入网络大家庭。

IP 地址的收回和续租 

对于IP地址,如果租期到了不用就不用了,如果还要继续用,要提前一段时间根DHCP Server说明。:客户机会在租期过去 50% 的时候,直接向为其提供 IP 地址的 DHCP Server 发送 DHCP request 消息包。客户机接收到该服务器回应的 DHCP ACK 消息包,会根据包中所提供的 新的租期以及其他已经更新的 TCP/IP 参数,更新自己的配置。

预启动执行环境(PXE) 

安装操作系统的过程,只能插在 BIOS 启动之后了。因为没安装系统之前,连启动扇 区都没有。因而这个过程叫做预启动执行环境(Pre-boot Execution Environment), 简称PXE。 

PXE 协议分为客户端和服务器端,由于还没有操作系统,只能先把客户端放在 BIOS 里 面。当计算机启动时,BIOS 把 PXE 客户端调入内存里面,就可以连接到服务端做一些操 作了。首先,PXE 客户端自己也需要有个 IP 地址。因为 PXE 的客户端启动起来,就可以发送一个 DHCP 的请求,让 DHCP Server 给它分配一个地址。在DHCP Server总有这样的配置:next-server只想PXE的服务器地址,filename是要配置促使启动文件

解析 PXE 的工作过程

启动 PXE 客户端。第一步是通过 DHCP 协议告诉 DHCP Server,我刚来,一穷二 白,啥都没有。DHCP Server 便租给它一个 IP 地址,同时也给它 PXE 服务器的地址、启动文件 pxelinux.0。 下载这个文件的时候使用的是 TFTP 协议。所以 PXE 服务器上,往往还需要有一个 TFTP 服 务器。PXE 客户端向 TFTP 服务器请求下载这个文件,TFTP 服务器说好啊,于是就将这个 文件传给它。接着就开始执行这个文件。指示 PXE 客户端, 向 TFTP 服务器请求计算机的配置信息 pxelinux.cfg。TFTP 服务器会给 PXE 客户端一个配 置文件,里面会说内核在哪里、initramfs 在哪里。

最后

以上就是无心流沙为你收集整理的通信协议综述网络为什么要分层?ifconfig命令 DHCP和PXE预启动执行环境(PXE) 的全部内容,希望文章能够帮你解决通信协议综述网络为什么要分层?ifconfig命令 DHCP和PXE预启动执行环境(PXE) 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部