计算机网络(三):网络层

中国大学MOOC网站北京交通大学计算机网络课程笔记

1. 网络层定义

OSI——定义网络射箭如何传输数据;根据唯一的网络设备地址路由数据包;提供流量和拥塞控制以防止网络资源的耗损。

TCP/IP——网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,这就是IP(Internet Protocol)的主要功能。

2. IP地址

IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围时唯一32位的标识符。(IPV4)
IP地址现在由因特网名称与号码分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。

传统的分类IP地址

分为ABCDE五类地址。
每一类地址都有两个固定长度的字段组成,
其中一个字段是网络号net-id,它标志主机(或路由器)锁连接到的网络;
另一个字段则是主机号host-id,它标志该主机(或路由器)。

ABCDE五类怎么区分:有几位表示主机,几位表示网络。A类地址由8位表示网络,24位表示主机;B类地址由16位表示网络,16位表示主机;C类地址由24位表示网络,8位表示主机。怎么区分三类地址,由0开头的为A类地址,由10开头的为B类地址,由110开头的为C类地址。

在这里插入图片描述

特殊的IP地址:

网络地址:IP地址中主机地址部分全为0
广播地址:IP地址中主机地址部分全为1
表示发送给所有主机。
0.0.0.0: 代表路由表的缺省路由(代表主机本省,尚未获得IP地址情况下)
255.255.255.255:本地广播或受限广播
127.0.0.0-8:本机地址,用于测试本机的TCP/IP协议
169.254. * .*:是Windows操作系统在主机自动获取IP地址失败时,自动给客户机分配的IP地址。
局域网内部管理的地址
10.0.0.0~10.255.255.255(1个A类网段)
172.16.0.0~172.31.255.255(16个B类网段)
192.168.0.0~192.168.255.255(256个C类网段)
不允许在互联网上使用
可使用NAT进行地址转换
在这里插入图片描述

IP地址是一种分等级的地址结构。分两个等级的好处是:
管理机构只负责分配网络号,方便IP地址的管理。
按网络号转发分组,使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
所有网络和IP地址是平等的。
IP地址标志一个主机(或路由器)和一条链路的接口。
在这里插入图片描述
在上图中,不同的网络有不同的网络号,同一网络的网络号相同,主机号不同。由网桥连接的网络其网络号一致。

3. IP数据报

物理层将准备好的数据转化为比特流。
数据链路层将网络层下来的数据分组添加帧定界,再通过物理层发送出去。
而网络层则再上一层的数据上添加首部转化为IP数据报发送给链路层。
在这里插入图片描述
首部分为两个部分:
前一部分是固定长度,共20字节,是所有IP数据包必须具有的。
后一部分是一些可选字段,其长度是可变的。实际上很少被使用。

固定长度

版本: 4位,指IP协议的版本
首部长度: 4位,可表示的最大数值是15个单位(一个单位为4字节)。因此IP首部长度的最大值是60字节。
区分服务: 8位,没起到什么作用。
总长度: 16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过链路层要求的最大传送单元MTU。
标识: 16位,它是一个计数器,用来产生数据报的标识,如果数据过长,要分片,分片后的数据报标识应保持一致。
标志: 3位,目前只有前两位有意义。最低为是MF(more fragment)。MF = 1表示后面“还有分片”。MF = 0表示最后一个分片。只有当DF = 0时才允许分片。
片偏移: 13位,较长的分组在分片后,某片在原分组中的相对位置。以8个字节为偏移单位。
生存时间(TTL,Time To Live) : 8位,数据报在网络中可通过的路由器数(跳数)的最大值,每经过一个路由器转发就减1,为0时就丢弃。
协议: 8位,此数据报所携带数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程。
在这里插入图片描述
首部校验和: 16位,只检验首部,不检验数据部分。
源地址: 4位,发送消息主机的IP地址。
目的地址: 4位,发送目标的IP地址。


4. 基本路由过程

路由器等网络设备中会有一张路由表,路由表中存储着连接的网络号和端口号。当要传输数据时,会通过查找路由表来找到可以发往目的网络地址的接口。

加粗样式
路由表结构如图中所示,第一个字段表示目的网络的网络号,第二个字段下一跳表示要转发到目的网络,它下一个节点应该转发到哪里。

基本的分组转发算法

