计算机网络 4-2-1 网络层(IPv4)

[复制链接]
发表于 2025-9-6 22:49:38 | 显示全部楼层 |阅读模式

  •         2 IPv4分组
  •         各协议之间的关系
  •        

            IP协议(Internet Protocol, 网际协议)是互联网的核心!
            ARP协议用于查询同一网络中的<主机IP地址,MAC地址>之间的映射关系
            ICMP协议用于网络层实体之间相互通知“异常事件”
            IGMP协议用于实现IP组播


    •                 2.1 结构<首部+数据部分>

      •                         看书的素图回忆各字段的作用
      •                         首部固定部分20B,可变部分0~40B
      •                         注意3个与“长度”相干的字段:418,首总偏
                     
    •                

    •                                 补充:
                         版本:v4:0100,v6:0110
                         首部长度:固定部分20B,则是5*4=20B,为0101;最大60B,则15*4=60B,为1111
                      一样平常首部长度默认为固定长度
                         实际传输过程中, “数据部分”的长度受下一段链路的最短/最长帧长限定
                      eg: 以太网帧有最短帧长、最长帧长限定
           
  •        



    •                 2.2 命题重点

      •                         2.2.1 分片问题

        •                                 MTU (最大传送单元):一个链路层数据帧能承载的最大数据量
        •                                 如果一个IP数据报的总长度大于下一段链路的MTU,就需要将“数据部分”分片
        •                                 易错:除末了一个分片外,其他每个分片的“数据部分”必须是8B的整数倍
        •                                 易混

          •                                         标识16bit,用于区分每个分片原本属于哪个IP数据报
          •                                         标记3bit, 关注最低位MF、次低位DF

            •                                                 MF=1,表现后面另有分片
            •                                                 MF=0, 表现这是末了一个分片
            •                                                 DF=1,表现不允许被分片
            •                                                 DF=0,表现允许被分片
                                                   
                                         
                               
                     
           

注意:
·IP数据报的“分片”可能在源主机、或任何一个路由器中发生
·只有目的主机才会对分片举行“重组”
·各分片有可能乱序到达目的主机
·由于首部的“片偏移”字段是以×8B为单元,因此,除了末了一个分片外,其他每个分片的数据部分必须是8B的整数倍(片偏移表现的是这个IP数据报它本身承载的数据在原始数据报当中的位置。)





      •                         2.2.2 TTL字段

        •                                 IP分组每颠末一个路由器,TTL减1,如果已经减到0,该路由器就丢弃分组,并向源主机发送ICMP报文 (通知出现异常)
                               
      •                        

                     
    •                                 不可达:

                      TTL的初始值通常由源主机设置。
                      每颠末一个路由器,路由器就将TTL减1, 如果TTL减到0,就直接丢弃分组,并向源主机发送ICMP报文
                      注:ICMP报文用于通知一个节点发生了某种“异常”
           
2.3 ip地址最初的分类方案 



  • 路由器和路由器毗连的接口可以不分配IP地址,但路由器和其他节点毗连的接口必须分配IP地址
  • 附属于同一个网络的全部主机、路由器接口的IP地址“网络号”都类似
  • 当一台新主机接入网络时,需要给它分配一个IP地址、并设置“默认网关”


H1给H7发送IP数据报(166.1.0.0--200.1.1.2):
        这个IP分组需要发送到另一个网络上,先交给默认网关这台路由器(H1的内部已设置:166.1.0.5)当H1知道了这个默认网关的IP地址之后。通过ARP协议查询到默认网关的IP地址所对应的MAC地址。把这个IP数据包封装成帧,把这个帧的目的MAC地址直接写成b2接口所对应的MAC地址对;
        接下来H1会把这个mac帧发送给交换机交换机根据MAC地址逐层转发到路由器的b2这个接口,路由器检查目的网络的IP地址网络号,根据转发表检察,把这个数据报从b0接口转发出去。当转发这个IP数据报的时间,也会修改mac帧,把mac帧的目的地址修改为接口的MAC地址。所以会把这个IP数据包重新封装成帧,这个帧的目的MAC地址填写为c0。
        把帧从b0接口转发出去。公司的路由器就收到了这个IP数据包。检查IP数据包的目的地址,检察转发表,确定这个IP数据包接下来从c2这个接口转发出去。那同样根据ARP协议查询对应Mac地址重新封装成帧。
