网络七层协议

OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。

OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;

其中高层(即7、6、5、4层)定义了应用程序的功能,

下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。


物理层
OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE即数据终端设备,又称物理设备,如计算机、终端等都包括在内。
而DCE则是数据通信设备或电路连接设备,如调制解调器等。
数据传输通常是经过DTE——DCE,再经过DCE——DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。


数据链路层
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。
数据链路可以粗略地理解为数据通道。
物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.
这种建立起来的数据收发关系就叫作数据链路.
而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.
数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于链路层,对此还有争议.数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给网络层。
在IEEE802.3情况下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个是媒体访问控制。

网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。
为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等

网络层的产生也是网络发展的结果.在联机系统和线路交换的环境中,网络层的功能没有太大意义.
当数据终端增多时。它们之间有中继设备相连.此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻径
另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉.人们自然会希望让多对用户共用一条链路,为解决这一问题就出现了逻辑信道技术和虚拟电路技术。
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:路由选择和中继等
现在市场上销售的网络硬设备主要有网关和路由器.

传输层
这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX


会话层
它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,

会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要

在会话层和传输层我们都提到了连接,那么会话连接和传输连接到底有什么区别呢?
假设你对你的秘书说,给琼斯先生打个电话,这时你相当于会话层,而秘书相当于传输层。你的请求就相当于请求一个会话。
你提出建立连接的要求,但不必自己动手查找电话号码、拨号等。秘书着手打电话,开始建立传输连接。当拨号成功,对方拎起话筒,传输连接就建立起来了。然后,你接过电话,此时会话层(连接)建立成功。

会话连接和传输连接之间有三种关系:
一对一关系,即一个会话连接对应一个传输连接;
一对多关系,一个会话连接对应多个传输连接;
多对一关系,多个会话连接对应一个传输关系
好比打电话,一个人讲完后可以换另一个人讲话,而不必让电信局知道换了人讲话。
会话过程中,会话层需要决定到底使用全双工通信还是半双工通信。
如果采用全双工通信,则会话层在对话管理中要做的工作就很少;
如果采用半双工通信,会话层则通过一计算机网络技术2个数据令牌来协调会话,保证每次只有一个用户能够传输数据。当会话层建立一个会话时,先让一个用户得到令牌。只有获得令牌的用户才有权进行发送。
如果接收方想要发送数据,可以请求获得令牌。由发送方决定何时放弃。一旦得到令牌,接收方就转变为发送方。
当我们进行大量的数据传输时,例如你正在下载一个100M 的文件,当下载到95M 时,网络断线了,这时怎么办?是否需要重头再传?为了解决这个问题,会话层提供了同步服务,通过在数据流中定义检查点(Checkpoint)来把会话分割成明显的会话单元。当网络故障出现时,从最后一个检查点开始重传数据。
常见的会话层协议有:结构化查询语言(SQL);远程进程呼叫(RPC);X-windows 系统;AppleTalk 会话协议;数字网络结构会话控制协议(DNA SCP)等。


表示层

这一层的主要功能是定义数据格式及加密
例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。
例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要表示层来完成这种转换。
通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.
由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.
例如你想下午两点从杭州出发去上海,于是你对上海的朋友说,“我下午两点来”,可是你的朋友却理解为两点钟到达上海。所以这句话虽然没有听错,却因为不同的理解,产生了完成不同的结果。
表示层就专门负责这些有关网络中计算机信息表示方式的问题。
表示层负责在不同的数据格式之间进行转换操作,以实现不同计算机系统间的信息交换。
两台计算机之间的信息交换除了编码外,还包括数组、浮点数、记录、图像、声音等多种数据结构,表示层用抽象的方式来定义交换中使用的数据结构,并且在计算机内部表示法和网络的标准表示法之间进行转换。

 表示层还负责数据的加密,以在数据的传输过程对其进行保护。数据在发送端被加密,在接收端解密。使用加密密钥来对数据进行加密和解密。表示层还负责文件的压缩,通过算法来压缩文件的大小,降低传输费用。


应用层
应用层是网络体系中最高的一层,也是唯一面向用户的一层,应用层向应用程序提供服务,应用层将为用户提供常用的应用程序,并实现网络服务的各种功能。常用的电子邮件、上网浏览等网络服务,都是应用层的程序。
示例:TELNET,HTTP,FTP,NFS,SMTP等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值