2.4 网络层01

2.4.1 网络层概述

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

异构网络内部的计算机要想实现通信是不需要实现网络互联的,异构网络之间要想实现通信就必须实现网络互连。

路由器工作在五层协议体系结构的网络层的

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

  • 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)
    • TCP/IP协议体系结构在网际层提供的是无连接的、不可靠的数据包服务
    • ATM、帧中继和X.25的网络层提供的是面向连接的、可靠的虚电路服务

路由器丢掉数据包的三种情况:
1、位错误和误码:在传输过程中,数据包可能受到电磁干扰、噪声或信号衰减等因素的影响,导致位错误的发生。如果接收到的数据包中存在位错误,路由器会检测到错误并丢弃该数据包,以避免传输错误的数据。
2、缓冲区溢出:路由器具有有限的缓冲区(内存)用于存储传入和传出的数据包。当传入的数据包的速率超过路由器的处理能力时,缓冲区可能会溢出。在这种情况下,路由器会选择丢弃一些数据包,以确保后续的数据包能够得到适当的处理和转发。
3、数据失序:在分组交换网络中,较大的数据包通常会被划分为多个较小的数据片段进行传输。每个数据片段都包含有序编号,以便在目的地重新组装。然而,由于不同路径的网络延迟和拥塞状况的不同,数据片段可能以不同的顺序到达目的地。这种顺序错乱被称为数据失序。当路由器接收到乱序的数据片段时,它将存储这些片段并等待其他片段到达,以便正确地重新组装数据。如果缺少关键的数据片段或等待时间过长,路由器可能会决定丢弃这些数据片段,以避免影响整体的网络性能和传输效率。

假设从路由器A发送数据到路由器E,数据被分为③②①,数据片①经ABE到达E、数据片②经ADE到达E、数据片③经ACE到达E。由于不同线路的网络情况不一样,数据片到达E的顺序可能会与原数据片顺序不一样,即数据失序。

  • 网络层寻址问题
    即IP寻址
    路由器的每个接口都可以分配一个IP地址
  • 路由选择问题:路由器根据路由表选择下一跳
    计算机内部有一张路由表,路由器也有

    因特网(Internet)目前是世界上用户数量最多的互联网,它使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。我们是通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

2.4.2 IPv4 地址概述

1、在因特网中,为了实现计算机之间的相互通信,通常需要为每台计算机分配一个IP地址。在互联网的发展过程中主要有两个版本的互联网协议,分别是IPv4(Internet Protocol version 4)和 IPv6(Internet Protocol version 6) 。

2、IPv4的IP地址就是给因特网(Internet)上的每一台主机(或路由器))的每一个接口分配一个在全世界范围内是唯一的32比特的标识符,地址总数为232个。
3、IPv6的IP地址采用128比特地址长度,地址总数为2128个。
4、IP地址由因特网名字和数字分配机构IcANN(InternetCorporationforAssignedNamesandNumbers)进行分配。我国用户可向亚太网络信息中心APNIC(AsiaPacificNetworkInformationCenter)申请IP地址,需要缴费。
5、当下互联网中的绝大多数设备采用的是IPv4的IP地址
6、由于32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用,例如:192.168.1.100

2.4.3 IPv4地址的分类

1、IPv4的IP地址由网络号(指定主机所属的网络)和主机号(指定被寻址的子网中的某个节点)组成,IP地址可以分为A、B、C、D、E五类。


2、各类IP地址的细节

A类地址

  • A类地址的取值范围
    1.0.0.1~126.255.255.254
  • A类地址可指派的网络数量:因为网络号占8个bit,并且最高位固定为0,网络号有27=128中组合,但是因为最小网络号0和最大网络号127不能指派,所以最终A类IP地址能够指派的网络数量为:
  • A类地址每个网络中可以分配的地址数量:因为主机号站24个bit,主机号有224种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2

B类地址

  • B类地址的取值范围
  • B类地址可指派的网络数量:因为网络号占16个bit,并且最高位固定为10,网络号有2(16-2)种组合
  • B类地址每个网络中可以分配的地址数量:因为主机号站16个bit,主机号有216种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2

C类地址

  • C类地址的取值范围
  • C类地址可指派的网络数量:因为网络号占24个bit,并且最高位固定为110,网络号有2(24-3)种组合。
  • C类地址每个网络中可以分配的地址数量:因为主机号站8个bit,主机号有28种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2

D类、E类地址

2.4.4子网的划分

1、例题

我们先来看一道笔试题:

用一根网线直接相连的两台主机的lP地址分别为192.168.1.100、192.168.2.100,子网掩码都为255.255.255.0,请问使用什么方法可以让这两台主机能够进行正常的数据通信?

答案:将两台主机的子网掩码设置为255.255.0.0

2、子网掩码

  • 子网掩码(subnet mask)是一个32位地址,又叫网络掩码、地址掩码,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码将某个IP地址划分成网络地址和主机地址两部分
  • 左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与IP地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数。

注意:子网掩码一定从高位(左边)到低位(右边)是一串连续的1,不一定是255

  • 子网掩码的两个功能:
    • 屏蔽IP地址的一部分以区别网络标识和主机标识
    • 将一个大的IP网络划分为若干小的子网络
  • 子网掩码的工作流程:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算,得到该IPv4地址所在的网络地址

3、子网的划分

子网掩码是在IPv4地址资源紧缺的背景下为了解决IP地址分配而产生的虚拟IP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,有效解决了IP地址资源紧张的局面。另一方面,在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网,再利用三层交换机的路由功能实现子网互联,从而有效解决了网络广播风暴和网络病毒等诸多网络管理方面的问题。

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

下面我们举例说明划分子网的细节:已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
解析流程:

  • 从IP地址坐起第一个十进制为218,所以该IP地址为C类地址,C类地址的子网掩码默认为:255.255.255.0,而此时给出的子网掩码为255.255.255.128,则说明子网掩码向主机号借用了一个bit作为子网号
  • 因为子网掩码向主机号借用了一个bit作为子网号,所以可划分出来的子网数量为21=2个。每个子网可分配的地址数量为:2(8-1)-2 =126个。因为主机号的最高位被子网掩码借用了,主机号只有7位了,所以最多可分配2(8-1) =128个地址,但是还需要去掉主机号为全0的网络地址和主机号为全1的广播地址所以还需要减2。
  • 详细的子网划分

4、练习题

我们通过一道考研真题对子网的划分方法进行巩固

5、子网掩码的CIDR(Classless Inter-Domain Routing,无类域间路由选择)斜线记法

说明:n表示子网掩码所使用的bit数,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2(32-n)-2
例1:192.168.1.100/24,其子网掩码表示为255.255.255.0
例2:172.16.198.12/20,其子网掩码表示为255.255.240.0

判断IP能否通信的笨方法:
第一步:把子网掩码用二进制表示
第二步:把IP地址用二进制表示
第三步:掩码中“1”对应的IP地址位如果都相同,那么这些IP就在同一网段中。