计算机网络学习(四)
上一篇 : 第三章 数据链路层
下一篇 : 第四章 网络层(下)
第四章 网络层
本章讨论网络互连问题。本章的核心内容是网际协议IP,只有深刻地掌握了IP协议的主要内容,才能理解互联网是怎样工作的。
4.1 网络层提供的两种服务
(1)虚电路服务:在分组交换中建立一条虚电路VC(Virtual Circuit),双方沿着已建立的虚电路发送分组,分组的首部只需要填写这条虚电路的编号,减少了分组的开销。如果再使用可靠的传输协议,就可以使发送的分组无差错按序到达终点,不丢失,不重复。在通信结束后要释放建立的虚电路。
(2)数据报服务:网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报)独立发送,很可能出错,丢失,重复和失序,当然也不保证分组交付的时限。
由于传输网络不提供端到端的可靠传输服务,就使得网络中的路由器比较简单,且价格低廉。如果主机中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。
鉴于TCP/IP体系的网络层提供的是数据报服务,因此下面讨论的都是围绕网络层如何传送IP数据报这个主题。
4.2 网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一。
又称之为 Kahn-Cerf 协议,这里的IP其实是IP的第四个版本,应记为IPv4。
与IP协议配套使用的还有三个协议:
地址解析协议ARP(address resolution protocol)
网际控制报文协议ICMP(Internet control message protocol)
网际组管理协议IGMP(Internet group management protocol)
ARP在最下面,因为IP协议经常要使用这个协议。ICMP和IGMP在上部,因为它们经常要使用IP协议。
网际协议IP是用来使互连起来的许多计算机网络能互相通信的,因此TCP/IP体系中的网络层(internet layer)常被称为网际层或IP层。
4.2.1 虚拟互连网络
没有一种单一的网络能够适应所有用户的需求。在市场上总是有很多不同性能,不同网络协议的网络,供不同的用户选用。
将网络互连要使用一些中间设备。根据中间设备所在的层次,可以有以下四种不同的中间设备:
①转发器(repeater):物理层使用的中间设备。
②网桥或桥接器(bridge):数据链路层使用的中间设备。
③路由器(router):网络层使用的中间设备。
④网关(gateway):网络层以上使用的中间设备。用网关连接两个。
当中间设备是转发器或者网桥时,仅仅是把一个网络扩大了,从网络层的角度仍然是一个网络,一般并不称为是网络互连。网关比较复杂,使用的较少。讨论网络互连时,都是指用路由器进行网络互连和路由选择。
互连起来的各种物理网络的异构性本来是客观存在的,但是我们用IP协议就可以使这些性能各异的网络在网络层上看起来就好像是一个统一的网络。这种使用IP协议的虚拟互连网络可简称为IP网。
IP网的好处:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编制方案,路由选择协议等)
如果在这种覆盖全球的IP网的上层使用TCP协议,就是现在的互联网。
上图是互联网中的源主机H1要把一个IP数据报发送给目的主机H2。根据分组交换的存储转发概念,主机H1先要查找自己的路由表,看目的主机是否就在本网络上。如果在,就直接交付(不经由任何路由器);否则,间接交付(将IP数据报发送给某个路由器)。
互联网可以由多种异构网络互连组成。从图中可以看出,路由器之间可以使用卫星链路,无线局域网,以及任意类型的网络。
有了虚拟互连网络的概念,再讨论在这样的虚拟网络上如何寻址。
4.2.2 分类的IP地址
1. IP地址及其表示方法
IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符。IP地址的结构可以使我们在互联网上很方便的进行寻址。
IP地址的编制方法共经过了三个历史阶段:
①分类的IP地址。最基本的编址方法,1981年通过。
②子网的划分。改进,1985年通过。
③构成超网。无分类编址方法,1993年通过。
本节讨论分类的IP地址,4.3节讨论后两种方法。
分类的IP地址就是将IP划分为若干个固定类,每一个地址都由两个固定长度的字段组成。
网络号(net-id),标志主机或路由器所连接到的网络,一个网络号在整个互联网范围内必须是唯一的。
主机号(host-id),标志该主机或路由器,一台主机号在前面的网络号所指明的网络范围内必须是唯一的。
由此可见,一个IP地址在整个互联网范围内是唯一的。【在现实生活中,很多人会见过相同的IP地址,那是公网的ip地址】
IP地址 ::= {<网络号>,<主机号>}
上图中A类,B类和C类地址都是单播地址(一对一通信)。D类地址用于多播(一对多通信)。E类地址保留为以后用。
A类,B类和C类地址的网络号字段分别为1个、2个和3个字节长,网络号最前面有1~3位的类别位,其数值分别规定为0, 10, 110。主机号字段分别为3个、2个和1个字节长。
近年来,已经广泛的使用无分类IP地址进行路由选择,A类,B类和C类地址的区分已成为历史,但为了概念上演进清晰,所以从分类的IP地址学起。
点分十进制记法(dotted decimal notation):将32位的IP地址,每8位插一个空格(机器中没有这样的空格);每8位用其等效的十进制数字表示,并在这些数字中间加上一个点。
2. 常用的三种类别的IP地址
A类地址: