【计算机网络】网络层

网络层

在这里插入图片描述

虚拟互联网络

在这里插入图片描述

  • IP协议使得复杂的实际网络变成一个虚拟的互连网络
  • IP协议可以使得网络层屏蔽底层细节而专注网络层的数据转发
  • IP协议解决了在虚拟网络中数据报传输路径的问题

IP数据报格式

在这里插入图片描述
对于IP协议的头部,前五行为固定部分,第六行可有可无,第七行为数据报,前五行每行都有32个比特,也就是四个字节,所以IP头部至少有20个字节长度。

  • 版本 : 有 4(IPv4)和 6(IPv6)两个;
  • 首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节,也就是首部最大长度为60个字节。
  • 区分服务 : 用来获得更好的服务,一般情况下不使用。
  • 总长度 : 占16位,最大长度为65535,表示的IP数据报长度(包括首部长度和数据部分长度)。
  • 标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
  • 片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
  • TTL:占8位,表示IP数据报文在网络中的寿命,每经过一个设备,TTL减一,当 TTL 为 0 时就丢弃数据报。
  • 协议:占8位,表明IP数据具体所携带的协议(TCP,UDP等)

路由表简介

在这里插入图片描述
在这里插入图片描述

IP协议的转发流程

(1)从网络层看待转发过程

在这里插入图片描述
(2)从网络层和数据链路层来看待转发过程
在这里插入图片描述

  • 数据帧每一跳MAC地址都在发生变化
  • IP数据报每一跳的IP地址始终不变

ARP协议(了解)

在这里插入图片描述
ARP 实现由 IP 地址得到 MAC 地址。

而它的实现有两种情况:
1.ARP缓存表有缓存IP地址和MAC地址的映射关系
则在上文中的转发过程中A可直接告诉E的MAC地址
2…ARP缓存表没有缓存IP地址和MAC地址的映射关系
在这里插入图片描述

IP地址的子网划分

一 分类的IP地址

在这里插入图片描述
在这里插入图片描述
(1)特殊的主机号

  • 主机号全0,表示当前网络段,不可分配为特定主机
  • 主机号全为1,广播地址,向当前网络段所有主机发送消息

(2)特殊网络号

  • A类地址:网络号全0 ,表示特殊网络;网络号后7位全为1,表回环地址
  • B类地址:网络号为128.1不可使用
  • C类地址:网络号为192.0.0不可使用
  • D类地址:1110…
  • E类地址:1111…

在这里插入图片描述
二 子网划分

为什么要子网划分?
首先来看一个问题,
某公司有100名员工,每人配备一台计算机,请问该公司应该申请哪种网络段?
在这里插入图片描述
从表格来看,C类地址申请是最节约IP地址的,但是254个主机号只有100个被使用,这就造成了IP地址的空间浪费,所以提出了子网划分的概念。

在这里插入图片描述
如上图,对C类地址193.10.10.0进行子网划分,可以划分为两个子网,第25位是定义子网,主机号后七位是定义主机,子网号这么多,有没有什么办法可以快速判断某个IP地址的网络号(也就是子网号)

这里就引入子网掩码,默认初始值子网的子网掩码具备网络号位数个连续的1,一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。

在这里插入图片描述

在这里插入图片描述

那么是如何通过子网掩码快速判断出某个IP地址的子网号呢?
那就是将IP地址和子网掩码做“与”运算。
在这里插入图片描述
在这里插入图片描述
三 无分类编址CIDR
在这里插入图片描述
在这里插入图片描述
CIDR把网络前缀都相同的连续的IP地址组成一个“.CIDR地址块”,
只要知道CIDR地址块中的任何一个地址,就可以知道这地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
例子:已知IP地址为128.14.35.7/19是某CIDR地址块中的一个地址,求这个地址所在的地址块中的最小地址和最大地址
*IP地址: 128.14.35.7/19 = 10000000 00001110 00100011 00000111
*最小地址:128.14.32.0  = 10000000 00001110 00100000 00000000
*最大地址:128.14.63.255 = 10000000 00001110 00111111 11111111
下图为不同前缀长度的掩码点分十进制
在这里插入图片描述

