• 网络层总结(未完待续)


    一. 概述

    1. 功能

    1.1 异构网络互联

    使用中继系统(路由器)将两个以上的计算机网络连接起来,使数据报(分组)在不同网络之间的传输;

    1.2 路由与转发

    路由选择:根据路由协议构造出路由表并更新、维护路由表
    分组转发:根据转发表将用户的 ip数据报 从合适的端口转发出去;

    1.3 拥塞控制

    出现过多的分组而引起网络性能下降称为拥塞

    ①开环控制:静态的预防方法,中途无需修改;
    ②闭环控制:监测网络,即时调整;

    2. 网络层提供两种服务

    网络层提供数据报虚电路两种服务;

    2.1 虚电路

    是【面向连接】的可靠传输;由网络来保证可靠传输
    需要先建立连接 (全双工通信),然后沿连接传输分组,传输结束后拆除连接,保证分组有序到达

    2.1 数据报

    数据报是【无连接】的,将可靠传输交给主机来保证,使得路由器的设计简单
    不事先为分组确定传输路径,每个分组独立确定传输路径,不同的分组传输的路径可能不同。
    数据报的分组首部携带完整的目的地址;
    数据报是存储转发的方式,不需要建立连接;

    3. 路由算法

    路由表是通过各种算法得到的;
    静态路由算法:手动配置
    动态路由算法(自适应路由算法):路由表是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,这些路由信息会在一定的时间内不断更新,随时获得最优的寻路效果;

    二. Ipv4

    1. 三个历史阶段:

    在这里插入图片描述

    1.1 分类编址

    在这里插入图片描述
    A类地址网络号是前一个字节,B类前两个字节,C类是前三个字节;
    判断
    左起第一个十进制的值判断类型: 0-127是A类地址,128-191是B类地址,192-223是C类地址


    主机号为全0的是网络地址;主机号全1的是广播地址,都不能分配给路由器、主机的各接口;
    0.0.0.0 只能作为源地址使用,表示“在本网络上的本主机” ;
    255.255.255.255 只能作为目的地址使用,表示“只在网络上进行广播”,路由器不转发(防止广播风暴)


    A类地址,网络号是8位,最高位固定为0,所以共有2的8-1次方个组合,就是128,所以最大十进制数就是127;
    此时ip地址数量:2的(3x8)次方-2 (减去主机号全0的网络地址和全1的广播地址);
    最小网络号为1.0.0.0,最大网络号126.0.0.0 (不含网络地址和广播地址)


    B类网络号16位,最高固定为10,共有2的16-2次方个组合,每个地址可分配的ip数量:2的(2x8)次方-2=65534
    网络号为128.0.0.0,最大网络号 191.255.0.0

    例:
    C类网络号24位,最高固定110,共2的24-3次方个组合,每个地址可分配的ip数量:2的(8)次方-2
    网络号:192.0.0.0,最大网络号 223.255.255.0

    1.2 划分子网的Ipv4地址、子网编码

    由于固定分类的网络地址容易造成浪费,所以有划分子网的Ipv4地址,即借用主机号作为子网号

    计算机如何知道主机号有多少位用作了子网号---------子网掩码
    子网掩码的 网络号和子网号全1主机号全0
    使用IP地址和子网掩码相与得到子网的网络地址
    在这里插入图片描述

    例:已知网络地址为218.75.230.0,使用子网掩码255.255.255.128进行子网划分,给出划分细节?
    ①由第一个十进制位218得出这是C类地址(191-255),即网络号占3个字节共24位;
    ②子网掩码前三个字节对应网络号,而最后一个字节是1000 0000 ,即借用1个主机号用作子网号,则每一个子网可分配的ip地址数量为2的(8-1)次方-2=126 ;
    在这里插入图片描述

    1.3 无分类地址的IPv4地址—CIDR

    在这里插入图片描述
    在这里插入图片描述
    可分配地址数量: 在这里插入图片描述
    地址掩码:
    在这里插入图片描述
    前20个1是网络前缀,后面12个是主机号,即可分配地址数量为2的12次方;

    三. IP数据报的转发过程

    【同一个网络中】的主机可以直接通信-----直接交付
    【不同网络】的路由器需要路由器来中转----间接交付

    源主机如何判断目的主机是否在同一个网络中 ?

    在这里插入图片描述

    ①主机C将自己的ip地址和自己的子网掩码相与,得到主机C 自己的网络地址
    ②主机C再将主机F的网络地址和自己的子网掩码相与 得到 目的网络地址
    发现主机F的目的网络地址和C自己的一样则直接交付; 不一样,则不在同一个网络中需要路由器转发报文进行间接交付
    ③主机C将数据报传输给所在网络的路由器,由路由器将数据报交付给主机F ;
    在这里插入图片描述

    问:主机C如何知道应该把ip数据报交给哪个路由器进行转发 ?

    为了让本网络的主机能和其他主机进行通信,就必须给网络指定一个路由器,由该路由器帮忙进行转发----默认网关
    选择路由表顺序:特定主机路由→目的网络的路由器→默认网关

    完整转发过程:

    (1)首先从需要从【数据报首部】提取目的地址,检查首部校验和是否出错,出错则丢弃数据报并通知主机。
    (2)与本路由器的子网掩码相与,看是否可以直接交付。即目的地址所在网络是否与该路由器直接连接,若连接则可直接交付,不需要再经过其他路由器的进行转发。否则间接交付,则执行3。
    (3)查看路由表是否有对应的特定主机路由(特定主机路由用于控制、测试网络),有的话就转发给特定主机路由路由指定的下一跳地址,否则执行4。
    (4)查看有没有到达目的网络的路由器,如果有,则根据符合规则的那一条一般路由指定的下一跳地址进行转发,否则执行5。
    (5)若该路由器中的路由表设定了默认路由,则将分组转发到默认路由指明的地址,否则执行6
    (6)丢弃该数据包,并报告转发失败;

    广播风暴:

    如果主机A给本网络的各设备发送一个广播数据报(ip的主机号全为1),即ip数据报的目的地址是广播地址,则路由器收到该ip数据报后并不会转发该数据报!
    即路由器是隔离广播域的;
    如果路由器收到广播数据报后都进行转发,则会造成巨大的广播风暴,严重浪费资源;

    注意

    1. 路由器不提供可靠传输!
    2. 中继器和集线器在【物理层】,既不隔离冲突域也不隔离广播域;
      网桥和交换机(多端口在网桥)工作在【数据链路层】,可以隔离冲突域,不能隔离广播域;
      路由器工作在网络层,既隔离冲突域,也隔离广播域 ;

    四. IP数据报的首部格式

    在这里插入图片描述

    • 版本号
      4比特
      通信双方使用的ip协议的版本号必须一致,目前广泛使用的版本号为4—即IPv4
    • 协议字段
      占8比特,指明IPv4数据报的数据部分是何种数据单元(传输层);
      在这里插入图片描述
    • 源IP地址
    • 目的IP地址
    • 首部校验和
      占16比特,
      用来检验首部在传输过程中是否出现差错,
      因为某些字段会发生变化,IP数据报每经过一个路由器都要重新计算首部校验和
      由于IP数据报不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,在IPv6中,不再使用,以提高转发速度。
    • 首部长度
      占4个比特,表示IP数据报首部的长度,该字段的取值以4字节为单位,即首部长度一定是4的整数倍
      最小十进制取值为5,表示整个IP数据报首部只有20字节固定部分
      最大十进制取值为15,表示整个IP数据报首部包含20字节固定部分和最大40字节可变部分
    • 可选字段
      长度从1到40个字节不等,用来支持排错、测量和安全等措施
      可选长度增加了IP数据报的功能,但也使得IP数据报的长度成为可变的,增加了路由器处理IP数据报的开销,
      可选字段很少被使用
    • 填充字段
      用来确保首部长度为4的整数倍,使用全0进行填充
    • 区分服务字段
      占8比特,用来获得更好的服务
      一般都不使用
    • 总长度字段
      占16个比特,用来表示IP数据报的总长度(首部+数据载荷)
      最大长度为十进制65535----2^16-1,实际中很少传这么长的数据报;

    最大传输单元MTU:

    每一种数据链路层都规定了帧的数据载荷的最大长度单元--------最大传输单元MTU
    因为IP数据报被封装在链路层的数据报中,因此MTU严格限制了IP数据报的长度,当IP数据报总长度超过MTU时,无法封装成帧,就需要将IP数据报分片成更小的数据报,再将更小的数据报封装成帧
    以太网的数据链路层规定MTU=1500字节

    五. 路由协议

    1. 概述

    路由选择分为:

    1. 静态路由
      人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由
      一般只在【小规模】使用
      开销小
      不能及时适应网络状态(流量、拓扑)的变化

    2. 动态路由
      路由器通过【路由选择协议】自动获取路由信息能较好的适应网络状态的变化;

    英特网是全球最大的互联网络;
    特点
    自适应:采用动态路由,能适应网络变化
    分布式:因特网中的各个路由器通过相互的信息交互,共同完成路由信息的获取和更新
    分层次:将整个因特网划分为较小的自治系统AS;

    英特网采用分层次的路由选择协议:
    在这里插入图片描述
    内部网关协议IGP(Interior Gateway Protocol)(内部路由协议IRP):自治系统内使用的如RIP (路由信息协议), OSPF(开放式最短路径优先);

    外部网关协议EGP(Exterior Gateway Protocol))(外部路由协议ERP):自治系统之间的路由选择最常见的只有BGP(边界网关协议)

    注:EGP、IGP只是分类名称,不是具体的协议

    2. 路由器的基本结构

    路由器是一种有多个输入端口和多个输出端口的专用计算机,任务是转发分组;

    路由器结构划分为:路由选择部分 + 分组转发部分
    路由选择部分的核心路由选择处理机

    路由选择处理机任务是根据使用的路由选择协议,【周期性】的与其他路由器进行路由信息的交互来更新路由表

    在这里插入图片描述

    分组转发的过程:(路由器只关心下三层)

    1. 电信号从某个输出端口进入路由器;物理层将电信号转换为比特流 交给链路层;链路层从比特流中识别出帧,去掉帧头和帧尾,交给网络层;
    2. 如果发给网络层的分组是普通待转发的数据分组,则根据分组首部的目的地址进行查表(转发表)转发,找不到则丢弃,找到则按照匹配的端口(下一跳地址)进行转发;网络层会更新分组首部中的某些字段,例如将分组的生存时间-1,
    3. 然后送到链路层封装成帧,送交物理层处理;物理层将帧看作是比特流,将其变换成电信号进行发送;
    4. 如果送交网络层的分组是路由器之间交换信息的路由报文,则把这种分组送交路由选择处理机,路由选择处理及根据分组内容更新自己的路由表。 路由选择处理机除了处理收到的路由报文外,还会【周期性】给其他路由器发送自己知道的路由信息;(路由器直接交互

    3. 路由环路

    指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。
    当两台或多台路由器的路由信息中存在错误地指向不可达目的网络的有效路径时,就可能发生路由环路。

    原因

    1. 静态路由配置错误
    2. 路由重分布配置错误
    3. 发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新
    4. 错误配置或添加了丢弃的路由 距离矢量路由协议的工作方式比较简单。其简单性导致它容易存在诸如路由 环路之类的缺陷

    后果

    1. 环路内的路由器占用链路带宽来反复收发流量。
    2. 路由器的 CPU 因不断循环数据包而导致网络性能下降;

    六. 虚拟专用网VPN

    引入
    各个专用网想要利用公有的英特网进行通信;
    如同一家公司的两个部门一个在北京一个在上海,需要跨因特网使用专用网通信,此时需要VPN;

    原理:(重新添加数据报首部)
    在这里插入图片描述
    部门A给部门B发送数据报过程:

    1. 将待发送数据封装成内部IP数据报,发送给R1路由器
      数据报的源地址为A中的主机IP私有地址,目的地址为B中的私有地址
    2. R1收到数据报,发现需要英特网间接交付,就将数据报加密,并重新添加数据报的首部,封装成英特网上发送的外部数据报,源地址为R1路由器的全球IP地址目的地址为R2路由器的全球地址
    3. 经过转发,路由器R2收到该数据报后,去掉首部,解密数据部分,恢复原来的内部IP数据包,从首部取出源地址、目的地址
      根据内部数据报的目的地址,将数据报发送给主机

    数据报在英特网中会经过多个网络和路由器,但在【逻辑上】看是R1和R2之间的点对点链路------IP隧道技术

    七. 网络地址转换NAT

    引入
    IPv4地址即将面临耗尽的危险

    NAT指通过将专用网络地址转换为公用网络地址,从而对外隐藏IP地址。
    在专用网络连接英特网的路由器上安装NAT软件(NAT路由器),至少有一个全球IP地址
    所有使用私有地址的主机在和外界通信时,都需要将私有地址转换为全球IP地址;

    功能:
    ①NAT使大量的内部专用地址共享少量的全球IP就来和英特网连通。由于专用网络可重用,所以节省了大量地址的消耗
    ②对外隐藏了网络结构,降低了内部网络被攻击的风险

    原理:(修改源地址)
    在这里插入图片描述
    假设使用私有地址的主机和使用全球地址的主机通信:

    1. NAT路由器从【全球IP地址池】中为该主机分配一个临时的全球IP地址172.38.1.5,并将IP数据报的源地址修改为这个全球IP地址;
    2. 将私有地址和全球地址的对应关系(映射)记录在NAT转换表中;
    3. 之后转发该数据包,此时数据报的源地址目的地址都是全球IP
    4. 当英特网上的主机将数据报发回时,NAT路由器收到该IP数据报,在NAT转换表中进行查找,将目的地址修改为对应的私有地址,并将其发送给相应的主机; 此时数据报的源地址为英特网上主机的全球地址,目的地址为私有地址;

    注意
    普通路由器只工作在网络层,而NAT路由器需要查看运输层的端口号;
    在这里插入图片描述

    问:内网主机和外网主机的通信能否由外网先发起?
    不行!如果外网主机发送数据报,NAT路由器收到数据报后,在NAT转换表中找不到全球地址和私有地址的对应记录!就无法将数据报转发给内网的主机

  • 相关阅读:
    ROS 中自定义消息需要配置的文件信息
    从AlexNet到chatGPT的演进过程
    保护公司数据安全的措施
    「Java开发指南」如何用MyEclipse搭建Spring安全策略?
    瑞吉外卖 新增员工功能
    springcloud gateway网关浅析
    青岛科技大学考研择校
    【CVPR 2022】NeRFReN: Neural Radiance Fields with Reflections
    Vue模板语法下
    入门力扣自学笔记124 C++ (题目编号641)
  • 原文地址:https://blog.csdn.net/Swofford/article/details/126263690