论文部分内容阅读
摘要:TCP/IP协议奠定了网络通信的基石,也是“现代通信技术”这门课程的重要讲授内容。在TCP/IP协议体系结构具体的分层划分以及和OSI七层模型的对应关系等若干细节上,国内外教科书不尽相同,在实际教学中,也容易就此导致概念模糊。结合国内外的主流网络通信教材,列举了目前的几种主流TCP/IP协议分层结构,并针对此问题提出了自己的看法。
关键词:TCP/IP;体系结构;OSI模型;分层
作者简介:彭赟(1973-),女,湖北武汉人,武汉大学电气工程学院;刘志雄(1973-),男,湖北武汉人,武汉大学电气工程学院,讲师。(湖北 武汉 430072)
基金项目:本文系武汉大学电气工程学院2014年教改项目的研究结果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)15-0038-02
现代生活已经完全离不开现代通信技术,对于工科院校各专业的学生来讲,各类通信基础课程是专业必修或者重要选修课程之一。为了适应宽口径专业的培养,为以后的学习打下坚实的基础,在武汉大学电气工程学院培养计划中,从2006年度起,就面向本科大二年级开设了“现代通信技术”课程。
现代通信技术离不开计算机网络,因此,在“现代通信技术”这门课程的教学中,计算机网络通信部分由于其特殊性,在教学中占有十分重要的地位。网络通信体系结构一般指网络通信协议分层以及各层的关系架构。网络通信涉及到不同的异构网络、不同厂家的设备互连,因此需要制订大量的相关通信协议,通常这些协议按其内容及作用被划分为不同的层次。在实际开发中,研究人员可以根据开发的内容,从某一个协议层开始进行开发,这样就可以屏蔽低层协议,不用关注低层的软件和相关硬件之间的差别,节省大量的开发工作量,并可以进一步保证应用协议跟高层协议及软件之间的互通。因此,从某种意义上说,网络体系结构事实上就是计算机通信网络的软硬件标准的重要组成及骨干部分。[1]在网络通信教学中,分层的概念也非常重要,只有深入了解网络通信分层的基本思想,才能对现代通信网络有深入的理解。
在现代网络通信的发展早期,由于各主流设备厂家的通信协议常存在不兼容的情况,这极大阻碍了网络互联通信的发展。早在1974年,系统网络体系结构SNA(System Network Architecture)就由IBM公司的研究人员率先提出,后来又经过众多专家及研究机构的不断补充完善,它成为当时世界上广泛使用的一种网络体系结构。[2]
网络体系结构的提出后,同一公司的产品容易互连成网。但是,不同公司的产品互连仍然存在障碍。随着计算机通信网络的飞速发展,网络互连已经成为迫切需要解决的问题。因此,1983年,ISO(International Organization for Standards)组织提出了OSI(International Organization for Standards)七层模型,也就是著名的ISO 7498标准。该标准中提出了一个经典模型,其基本思想是把一个通信过程抽象为7层,从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。各层都指定了相应的功能,除最高层和最低层外,各层都和上下层接口,为上层提供服务。值得注意的是,ISO组织的这个经典七层模型的设计初衷是提供一个概念性的模型。[2]它试图达到一个理想境界,即全世界的计算机网络都遵循这一标准。该模型概念上较为清晰,其功能及层次划分国内外基本上没有分歧,多年以来,OSI模型的提出极大促进了网络通信的发展。可以说,今天在几乎任何一本网络通信教科书上都要讲到这个模型,从某种意义上讲,该模型也取得了巨大的成功。但是,在实际具体应用中,由于该模型过于复杂等种种原因,并没有得到大规模的推广应用。在后来的因特网的蓬勃发展中,TCP/IP协议得到了广泛的应用。
事实上,TCP/IP协议的提出要早于OSI七层模型。Vinton G.Cerf和Bob Kahn在1973年苏塞科斯大学组织召开了“国际网络工作小组”提交了第一份TCP/IP协议草稿,提出Internet最初设想。之后,二人正式发表了TCP/IP协议。1983年,TCP/IP被Unix 4.2BSD系统采用。在当时,由于PC机尚未商业化和普及,Unix主机和终端占据主流地位。因此,随着Unix系统在科研中的成功使用,TCP/IP协议也渐渐成为Unix主机操作系统的标准网络协议。Internet是由ARPANET发展起来的,ARPANET发展于70年代初,它最初使用的是NCP(Network Control Protocol)协议,鉴于TCP/IP协议具有跨平台、开放、可以连接不同网络的特性,ARPANET的开发人员对TCP/IP协议进行了一定的改进,将它作为ARPANET的通信规范,规定连入ARPANET的所有计算机都必须采用TCP/IP协议。随着ARPANET逐渐发展成为Internet,TCP/IP协议就成为Internet的标准连接协议。可以说,正是由于TCP/IP协议的诞生和发展,因特网才能以惊人的速度蓬勃发展到今天的规模。鉴于TCP/IP协议族已经成为互联网的基石,因此,在现代通信课程的教学中,研究TCP/IP协议体系结构的分层具有十分重要的意义。本文列举了国内外通信教材中具有代表性的几种TCP/IP体系结构层次划分方法,以及其和OSI七层模型的各种对应关系,并指出各种划分方法的优缺点。据查,目前国内文献鲜见本文类似研究。
一、TCP/IP协议的分层探究
OSI七层模型概念清晰,国内外教材上没有争议。但是在TCP/IP协议体系结构分层以及和OSI模型的对应关系上,国内外的教科书不尽相同。在TCP/IP协议分层上,通常使用四层模型或者五层模型。
1.四层架构模型
国内谢希仁编著的《计算机网络》一书[2]中,认为TCP/IP协议分别由应用层、传输层、网际层、网络接口层组成,是一个四层协议结构。该分层和OSI七层模型的对应关系如图1所示:从下到上,最下层网络接口层对应的是OSI模型中的物理层和链路层,网际层对应OSI模型的网络层,运输层对应OSI模型的运输层,应用层则对应OSI模型的上面三层(即应用层、表示层、会话层)。目前,国内的主流通信教科书中一般都采用这种划分方法,如赵洪波主编的《现代通信技术概论》中[3]也采用这一分层结构。在另一本国外知名网络通信教材《Internetworking With TCP/IP》中,[4]未考虑TCP/IP分层和ISO模型的对应关系,仅仅提及了TCP/IP协议架构是个四层协议系统,如图2所示。 “清华大学计算机系列教材”之《计算机网络与Internet》[1]一书由张尧学院士编著,书中TCP/IP协议也是分为四层,但各层次的划分以及和ISO模型的对应关系比较新颖。书中提出,OSI模型各层次与TCP/IP协议各层次的对应关系如图3所示。可以看出,该层次划分和图1区别较大。在图3中,TCP/IP协议的最底层称为通信子网层,它对应左边OSI模型中的物理层、数据链路层和部分网络层。而且,图中TCP/IP的网络层不仅仅对应OSI模型的网络层,还包含OSI模型运输层的部分功能,而其运输层也对应着OSI模型的运输层和会话层的部分功能。TCP/IP协议的最高层即应用层,对应着OSI模型的应用层、表示层和部分会话层。笔者以X.25协议为例来推测该划分的依据,X.25协议一般对应的是OSI模型的低3层,即包含部分网络层、数据链路层及物理层,但在TCP/IP体系结构分层模型中,它应当划分在图3中的通信子网层。这就是为什么该书将OSI模型的部分网络层也划入TCP/IP的通信子网层。至于其他层对应关系和图1中的划分不同,估计也是基于类似的考虑。
OSI协议 TCP/IP协议
7 应用层 4 应用层
6 表示层
5 会话层
3 运输层
4 运输层
2 网络层
3 网络层
1 通信子网层
2 数据链路层
1 物理层
图3 TCP/IP协议和OSI协议的对应关系[1]
2.五层体系结构
《Data Communication and Networking》[5]是国外使用较多的一个网络通信类教材,国内的影印本也经常作为双语教学教科书,该书由McGraw-Hill出版社出版。书中明确提出,因为TCP/IP协议的提出要早于OSI七层模型,所以TCP/IP协议不能和OSI模型精确的匹配。
该教材将TCP/IP协议架构分为五层,分别是物理层、链路层、网络层、传输层、应用层,前四层和OSI的模型对应,应用层这对应OSI的会话层、表示层和应用层。如图4所示:
在另一本国外著名的计算机通信网络教材《Data and Computer Communications》[6]中,又提出了不同的看法。该书中,TCP/IP体系结构和OSI模型的对应关系如图5所示。图中TCP/IP的5层模型和OSI的对应关系按功能划分,跟文献[1]中的模型(见图3)有些相似,比如TCP/IP分层架构中的网络接口层(Network access)对应的是OSI的数据链路层和网络层的一部分。运输层(Transport)则对应的是OSI的运输层和会话层(Session)的一部分。
OSI TCP/IP
Application Application
Presentation
Session
Transport
(host-to-host)
Transport
Internet
Network
Network
Data link
Physical Physical
图5 OSI和TCP/IP的体系结构对照[6]
同样是五层模型,纪越峰编著的《现代通信原理》[7]中的划分又不一样。该书中层次划分如图6所示,TCP/IP体系结构从上到下分为五层,分别是物理层、网络接口层、互联网层(网络层)、传输层及应用层。
二、结语
本文列举了国内外具有代表性的几种TCP/IP体系结构层次划分以及和OSI七层模型的几种对应关系,由于教材编写者的考虑角度不一样,这些层次划分及对应关系不尽相同。造成这些区别的原因,笔者认为主要有2点:第一,正如文献[2]中所述,从实质上讲,TCP/IP协议只有三层,即应用层、运输层、网际层(网络层),因为最下面的网络接口层并没有实质的具体内容。第二,严格意义上讲,网络接口层只是一个接口,并不是一个层次。更重要的是,如文献[5]所述,TCP/IP协议产生于OSI七层模型之前,它们不能精确匹配。因为当年参与设计开发TCP/IP协议的先驱们首先考虑的是实用性,不可能去按照后来提出的OSI模型去考虑TCP/IP网络体系结构的分层。从严格学术意义上讲,图5中的分层模型对应关系也许更精确,但是,在本科教学中,特别在非计算机专业的本科教学中,笔者觉得,图2中的分层较为妥当,因为它对应关系明确,概念清晰,学生容易理解接受。如果是针对计算机专业的本科学生或者是高年级的研究生,按照图5中的模型讲述TCP/IP协议的分层架构是一个更好的选择。不论按照哪个分层模型讲述,在课堂上,更重要的是要让学生领会协议分层的思想,即理解下列几个问题:为什么要分层;分层的依据是什么;各层有哪些协议。
参考文献:
[1]张尧学.计算机网络与internet教程[M].第1版.北京:清华大学出版社,1999.
[2]谢希仁.计算机网络[M].第4版.北京:电子工业出版社,2003.
[3]赵宏波.现代通信技术概论[M].北京:北京邮电大学出版社,
2003.
[4]Douglas E .Comer.Internetworking with TCP/IP[M].赵刚,等,译.北京:电子工业出版社,1998.
[5]Behrouz A.Forouzan.Data Communications And Networking(Fourth Edition)[M]. 影印版.New York:McGraw-Hill, 2007.
[6]William Stalling.Data and Computer Communications (Eighth Edition)[M]. New Jersey:Pearson Prentice Hall,2007.
[7]纪越峰.现代通信技术[M].第二版.北京:北京邮电大学出版社,2002.
注:刘志雄为本文通讯作者。
(责任编辑:王意琴)
关键词:TCP/IP;体系结构;OSI模型;分层
作者简介:彭赟(1973-),女,湖北武汉人,武汉大学电气工程学院;刘志雄(1973-),男,湖北武汉人,武汉大学电气工程学院,讲师。(湖北 武汉 430072)
基金项目:本文系武汉大学电气工程学院2014年教改项目的研究结果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)15-0038-02
现代生活已经完全离不开现代通信技术,对于工科院校各专业的学生来讲,各类通信基础课程是专业必修或者重要选修课程之一。为了适应宽口径专业的培养,为以后的学习打下坚实的基础,在武汉大学电气工程学院培养计划中,从2006年度起,就面向本科大二年级开设了“现代通信技术”课程。
现代通信技术离不开计算机网络,因此,在“现代通信技术”这门课程的教学中,计算机网络通信部分由于其特殊性,在教学中占有十分重要的地位。网络通信体系结构一般指网络通信协议分层以及各层的关系架构。网络通信涉及到不同的异构网络、不同厂家的设备互连,因此需要制订大量的相关通信协议,通常这些协议按其内容及作用被划分为不同的层次。在实际开发中,研究人员可以根据开发的内容,从某一个协议层开始进行开发,这样就可以屏蔽低层协议,不用关注低层的软件和相关硬件之间的差别,节省大量的开发工作量,并可以进一步保证应用协议跟高层协议及软件之间的互通。因此,从某种意义上说,网络体系结构事实上就是计算机通信网络的软硬件标准的重要组成及骨干部分。[1]在网络通信教学中,分层的概念也非常重要,只有深入了解网络通信分层的基本思想,才能对现代通信网络有深入的理解。
在现代网络通信的发展早期,由于各主流设备厂家的通信协议常存在不兼容的情况,这极大阻碍了网络互联通信的发展。早在1974年,系统网络体系结构SNA(System Network Architecture)就由IBM公司的研究人员率先提出,后来又经过众多专家及研究机构的不断补充完善,它成为当时世界上广泛使用的一种网络体系结构。[2]
网络体系结构的提出后,同一公司的产品容易互连成网。但是,不同公司的产品互连仍然存在障碍。随着计算机通信网络的飞速发展,网络互连已经成为迫切需要解决的问题。因此,1983年,ISO(International Organization for Standards)组织提出了OSI(International Organization for Standards)七层模型,也就是著名的ISO 7498标准。该标准中提出了一个经典模型,其基本思想是把一个通信过程抽象为7层,从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。各层都指定了相应的功能,除最高层和最低层外,各层都和上下层接口,为上层提供服务。值得注意的是,ISO组织的这个经典七层模型的设计初衷是提供一个概念性的模型。[2]它试图达到一个理想境界,即全世界的计算机网络都遵循这一标准。该模型概念上较为清晰,其功能及层次划分国内外基本上没有分歧,多年以来,OSI模型的提出极大促进了网络通信的发展。可以说,今天在几乎任何一本网络通信教科书上都要讲到这个模型,从某种意义上讲,该模型也取得了巨大的成功。但是,在实际具体应用中,由于该模型过于复杂等种种原因,并没有得到大规模的推广应用。在后来的因特网的蓬勃发展中,TCP/IP协议得到了广泛的应用。
事实上,TCP/IP协议的提出要早于OSI七层模型。Vinton G.Cerf和Bob Kahn在1973年苏塞科斯大学组织召开了“国际网络工作小组”提交了第一份TCP/IP协议草稿,提出Internet最初设想。之后,二人正式发表了TCP/IP协议。1983年,TCP/IP被Unix 4.2BSD系统采用。在当时,由于PC机尚未商业化和普及,Unix主机和终端占据主流地位。因此,随着Unix系统在科研中的成功使用,TCP/IP协议也渐渐成为Unix主机操作系统的标准网络协议。Internet是由ARPANET发展起来的,ARPANET发展于70年代初,它最初使用的是NCP(Network Control Protocol)协议,鉴于TCP/IP协议具有跨平台、开放、可以连接不同网络的特性,ARPANET的开发人员对TCP/IP协议进行了一定的改进,将它作为ARPANET的通信规范,规定连入ARPANET的所有计算机都必须采用TCP/IP协议。随着ARPANET逐渐发展成为Internet,TCP/IP协议就成为Internet的标准连接协议。可以说,正是由于TCP/IP协议的诞生和发展,因特网才能以惊人的速度蓬勃发展到今天的规模。鉴于TCP/IP协议族已经成为互联网的基石,因此,在现代通信课程的教学中,研究TCP/IP协议体系结构的分层具有十分重要的意义。本文列举了国内外通信教材中具有代表性的几种TCP/IP体系结构层次划分方法,以及其和OSI七层模型的各种对应关系,并指出各种划分方法的优缺点。据查,目前国内文献鲜见本文类似研究。
一、TCP/IP协议的分层探究
OSI七层模型概念清晰,国内外教材上没有争议。但是在TCP/IP协议体系结构分层以及和OSI模型的对应关系上,国内外的教科书不尽相同。在TCP/IP协议分层上,通常使用四层模型或者五层模型。
1.四层架构模型
国内谢希仁编著的《计算机网络》一书[2]中,认为TCP/IP协议分别由应用层、传输层、网际层、网络接口层组成,是一个四层协议结构。该分层和OSI七层模型的对应关系如图1所示:从下到上,最下层网络接口层对应的是OSI模型中的物理层和链路层,网际层对应OSI模型的网络层,运输层对应OSI模型的运输层,应用层则对应OSI模型的上面三层(即应用层、表示层、会话层)。目前,国内的主流通信教科书中一般都采用这种划分方法,如赵洪波主编的《现代通信技术概论》中[3]也采用这一分层结构。在另一本国外知名网络通信教材《Internetworking With TCP/IP》中,[4]未考虑TCP/IP分层和ISO模型的对应关系,仅仅提及了TCP/IP协议架构是个四层协议系统,如图2所示。 “清华大学计算机系列教材”之《计算机网络与Internet》[1]一书由张尧学院士编著,书中TCP/IP协议也是分为四层,但各层次的划分以及和ISO模型的对应关系比较新颖。书中提出,OSI模型各层次与TCP/IP协议各层次的对应关系如图3所示。可以看出,该层次划分和图1区别较大。在图3中,TCP/IP协议的最底层称为通信子网层,它对应左边OSI模型中的物理层、数据链路层和部分网络层。而且,图中TCP/IP的网络层不仅仅对应OSI模型的网络层,还包含OSI模型运输层的部分功能,而其运输层也对应着OSI模型的运输层和会话层的部分功能。TCP/IP协议的最高层即应用层,对应着OSI模型的应用层、表示层和部分会话层。笔者以X.25协议为例来推测该划分的依据,X.25协议一般对应的是OSI模型的低3层,即包含部分网络层、数据链路层及物理层,但在TCP/IP体系结构分层模型中,它应当划分在图3中的通信子网层。这就是为什么该书将OSI模型的部分网络层也划入TCP/IP的通信子网层。至于其他层对应关系和图1中的划分不同,估计也是基于类似的考虑。
OSI协议 TCP/IP协议
7 应用层 4 应用层
6 表示层
5 会话层
3 运输层
4 运输层
2 网络层
3 网络层
1 通信子网层
2 数据链路层
1 物理层
图3 TCP/IP协议和OSI协议的对应关系[1]
2.五层体系结构
《Data Communication and Networking》[5]是国外使用较多的一个网络通信类教材,国内的影印本也经常作为双语教学教科书,该书由McGraw-Hill出版社出版。书中明确提出,因为TCP/IP协议的提出要早于OSI七层模型,所以TCP/IP协议不能和OSI模型精确的匹配。
该教材将TCP/IP协议架构分为五层,分别是物理层、链路层、网络层、传输层、应用层,前四层和OSI的模型对应,应用层这对应OSI的会话层、表示层和应用层。如图4所示:
在另一本国外著名的计算机通信网络教材《Data and Computer Communications》[6]中,又提出了不同的看法。该书中,TCP/IP体系结构和OSI模型的对应关系如图5所示。图中TCP/IP的5层模型和OSI的对应关系按功能划分,跟文献[1]中的模型(见图3)有些相似,比如TCP/IP分层架构中的网络接口层(Network access)对应的是OSI的数据链路层和网络层的一部分。运输层(Transport)则对应的是OSI的运输层和会话层(Session)的一部分。
OSI TCP/IP
Application Application
Presentation
Session
Transport
(host-to-host)
Transport
Internet
Network
Network
Data link
Physical Physical
图5 OSI和TCP/IP的体系结构对照[6]
同样是五层模型,纪越峰编著的《现代通信原理》[7]中的划分又不一样。该书中层次划分如图6所示,TCP/IP体系结构从上到下分为五层,分别是物理层、网络接口层、互联网层(网络层)、传输层及应用层。
二、结语
本文列举了国内外具有代表性的几种TCP/IP体系结构层次划分以及和OSI七层模型的几种对应关系,由于教材编写者的考虑角度不一样,这些层次划分及对应关系不尽相同。造成这些区别的原因,笔者认为主要有2点:第一,正如文献[2]中所述,从实质上讲,TCP/IP协议只有三层,即应用层、运输层、网际层(网络层),因为最下面的网络接口层并没有实质的具体内容。第二,严格意义上讲,网络接口层只是一个接口,并不是一个层次。更重要的是,如文献[5]所述,TCP/IP协议产生于OSI七层模型之前,它们不能精确匹配。因为当年参与设计开发TCP/IP协议的先驱们首先考虑的是实用性,不可能去按照后来提出的OSI模型去考虑TCP/IP网络体系结构的分层。从严格学术意义上讲,图5中的分层模型对应关系也许更精确,但是,在本科教学中,特别在非计算机专业的本科教学中,笔者觉得,图2中的分层较为妥当,因为它对应关系明确,概念清晰,学生容易理解接受。如果是针对计算机专业的本科学生或者是高年级的研究生,按照图5中的模型讲述TCP/IP协议的分层架构是一个更好的选择。不论按照哪个分层模型讲述,在课堂上,更重要的是要让学生领会协议分层的思想,即理解下列几个问题:为什么要分层;分层的依据是什么;各层有哪些协议。
参考文献:
[1]张尧学.计算机网络与internet教程[M].第1版.北京:清华大学出版社,1999.
[2]谢希仁.计算机网络[M].第4版.北京:电子工业出版社,2003.
[3]赵宏波.现代通信技术概论[M].北京:北京邮电大学出版社,
2003.
[4]Douglas E .Comer.Internetworking with TCP/IP[M].赵刚,等,译.北京:电子工业出版社,1998.
[5]Behrouz A.Forouzan.Data Communications And Networking(Fourth Edition)[M]. 影印版.New York:McGraw-Hill, 2007.
[6]William Stalling.Data and Computer Communications (Eighth Edition)[M]. New Jersey:Pearson Prentice Hall,2007.
[7]纪越峰.现代通信技术[M].第二版.北京:北京邮电大学出版社,2002.
注:刘志雄为本文通讯作者。
(责任编辑:王意琴)