网络层
网络层是因为网络的互连而产生的一
个结构层次。所谓网络互连就是将不同地
方的两个以上的计算机网络用一种或多种
通信设备相互连通起来,构成一个大的局
域网,或构成城域网、广域网。网络互连
的目的是为了实现更远距离的数据通信,
和在更大的范围内实现更多资源的共享。
网络互联是指采用不同技术的网络的网络层间的逻辑互
连,是一种连接异构网络的方案和技术。
实现不同网络互连的中间通信设备称作为中继系统。中
继系统在网络之间进行协议和功能转换,它具有很强
的层次性。
网络互联通过一组路由器将多个物理网络连接成单一的、
无缝的虚拟网络。所谓虚拟网络就是具有通用的编址
方案,实现通用的服务的网络。所谓通用的服务,就
是指通信系统允许任意两台计算机进行通信。
网络层为传输层提供建立端对端通信的功能。它让传输
层可以专注于自己的工作,而不必关心两站点间来回
传送信息的具体细节。
网络层的服务
网络层必须完成三大任务:
? ( 1) 路径选择 。 要选择从发送方到达接收方所必
须经过的路径 。
? ( 2) 数据交换 。 要将发送方的数据包沿着选择的
路径上的节点, 逐点传递到接收端点 。 在每个传递的
节点, 由于同时要传递来自多个不同源端去往多个不
同的宿主的多个数据包, 所以要保证从某个输入接口
传来的数据包必须转发到正确的输出接口 。
? ( 3) 呼叫建立 。 这一功能主要是对采用面向连接
的服务模型而言 。 传输层的三次握手, 是两个端机系
统的一对进程间在实际传输数据前的联络过程 。 这里
网络层的呼叫建立是针对传输层要求的面向连接的服
务, 在传输传输层数据包之前先在源宿方之间建立一
条用来传输数据包的确定的连接通路 。 这条连接通路
包括被用来传输传输层的握手信息数据包
交换 —— 所谓交换是说数据的传输, 是通过将数据划分成一个一个
的传输单位, 从始端起, 在通往目的端的网络的节点间逐点传递,
最后到达接收端 。 数据的传输过程变成了一个一个数据包在网络
节点一进一出的交换过程 。
包 —— 网络系统中单独传送的数据单位。它具有两层含义,一表示
是一个独立的数据块;二表示它是经过包装的。
电路交换 —— 是指传输数据前,在发送端和接收端之间的通信子网
中建立一条物理通路,然后沿着这条物理通路连续有序的传送数
据单元,传送期间这一对端点始终独享这条物理线路。数据传送
前要建立通路,传送结束后要拆除通路。
存储转发 —— 是在通信子网中,亦步亦趋地从始端,沿着通向末端
的各个节点,逐点尽力地向前传递数据单元。
网络阻塞控制
网络层的阻塞控制的主要目的是保证到达路由节点的数
据能够顺利进入队列,并顺利转发,即在节点不发生
阻滞。
阻塞控制方法
1)缓冲区预分配法
2)分组丢弃法
3)定额控制法
死锁及其防止
1)存储转发死锁及其防止
2)重装死锁及其防止
路由选择算法
在一个通信子网中,网络源节点到目的节点可有多条传
输路径。网络节点在收到一个分组后,要确定向下一
节点传送的路径,这就是路由选择。
路由的核心是路由协议。路由协议的核心是路由算法。
路由算法是指确定路由选择的策略。
路由算法的目的就是找出源节点到目的节点的最佳路径。
所谓最佳路径,就是两个节点所有可能路由中具有最小
代价的那条路径。
如一个站点想与另一个并未与之直接连接的站点通信,
网络协议必须找出一条路径来连接它们。通常根据通
过每条路径发送信息所需的费用和时间的比较来最终
确定那条路径。这种比较是相当复杂的。
路由表
网络节点通过使用路由表来指明路径。通常路由表并不
给出完整路径,而只给出去往某个目的地的下一个节
点以及从当前节点到达那里所需的总的费用。
路由表计算
小型网络中可通过人工计算完成, 但对于大型网络而言
必须用软件来计算完成 。
路由算法分类
静态路由算法:路由器只在启动时计算和设置路由, 此
后路由不再改变或者路由改变很慢, 通常只有在人的
干涉下才能发生改变, 即由管理员手动改变路由表 。
动态路由算法:路由器在启动时只建立一个初始路由,
当网络变化时随时更新, 路由动态地发生改变 。 除了
网络发生改变外, 当发生路由循环或是路由振动时,
路由也会随之发生改变 。 动态路由也称自适应路由 。
互联网看上去像一个单一、无缝的通信系统。网
络互连的一个重要前提条件是要有一个有效的地址结
构,并且所有的互联网络用户都应遵守这个地址结构。
编址是互联网抽象的一个关键组成部分。为了以
一个单一的统一系统出现,所有主机必须使用统一编
址方案。
在 TCP/IP协议栈中,编址由互联网协议
( Internet Protocol,IP)规定。 IP标准规定每台
主机分配一个 32位二进制数作为该主机的互联网协议
地址( Internet Protocol address),常简写为
IPv4地址或互联网地址。互联网地址( IPv4地址)是
一个分配给每一个连入互联网内的一台主机,IP地址
标识机器到网络的连接,而不是机器自身,这二者有
重要的区别。
IP编址
IP地址由 4组 8位数组成,总共 32位。 IP地址只能由网络
信息中心 (NetworkInformation Center,NIC)分配,
IP地址使用的十进制表示法称为点分四元表示法。
IP地址层次
每个 32位 IP地址被分割成两部分:前缀和后缀,这样的
两级层次结构设计使寻找路径很方便,特别适合于层
次路由寻径。地址前缀部分确定了计算机从属的物理
网络,后缀部分确定了该网络上的一台计算机。
IP地址分类
IP地址空间划分为五类,A,B,C,D,E,其中 A,B,C
是三个基本类。每类有不同长度的前缀和后缀。
A类地址
IPv4设计 A类地址的目的是支持巨型网络,因为巨型网络很少,因此
开发了这种结构可使主机地址数很大,A类网络的数量被严格限
制。 A类网络地址的范围从 1.0.0.0到 126.0.0.0。
B类地址
设计 B类地址的目的是支持中到大型的网络。 B类网络地址范围从
128.1.0.0到 191.254.0.0。
C类地址
C类地址用于支持大量的小型网络。 C类网络地址范围从 192.0.1.0至
223.255.254.0。
D类地址
D类地址用于在 IP网络中的组播 (multicasting,又称为多目广播 )。
D类组播地址机制仅有有限的用处。一个组播地址是一个唯一的
网络地址。它能指导报文到达预定义的 IP地址组。 D类地址空间
的范围从 224.0.0.0到 239.255.255.254。
E类地址
E类地址虽被定义但却为 IETF所保留作研究之用。因此 Internet上没
有可用的 E类地址。 E类地址的前 4位恒为 1,因此有效的地址范围
从 240.0.0.0至 255.255.255.255
点分十进制表示法
虽然 IP地址是 32位二进制数,但用户很少以二进制方式
输入或读其值。相反,当与用户交互时,软件使用一
种更易于理解的表示法,称为点分十进制表示法
( dotted decimal notation)。
类别和点分十进制表示法
点分十进制非常适合于 IP地址,因为 IP以八位位组为界,
把地址分为前缀和后缀。在 A类地址中,后三组对应于
主机后缀。类似地,B类地址有两组主机后缀,C类地
址有一个组主机后缀。
地址空间管理
Internet的稳定性和公共使用的网络地址的唯一性直接
相关。因此,需要一些机制来保证地址的唯一性。
现由 ICANN制定了一套富有竞争性的注册机制,允许商业
团体互相竞争注册 IP名字和号码。
特殊 IP地址
除了给每台计算机分配一个地址外,IP定义了一套特殊地址格式,用于
表示整个网络或一组计算机称为保留地址( reserved)。即特殊地址从
不分配给主机。下面给出每个特殊地址格式的语法和语义。
1.网络地址
IP保留主机地址为 0的地址,并用它来表示一个网络。地址 128.211.0.0表
示一个分配了 B类前缀 128.211网络。
2.直接广播地址
IP为每个物理网络定义了一个直接广播地址( directed broadcast
address)。在网络前缀后面增加一个所有位全 1的后缀便形成了网络的
直接广播地址。
3,本机地址
IP保留全 0的地址指本计算机( this computer)。
4,回送地址
IP定义一个回送地址( loopback address)用于测试网络应用程序。在
生成一个网络应用程序后,程序员经常使用回送测试来进行预调试。要
实现一个回送测试,程序员必须有两个打算通过网络进行通信的应用程
序。 IP保留 A类网络前缀 127供回送时使用。
除了给每个主机分配一个互联网地址外,
IP规定路由器也应分配 IP地址。
子网及子网化
最初整个 Internet的构成是一个两层结构。两层结构的
含义是:由网络构成 Internet,这是第一层;由主机
构成网络,这是第二层。
随着许多组织开始拥有多个网络,很显然需要开发某种机
制来区别同一个地点内的多个网络,否则,将没有有效
的方法在多个网络之间传送数据到特定的端系统,这样
就需求出现 Internet的另一个层次。通过同一节点接入
Internet的多个网络称作子网。一种办法是分配给每一
个子网一个 IP地址范围,这种方法可以工作,但是 IP地
址的使用效率相当低。这种方法会很快消耗掉所有未分
配的 IP地址。并且路由器中的路由表会十分庞大,因为
每个网络都需要一个自己的路由表项。因此需要一种更
好的方法。这个更好的方法就是分层地组织这些子网,
并在子网之间也进行路由。从 Internet的角度看具有多
个子网的地方仍被看作一个网络。因此,它们共享一个
共同的 IP地址范围。
划分子网 (subnetting)的设想就是 Internet的层次结构需要
一个第三层。现在大中型组织普遍有多个网络。通常这些
网络都是局域网,每个局域网被看作一个子网。 划分子网
方法将任何一类 (A,B,C)IP地址再细分为更小的网络号。
一个被子网化的 IP地址实际包含三部分:网络号、子网号
和主机号。
子网和主机地址是由原先 IP地址的主机地址部分分割成两部
分得到的。因此,用户划分子网的能力依赖于被子网化的
IP地址类型。 IP地址中主机地址位数越多,就能分得更多
的子网和主机。然而,子网减少了能被寻址主机的数量。
实际上,是把主机地址的一部分拿走用于识别子网号。子
网由伪 IP地址,也称为子网掩码标识。
子网掩码是可用点 -十进制数格式表示的 32位二进制数,掩码
告诉网络中的端系统 (包括路由器和其他主机 )IP地址的多
少位用于识别网络和子网。这些位被称为扩展的网络前缀。
剩下的位标识子网内的主机,掩码中用于标识网络号的位
置为 1,主机位置为 0。
用户要对一个 C类地址 193.168.125.0进行划分子网。这
个地址是基地址,这也是 Internet用于计算路由的地
址。用户需要把这一地址切分成 6个子网,那么至少需
要 8位主机地址中的 3位用来建造 6个唯一的扩展网络前
缀。这些地址是 001,010,011,100,101和 110。最
后一个 8位位组被分成,3位加到网络号中形成扩展的
网络前缀,剩下的 5位用于识别主机
网关 由硬件和软件组成,可以实现不同网段间的数据交
换。在 IP编址的环境下,网关简化了不同子网间的通信。
由于网络中某设备不能把数据直接发送到其他子网中某设
备,所以网关必须负责解释和传递信息。网络上每个节点
都有一个唯一的默认网关,该网关可以手工或自动分配 。
每个默认网关(在许多情况下,网关为路由器上接口)都
有自己的 IP地址。默认网关可以连接多个内部网络,也可
以连接一个内部网络和多个外部网络,每个网关只处理相
对较少的编址信息,只要利用这些信息能把数据转发到知
道更多的机器信息的网关即可。
当前的 IPV4版本在互联网的广泛应用,证明了 Ipv4已
经取得了很大的成功。但它的有限的地址空间限制了因
特网的进一步的发展。此外快速发展的因特网应用,如
多媒体传输,网上协同工作等都要求速度更快、质量更
高的网络服务。传递音频和视频的应用要求数据能以等
间隔传递,为了保持这样的信息流在通过因特网时不被
打断,IP必须避免经常更换路径。
IPV6采用了 128位的地址
每个地址占用 16个字节,四倍于一个 IPv4的地址。其中,
每 16位为一组,写成十六进制数,并用冒号分隔每一组。
例如,69DC,8864,FFFF,FFFF,0,1280,8C0A,FFFF
从 IPv4向 IPv6的过渡 会出现很多问题。所有现在的机
器 (主机、路由器、桥等等 )都使用 Ipv4。当机器转向
运行 IPv6(通过软件或硬件更新 )时,所有的机器必须
有两组 IP软件,一组用于旧的版本,一组用于新的版
本。一些使用 IPv4进行通信的设备和应用,仍需要和
IPv6系统进行通信时,就需要一个转化或翻译应用程
序,在两部分之间进行翻译。 将一些 TCP/IP服务转变
到 IPv6上需要很长的时间。