• 计算机网络 :网络层


    网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。

    网络层提供两种服务:

    • 面向连接服务
    • 无连接服务

    对比角度虚电报服务(面向连接)无连接数据报服务
    思路可靠通信由网络保证可靠通信由用户主机保证
    连接的建立需要建立不需要建立
    目的地址仅在连接建立时使用,子厚使用虚电报号每个分组必须携带完整的目的地址
    分组转发沿着建立利好的虚电报发送

    每个分组独立选择路由发送

    分组顺序按序到达可能未按序到达
    当节点故障时所有通过故障节点的虚电报不能工作出故障的节点会丢失分组,路由会发生改变

    虚电报服务标准:ITU-T的X.25建议书(现在已被舍弃) 

    lP协议:(无连接,不可靠的)

    IP协议的组成:

    • ARP  地址解析协议
    • RARP 逆向地址解析协议(弃用)
    • ICMP 网际控制报文协议
    • IGMP 网际组管理协议

     ARP 地址解析协议

    作用:将IP地址转换为MAC地址

    IP地址的转化: 

    • IP->ARP->物理地址
    • 物理地址->RARP->IP

     ICMP 网际控制报文协议

    作用:更加有效地转发IP数据报和提高交付成功的机会

    ICMP差错报告报文类型:

    报文类型含义
    终点不可达路由器或主机不能交付数据报时向源主机发送
    超时路由器收到生存时间为0的数据报向源主机发送
    参数问题路由器或主机收到数据报首部格式中有字段值不正确
    改变路由路由器把该百年路由报文发送给主机

    ICMP询问报文类型:

    报文类型含义
    回送请求和回答由路由器向特定的目的主机发送询问,目的主机给出回答
    时间戳请求和回答请某台主机或路由器回答当前的日期和时间

    ping  使用了ICMP回送请求与回答报文来测试2台主机的连通性

     tracert 用来追踪一个分组从源点到终点的路径

    IP地址

    IP地址的组成: 网络号和主机号

    网络号:保证相互连接的两个网段具有不同的标识, 简单来说就是标识网络

    主机号:同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号, 简单来说就是标识同一网段下的不同主机.

    IP地址有五种类型:

    A类网络号:全0和全一不能使用

    B类和C类网络号:全0不能用

    主机数:全0和全1不能用 

    IP地址的性质:

    1. 在分配IP时只指定网络号,主机号可以由获取网络号的单位划分。
    2. 根据网络号来转发分组,减小路由表的大小,提高工作效率
    3. IP地址用来标识一台主机或一个路由器中的一条链路的接口地址
    4. 局域网对外是一个网络:拥有相同网络号的主机的集合
    5. 所有分配到网络号的网络都是平等的

    私有IP地址和公网IP地址:

    • 私有IP地址:在局域网中使用的IP地址
    • 公网IP地址:在互联网中使用的IP地址

    用于组建局域网的私有IP地址:

    • 192.168.* 用于组件小型局域网
    • 172.16.*——172.31.* 用于组件中型局域网
    • 10.* 用于组建大型局域网

    IPv4和IPv6 :

    IPv4总地址空间为:2^32  可用率为87.5%,由于无法满足当前的需求,IPv6诞生了。

    IPv6 规定每个地址占128位

    IPv6 采用以16位为一组共8组,用十六进制表示,各值用冒号分割

    例如:5465:4564:2254:0000:0000:0000:0000:0000

    由于IPv6地址数量庞大,可能0会比较多,所以采用零压缩法来表示

    零压缩法:多组连续的0 用::代替 (只能用一次,防止歧义)

    例如:

    5465:4564:2254:0000:0000:0000:0000:0000

    零压缩法:5465:4564:2254::

    5465:4564:2254:0000:0000:1235:0000:5465

    零压缩法:5465:4564:2254::1235:0000:5465

    IPv6的特点:

    • 更大的地址空间
    • 扩展的地址层次结构
    • 灵活的首部格式
    • 改进的选项
    • 允许协议继续扩充
    • 支持即插即用
    • 支持资源的预分配
    • IPv6首部改为与8字节对齐

    IPv6首部长度为固定的(40字节) 

     

     IPv6数据报的目的地址的基本类型:

    单播:点对点通信

    多播:一点对多点(IPv6没有广播的概念,相当于广播)

    任播:任播的终点时一组计算机,但数据报只交付给其中一个,通常是距离最近的一个。

    单播和多播的区别:

     由于多播传输的数量大,不可能写入这么多主机的IP地址,所以使用的是多播组的标识符。

    多播组的标识符为IP的D类地址。

    多播数据报也是”尽最大可能交付“,不能保证一定能交付到所有成员。

    多播地址只能用于目的地址,而不能用于源地址,且不会生成ICMP差错报文。

    IPv4向IPv6过渡:

    方法有:

    • 双协议法
    • 隧道技术

    双协议法:

    在未完全使用IPv6时,使逐级和路由器同时安装两个协议栈

    隧道技术:

    把IPv6数据报分封装成IPv4的数据报 

    IP数据报的格式:

    • 版本: 占4位 4和6 代表 IPv4和IPv6
    • 首部长度:占4位,IP数据报头部的总长度以4字节为单位
    • 区分服务:用于表示数据报的优先级和服务类型,占8位。包括一个3位长度的优先级,4位长度的标志位,最高位未用
    • 总长度:首部和数据之和 16位 ,最长为2^16-1=65535字节(64KB)
    • 标识:用于表示IP数据报的标识符,占16位
    • 标志:占3位,标志字段有:MF和DF,MF代表更多的分片(1代表后面有分片,0反之)。DF表示不能分片(1为不能分片 0代表能分片)
    • 片偏移:指出该分段在数据报中的相对位置。相对于用户数据字段的起点,该字段从何处开始,占13位, 片偏移=数据报片的起始字节序号/8
    • 生存时间:TTL 代表数据表在网络中的寿命,一般用跳数表示,数据报每经过一个路由器跳数减一,一般在传输时设置跳数,当跳数为0时,就不在转发该数据报
    • 协议:用来标识此IP数据报在传输层所采用的协议类型,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程,占8位
    • 首部检验和:检验首部是否有错,不包括数据部分
    • 源地址和目的地址:各占32位,分别表示该IP数据报发送者和接收者的IP地址
    • 可变部分:提供扩展余地

    IP数据报的分片:

    IP数据报是按片来经行传输,首先会把数据报分片,然后会计算标志字段和片偏移。

    分片的计算:分片是向上取整的,才可以保存所有数据

     例如:  数据总长度为4020字节,分片长度不超过1420字节,首部为20字节

    由于总长度为4020,数据部分长度为4020-20=4000(减去首部)

    分片数据报长度 1420-20=1400

    n=4000/1400=3(向上取整)

    第一部分:0-1399 第二部分:1400-2799 第三部分:2800-3999

    片偏移:第一部分 0/8=0    第二部分:1400/8=175   第三部分:2800/8=350

    总长度MFDF片偏移
    原数据报4200000
    数据报11420100
    数据报2142010175
    数据报3122000350

    每个数据报都需要加首部

    分片后的总长度为  T=原长度+(n-1)*20

    IP地址和硬件地址的区别:

    IP地址硬件地址
    地址类型逻辑地址(软件实现)物理地址(硬件实现)
    使用位置网络层及以上各层数据链路层和物理层
    存放位置IP数据报首部MAC帧首部

    路由器

    路由器(Router)是连接两个或多个网络的 硬件 设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。 它能够理解不同的协议,例如某个局域网使用的 以太网协议 ,因特网使用的 TCP/IP协议 

    路由器的作用:

    • 连通两个不同的网络
    • 选择信息传送的路线

    路由器中保存着传输路径的相关数据——路由表

    路由表:是一个存储在 路由器 或者联网计算机中的电子表格(文件)或 类数据库, 路由表不直接参与 数据包 的传输,而是用于生成一个小型指向表,这个指向表仅仅包含由路由算法选择的数据包传输优先路径

    • 静态路由表

    • 动态路由表

    静态路由表:是由管理员在路由器中手动配置的固定路由,路由明确地指定了包到达目的地必须经过的路径

    特点:

    1、它允许对路由的行为进行精确的控制

    2、减少了网络流量

    3、是单向的

    4、配置简单

    动态路由表:是指动态路由协议(如RIP)自动建立路由表,当你去掉一条连线时,它会自动去掉其路由。路由器的每一个接口对应不同网络,而一条连接两个路由器连线的两个端点IP应该属于同一网络。 设置的IP地址时,如果路由器的其它端口已有这个网络了,则提示已有这个网络,并显示对应的端口

    特点:

    1、节点增删时工作量少

    2、网络拓扑变化,协议自动调整

    3、配置不易出错

    4、对网络扩容性好

    5、需要占用路由器资源

    路由表的参数:

    • 目的网络地址
    • 下一跳地址 

    分层次的路由选择协议:

     由于互联网规模大且许多单位不愿外界了解自己单位的网络布局等,可以把整个互联网划分为许多较小的自治系统(AS),AS是在单一的技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。

    • 内部网关协议 IGP(RIP和OSPF)
    • 外部网关协议 EGP(BGP-4)

    自治系统间的路由选择:域间路由选择

    自治系统内部的路由选择:域内路由选择

    RIP (内部网关协议)

    RIP是一种分布式的基于距离向量的路由选择协议,是互联网标准协议(简单)。

    RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。

    RIP将”距离“的定义如下:

    从一路由器到直接连接的网络的距离定义为1

    从一路由器到非直接连接的距离定义为所经过的路由器数加1,加1是为了到达目的网络后进行直接交付。

    RIP协议的距离也可称为“跳数“,每经过一个路由器,跳数加一,RIP允许一条路径最多只能包含15个路由器,”距离“等于16时不可达(所以只能用于小型互联网)。

    RIP只会选择最短路径。

    RIP的特点:

    • 仅和相邻路由器交换信息
    • 交换的信息是当前本路由器所知道的全部信息(路由表)
    • 按固定时间间隔交换路由信息

    RIP协议使用UDP进行传输(50端口)

     

     

     OSPF(内部网关协议)

    OSPF:开放最短路径优先 ,使用的是分布式的链路状态协议。

    直接使用IP数据报传输

    OSPF的特点:

    • 向本自治系统中所有路由器发送信息,使用的是洪泛法
    • 发送的信息是与本路由器相邻的所有路由器的链路状态,但只是了解的部分信息。
    • 当链路状态发生变化时,路由器才向所有路由器用洪泛法发送信息

    由于路由器之间频繁的交换链路状态信息,因此可以建立一个链路状态数据库,这个数据库就是全网的拓扑结构图。

    OSPF的链路状态数据库能较快的更新,使得各个路由器能及时更新路由表。(更新过程收敛得快) 

    BGP(外部网关协议)

    BGP采用:路径向量路由选择协议

     BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议

    BGP路由信息的传输采用了可靠地TCP协议

    IP层转发和分组:

    特定主机路由:

    路由器是根据目的地址的网络号来进行转发和分组,但也可以对特定的主机指定一个路由,

    指定主机路由,可以提高数据的交付效率,因为不用查找路由表

    默认路由:

    默认路由:是对IP 数据包 中的目的地址找不到存在的其他路由时, 路由器所选择的路由。

     分组转发的流程:

    1. 从数据报的首部中提取目的主机的IP地址D,得出目的网络地址为N
    2. 判断N是否与路由器直接相连,是则把数据报直接交付目的主机D;否则间接交付执行下一个流程
    3. 查找路由表中是否有目的地址为D的特定主机路由,有则直接转发,否则执行下一步
    4. 查找路由表。若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳,没有则执行下一步
    5. 查找路由表中是否有一个默认路由。有则把数据报传送给默认路由,否则报告转发分组出错。

    划分子网:

    划分子网:简单的来讲就是把多个IP通过子网分批管理

     划分子网时的三级结构:

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

    三级结构的优点:

    ● 减少了 IP 地址的浪费
    ● 使网络的组织更加灵活
    ● 更便于维护和管理

    子网掩码:

    子网掩码(subnet mask)又叫网络掩码地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。

    子网掩码的使用原因:

    通过子网掩码的设置位置上来判定一个网络是否进行了子网划分,通过子网掩码和目的主机的IP地址可以得到子网的网络地址。现在的网络都必须使用子网掩码,没有划分的话则使用默认子网掩码。

    子网掩码的格式:网络号全为1,主机号全为0

    默认子网掩码:

    网络类型网络号位数默认子网掩码
    A类8255.0.0.0

    B类

    16255.255.0.0
    C类24255.255.255.0

     关于子网掩码的计算:

    • 网络号:目的IP与子网掩码进行与运算
    • 主机号:用IP地址的二进制和子网掩码的二进制的反码,进行与运算
    • 广播地址:网络号与子网掩码进行与操作
    • IP可用范围:网络号+1 ———广播号-1

    1.网络号和主机号的计算:

    例一:ip地址:140.252.20.68      子网掩码:255.255.255.0  

    网络号: 140.252.20 与运算 255.255.255   结果为 140.252.20

    主机号:68

    例二:ip地址:140.252.20.68     子网掩码:255.255.255.240

    子网掩码为:255.255.255.24

    二进制:11111111.11111111.11111111.11110000

    由于网络号全为1 所以 网络号有28位,所以主机号有4位

    68的二进制为:01000100  取前4位为64   后4位为4

    网络号:140.252.20. 64

    主机号:4

     广播地址的计算:

    例子:ip地址:140.252.20.68     子网掩码:255.255.255.240

    网络号为:140.252.20.64             10001100.11111100.00010100.01000000

    子网掩码:255.255.255.240         11111111.11111111.11111111.11110000

    广播地址为:140.252.20.77          10001100.11111100.00010100.01001111

    IP地址范围

    例子:ip地址:140.252.20.68     子网掩码:255.255.255.240

    网络号:140.252.20.64   

    广播号:140.252.20.77 

    IP地址范围:140.252.20.65~140.252.20.76

    子网的划分:

     子网的划分通过对子网掩码的主机号进行划分:

    C类子网的划分情况 :255.255.255.0 

    子网位数子网掩码子网数主机数
    2255.255.255.1922(2^2-2)62(2^2-2)
    3255.255.255.2246(2^3-2)30(2^2-2)
    4255.255.255.24014(2^4-2)14(2^2-2)
    5255.255.255.24830(2^5-2)6(2^2-2)
    6255.255.255.25262(2^6-2)2(2^2-2)
    7255.255.255.2554126(2^7-2)0(2^2-2)

    注意:由于不能全0和全1所以子网数和主机数都需要减2

    ip地址汇总网段的计算:

    汇总网段的计算方法:

    1.确定需要汇总的网段的子网地址。

    2.将各网段的子网地址以二进制写出。

    3.比较各网段二进制表示的网络地址,从第1位比特开始进行比较记录连续的相同的比特, 不相同的比特位到第32个比特为填充0。由此得到的地址为汇总后网段的IP地址,其网络位 为连续的相同的比特的位数。

    例如:ip地址10.1.8.0/24和10.1.9.0/24的汇总网段

    虚拟专用网:

    虚拟专用网简称VPN:是指在公用网络上建立专用网络的技术。

    VPN的任意两个节点之间的连接并没有传统专用的端到端的物理链路,而是架构在公共网络服务商提供的网络平台。

    本地地址和全球地址:

    1.本地地址:(内部地址),单位间,为了相互通信自行分配的IP地址称为本地地址,本地地址不需要向上级申请,因特网规定一些本地地址用于机构内部通信

    • 10.00~10.255.255.255
    • 172.16.0.0~172.31.255.255
    • 192.168.0.0~192.168.255.255

    路由器一旦接到目的地址为本地地址的数据报一率步进行转发。

    2.全球地址:(外网地址),必须使用全球地址才能访问到外网的IP地址

    VPN的原理:

    VPN主要是采用隧道技术实现的。

    使用场景:就是在外部无法随意访问的地方,开辟一个隧道(VPN),但需要输入用户名和密码,才能进行访问

    网络地址转换:

    网络地址转换是一种将本地地址转化为全球地址的转换技术。

    使用在各种类型因特网接入方式和各种类型的网络。

    网络地址转换的作用:

    • 解决IP地址不足的问题
    • 有效避免来之网络外部的攻击

    实现地址转换需要在专用网连接到因特网的路由器上安装NAT(网络地址转换)软件,该路由器称为NAT路由器。

    NAT路由器需要至少有一个有效的全球地址I,NAT路由器维持者主机和外部通信。

  • 相关阅读:
    理解MySQL的会话变量、局部变量和全局变量
    js 中的 map集合使用。
    周二补丁日(Patch Tuesday)
    Python冷知识:如何找出新版本增加或删除了哪些标准库?
    国内MES系统应用研究报告:“企业MES应用现状”| 百世慧®
    QT学习day4
    计算机操作系统重点概念整理-第六章 输入输出I/O管理【期末复习|考研复习】
    【项目管理冲刺-必会概念】
    Uni-App 快捷登录
    qt json
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/126854627