美文网首页
网络协议-- 综述

网络协议-- 综述

作者: zhujunhua | 来源:发表于2020-09-17 10:55 被阅读0次
    网络协议分层

    记住一点:只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。对 TCP 协议来说,三次握手也好,重试也好,只要想发出去包,就要有 IP 层和 MAC 层,不然是发不出去的。

    IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。


    ip地址分类
    ip地址范围

    无类型域间选路(CIDR)

    将 32 位的 IP 地址一分为二,前面是网络号,后面是主机号。从哪里分呢?你如果注意观察的话可以看到,10.100.122.2/24,这个 IP 地址中有一个斜杠,斜杠后面有个数字 24。这种地址表示形式,就是 CIDR。后面 24 的意思是,32 位中,前 24 位是网络号,后 8 位是主机号。
    伴随着 CIDR 存在的,一个是广播地址,10.100.122.255。如果发送这个地址,所有 10.100.122 网络里面的机器都可以收到。另一个是子网掩码,255.255.255.0。
    将子网掩码和 IP 地址按位计算 AND,就可得到网络号。

    16.158.165.91/22, 即:16.158.<101001><01>.91, 前22位 16.158.<101001>是网络号,而 <01>.91 是机器号。
    第一个地址是 16.158.<101001><00>.1,即 16.158.164.1。子网掩码是 255.255.<111111><00>.0,即 255.255.252.0。广播地址为 16.158.<101001><11>.255,即 16.158.167.255。

    ip addr 结果解析

    enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
    “<BROADCAST,MULTICAST,UP,LOWER_UP>” 这个叫 net_device flags,网络设备的状态标识。
    UP 表示网卡处于启动的状态;
    BROADCAST 表示这个网卡有广播地址,可以发送广播包;
    MULTICAST 表示网卡可以发送多播包;
    LOWER_UP 表示 L1 是启动的,也即网线插着呢。

    最大传输单元 MTU 为 1500,这是以太网的默认值。
    MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来,不允许超过 1500 个字节。

    部分总结:
    IP 是地址,有定位功能;MAC 是身份证,无定位功能;
    CIDR 可以用来判断是不是本地人;(网络号相同就是同一网段)
    IP 分公有的 IP 和私有的 IP。

    动态主机配置协议(DHCP)

    自动配置ip的协议,也就是动态主机配置协议(Dynamic Host Configuration Protocol),简称 DHCP。

    解析 DHCP 的工作方式

    1. 当一台机器新加入一个网络的时候,肯定一脸懵,啥情况都不知道,只知道自己的 MAC 地址。怎么办?先吼一句,我来啦,有人吗?这时候的沟通基本靠“吼”。这一步,我们称为 DHCP Discover。
      新来的机器使用 IP 地址 0.0.0.0 发送了一个广播包,目的 IP 地址为 255.255.255.255。广播包封装了 UDP,UDP 封装了 BOOTP。其实 DHCP 是 BOOTP 的增强版,但是如果你去抓包的话,很可能看到的名称还是 BOOTP 协议。
      在这个广播包里面,新人大声喊:我是新来的(Boot request),我的 MAC 地址是这个,我还没有 IP,谁能给租给我个 IP 地址!
    2. 如果一个网络管理员在网络里面配置了 DHCP Server 的话,他就相当于这些 IP 的管理员。只有 MAC 唯一,IP 管理员才能知道这是一个新人,需要租给它一个 IP 地址,这个过程我们称为 DHCP Offer。同时,DHCP Server 为此客户保留为它提供的 IP 地址,从而不会为其他 DHCP 客户分配此 IP 地址。
    3. 如果有多个 DHCP Server,这台新机器会收到多个 IP 地址,简直受宠若惊。它会选择其中一个 DHCP Offer,一般是最先到达的那个,并且会向网络发送一个 DHCP Request 广播数据包,包中包含客户端的 MAC 地址、接受的租约中的 IP 地址、提供此租约的 DHCP 服务器地址等,并告诉所有 DHCP Server 它将接受哪一台服务器提供的 IP 地址,告诉其他 DHCP 服务器,谢谢你们的接纳,并请求撤销它们提供的 IP 地址,以便提供给下一个 IP 租用请求者。
    4. 此时,由于还没有得到 DHCP Server 的最后确认,客户端仍然使用 0.0.0.0 为源 IP 地址、255.255.255.255 为目标地址进行广播。在 BOOTP 里面,接受某个 DHCP Server 的分配的 IP。当 DHCP Server 接收到客户机的 DHCP request 之后,会广播返回给客户机一个 DHCP ACK 消息包,表明已经接受客户机的选择,并将这一 IP 地址的合法租用信息和其他的配置信息都放入该广播包,发给客户机,欢迎它加入网络大家庭。

    部分总结:
    DHCP 协议主要是用来给客户租用 IP 地址,和房产中介很像,要商谈、签约、续租,广播还不能“抢单”;
    DHCP 协议能给客户推荐“装修队”PXE,能够安装操作系统,这个在云计算领域大有用处。

    参考:
    极客时间-趣谈网络协议
    极客时间-趣谈网络协议

    相关文章

      网友评论

          本文标题:网络协议-- 综述

          本文链接:https://www.haomeiwen.com/subject/ybsfyktx.html