五层协议体系架构

一、计算机网络体系结构

    OSI的七层协议体系结构(图1-18(a)) 的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP 体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP 是一个四层的体系结构(图1-18(b)), 它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质上讲,TCP/IP 只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构(图1-18(c),这样既简洁又能将概念阐述清楚。有时为了方便,也可把最底下两层称为网络接口层。

二、五层协议详解

现在结合互联网的情况,自上而下地、非常简要地介绍一下各层的主要功能。

(1) 应用层(application layer)
    应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文(message)
(2) 运输层(transport layer)
    运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付,上面应用层中的相应进程。运输层主要使用以下两种协议:

  • 传输控制协议TCP (Transmission Control Protocol)-- 提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
  • 用户数据报协议UDP (User Datagram Protocol)-- 提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

    顺便指出,有人愿意把运输层称为传输层,理由是这一层使用的TCP协议就叫做传输控制协议。从意思上看,传输和运输差别也不大。但OSI定义的第4层使用的是Transport,而不是Transmission。 这两个字的含义还是有些差别。因此,使用运输层这个译名较为准确。
(3) 网络层(network layer)
    网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段用户数据报封装成分组进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报或简称为数据报“分组”“数据报”可作为同义词使用。不要将运输层的“用户数据报UDP”和网络层的“IP 数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。

    网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体网络,而是在计算机网络体系结构模型中的第3层的名称。互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP (Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。网络层、网际层和IP层都是同义语。
(4) 数据链路层(data link layer)
    数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路.上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

    在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

    控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。
(5) 物理层(physical layer)
    在物理层.上所传数据的单位是比特。发送方发送1 (或0)时,接收方应当收到1 (或0)而不是0 (或1)。因此物理层要考虑用多大的电压代表“1”或“0”, 以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。当然,解释比特代表的意思,就不是物理层的任务。

    请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。

三、数据传递过程

    图1-19说明的是应用进程的数据在各层之间的传递过程中所经历的变化。为简单起见,假定两台主机通过--台路由器连接起来。

    假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1 先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2);而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
    OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元PDU (ProtocolData Unit)。这个名词现已被许多非OSI标准采用。
    当这一串的比特流离开主机1经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每一个比特发送出去。

    当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。
    可以用一个简单例子来比喻上述过程。有一封信从最高层向下传。每经过一层就包上一个新的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第1层起,每层拆开一个信封后就把信封中的信交给它的上一层。传到最高层后,取出发信人所发的信交给收信人。
    虽然应用进程数据要经过如图1-19 所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户来说,却都被屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图1-19中的水平虚线所示的那样,把数据( 即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。

四、TCP/IP的体系结构

    TCP/IP 的体系结构比较简单,它只有四层。图1-22 给出了用这种四层协议表示方法的例子。请注意,图中的路由器在转发分组时最高只用到网络层而没有使用运输层和应用层。

    应当指出,技术的发展并不是遵循严格的OSI分层概念。实际上现在的互联网使用的TCP/IP体系结构有时已经演变成为图1-23 所示的那样,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层,图1-23 是这种表示方法。在图中,网络接口层有时也称为子网层。这里的“子网”是指一些局域网和某些广域网(如ATM网),但从IP层来看,这些网络属于数据链路层,也就是属于网络接口层。

    还有一种方法,就是分层次画出具体的协议来表示TCP/IP协议族(图1-24), 它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP 协议族表明:
TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP over everything)。正因为如此,互联网才会发展到今天的这种全球规模。从图1-24不难看出IP协议在互联网中的核心作用。

总结

    在互联网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议。现在人们经常提到的TCP/IP并不一定是单指TCP和IP这两个具体的协议,而往往是表示互联网所使用的整个TCP/IP协议族(protocol suite)

参考《计算机网络第七版-谢希仁》

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值