H1给H6发送IP数据报(166.1.0.0--166.1.4.4):
        先检查源IP和目的IP是否属于同网段,同属同网段就不需要转发到默认网关;h1通过ARP协议查询到h6对应的MAC地址,直接把这个数据包封装成mac帧,把帧发送给交换机,交换机根据mac帧,转交给下一台交换机,交换机再根据mac帧转发到下一个节点,
        该结点是集线器。集线器收到帧之后,会把帧无脑的转发给与之相连的全部结点,h6收到帧检察确认是本身吸收,H5检察不是本身不吸收丢弃

注意:以上这些特殊地址不能指派给网路中的任何一台主机或路由器“私用”
重要结论:前两行阐明,如果一个网络中,主机号占Nbit,那么这个网络中,最多支持
台主机&路由器
2.4 子网划分 & 子网掩码


  •         2.4.1 子网划分技术

    •                 ✅子网划分

      •                         原理:若某单元租用了一个IP地址段,假设原本主机号占 n bit,那么可以将前k bit抠出来作为子网号,用剩余的n-kbit作为主机号,这样就能划分出2^k个子网(每个子网包罗的IP地址块大小相称)
      •                         子网划分前,IP地址为两级结构=<网络号,主机号>
      •                         子网划分后,IP地址为三级结构=<网络号,子网号,主机号>
      •                         注意:每个子网地址中,主机号不能分配为全0/全1 

        •                                 全0表现子网本身,全1为子网广播地址
                               
                     
    •                  

    •                                 子网划分作用:让一个很大的IP地址块划分成几个相互独立的这种地址块,从而提拔IP地址资源的利用率。
    •                 ✅子网掩码

      •                         作用

        •                                 用子网掩码、IP地址“逐位与”,算出<网络号,子网号>(可合称为“网络前缀”)
        •                                 只有网络前缀类似的IP地址,才归属于同一个网络 (或子网)
                               
      •                         注意

        •                                 如果一个网络内部举行了子网划分,那么这个网络中的每台主机、每个路由器接口都需要设置IP地址、默认网关、子网掩码
        •                                 如果一台路由器支持子网划分技术,那么在它的转发表中, 需要包罗<目的网络号,子网掩码,转发接口>
                               
                     
    •                 ✅默认子网掩码

      •                         如果一个传统网络 (A/B/C类)内部没有举行子网划分,那么可以将对应此网络的转发表项设置为“默认子网掩码”

        •                                 A类默认255.0.0.0 B类默认255.255.0.0 C类默认255.255.255.0
                               
                     
    •                 ✅默认路由

      •                         默认路由 (默认转发表项)设置:<目的网络号全0,子网掩码全0>
      •                         在路由器转发表中,如果全部表项都不匹配,那么将从“默认路由”转发出去
                     
           
  •         2.4.2 主机发送IP数据报的过程

    •                 一、判断目的主机和本机是否属于同一个网络

      •                         ①检查本机IP地址和目的IP地址的网络前缀是否类似(需要用本机设置的子网掩码“逐位与”)
      •                         ②若网络前缀类似,阐明目的主机和本机属于同一个网络;若网络前缀差别,阐明不属于同一网络
                     
    •                 二、将IP数据报封装成MAC帧并发送到链路上

      •                         如果目的主机与本机属于同一个网络,就通过ARP协议找到目的主机的MAC地址,再将IP数据报封装成帧,并将帧发送给目的主机
      •                         如果目的主机与本机不属于同一个网络,就通过ARP协议找到默认网关的MAC地址,再将IP数据报封装成帧,并将帧发送给默认网关
                     
           
  •         2.4.3 路由器转发一个IP数据报的过程

    •                 一、路由器的某个接口收到一个IP数据报
    •                 二、对IP数据报首部举行校验,并从中找到目的IP地址
    •                 三、查“转发表”

      •                         转发表的表项包罗<目的网络号,子网掩码,转发接口>
      •                         检查目的IP地址与每个表项可否匹配(将目的IP地址、子网掩码“逐位与”,匹配表项中的目的网络号)
      •                         注:至少“默认路由”表项一定是可以匹配成功的
                     
    •                 四、转发

      •                         根据查转发表的结果,将IP数据报从匹配的接口转发出去
      •                         注:如果匹配的“转发接口”和该IP数据报的入口类似,就不用再把IP数据报转发回去
                     
           
 

