【计算机网络】:4-网络层

网络层

网络层主要是解决寻址连接问题,例如两个主机在网络上通过IP进行连接通信

1.网络层概述

  • 网络层的主要任务是实现网络互联,进而实现数据包在各网络之间的传输

  • 需要解决的主要问题:

    image-20221023203241718

  • 因特网

    • 使用TCP/IP协议栈
    • image-20221023203505547
    • 通过学习TCP/IP协议栈的网际层进行了解

2. 网络层提供的两种服务

2.1 面向连接的虚电路服务

image-20221023203905544

2.2 无连接的数据报服务

image-20221023204032355

tips:二者对比

image-20221023204123347

3. IP地址

3.1 IPv4地址概述

image-20221023204313720

image-20221023204341777

  • 因为IPv4地址不方便阅读,采用点分十进制表示法

举例

image-20221023205013858

因为位数固定,也可以用凑值法来确定

image-20221023205334578

3.2 分类编址的IPv4地址

image-20221023205525684
  • 只有ABC类地址可以分配给网络中的主机路由器中的各接口

  • 主机号为**全0(网络地址)和全1(广播地址)**的都不能分配给主机或者路由器的各接口

A类地址

image-20221024215652181

B类地址

image-20221024220056607

C类地址

image-20221024220318538

总结

分类标准:

image-20221024222212744

3.3 划分子网的IPv4地址

分配的IP地址数通常会存在空余,可以通过划分子网高效利用剩余IP,起到分类的作用

主机号可以被借用位数作为子网号

  • 32byte的子网掩码可以表明分类IP地址的主机号被借用了几个作为子网号

    • 子网掩码使用连续的比特1来对应网络号和子网号
    • 子网掩码使用连续的比特0来对应主机号

    image-20221025121339481

    • 将划分子网的IPv4地址子网掩码进行逻辑与运算

    image-20221025121350084

  • 默认子网掩码

image-20221025132616448

例:

image-20221025121510483

例题

image-20221025122153782

1.写出二进制子网掩码

image-20221025122217642

2.进行运算,写出主机的网络地址

image-20221025132039727

3.4 无分类编址的IPv4地址

数量巨大的C类网因为地址太小,没有得到充分使用,IPv4地址面临耗尽的问题

image-20221025150217483

  • CIDR使用斜线记法,在斜线后面写出网络前缀所占比特的数量

image-20221025150656440

image-20221025150950257

  • 路由聚合

