计算机网络笔记(湖科大)_ Part 04 网络层

文章参考于B站:计算机网络微课堂

四、网络层

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

这些异构型网络N1~N7如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可

但是如果要将这些异构型网络互连起来,形成一个更大的互联网,就需要实现网络层设备路由器

有时为了简单起见,可以不用画出这些网络,图中N1~N7,而将他们看做是一条链路即可

要实现网络层任务,需要解决一下主要问题:

  • 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)

在数据链路层那课讲过的可靠传输,详情可以看那边的笔记:网络层对以下的分组丢失分组失序分组重复的传输错误采取措施,使得接收方能正确接受发送方发送的数据,就是可靠传输,反之,如果什么措施也不采取,则是不可靠传输

  • 网络层寻址问题(在多个网络中寻找目的地址!)
  • 路由选择问题:路由器收到数据后,是依据什么来决定将数据包从自己的哪个接口转发出去?(小型互联网手动配置路由表,大型互联网一般采用路由选择协议)

补充 网络层(网际层)除了 IP协议外,还有之前介绍过的地址解析协议ARP,还有网际控制报文协议ICMP,网际组管理协议IGMP

网络层提供的两种服务

  • 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。
  • 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统

补充概念

网络层:分成两种网络服务方式–数据报虚电路方式, 数据报是一种无连接的网络服务虚电路是一种面向连接的网络服务

  • 数据报的概念就是:在网络层上,数据包都是自己独立路由的,每个数据包都有目的端和源端的详细地址,这样就导致了最好到达目的端的数据包是无序的。
  • 虚电路的概念就是:在网络层上,源端的网络实体和目的端的网络实体在数据包传输之前要进行虚电路的建立。在沿虚电路的路上每一个路由器都会为这路虚电路建立端口映射。在建立完之后,所有的数据包都会沿着该虚电路,按照顺序的到达目的端。

1、面向连接的虚电路服务

一种观点:让网络负责可靠交付

  • 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。
  • 通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源。
  • 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzmZ1chU-1636037682512)(计算机网络笔记(湖南科大教程).assets/image-20211103080655985.png)]

发送方 发送给 接收方 的所有分组都沿着同一条虚电路传送

  • 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
  • 请注意,电路交换的电话通信是先建立了一条真正的连接。
  • 因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样

2、无连接的数据报服务

另一种观点:网络提供数据报服务

  • 互联网的先驱者提出了一种崭新的网络设计思路。
  • 网络层向上只提供简单灵活的、无连接的尽最大努力交付数据报服务
  • 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
  • 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OSc2hce1-1636037682513)(计算机网络笔记(湖南科大教程).assets/image-20211103081052261.png)]

发送方 发送给 接收方 的分组可能沿着不同路径传送

尽最大努力交付

  • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、流量控制等)
  • 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
  • 互连网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。

扩展知识 : 参考文章

传输层:主要有两种传输服务方式–TCP和UDP,TCP是面向连接的传输方式,UDP是面向无连接的传输方式。

如同网络层有两种不同类型的服务一样,传输层提供的服务类型也有两种。面向连接的传输服务(TCP)在许多方面与面向连接的网络服务(虚电路)相似。在这两者之中,连接有三个阶段:建立连接,数据传输,释放连接。另外,无连接的传输服务(UDP)和无连接的网络服务(数据报)也非常相似。

现在问题就出来了,既然网络层提供了两种服务方式,那么为什么还要独立出一层传输层,同时传输层也要提供这两种方式呢?

答案在于:传输层的代码完全运行在用户的机器上,而网络层主要运行在承运商控制的路由器上,这也就是网络层应该在的地方,网络层的作用就是为数据包提供路由。这样就照成了用户对于网络层的控制几乎是没有的,用户只能控制自己机器上的程序。那么如果网络层提供的将服务不够用怎么办? 如果他频繁的丢失分组怎么办?用户在网络层上并没有真正的控制权,所以他们不可能用最好的路由器或者在数据层上用更好的错误处理机制来解决服务太差的问题,唯一的可能是在网络层之上的另一层中提高服务质量。这样就是为什么会出现传输层的原因。

从本质上来讲,由于传输层的存在,这使得传输服务有可能比网络服务更加可靠。丢失的分组和损坏的数据可以在传输层上检测出来,并且由传输层来补偿。

关于数据链路层和传输层提供的可靠传输 参考文章

最最重要的是:传输层是端到端的,数据链路层是点到点的,想要保证端到端的可靠传输就必须在传输层做文章,仅仅在保证数据链路层各个点之间的可靠传输也不能保证上层数据的可靠性,依然会出现丢包等情况的出现。

上层使用可靠传输解决下层的问题

所以传输层是保证传输无误的最高层次,任何下层导致的传输错误,传输层都要重传来处理,来达到让对方能正确接收数据的目的,传输层就是保证端到端的可靠传输,就是应用之间的通信可靠

IPV4

概述

、

分类编制的IPv4地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yH5lHiL-1636037682513)(计算机网络笔记(湖南科大教程).assets/image-20211103085250983.png)]

  • 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
  • 主机号在它前面的网络号所指明的网络范围内必须是唯一的。
  • 由此可见,一个 IP 地址在整个互联网范围内是唯一的
A类地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d049pHgq-1636037682514)(计算机网络笔记(湖南科大教程).assets/image-20211103085344657.png)]