练习一:H3→H6(同一子网内的两台主机):在局域网的内部就完成了IP数据包的传送   
             H3要检查目的地址与源是否附属于同一个网络:用设置的子网掩码和目的地址逐位相与。网络前缀都类似这个目的地址和源附属于同一个网络之内。h3直接把这个IP数据包封装成mac帧,而且在mac帧当中直接阐明h6的这个MAC地址。到达集线器,集线器会把帧无脑的转发给h5和h6两台主机。h5主机不会吸收这个mac帧,因为目的地址和本身的mac地址不类似,而h6主机会吸收这个帧,拆掉mac帧的首部和尾部,得到IP数据包。由于IP地址和本身的IP地址是匹配的,所以h6这台主机就会吸收这个IP数据包
练习二:H1→H3(差别子网内的两台主机)
        要判断目的地址和的源IP地址是否同属于同一个网络,把目的地址和源的IP地址和本机内设置好的子网掩码举行逐位与运算,得到两个IP地址的网络前缀。由于二者的网络前缀不相称。
所以就阐明这个目的结点和源不在同一个网络内。于是h1需要把这个IP数据包发送给默认网关,让他帮忙转发。转发给b3路由器
        路由器的网络层需要决定这个地址应该往哪转发。起首要和转发表的子网掩码举行相与。相与的结果再和目的网络号举行比较,可以看出和第二行匹配,就会从b2接口把这个IP数据包转发出去。
练习三:H1→H7(采用子网划分技术的网络→传统网络)
        如果它没有举行子网划分,设置默认子网掩码
练习四:H7→H1(传统网络→采用子网划分技术的网络)
练习五:主机H1发往Internet的某个IP数据报怎样传输?(设目的IP地址=111.2.3.4)

  •         2.5 CIDR无分类编址

    •                 2.5.1 根本原理

      •                         取消了IP地址传统的A/B/C/D/E 分类。采用无分类编址CIDR,IP地址块分配更机动,利用率更高,一定程度上缓解了IP地址耗尽 (时代背景:1993年)
      •                         IP地址={<网络前缀>,<主机号>},此中网络前缀不定长
      •                         CIDR记法

        •                                 128.14.32.153/30, 表现在这个IP地址中,网络前缀占30bit, 主机号2bit
                               
      •                        



        •                                
                               
                     
    •                 2.5.2 CIDR地址块的子网划分

      •                         定长子网划分

        •                                 在一个CIDR地址块中,把主机号前k bit抠出来作为定长子网号,这样就能划分出2^k个子网 (每个子网包罗的IP地址块大小相称)
        •                                 缺点:每个子网都一样大,不敷机动,IP地址利用率低,浪费有限的IP地址资源
                               
      •                         变长子网划分

        •                                 在一个CIDR地址块中,划分子网时,子网号长度不固定(每个子网包罗的IP地址块大小差别)
                               
      •                         注意:在每个子网中,主机号全0、全1的IP地址不能分配给特定节点私用
                     
    •                 2.5.3 子网划分解题技巧

      •                         CIDR地址块的子网划分技巧:可以利用类似于“从根到叶构造二叉哈夫曼树”的技巧

        •                                 ⚠️原始CIDR地址块作为根节点(假设可以自由分配的主机号占 h bit)
        •                                 ⚠️每个分支节点必须同时拥有左右孩子,左0,右1(反过来也行)
        •                                 ⚠️每个叶子结点对应一个子网,根据根节点到达叶子结点的路径来分析子网对应的IP地址块范围
        •                                 ⚠️整棵树的高度不能超过h-1(因为即便最小的子网也至少要保留2bit主机号)
                               
                     
           
例子:
 

注意:路由器和主机相连的链路,需要给路由器节点也分配一个ip地址
​​​​​​​


  •         2.6 路由聚合


    •                         对于一个路由转发表,如果几条路由表项的转发接口类似,部分网络前缀也类似,那么可以将这几条路由表项聚合为一条。这种地址的聚合称为路由聚合,也称构成超网。


      •                        
                                缺点:
                                        ● 路由聚合可以减少路由表的大小。                       
                                        ● 路由聚合可能会引入额外的无效地址。
                     
    •                

           
存在1: 目的IP地址和转发表多个表项匹配--最长前缀匹配原则

        目的地址128.14.32.131与路由器转发表均匹配,则采用最长前缀匹配原则举行匹配,表项2匹配的长度最长,则从G3转发出去




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表