【一周搞定计算机网络】文章全系列已经更新完毕,详情请戳:
计算机网络第1章(概述)
计算机网络第2章(物理层)
计算机网络第3章(数据链路层)
计算机网络第4章(网络层)
计算机网络第5章(运输层)
计算机网络第6章(应用层)
计算机网络第4章(网络层)
网络层是 OSI 参考模型 中的第三层,介于 传输层 和 数据链路层 之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的 数据通信 ,将数据设法从源端经过若干个中间 节点 传送到目的端,从而向运输层提供最基本的端到端的 数据传送 服务。
文章目录
前言
这是本人在观看b站湖科大计算机网络教学视频后所做的笔记,以此来记录一些比较重要的计算机网络知识点,希望能够帮助到有需要的小伙伴学习计算机网络这门知识点较为繁杂的重要学科。有被帮助到的小伙伴记得给我点个赞以作鼓励哦,万分感谢!!!
b站湖科大计算机网络视频地址:计算机网络微课堂(有字幕无背景音乐版)
4.1、网络层概述
简介
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输
这些异构型网络N1~N7如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可
但是如果要将这些异构型网络互连起来,形成一个更大的互联网,就需要实现网络层设备路由器
有时为了简单起见,可以不用画出这些网络,图中N1~N7,而将他们看做是一条链路即可
-
要实现网络层任务,需要解决一下主要问题:
- 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)
在数据链路层那课讲过的可靠传输,详情可以看那边的笔记:网络层对以下的分组丢失、分组失序、分组重复的传输错误采取措施,使得接收方能正确接受发送方发送的数据,就是可靠传输,反之,如果什么措施也不采取,则是不可靠传输
- 网络层寻址问题
- 路由选择问题
路由器收到数据后,是依据什么来决定将数据包从自己的哪个接口转发出去?
依据数据包的目的地址和路由器中的路由表
但在实际当中,路由器是怎样知道这些路由记录?
- 由用户或网络管理员进行人工配置,这种方法只适用于规模较小且网络拓扑不改变的小型互联网
- 另一种是实现各种路由选择协议,由路由器执行路由选择协议中所规定的路由选择算法,而自动得出路由表中的路由记录,这种方法更适合规模较大且网络拓扑经常改变的大型互联网
补充 :网络层(网际层)除了 IP协议外,还有之前介绍过的地址解析协议ARP,还有网际控制报文协议ICMP,网际组管理协议IGMP
总结
4.2、网络层提供的两种服务
- 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。
- 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
面向连接的虚电路服务
一种观点:让网络负责可靠交付
- 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。
- 通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源。
- 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。
发送方 发送给 接收方 的所有分组都沿着同一条虚电路传送
- 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
- 请注意,电路交换的电话通信是先建立了一条真正的连接。
- 因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样
无连接的数据报服务
另一种观点:网络提供数据报服务
- 互联网的先驱者提出了一种崭新的网络设计思路。
- 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
发送方 发送给 接收方 的分组可能沿着不同路径传送
尽最大努力交付
- 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、流量控制等) 。
- 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
- 互连网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
虚电路服务与数据报服务的对比
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
4.3、IPv4
概述
分类编制的IPv4地址
简介
- 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
- 主机号在它前面的网络号所指明的网络范围内必须是唯一的。
- 由此可见,一个 IP 地址在整个互联网范围内是唯一的。
A类地址
B类地址
C类地址
练习
总结
IP 地址的指派范围
一般不使用的特殊的 IP 地址
IP 地址的一些重要特点
(1) IP 地址是一种分等级的地址结构。分两个等级的好处是:
- 第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
- 第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机 (multihomed host)。
- 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
(4) 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
划分子网的IPv4地址
为什么要划分子网
在 ARPANET 的早期,IP 地址的设计确实不够合理:
- IP 地址空间的利用率有时很