网络层功能概述
为运输层提供服务,跨越不同的网络将传输层的数据送达到目的地
网络层是通信子网的最高层,对上层用户屏蔽了子网通信的细节,如子网类型、拓扑结构、子网数目,向上层提供一致的服务、统一的地址
在端系统之间传递分组
在发送端将分组打包为数据报,在接收端分解
在所有端系统、路由器中都存在lP协议
路由器的主要作用是将数据从入链路转发到出链路。
主要功能
网络层实现各种不同的网络的互联。网络层的主要功能就是将发送端计算机传输层递交的数据分组通过物理网络传输到接收端计算机的传输层。
具体来说:
- 路由选择:找到一条从发送端计算机到接受端计算机的数据传输路径。
- 分组转发:通过找到的路径,将数据分组一个节点一个节点地转发到接收端计算机。
网络层的基本服务是为两个传送实体之间提供透明的数据传送,它使得传输层不需要了解基本通信媒体上的任何细节
网络层通常提供的服务类型:数据报、虚电路
网络层向传输层提供服务
- 无连接服务
- 面向连接服务
服务的要求
- 独立的路由器技术
- 路由器的数量,类型和拓扑关系对于传输层应该是不可见的
- 网络层地址有一种统一编制方案
OSI和TCP/IP体系结构对比
网络层设计思想
1.让网络负责可靠交付(面向连接)(虚电路服务)
让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。
通信之前先建立电路交换方式,以保证双方通信所需的一切网络资源。
如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。
2.不可靠交付(无连接)(数据报服务)
网络提供数据报服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)。
网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
尽最大努力交付
由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、流量控制等)。
采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
虚电路服务与数据报服务的对比
网际协议——IP协议
IP协议是TCP/IP体系中最主要的两个协议之一
与IP协议配套使用的四个协议
- 地址解析协议ARP
- 逆地址解析协议RARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
异构网络互联
需要解决的问题
- 不同的寻址方案
- 不同的最大分组长度
- 不同的网络接入机制
- 不同的超时控制
- 不同的差错恢复方法
- 不同的状态报告方法
- 不同的路由选择技术
- 不同的用户接入控制
- 不同的服务(面向连接服务和无连接服务)
- 不同的管理与控制方式
网络互相连接起来要使用的中间设备
- 物理层中继系统:转发器
- 数据链路层中继系统:网桥或桥接器
- 网络层中继系统:路由器
- 网络层以上的中继系统:网关
路由器
当中继系统是转发器或网桥时,一般并不称为网络互连,因为转发器或网桥仅是把一个网络扩大了,但仍然是一个网络
网管因为比较复杂目前使用较少
互联网指的是用路由器进行互连的网络
路由器在很多文献中被称为网关
互连网络和虚拟互连网络
虚拟互连网络
虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
使用IP协议的虚拟互连网络可简称为IP网。
使用虚拟互连网络的好处是
当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节
分组在互连网络中的传送
从网络层看IP数据报的传送
如果我们只从网络层考虑问题,那么IP数据报就可以想象是在网络层中传送
IP地址
IP地址及编码方式
我们把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。
IP地址现在由因特网名字与号码指派公司ICANN进行分配
每八位所以最多取2^8 = 256个但是范围是0~255共256个所以最高为255.255.255.255
IP地址的编址方式
- 分类编址(最基本)
- 划分子网(最基本的改进)
- 无分类编址(当前使用)
分类编址
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它标志该主机(或路由器)。
定址准则
- 网络ID不能是127,此ID保留作循环功能
- 网络ID和主机ID的位不能全为1,如果所有位设为1,地址将被理解为广播而不是主机ID。
- 网络ID和主机ID的位不能全为0。如果所有位设为0,地址将被理解为“仅此网络”。
- 在本地网络ID范围中主机ID必须是唯一的。
五类IP地址
A类地址
B类地址
C类地址
D类和E类
D类P地址不标识网络
地址范围:
224.0.0.0~239.255.255.255
用于其他特殊的用途,如多播地址Multicasting;类IP地址暂时保留
地址范围:
240.0.0.0~255.255.255.255
用于某些实验和将来使用
前三类IP地址使用范围
识别IP地址
IP网络中主机数的计算方法
特殊的IP地址
网络地址与主机地址都为1(二进制),即255.255.255.255,表示在局域网中进行广播
任何一个数字以127开头的IP地址都叫回送地址,它是一个保留地址,最常见的形式为127.0.0.1,每个主机上都有被称为回送接口,所以回送地址的用途是实现本地网络协议的测试或实现本地进程间的通信
网络地址
广播地址
IP地址的特点
IP地址是一种分等级的地址结构
- IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了IP地址的管理。
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
实际上IP地址是标志一个主机(或路由器)和一条链路的接口
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id必须是不同的。这种主机称为多归属主机(multihomedhost)。
- 由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。
用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。
所有分配到网络号net-id的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
公有IP地址
公有IP地址是全球唯一的,需要向因特网管理机构申请有利于网络整体的稳定
私有IP地址
属于非注册地址,它不需要申请,专门为组织机构内部使用以下表列出留用的内部寻址地址
1个A类地址段 10.0.0.0 ~ 10.255.255.255
16个B类地址段 172.16.0.0 ~ 172.31.255.255
256个C类地址段 192.168.0.0 ~ 192.168.255.255
特点
私有地址的特点是只能在一个机构内部使用,不能和因特网上的主机通信,因为路由器默认对于目的地址是私有地址的IP数据报一律不与转发
如果一个机构不接入因特网,但是内部的网络还要使用TCP/IP协议通信,这时使用私有地址是非常好的选择。当然可能会出现两个不同的机构选择了同一段的私有地址,如都选择了192.168.1.0这个网段,但这不会对双方的通信造成影响,因为私有地址的通信被严格地限制在本地网络之内
特殊的IP地址
子网和超网
子网
将一个大的网络划分成几个较小的网络,而每一个网络都有其自己的子网地址
划分子网的原因
从两级IP地址到三级IP地址
在ARPANET的早期,IP地址的设计不够合理。
- IP地址空间的利用率有时很低。
- 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
- 两级的IP地址不够灵活。
从1985年起在P地址中又增加了一个“子网号字段”,使两级的IP地址变成为三级的IP地址。
这种做法叫作划分子网(subnetting)。划分子网已成为因特网的正式标准协议。
划分子网的基本思路
划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个位作为子网号subnet-id,而主机号host-id 也就相应减少了若干个位。
凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。
然后此路由器在收到IР数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网。
最后就将IP数据报直接交付目的主机。
例子
超网
将一个组织所属的几个C类网络合并成为一个更大地址范围的逻辑网络
子网掩码
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。
子网掩码是一个32位地址
从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码(subnet mask)可以找出IP地址中的子网部分
默认的子网掩码
规则
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与IP地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码的功能
- 用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。
- 用于将一个大的IP网络划分为若干小的子网络
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法
将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
已知子网掩码计算主机数
公式:2^n - 2(n是0的数目)
步骤:
- 由十进制子网掩码转换为二进制
- 数0
- 带入公式
例子:
(c类)子网掩码:255.255.255.248
说明有3个0
主机数=2^3-2=6
求子网数
公式:2^n - 2(n是1的数目)
步骤:
- 由十进制子网掩码转换为二进制
- 数1
- 带入公式
例子:
(c类)子网掩码:255.255.255.248
说明有5个1
子网数=2^5-2=30
IP地址和子网掩码求网络地址
IP地址:221.86.143.88
子网掩码:255.255.255.240
做逻辑与运算(1,1得1 , 1,0得0 , 0,0得0)
得出网络地址为221.86.143.80
(255和任何数都是原数)
IP地址和子网掩码求广播地址
IP地址:221.86.143.88
子网掩码:255.255.255.240
将计算出的二进制数最后一个1后面的0全部换为1
如80的二进制数是01010000那么就变为01011111
得出广播地址为221.86.143.95
IP地址和子网掩码求网络地址范围
将网络地址 +1,将广播地址 -1,就形成了网络地址的范围
所以上面的网络地址是221.86.143.81 ~ 221.86.143.94
判断两个IP是否在同一子网下
转化为二进制与子网掩码做与运算看结果是否相同即可
子网地址空间的划分方法
CIDR(无分类域间路由选择)
在一个划分子网的网络中可以同时使用多个不同的子网掩码,使用变长子网掩码VLSM可进一步提高IP地址资源的利用率
而在VLSM的基础上进一步研究出来了无分类编址方法——CIDR
特点
CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
IP地址从三级编址(使用子网掩码)又回到了两级编址。
无分类的两级编址
CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”,每块中的地址个数是2的乘方。
将“CIDR地址块”分配给一个组织,该组织还可以将该地址块划分为多个更小的地址块(前缀更长)分配给组织内的小单位。
用不定长的网络前缀来替代原来分类IP地址中的网络号,路由器按目的地址块进行选路和转发。
CIDR中子网掩码记法
IP地址/二进制1数量,如:192.168.2.32/24