将五个网络通过一个路由器进行转发:(找共同前缀,后面添加斜线

image-20221025151418894

image-20221025151809953

只能分配两个IP,所以至多两个主机

3.5 IPv4地址的应用规划

  • 定长的子网掩码FLSM

    • 使用同一个子网掩码来划分子网
    • 每个子网所分配的IP地址数量相同造成IP的浪费

    子网号决定分类数目主机号决定分配的IP个数

  • 变长的子网掩码VLSM

    • 根据不同IP地址的需求分配主机号,剩余编码可以作为网络前缀

    image-20221025153450491

    优先分配地址需求数量较大的地址

    image-20221025153904264

4. 数据报的发送和转发过程

主机判断 目的主机是否与自己在同一个网络

将两个IP地址进行 运算,不相等则不在同一个网络

image-20221025155107315

  • 默认网关(设置默认路由器的IP对数据进行转发)

image-20221025155306375

  • 路由器收到数据报如何转发
image-20221025155924952

收到数据报中的信息后进行查表转发

5. 静态路由配置及其可能产生的环路问题

5.1 静态路由配置

image-20221025162231754

  • 使用静态路由配置可能导致产生路由环路的错误
    • 配置错误
    • 聚合了不存在的网络
    • 网络故障

image-20221025162608645

R2不知道黄色的地址,所以可以手动配置(先转到R1路由器,再由R1进行转发)

5.2 静态路由配置错误导致路由环路

  • 在静态配置错误后,路由器进行循环转发

image-20221025163611788

防止这种问题设置了TTL字段

image-20221025163751919
  • 聚合了不存在的网络导致路由环路

防止这种问题设置了黑洞路由

image-20221025164408046

6. 路由器

6.1 路由器选择协议

  • 静态路由选择
image-20221025165147401
  • 动态路由选择
image-20221025165156077

因特网采用的路由选择协议的主要特点

image-20221025165747374

  • 常见的路由选择协议

    • 内部网关(路由)协议
    • 外部网关协议

    image-20221025180638132

  • 路由器的基本结构

    image-20221025181017616

6.2 路由信息协议RIP的基本工作原理

RIP认为好的路由就是距离短的路由

路由信息协议RIP要求AS内内的每一个路由器都要维护子自己到AS内其他每一个网络的距离纪录记录,这组距离称为:“距离向量D-V

image-20221101213347512

当距离相同时,可以进行等价负载均衡(平分信息量)

  • 三个要点

    image-20221101214512757

    举例:

    开始

    image-20221123155951493

    交换后

    image-20221123160012464
  • RIP路由器的更新规则

C的路由表发送给D,D将其下一条都改为C,距离都增加1(D可以通过C到达的地址)

将C发送的路由表和自身进行对比后更新

image-20221123155804380

缺陷

  • RIP存在路由环路或距离无穷计数问题

image-20221101220017842

通过以下措施减少该问题的出现概率:

  • 可以限制最大路径举例为15

6.3 开放最短路径优先(OSPF)的基本工作原理

  • OSPF是为了是为了克服RIP算法的缺点提出的
    • 最短路径优先:使用了Dijkstra的最短路径算法SPF

image-20221108170913698

image-20221108170534952
  • OSPF相邻路由器之间通过交互Hello分组,建立和维护邻居关系

image-20221108171306470

  • 使用OSPF的每个路由器都有一个链路状态数据库LSDB,存储

生产链路通告(LSA):记录直连网络的链路状态信息邻居路由器的链路状态信息

LSDB中的数据,进行SPF计算,计算出最短路径,构建出路由表

  • OSPF有五种分组
image-20221108174228445

由于每个相邻路由器之间都需要交换分组,交换信息数目过多n*(n-1)/2

为了减少分组,进行了以下优化

image-20221108174849323 image-20221108175018718
  • OSPF为了能够适配很大规模的网络,将很大的网络划分成小区域
image-20221108175807424

6.4 边界网关(BGP)的基本工作原理

自制系统之间需要使用外部网关协议EGP这一类协议,使用较多的为BGP-4

image-20221108180421750

  • 在不同自治系统内,度量路由代价可能不同,因此通过OSPF寻找最佳路由不可行

  • 自治系统之间的路由必须考虑(考虑政治、经济、安全等)

  • BGP只能是找到一个较好的路由路径

每个系统都有自己的BGP发言人

建立连接使用TCP报文段中进行连接

image-20221108194910497
  • BGP发言人交换了网络可达性信息后,分别根据各自收到的路由信息找到较好的路由

  • 构建连通图

    image-20221108194948073
  • 封装RIP、OSPF、BGP 报文协议

image-20221108202442263

7. IPv4数据报的首部格式

前置知识:

IPv4在传输时,需要与MTU比大小判断,如果大于MTU需要进行分片处理

例:MTU=1500,下述表需要被分成3份

image-20221108215845518

IPv4数据报具体内容:

image-20221108205923193

版本

  • 占4比特,表示IP协议的版本
  • 通信双方使用的IP协议的版本必须一致

首部长度

  • 占4比特,表示IP数据报首部的长度。
  • 最小十进制取值为5 bytes(表示IP数据报首部只有20字节固定部分
  • 最大取值为15bytes(表示IP数据报首部包含固定部分可变部分

区分服务

  • 一般不使用

总长度字段

  • 占比16 bytes,表示IP数据报的总长度(首部+数据载荷

image-20221108211857206

标识、标志、片偏移

  • 三个字段共同作用于IP数据报分片
image-20221108213124407

tips:片偏移结果必须为整数,不然需要重新分组

  • 例题:具体应用
image-20221108220420975

生存时间TTL

占8 bytes,最大生存周期为255秒;路由器转发时,将
生存时间 − 本路由器耗费时间 ≠ 0 生存时间-本路由器耗费时间 \ne0 生存时间本路由器耗费时间=0
则转发,否则丢弃

协议

  • 表明数据部分是哪种协议数据单元

  • 常用协议数据单元

    image-20221108221353815

首部检验和(IPv6中不再使用)

  • 占16 bytes,用来是否在传输过程出现错误

源IP地址和目的IP地址

  • 各占32bytes,用来填写发送主机接收主机地址

  • 例题:

因为偏移量要取整,所以要进行合理分配

首先使用MTU=800(最大传输大小),但是不整除,向下取整进行计算

image-20221108223853273

8. 网际控制报文协议(ICMP)

为了更有效地转发IP数据报和提高交付成功的机会使用ICMP

ICMP发送:差错报告报文询问报文,被封装在IP数据报中发送

  • ICMP差错报告报文种类:

终点不可达

当路由器或主机不能交付数据报时,发送该报文

源点抑制

当路由器或主机由于拥塞而丢弃数据报时,发送该报文

时间超过

当路由器收到IP地址不是自己的IP数据报,将其生存时间TTL减一

结果为0则丢弃

参数问题

传输中首部出现误码,就丢弃该数据报,并且向源点发送参数问题

改变路由(重定向)

路由器把改变路由报文发送给主机,让主机优化路线

tips:以下情况不应发送ICMP差错报告报文

image-20221109161422742
  • ICMP询问报文:

回送请求和回答

用来测试目的站是否可达及了解其有关状态

时间戳请求和回答

进行时钟同步和测量时间

  • 应用举例

PING命令:查看是否连通

image-20221109162224258

traceroute:

image-20221109162240578

9. 虚拟专用网络(VPN)与网络地址转化(NAT)

VPN

利用公用的因特网做诶本机构各专用网之间的通信载体

VPN专用网中的IP是本机构可分配的专用地址

image-20221110095640580

将左边换为个人也是如此

NAT

该方法缓解了IPv4地址耗尽的问题

  • 流程

1.传输过去

image-20221110100227144

2.返回

image-20221110100543539

  • 延伸NAPT:将端口号与IP地址一起进行转换(一个IP可以使多个主机与外界进行通信)

image-20221110101303578

所以根据以上路由器的工作原理,只能由内网发起(不然路由器里面就没有对应记录 )

猜你喜欢

转载自blog.csdn.net/weixin_66261421/article/details/127995886