美文网首页
计算机网络基础知识——网络层

计算机网络基础知识——网络层

作者: 雁阵惊寒_zhn | 来源:发表于2020-10-11 11:28 被阅读0次

    网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

    网际协议IP

    在TCP/IP体系中的网络层常常被称为网际层或IP层。

    分类的IP地址(两级IP地址)

    1. IP地址 ::= {<网络号>,<主机号>}
    2. 每一个IP地址都由网络号和主机号两部分组成。
    3. 实际上IP地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。
    4. 按照互联网的观点,一个网络是指具有相同网络号net-id的主机的集合,因此,用转发器或网桥连接起来的若干个局域网仍为一个网络。
    5. 在IP地址中,互联网平等对待每一个IP地址。

    划分子网(三级IP地址)

    1. IP地址 ::= {<网络号>,<子网号>,<主机号>}

    地址解析协议ARP

    • 物理地址是数据链路层和物理层使用的地址;IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
    • ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。
    • 地址解析协议ARP在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。ARP高速缓存(ARP cache)里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。

    IP数据报格式和对较长分组进行分片

    IP数据报 = IP数据报首部 + IP数据报数据部分
    IP数据报首部前一部分固定长20字节,是所有IP数据报必须具有的,后面是长度可变的可选字段。

    • IP数据报首部固定部分(与分片相关的字段):
    1. 总长度:首部和数据之和的长度
    2. 标识:每产生一个数据报,计数器加1,赋值给标识字段。
    3. 标志:(1)MF,如果MF=1还有分片,MF=0是最后一个分片;(2)DF,DF=0允许分片。
    4. 片偏移:在较长分组分片后,某片在原分组中的相对位置,以8个字节为偏移单位。
    • IP分组进行分片(面试题:TCP的粘包/拆包原因及其解决方法是什么?)
      参考《计算机网络(第七版)》,129页的示例。
      总长度是首部和数据之和的长度;标识用于确定这些分片属于同一个分组;MF=1后面还有其他分片,为0是最后一个分片;DF=0允许分片;片偏移是在原分组中的相对位置。
      截图如下:

      129页例4-1

    互联网路由选择协议

    内部网关协议RIP(Routing Information Protocol)

    • 一种分布式的基于距离向量的路由选择协议。

    • RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。RIP协议中距离也称为跳数,每经过一个路由器跳数增加1,RIP允许一条路径最多只包含15个路由器

    • 特点:

      1. 仅和相邻路由器交换信息,RIP协议规定不相邻的路由器不交换信息。
      2. 路由器交换当前本路由器所知道的全部信息,也就是自己现在的路由表。
      3. 按固定的时间间隔交换路由信息。
      4. 初始时,路由器的路由表是空的,然后得到与自己相邻的几个网络的距离。之后经过若干次更新得到所有节点的路由信息。这个过程是收敛的
      5. 路由表中最主要的信息就是:到某个网络的距离(即最短距离),以及应经过的下一跳地址。
      6. “好消息传的快,坏消息传的慢”。——网络故障传播时间往往需要较长时间。这是由于同一路由信息会在两个接口直接不断往返传送。
    • 距离向量算法(基础是Bellman-Ford算法)

      1. 路由信息包括三个关键数据:目的网络N,距离d,下一跳路由器是X
      2. 收到相邻路由器X发来的RIP报文,先修改报文中所有的项目,下一跳地址都改为X;距离都增加1。
      3. 修改后,如果原来的路由表中不存在目的网络N,则增加。
      4. 如果原来的路由表中存在目的网络N,观察下一跳地址,如果原来是路由器X,则替换为新的X和距离d。
      5. 如果原来的路由表中存在目的网络N,观察下一跳地址,如果是不路由器X,如果收到的距离d小于原有的距离,则更新。否则什么也不做。
      6. 如果一段时间3分钟没有收到相邻路由器的更新路由表,把这个相邻的路由器记为不可达的路由器,即距离为16。

    内部网关协议OSPF

    • 开放最短路径优先OSPF(Open Shortest Path First)
    • 使用Dijkstra算法求最短路径,参考图的Dijkstra算法-单源最短路径
    • 使用链路状态协议,“链路状态”是说明本路由器都与哪些路由器相邻,以及该链路的代价(可以是距离、延时、费用等)
    • 向本自治系统中所有路由器发送信息。
    • 发送的信息是与本路由器相邻的所有路由器的链路状态。
    • 所有的路由器最终都能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图
    • 每一个路由器使用链路状态数据库中的数据,构造出自己的路由表(例如,使用Dijkstra算法构造)。

    外部网关协议BGP

    • 边界网关协议BGP
    • 采用路径向量路由选择协议,力求寻找一条能够到达目的网络且比较好的路由,并非寻找一条最佳路由。
    • BGP发言人
      1. 在配置BGP时,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”。
      2. 使用TCP连接交换路由信息的两个BGP发言人,彼此成为对方的邻站或对等站。
      3. 每一个BGP发言人除了必须运行BGP协议外,还必须运行该自治系统所使用的内部网关协议,如OSPF或RIP。
    • BGP协议所交换的网络可达性的信息就是要到达某个网络所要经过的一系列自治系统。当BGP发言人互相交换了网络可达性信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好路由。
    • BGP发言人构造出的自治系统连通图,是树形结构,不存在回路

    相关文章

      网友评论

          本文标题:计算机网络基础知识——网络层

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