(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址位N。
(2)若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则则是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表之名的下一跳路由器;否则,执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。
在这里插入图片描述
上图中配置的默认网关便为路由表中的默认地址。


5.ARP协议

与IP协议配套使用的还有4个协议:
         地址解析协议
         逆地址解析协议
         网际控制报文协议
         网际组管理协议

在这里插入图片描述
在数据的传输过程中,目的IP地址一直保持不变,变化的时MAC地址,如何将IP地址与MAC地址对应起来,便是ARP协议要解决的事情。
在这里插入图片描述

ARP工作原理
  1. 每一个主机都设有一个ARP高速缓存(ARP cache)。
    里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
  2. 当主机A预向本局域网上的某主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。
    * 如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
    * 如果没有,则通过广播请求获取所需地址。并告知自己的地址信息。
    在这里插入图片描述
    在这里插入图片描述
    ARP是工作在局域网中的,是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
    ARP的数据包不会通过路由器发到外部网络中。
    在这里插入图片描述

6. 网际控制报文协议ICMP(Internet Control Message Protocol)

为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议。
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP不是高层协议,而是IP层的协议。
ICMP报文作为IP层数据包的数据,加上数据报的首部,组成IP数据报发送出去。

ICMP报文的格式

在这里插入图片描述

ICMP报文的种类

(1) ICMP差错报告报文(5种)

  • 终点不可达
  • 源点抑制(Source quench)
  • 时间超过
  • 参数问题
  • 改变路由(重定向)(Redirect)

(2) ICMP询问报文(2种)

  • 会送请求和应答
  • 时间戳请求和应答

7. 划分子网

传统分类IP地址的利用率有时很低,管理不够灵活,适应性低。因此有了划分子网的方法。

三级IP地址

从1985年起在IP地址种又增加了一个“子网号字段”,使两级的IP地址变成为三级的IP地址。
这种做法叫做划分子网。1985年划分子网已成为因特网的正式标准协议。


划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
主机号借用若干个位作为子网号 subnet-id,而主机号host-id也就相应减少了若干个位。
在这里插入图片描述

如何按子网路由
  1. 先按目的网络号 net-id 找到网络;
  2. 再按子网号 subnet-id找到自网络;
  3. 最后按主机号 host-id找到目的主机。
子网掩码

从一个IP数据报的首部(IP地址)无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码可以找出IP地址种的子网部分

                           (IP地址) AND (子网掩码) = 网络地址

在这里插入图片描述
划分子网会浪费一部分地址,但可以提高总体利用率。
在这里插入图片描述
ABC三类IP地址的默认子网掩码如图所示。
子网掩码是一个网络或子网的重要属性。
路由器间交换路由信息时,必须把自己所在网络(或子网的)的子网掩码告诉相邻路由器。
电脑上配置IP协议的时候都会配置子网掩码信息。
在这里插入图片描述

在划分子网的情况下分组转发算法

在这里插入图片描述


8. 构造超网

划分子网部分缓解了地址资源利用的问题,但也存在不够灵活等问题——固定网络号长度
因特网主干网上的路由表种的项目数急剧增长(从几千个增长到几万个),效率下降。
在VLSM的基础上——无分类编址方法,它的正式名字是无分类域间路由选择CIDR(Classless Inter-Domain Routing)
CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
CIDR使用各种长度的“网络前缀"来代替分类地址种的网络号和子网号。
IP地址从三级编址(使用子网掩码)又回到了两级编址

CIDR表示方法

IP 地址 ::={<网络前缀>,<主机号>}

CIDR使用==斜线记法==,即在IP地址后面加上一个斜线 ”/“,然后写上网络前缀所占的位数。也可称为”掩码“。 如:128.14.32.0/20
CIDR地址快

CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块“。
如128.14.32.0/20 表示的地址块共有2^12个地址,地址范围是:

  • 最小地址:128.14.32.0
  • 128.14.47.255

在不需要指出地址块的起始地址时,也可将这样的地址块简称为”/20地址块“。
CIDR地址块划分举例

构造超网

一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。如下图所示。

在这里插入图片描述

最长前缀匹配

使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

所以应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配
因为网络前缀越长,其地址块就越小,因而路由就越具体。

关于VLSM(可变长度子网掩码)的计算 我们先来理解以下概念: 子网:IP地址均分为网络位和主机位两段,假设一个网络中的主机为450台,那么分配一个C类地址不够用,分配一个B类地址又显得太浪费,在这种情况下,就提出了子网化的概念,子网的定义就是把主机地址中的一部分主机位借用为网络位。如在一个B类地址172.16/16,可以借用7位做为网络地址,一个形如172.16.2/23的地址段就可以满足该网络的需求。其中172.16/16称为主网,172.16.2/23称为子网。 超网:子网化一定程度上减轻了IP地址空间紧张的压力,但是由于在IP地址分配初期的考虑不周全,导致A类、B类地址在初其大量分配,资源相当紧张,而一些中型网络又需要超过一个C的地址,这进只能分配几个连续的C类地址块。为了减小Internet路由表的数量,就提出了超网的概念,超网和子网的定义刚好相反,就是借用一部网络位作为主机位。从而达到减小Internet路由表的目的。如192.168.0/24-192.168.3/24四个C类地址段,就是可超网化为192.168.0/22这样一个超网。 CIDR(无类型域间路由):随着子网和超网概念的深入,IANA在分配IP地址过程中类别的概念越来越淡化,一般情况下就直接以地址块的形式分配地址段,配合路由设备的支持,就出现了无类型域间路由的概念。它是一种工业标准,与IP地址一起使用的,用来显示子网位数。例如,172.16.10.1/24就表示32位子网掩码中有24个1。 简单的说凡是借了位就用到了CIDR, 借少了位叫超网,比如:192.168.1.0/22 借多了位叫VLSM,比如:192.168.1.0/28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值