osi模型和tcpip模型区别

osi参考模型与tcp/ip模型虽然都是网络互联模型,但是它们本质上还是有区别,具体区别如下。

1、两者网络模型层数不同

1)OSI参考模型分为7层分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。虽然二者都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。但是OSI参考模型没有TCP/IP模型简化。

2)TCP/IP模型严格来说是一个四层的体系结构。应用层、传输层、网络层和数据链路层都包含其中,虽然它有四层网络模型层数,只是因为在TCP/IP模型中TCP模型和IP模型最具代表性,所以被称为TCP/IP模型。它是保证网络数据信息及时、完整传输的两个重要的模型。

2、两者数据传输原理不同

1)TCP/IP模型当应用进程A的数据传送到应用层时,将其组织成应用层的数据服务单元,然后向下传输到传输层。第二步,在传输层收到该数据单元后与本层的控制报头构成传输层的数据服务单元。之后在传输层将报文传送到网络层时,由于网络层数据单元的长度有限制,所以传输层的长度被分为若干个较短的数据段。每个数据段再加上网络层的控制报头,就构成了网络层的数据服务单元。

网络层的分组传送到数据链路层时,加上数据链路层的控制信息后构成数据链路层的数据服务单元。 数据链路层的帧传送到物理层后,物理层将以比特流的方式通过传输介质传输出去。当比特流到达目的主机B时,再从物理层依层上传,每层对其对应层的控制报头进行处理,将用户数据交给高层,最终将进程A的数据送给主机B的进程B,实现了数据的透明传输。

2)OSI参考模型中数据的传输和TCP/IP模型原理是一样的,不过OSI参考模型在第二、三步骤中还要加上对表示层和会话层数据单元的封装。都是通过数据发送方的各层相当于将各自的控制信息添加到上层传来的数据上,然后一起打包继续向前传递,而数据接收方的各层则是将接到的数据包进行解压,去掉发送方对等层添加在数据上的控制信息,然后传递给上层,最终实现数据的传输。

3、两者的优点不同

1)OSI参考模型

分工合作,责任明确。它把性质相似的工作划分在同一层,性质相异的工作则划分到不同层。把每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。

对等交谈。指所处的层级相同,对等交谈意指同一层找同一层谈,例如:第3层找第3层谈、第4层找第4层谈...依此类推。所以某一方的第N层只与对方的第N层交谈,是否收到、解读自己所送出的信息即可,因此不必关心对方的第N-1层或第N+1层会如何做。

逐层处理,层层负责。OSI参考模型中,第N层收到数据后,一定先把数据进行处理,才会将数据向上传送给第N+1层,处理无误后才向下传给第N-1层。任何一层收到数据时,都可以相信上一层或下一层已经做完它们该做的事,层级的多少还要考虑效率与实际操作的难易,并非层数越多越好。

2)tcp/ip模型

具有数据的时新性。TCP/IP模型的时效性则恰好具有时新性特点。它能利用高速运转的网络技术,及时捕捉科学有效的数据信息。并且能随着时间的变化,自动淘汰过时的无用信息,做到与时俱进。

具有数据的安全准确性。数据信息在传输过程中会一般会受传输者、接收者、传输渠道以及外部环境的影响。这些因素会不同程度上影响数据信息输送的及时性。而TCP/IP模型的数据传输,不仅能处理好复杂的信息结构,繁多的数据信息,还能维护数据信息的安全,确保数据信息的科学准确性。

具有传输技术的先进易用性。它主要采用的是先进的数据压缩技术。数据压缩就是文本编码的过程,以便将相同的数据信储存在更少的字节空间。文本占用空间减少、传输速度加快。数据压缩技术允许以最快的操作速度进行实时编码。

osi模型数据链路层的主要功能

1、帧同步功能

为了使传输中发生差错后只将出错的有限数据进行重发,数据链路层将比特流组织成以帧为单位传送。帧的组织结构必须设计成使接收方能够明确地从物理层收到的比特流中对其进行识别,也即能从比特流中区分出帧的起始与终止,这就是帧同步要解决的问题。由于网络传输中很难保证计时的正确和一致,所以不能采用依靠时间间隔关系来确定一帧的起始与终止的方法。下面介绍几种常用的帧同步法。

(1)字节计数法。这种帧同步方法以一个特殊字符表征一帧的起始,并以一个专门字段来标明帧内的字节数。接收方可以通过对该特殊字符的识别从比特流中区分出帧的起始,并从专门字段中获知该帧中随后跟随的数据字节数,从而可确定出帧的终止位置。

面向字节计数的同步规程的典型实例是DEC公司的数字数据通信报文协议DDcmp(Digital Data Communications Message Protocol)o DDcmP采用的帧格式如下:

格式中控制字符SOH标志数据帧的起始。 Count字段共有14位,用以指示帧中数据段中数据的字节数,数据段最大长度为8×(214-1)=131064位,长度必须为字节(EP 8位)的整倍数,DDCMP协议就是靠这个字节计数来确定帧的终止位置的。 DDCMP帧格式中的Ack、seg、addr及Flag中的第2位,它们的功能分别类似于本节稍后要详细介绍的hdlC中的N(R)、N(S)、Addr字段及P/F位。 CRC1、CRC2分别对标题部分和数据部分进行双重校验,强调标题部分单独校验的原因是,一旦标题部分中的Count字段出错,即失却了帧边界划分的依据,将造成灾难性的后果。

由于采用字符计数方法来确定帧的终止边界不会引起数据及其它信息的混淆,因而不必采用任何措施便可实现数据的透明性,即任何数据均可不受限制地传输。

(2)使用字符填充的首尾定界符法。该法用一些特定的字符来定界一帧的起始与终止,本节稍后要介绍的部C规程便是典型例子。为了不使数据信息位中出现的与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据字符前填充一个转义控制字符(DLE)以示区别,从而达到数据的透明性。但这种方法使用起来比较麻烦,而且所用的特定字符依赖于所采用的字符编码集,兼容性比较差。

(3)使用比特填充的首尾标志法。该法以一组特定的比特模式(如01111110)来标志一帧的起始与终止。本节稍后要详细介绍的E由LC规程即采用该法。为了不使信息位中出现的与该特定比特模式相似的比特串被误判为帧的首尾标志,可以采用比特填充的方法。比如,采用特定模式01111110,则对信息位中的任何连续出现的5个"1",发送方自动在其后插入一个"0",而接收方则做该过程的逆操作,即每接收到连续5个"1",则自动删去其后所跟的"0",以此恢复原始信息,实现数据传输的透明性。比特填充很容易由硬件来实现,性能优于字符填充方法。

(4)违法编码法。该法在物理层采用特定的比特编码方法时采用。例如,曼彻斯特编码方法,是将数据比特"1"编码成"高一低"电平对,将数据比特"0"编码成"低一高"电平对。而"高一高"电平对和"低低"电平对在数据比特中是违法的。可以借用这些违法编码序列来定界帧的起始与终止。局域IEEE802标准中就采用了这种方法。违法编码法不需要任何填充技术,便能实现数据的透明性,但它只适用于采用冗余编码的特殊编码环境。

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)以及字符填充法实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充法和违法编码法。

2、差错控制功能

通信系统必须具备发现(即检测)差错的能力,并采取措施纠正之,使差错控制在所能:允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。

接收方通过对差错编码(如奇偶校验码或αC码)的检查,可以判定一帧在传输过程中是否发生了差错。一旦发现差错,一般可以采用反馈重发的方法来纠正。这就要求接收方收完一帧后,向发送方反馈一个接收是否正确的信息,使发送方据此做出是否需要重新发送的决定。发送方仅当收到接收方已正确接收的反馈信号后才能认为该帧已经正确发送完毕,否则需重发直至正确为止。

物理信道的突发噪声可能完全"淹没"一帧,即使得整个数据帧或反馈信息帧丢失,这将导致发送方永远收不到接收方发来的反馈信息,从而使传输过程停滞。为了避免出现这种情况,通常引人计时器(Timer)来限定接收方发回反馈信息的时间间隔,当发送方发送一帧的同时也启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,即计时器超时(Timeout,则可认为传出的帧已出错或丢失,就要重新发送。

由于同一帧数据可能被重复发送多次,就可能引起接收方多次收到同一帧并将其递交给网络层的危险。为了防止发生这种危险,可以采用对发送的帧编号的方法,即赋予每帧一个序号,从而使接收方能从该序号来区分是新发送来的帧还是已经接收但又重新发送来的帧,以此来确定要不要将接收到的帧递交给网络层。数据链路层通过使用计数器和序号来保证每帧最终都能被正确地递交给目标网络层一次。

3、流量控制功能

首先需要说明一下,流量控制并不是数据链路层特有的功能,许多高层协议中也提供流量控制功能,只不过流量控制的对象不同而已。比如,对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是从源到最终目的之间端对端的流量。

由于收发双方各自使用的设备工作速率和缓冲存储空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,若此时不对发送方的发送速率(也即链路上的信息流量)做适当的限制,前面来不及接收的帧将被后面不断发送来的帧"淹没",从而造成帧的丢失而出错。由此可见,流量控制实际上是对发送方数据流量的控制,使其发送速率不致超过接收方所能承受的能力。这个过程需要通过某种反馈机制使发送方知道接收方是否能跟得上发送方的速率。也即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后再继续发送。本节稍后将要介绍的XON/XOFF方案和窗口机制就是两种常用的流量控制方法。

4、链路管理功能

链路管理功能主要用于面向连接的服务。在链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接。在传输过程中则要维持该连接。如果出现差错,需要重新初始化,重新自动建立连接。传输完毕后则要释放连接。数据链路层连接的建立,维持和释放就称做链路管理。在多个站点共享同一物理信道的情况下(例如在局域网中),如何在要求通信的站点间分配和管理信道也属于数据链路层链路管理的范畴。

关键词: osi模型和tcpip模型区别 osi模型数据链路层的主要功能 帧同步功能