网络地址转NAT技术

NAT技术用于多个主机通过一个公有IP访问互联网的私有网络中
在这里插入图片描述
内部都是使用C类地址,使用一个公有IP访问外部私有网络,

在这里插入图片描述在这里插入图片描述
将内部网络的私有IP地址和端口号转换为公有IP地址与端口号,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。NAT技术减缓了IP地址的消耗,但是增加了网络通信的复杂度。

ICMP协议

在这里插入图片描述
ICMP协议又称网际控制报文协议,可以报告错误信息或者异常情况,更有效的转发IP数据报和提高交付成功的机会,由上图可看出,它封装在IP数据报中,不属于高层协议。

头部格式:
在这里插入图片描述
ICMP报文分为差错报告报文和询问报文。
在这里插入图片描述
在这里插入图片描述

Ping

Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

Ping 的原理是组装一个IP数据报,在IP数据报中组装一个ICMP协议询问报文,再封装到IP协议里,通过数据链路层发送出去,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。

Traceroute

Traceroute可以探测IP数据报在网络中走过的路径

在这里插入图片描述

  • 源主机A向目的主机B发送一连串的 IP 数据报。第一个数据报 P1 的生存时间 TTL 设置为 1,当 P1 到达路径上的第一个设备R1 时,R1收下它并把 TTL 减 1,此时 TTL 等于 0, 就把 P1 丢弃,并向源主机发送一个 ICMP 终点不可达差错报告报文;
  • 源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达 R1,R1 收下后把 TTL 减 1 再转发给 R2,R2 收下后也把 TTL 减 1,由于此时 TTL 等于 0,R2 就丢弃 P2,并向源主机发送一个 ICMP 终点不可达差错报文。
  • 不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机B,B会向源主机发出一个回应报文,表示已经接收到数据。
  • 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。

以下是连接到github.com的路径跟踪:
在这里插入图片描述

路由器

我们在前面的IP协议转发流程中看到数据每传输到一个设备就要查询路由表,以此知道下一跳的地址,那么这个下一跳地址是如何确定的,它是否是最优的呢,路由器这么多又是如何工作的,这里就要运用路由算法。

距离矢量(DV)算法

  • 每一个节点使用两个向量Di 和Si ;
  • Di描述的是当前节点到别的节点的距离;
  • Si描述的是当前节点到别的节点的下一节点
  • 每一个节点与相邻的节点交换向量Di 和Si 的信息;
  • 每一个节点根据交换的信息更新自己的节点信息。
    在这里插入图片描述
    以下是利用DV算法计算A到各个节点的最短距离过程:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    计算节点A通过节点B到各个节点的距离
    在这里插入图片描述
    更新交换的信息和S
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

内部网关协议RIP协议

  • RIP 是一种基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳数为 1。跳数最多为 15,超过 15 表示不可达
  • RIP 按固定的时间间隔(30秒)仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址。

具体流程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3. 如果3分钟没有收到相邻的路由信息,则把相邻路由设置为不可达(16跳)

内部网关协议OSPF协议

迪杰斯特拉算法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
OSPF协议的过程
OSPF协议是为了克服RIP协议的缺陷而开发出来的,RIP协议在网络故障时需要较长时间才可将错误传向所有路由器。
在这里插入图片描述

  • 向本自治系统中的所有路由器发送信息
  • 发送的信息就是与相邻路由器的链路状态,链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示。
  • 只有当链路状态发生变化时,路由器才会发送信息。
  • 更加客观更加先进,减少了数据的交换,更快的收敛

在这里插入图片描述

外部网关协议BGP(了解)

AS 之间的路由选择很困难,主要是由于:

  • 互联网规模很大;
  • 各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
  • AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。

每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱技术的小小林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值