我对互联网体系结构的认识
互联网体系结构
计算机网络就是一组通过一定形式连接起来的计算机系统,它需要四个要素的支持,即通信线路和通信设备、有独立功能的计算机、网络软件的支持、能实现数据通信与资源共享。计算机网络具有两大参考模型,分别为OSI模型和TCP/IP模型,其中OSI模型为理论模型,而TCP/IP模型则已成为互联网事实的工业标准,现在的通信网络一般都是采用TCP/IP协议簇,而应用编程都是采用socket套接字进行编程。
创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为解放企业提供专业的网站制作、做网站,解放网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
网络体系结构提出的背景
网络体系结构的提出源于计算机网络的复杂性和异质性,具体表现为如下几个方面:
不同的通信介质——有线、无线…
不同种类的设备——主机、路由器、交换机、复用设备…
不同的操作系统——Unix、Windows…
不同的软/硬件、接口和通信约定(协议)
不同的应用环境——固定、移动…
不同种类业务——分时、交互、实时…
对于复杂的网络系统,用什么方法能合理地组织网络的结构,以达到:
结构清晰
简化设计与实现
便于更新尾维护
较强的独立性与适应性
答案:分而治之
一个生活中的例子:物流系统
物流系统组织:
用户(寄件者) | 用户(取件者) |
快递员(收信) | 快递员(取信) |
分检员(分检) | 分检员(分检) |
运输工具(出发) | 运输工具(到达) |
运输线路 |
特点:
每层实现一种特定的服务。
通过自己内部的功能。
依赖自己的下层提供的服务。
计算机网络中也采用了分层方法。——把复杂的问题划分为若干个较小的、单一的局部问题,在不同层上予以解决。
层次化的网络体系结构
计算机网络中,层、协议和层间接口的集合被称为计算机网络体系结构。换句话说:体系结构包括三个内容:分层结构与每层的功能,服务与层间接口,协议。
1、网络体系结构的分层原理
实体:任何可以发送或接收信息的硬件/软件进程。
对等层:两个不同系统的同级层次。
对等实体:分别位于不同系统对等层中的两个实体。
接口:相邻两层之间交互的界面,定义相邻两层之间的操作及下层对上层的服务。
服务:某一层及其以下各层的一种能力,通过接口提供给其相邻上层。
协议:通信双方在通信中必须遵守的规则。
分层网络结构图:
图1
网络中的任何一个系统都是按照层次结构来组织的
同一网络中,任意两个端系统必须具有相同的层次
每层使用其下层提供的服务,并向其上层提供服务
通信只在对等层间进行(间接的、逻辑的、虚拟的),非对等层之间不能 互相“通信”
实际的物理通信只在最底层完成
Pn:第n层协议,即第n层对等实体间通信时必须遵循的规则或约定
2、层次化体系结构的优点:
(1)、独立性强——耦合程度低
上层只需了解下层通过层间接口提供什么服务—黑箱方法。
(2)、适应性强
只要服务和接口不变,每层的实现方法可任意改变。
(3)、易于实现和维护
把复杂的系统分解成若干个涉及范围小、功能简单的子单元。
网络系统结构参考模型ISO/OSI
国际标准化组织信息处理系统技术委员会(ISO TC97)于1978年为开放系统互连建立了分委员会SC16,并于1980 年12月发表了第一个开放系统互连参考模型。
OSI参考模型的体系结构,由低层至高层分别称为物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。
1、 OSI体系结构图
图 2
OSI网络参考模型功能表示:
层名 | 功能 | 相应问题 |
应用层 | 与用户应用进程的接口 | “做什么” |
表示层 | 数据格式的转换 | “对方看起来像什么” |
会话层 | 回话管理与数据传输同步 | “该谁讲话,从哪讲起” |
传输层 | 端到端可靠地数据传输 | “对方在哪” |
网络层 | 分组传送、路由选择、流量控制 | “走那条路” |
数据链路层 | 相邻节点间无差错的传输帧 | “每一步怎么走” |
物理层 | 在物理节点上透明传输位流 | “怎样利用物理媒体” |
OSI模型的数据流向
2、OSI各层次的作用
(1)、物理层
物理层是OSI模型中最底下的层次,它直接与传输介质相连,其主要功能可以简述为在连接各种计算机的传输介质上透明地传输比特流。物理层为其上一层数据链路层提供的服务就是向数据链路层屏蔽这些差别,使得数据链路层只需要专注于完成链路上数据的传送任务即可。
ISO将OSI模型中物理层的功能定义为建立、维护和释放数据链路实体之间的物理连接而提供机械的、电气的、功能的和规范的特性,该物理连接用于在数据链路实体之间进行二进制比特流的传输。即物理层的数据单位是比特。
(2)、数据链路层
物理层上面的层次叫做数据链路层,其主要功能可以简单描述为在直接相邻的两个网络结点之间的线路上无差错地传送数据,其传送的数据单位即数据链路层的协议数据单元(PDU),称为帧(Frame)。该层次功能实现的根本目的是在不太可靠的物理线路上实现可靠的数据传输,即数据链路层提供网络中直接相邻结点之间的可靠数据通信。
数据链路层关注的问题就是如何保证数据在数据链路上实现正确地传送。如果数据在构成信道的每一段链路上都能够正确地传输,那么最少在数据链路层上保证了信息传输的可行性和准确性。
(3)、网络层
位于数据链路层之上的计算机网络层次是网络层。设置该层次的主要目的是实现用户数据在源端到目的端之间的传输操作。
该层次要实现的主要功能。
首先,网络层最核心的功能就是路由的选择。路由就是一条从源端到目的端的路径,路由选择是为用户数据确定一条从源端到目的端的传输通路。网络层处理的数据单位,即网络层的协议数据单元称为分组或者包(Packet)。
其次,确定一条路由并不是一项简单的任务,需要考虑到分组有可能要经过不同拓扑结构、使用不同协议并且基本参数也大相径庭的异构网络。
第三,通信的链路资源是要共享的,但共享带来的问题是有可能产生拥塞。
(4)、传输层
传输层也称为运输层,是位于网络层之上的层次。它在整个网络体系结构中占据着比较重要的位置——位于资源子网的最底层并与通信子网直接相连,是面向应用的服务与面向通信的服务的转接层。
传输层的主要功能是在源主机进程和目的主机进程之间提供端到端的通信。即传输层从会话层接收数据,根据实际情况决定是否将其拆分成更小的单元,然后传递给网络层,并确保到达对方的数据正确无误。传输层处理的数据单位称为报文
(5)、会话层
会话层位于传输层之上,用于在两台不同计算机之上的用户进程建立会话(Session)关系。会话被定义为两个不同计算机上的用户进程之间的一次信息交互,一般是进行类似传输层的数据传输,比如传递一些用户要求的数据,包括文件等内容。
会话层提供的服务之一是管理会话。这个功能包括在不同计算机上的两个用户应用进程之间建立、使用和结束会话。
会话层提供的第二个服务是令牌管理。令牌是一种特殊的数据,只有拥有令牌的一方才拥有执行操作的权利。
会话层提供的第三个服务是同步。
(6)、表示层
表示层位于会话层之上,是OSI模型的第六层。它用于执行某些通用的信息处理操作以减少用户工作的复杂度。在OSI模型中,表示层关注的是所传输信息的语法和语义,而其以下各层关注的是信息数据的正确传输,这是表示层与其下面各个层次的明显区别。
表示层执行的典型通用信息处理操作之一是使用标准的方法对信息数据进行编码。
(7)、应用层
应用层是OSI模型的最高层,提供了大量的应用协议来满足人们千差万别的网络需求。网络用户可以通过各种应用协议支持的接口来使用这些协议提供的各种网络服务、访问计算机网络的各种资源,还可以以这些协议为基础进一步开发出适合自己特殊需要的网络应用程序。
在OSI模型中,应用层不同的协议为特定的网络应用提供了信息访问手段。应用的双方只要符合某种协议的规范,就可以使用该协议提供的网络服务。
ISO的OSI/RM七层参考模型的制定过程拖沓,协议体系结构过于复杂,层次功能重复太多。因此,得到广泛应用的TCP/IP协议体系结构逐步成为广大计算机厂商和计算机科学界共同遵循的事实工业标准。而OSI/RM七层参考模型因其具有内容完整、结构明确的特点而依然在科学研究中使用。
TCP/IP网络体系结构
TCP/IP是一个四层的体系结构,这四层分别是:应用层、传输层、网际层和网络接口层。用户数据若要使用TCP/IP协议从源计算机传送到目的计算机,则必须经过上述四层网络协议栈的处理才能在实际的物理网络中传输。但实际上,因为最下面的网络接口层没有什么具体的内容,所以TCP/IP协议体系结构只有应用层、传输层和网际层有详细的特性描述。
1、应用层
应用层(Application Layer)的功能是为用户提供网络应用,并为应用程序提供访问其他层服务的能力,即将用户的数据发送到TCP/IP模型下面的层次并为应用程序提供网络接口。由于TCP/IP模型将所有与应用相关的内容都划归给应用层处理,所以在该层中存在大量的应用程序和协议。
2、传输层
传输层负责提供可靠的、端到端的两个主机进程之间的数据传输,即一台主机上的应用程序进程到另外一台主机上的应用程序进程之间的通信。
在TCP/IP模型中定义了两个传输层协议,即传输控制协议(TCP)和用户数据报协议(UDP),提供了两种不同的数据传输服务。
(1)传输控制协议
传输控制协议TCP提供面向连接的服务,保证端到端可靠的数据传输。
(2)用户数据报协议
用户数据报协议UDP提供无连接的服务。它可以保证独立数据包的高效传送,网络开销较小,信息传输的健壮性较强。
3、网际层
网际层可以说是TCP/IP模型的核心层次,主要负责各种支持TCP/IP协议网络的互联互通。具体来说,网际层的核心功能是路由选择,即根据目的主机的IP地址进行寻址并选择合适的路径进行数据分组传送。但是网际层的IP协议提供的是尽力而为的投递服务,即数据包经过网络时,有可能因为网络的拥塞或者其他故障而出错甚至丢失。而且IP协议只具有有限的检错能力,数据包的差错控制功能必须由传输层协议来完成。
4、网络接口层
在TCP/IP模型中,网络接口层位于整个模型的底部,负责接收从网际层传递下来的IP数据包并把IP数据包发送到网络传输介质上,以及从网络传输介质上接收数据流并抽取出IP数据包后提交给网际层。
TCP/IP标准并没有定义具体的网络接口协议,其目的是要包括所有能使TCP/IP协议栈与物理网络进行通信的协议,从而增强TCP/IP模型针对各种网络的灵活性和适应性。
OSI与TCP/IP两种体系结构的比较
首先,TCP/IP模型的应用层囊括了OSI模型的应用层、表示层和会话层这三层的功能。
其次,两个模型的传输层和网络层几乎可以完全相互参照,说明在资源子网底部端到端主
进程之间的传输与通信子网顶部网络结点间的传输应该是被明确分开的。
第三,TCP/IP模型只有一个未作任何定义的网络接口层,而OSI模型则完整的定义了数据链路层和物理层。
TCP/IP模型没有明显地区分服务、接口和协议的概念,而OSI模型却做了详细的工作,从而符合了软件工程实践的规范和要求。
TCP/IP模型是专用的,不适合描述除TCP/IP模型之外的任何协议,而OSI模型是一个通用的标准模型框架,它可以描述任何符合该标准的协议。
TCP/IP模型重点考虑了异构网络互联的问题,而OSI模型开始对这一点考虑得不多。
TCP/IP模型提供了面向连接和无连接两种服务,而OSI模型开始只考虑了面向连接一种服务。
TCP/IP模型提供了较强的网络管理功能,而OSI模型后来才考虑这个问题。
中国科大软件学院 许毫 原创文章转载请注明出处
网站题目:我对互联网体系结构的认识
标题路径:http://scyanting.com/article/gjeejp.html