B类地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A29BApue-1636037682515)(计算机网络笔记(湖南科大教程).assets/image-20211103085829666.png)]

C类地址

总结

IP 地址的指派范围

划分子网的IPv4地址

为什么要划分子网

在 ARPANET 的早期,IP 地址的设计确实不够合理:

  • IP 地址空间的利用率有时很低。
  • 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
  • 两级的 IP 地址不够灵活。

如果想要将原来的网络划分成三个独立的网路

所以是否可以从主机号部分借用一部分作为子网号

但是如果未在图中标记子网号部分,那么我们和计算机又如何知道分类地址中主机号有多少比特被用作子网号了呢?

所以就有了划分子网的工具:子网掩码

  • 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址
  • 这种做法叫做划分子网 (subnetting) 。
  • 划分子网已成为互联网的正式标准协议。
如何划分子网
  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
  • 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

  • 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
  • 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
  • 最后就将 IP 数据报直接交付目的主机。

划分为三个子网后对外仍是一个网络

  • 优点
  1. 减少了 IP 地址的浪费
  2. 使网络的组织更加灵活
  3. 更便于维护和管理
  • 划分子网纯属一个单位内部的事情,对外部网络透明,对外仍然表现为没有划分子网的一个网络。
子网掩码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kJ7cZy7D-1636037682516)(计算机网络笔记(湖南科大教程).assets/image-20211103090618353.png)]

(IP 地址) AND (子网掩码) = 网络地址 重要,下面很多相关知识都会用到

举个例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PNGuWfAC-1636037682516)(计算机网络笔记(湖南科大教程).assets/image-20211103090719972.png)]、
在这里插入图片描述

默认子网掩码

、

总结

子网掩码是一个网络或一个子网的重要属性。

路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。

若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码。

无分类编址的IPv4地址

为什么使用无分类编址

无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

CIDR 最主要的特点

  • CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
  • IP 地址从三级编址(使用子网掩码)又回到了两级编址
如何使用无分类编址

举例:

路由聚合(构造超网)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uygGhbkT-1636037682517)(计算机网络笔记(湖南科大教程).assets/image-20211103091502342.png)]

总结

、

网文控制报协议ICMP

概述

、

ICMP 不是高层协议(看起来好像是高层协议,因为 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议

ICMP 报文的格式

ICMP差错报告报文

1、终点不可达

2、源点抑制

3、时间超过

4、参数问题

5、改变路由(重定向)

不应发送ICMP差错报告报文

、

ICMP应用举例

分组网间探测PING(Packet InterNet Groper)

跟踪路由(traceroute)

、

虚拟专用网VPN与网络地址转换NAT

1、虚拟专用网VPN

Virtual Private Network

  • 由于 IP 地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数。

  • 考虑到互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网。

  • 假定在一个机构内部的计算机通信也是采用 TCP/IP 协议,那么从原则上讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配其 IP 地址

在这里插入图片描述

上图是因特网数字分配机构IANA官网查看IPv4地址空间中特殊地址的分配方案

用粉红色标出来的地址就是无需申请的、可自由分配的专用地址,或称私有地址

私有地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信

私有地址只能用作本地地址而不能用作全球地址

因特网中所有路由器对目的地址是私有地址的IP数据报一律不进行转发

本地地址与全球地址

  • 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。
  • 全球地址——全球唯一的 IP 地址,必须向互联网的管理机构申请。
  • 问题:在内部使用的本地地址就有可能和互联网中某个 IP 地址重合,这样就会出现地址的二义性问题。

所以部门A和部门B至少需要一个 路由器具有合法的全球IP地址,这样各自的专用网才能利用公用的因特网进行通信

2、网路地址转换NAT

Network Address Translation

​ 虽然因特网采用了无分类编址方式来减缓IPv4地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IPv4地址空间即将面临耗尽的危险仍然没有被解除。
1994年提出了一种网络地址转换NAT的方法再次缓解了IPv4地址空间即将耗尽的问题。
NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。

例子

在这里我们可以使用学校的例子,显然学校的校园网就是这么一个专用网,地址为192.168.x.x不能直接访问因特网,而是通过一个接入了互联网的NAT路由器这些,进行间接的使得我们达到能够正常上网的这么一个流程

使用私有地址的主机,如何才能与因特网上使用全球IP地址的主机进行通信?

这需要在专用网络连接到因特网的路由器上安装NAT软件

专有NAT软件的路由器叫做NAT路由器

NAT路由器它至少有一个有效的外部全球IP地址(至多为n个,当为n个时允许内网中的n台主机访问网路)(全球ip地址池)

这样,所有使用私有地址的主机在和外界通信时,都要在NAT路由器上将其私有地址转换为全球IP地址

数据的传输流程

1、假设,使用私有地址的主机要给因特网上使用全球IP地址的另一台主机发送IP数据报

2、因特网上的这台主机给源主机发回数据报

3、当专用网中的这两台使用私有地址的主机都要给因特网使用全球地址的另一台主机发送数据报时,在NAT路由器的NAT转换表中就会产生两条记录,分别记录两个私有地址与全球地址的对应关系

该转换方法存在一个问题:如果NAT路由器具有N个全球IP地址,那么至多只能有N个内网主机能够同时和因特网上的主机通信。

Guess you like

Origin blog.csdn.net/m0_46571920/article/details/121153478