网络层提供的服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报(datagram)服务,数据报也就是常说的分组
网络在发送分组时不需要提前建立连接,每一个分组(IP数据报)独立发送,与前后分组无关(不进行编号),因此可能会有出错、丢失、失序、重复等问题
如果进程需要可靠通信,则由运输层负责处理(包括差错处理、流量控制等),采用这种思路,网络造价大大降低、运行方式灵活,适用多种应用
虚电路服务于数据报服务对比
对比项目 | 虚电路 | 数据报 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条的分组均按照同一路由进行转发 | 每个分组独立选择路由器进行转发 |
结点出现故障时 | 所有通过故障结点的虚电路不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点的时间不一定按照发送顺序 |
差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一
与IP协议配套使用的还有三个协议:
- 地址解析协议ARP(address resolution protocol)
- 网际控制报文协议ICMP(Internet control message protocol)
- 网际组管理协议IGMP(Internet group management protocol)
虚拟互连网络
因为用户的需求是多种多样的,所以没有一种单一的网络能够适应所有用户的需求
从一般概念来讲,讲网络互联起来要使用一些中间设备,根据中间设备所在的层次,可以有四种不同的中间设备
- 转发器repeater:物理层使用的中间设备
- 网桥/桥接器(bridge):数据链路层使用的中间设备
- 路由器(router):网络层使用的中间设备
- 网关(gateway):网络层以上使用的中间设备,用网关连接两个不兼容的系统需要在高层进行协议转换
由许多计算机网络通过一些路由器进行互连,由于都使用网际协议IP,因此互连后的计算机网络可以看成一个虚拟互连网络,意思是利用IP协议,可以让这些性能各异的网络在网络层看起来好像是一个统一的网络
使用IP协议的虚拟互联网络简称为IP网,好处是当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节,在这种覆盖全球的IP网的上层使用TCP协议,就是现在的互联网(Internet)
上图中,描述的是主机H1发送一个IP数据报到主机H2的数据流向
- 主机H1查找自己的路由表,发现目的主机并不在本网络中,因此将IP数据报发送给某个路由器R1
- R1查找自己的路由表后,将数据报转发给R2进行间接交付
- 经过多个路由器的转发,最后路由器R5判断到目的主机和自己在同一个网络,直接将数据报交付给目的主机
注意到其中:
- 主机的协议栈有5层,而路由器的协议栈只有3层,图中黑线表示数据在协议栈中流动的方向
- 在R4和R5之间,使用了卫星链路,而R5所连接的是一个无线局域网
- 在R1到R4之间的三个网络,可以是任意类型的
总之,互联网可以由多种异构网络互连组成
分类的IP地址
IP地址及其表示方法
整个互联网就是一个单一的、抽象的网络,IP地址就是给互联网上的每一台主机或路由器的每一个接口分配一个全世界范围内唯一的32位标识符,IP地址现在由互联网名字和数字分配机构ICANN进行分配
分类的IP地址,就是将IP地址划分位若干个固定类,每一类地址都由两个固定长度字段组成
- 第一个字段位网络号,它标志主机或路由器所连接到的网络,网络号在互联网是唯一的
- 第二个字段是主机号,标志主机或路由器
IP地址在整个互联网范围内是唯一的,这种两级IP地址可以表示位
I P a d d r e s s : : = { < n e t − i d > , < h o s t − i d > } IPaddress ::= \{<net-id>, <host-id>\} IPaddress::={
<net−id>,<host−id>}
图中给出了各种IP地址的网络号字段和主机号字段,其中ABC类位单播地址,是最常用的
从图中可以看出:
-
A、B、C类地址的网络号字段为1、2、3个字节,网络号字段的前面1~3位为类别位
-
A、B、C类地址的主机号字段分别为3、2、1个字节*
-
D类地址用于多播
-
E类地址保留
常用的三类IP地址
A类地址网络号1个字节,但实际只有7位可用,最高位固定为0,可以指配的网络为2^7-2个
- 第一网络号字段全0为保留地址,代表本网络,所以0000 0000 无法使用
- 第二0111 1111(127)也保留,作为本地软件的环回测试
A类地址的主机号占3个字节,其中主机号全0和全1是保留的,因此可以分配的主机号有2^24-2个
- 主机号全0表示该IP地址是本主机所连接到的单个网路,表示的是整个网络的地址
- 主机号全1表示该网络中所有的主机
B类地址的网络号有2个字节,前面10固定,但是128.0.0.0保留,因此可指派的网络数为2^14-1
B类地址的主机号数量为2^16-2,因为全0和全1同样是保留的
C类地址的网络号有3个字节,前面三位110固定,192.0.0.0保留,因此可指派的网络数为2^21-1
C类地址的主机号数量为2^8-2,全0和全1是保留的
除了正常的IP地址,特殊的IP地址一般是不使用的
IP地址具有以下一些重要特点
- 每一个IP地址都由网络号和主机号组成,IP地址管理机构只需要分配网络号,而主机号由单位自行分配
- 路由器仅根据目的主机的网络号进行转发,减少了路由表所占的存储空间和查路由表的时间
- 一个网络是具有相同网络号的主机的