通信协议综述

网络为什么要分层?

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

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 在哪里。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值