协议 ---ISO/OSI协议模型详解

什么是协议?

#协议,网络协议的简称,网络协议是通讯计算机双方必须共同听从的一组约定。如怎么样创建链接、怎么样互相识别等。只有遵照这个约定,计算机之间才能相互通讯交流。它的三要素是:语法、语义、时序。ios

为了使数据在网络上从源到达目的,网络通讯的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。web

协议每每分红几个层次进行定义,分层定义是为了使某一层协议的改变不影响其余层次的协议。算法

协议老是指某一层的协议。准确地说,它是在同等层之间的实体通讯时,有关通讯规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。浏览器

网络协议,也可简称协议,一般由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即须要发出何种控制信息,完成何种动做以及作出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。缓存

协议的基本原理编辑

ISO/OSI协议模型
国际标准化组织(ISO)为了规范协议层次的划分制定了开发系统互联(OSI,Open Systems Interconnection)模型,即ISO/OSI参考模型。此模型根据网络功能制定出7层网络协议结构,每层均可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即七、六、五、4层)定义了应用程序的功能,下面3层(即三、二、1层)主要面向经过网络的端到端,点到点的数据流。
在这里插入图片描述
(1)物理层:简单地说,物理层协议对与基本物理信号传输有关的机械、电气等功能进行描述。若生产相互链接的两个设备的两个厂商都遵循相同物理层规范,则两者一定能被链接在一块儿,并能接收对方发来的电、光或其余的物理信号,并且能正确地将这些物理信号理解为二进制的0和1序列。物理层只负责正确地接收和发送比特,并不关心这些比特的具体含义。
(2)数据链路层:数据链路层简称链路层,它依赖物理层提供的比特传输能力把数据组织成为有边界的传输单位,称为“帧”。链路层把来自网络层的数据组织成“帧”,而后再经过物理层向外发送。固然,链路层也要负责历来自物理层的比特序列(或者字节序列)中区分出一个个的帧,并将帧中的数据传递给网络层。为了将各个帧区分开来,须要在帧的头部和尾部附加一些特色的信息,这个过程称为“封装”,其相反的过程称为“解封装”。“封装”的概念不仅在链路层中存在,在更高的各层协议中一样存在。全部层上的“封装”问题的共同特征是把来自高层的封装单位根据本层的须要附加上特定信息造成本层的封装单位,而后向低层传递,同时把来自低层的数据解封装后向高层传递。另外,链路层还能够有其余的诸如差错校验、流量控制等功能,但要理解整个协议体系,则首先应记住它和帧之间的密切关系,由于帧使无头无尾的比特序列变成容易控制的有界单位。
(3)网络层:网络层解决如何标识通讯各方和数据如何从源到达目的这个问题。网络层用特定的网络层地址来标识整个网络中的一个节点,并负责使来自传输层的应该到达某个网络层地址的数据可以被送达这个网络层地址所对应的网络节点。网络层的封装单位称为“包”,“包”须要被进一步封装成链路层的帧而后才能经过物理层发送出去,而在接收方,包在链路层的帧中被解封装出来。最典型的的网络层协议就是在Internet中使用的IP协议,它使用IP地址惟一地标识Internet中的一台主机,路由设备根据IP包中的目的IP地址将IP包一步步转发至目的主机。
(4)传输层:依赖物理层、数据链路层和网络层,任意一个网络节点都能把任何信息传递到其余任意节点,而传输层在物理层、数据链路层和网络层提供的节点间的通讯能力基础上进一步提供了面向应用的服务。传输层向上层提供屏蔽了传输细节的数据传输服务,未来自高层的数据进行分段并未来自低层的数据重组,对数据传输进行差错恢复和流量控制。经过对每一个网络节点的多个进程进行标识,传输层能够实现对网络层的多路复用。
(5)会话层:会话层用于创建和管理不一样主机的两个进程之间的对话。会话层能够管理对话,可容许对话在两个方向上同时进行,也能够强制对话同时只在一个方向上进行。在后一种状况下,会话层能够提供会话令牌来控制某时刻哪一方能够发生数据。会话层还能够提供同步服务,它能够在数据流中插入同步点,每当因网络出现故障而形成大量数据传输中断时,经过同步点机制可使两个进程之间的数据传输不须要从头开始,而是从最后一个同步点开始继续传输。
(6)表示层:表示层协议规定对来自应用层的数据如何进行表达,例如采用什么样的文字编码、是否及如何进行压缩、是否及如何加密等。
这一层的主要功能是定义数据格式及加密。例如,FTP容许你选择以二进制或ASCII格式传输。若是选择二进制,那么发送方和接收方不改变文件的内容。若是选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。
(7)应用层:应用层四ISO/OSI模型中最靠近用户的一层,应用层协议直接面对用户的需求,例如与发送邮件相关的应用层协议能够规定诸如邮件地址的格式、邮件内容的段落表示、客户与服务器进行交互的命令串等。服务器

经常使用的协议

TCP/IP协议毫无疑问是这三协议中最重要的一个,做为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操做都离不开TCP/IP协议。不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个,单机上网还好,而经过局域网访问互联网的话,就要详细设置IP地址,网关,子网掩码,DNS服务器等参数。
TCP/IP尽管是最流行的网络协议,但TCP/IP协议在局域网中的通讯效率并不高,使用它在浏览“网上邻居”中的计算机时,常常会出现不能正常浏览的现象。此时安装NetBEUI协议就会解决这个问题。网络

NetBEUI即NetBios Enhanced User Interface ,或NetBios加强用户接口。它是NetBIOS协议的加强版本,曾被许多操做系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下颇有用,是WINDOWS98以前的操做系统的缺省协议。NetBEUI协议是一种短小精悍、通讯效率高的广播型协议,安装后不须要进行设置,特别适合于在“网络邻居”传送数据。因此建议除了TCP/IP协议以外,小型局域网的计算机也能够安上NetBEUI协议。另外还有一点要注意,若是一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。数据结构

IPX/SPX协议原本就是Novell开发的专用于NetWare网络中的协议,可是也很是经常使用–大部分能够联机的游戏都支持IPX/SPX协议,好比星际争霸,反恐精英等等。虽然这些游戏经过TCP/IP协议也能联机,但显然仍是经过IPX/SPX协议更省事,由于根本不须要任何设置。除此以外,IPX/SPX协议在非局域网络中的用途彷佛并非很大.若是肯定不在局域网中联机玩游戏,那么这个协议无关紧要。架构

OSI参考模型中每一个分层的做用及没分层经常使用的协议有哪些?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.应用层协议以下:
(1)域名系统(Domain Name System,DNS):用于实现网络设备名字到IP地址映射的网络服务。也就是一种用以将域名转换为IP地址的Internet服务
(2)文件传输协议(File Transfer Protocol,FTP):用于实现交互式文件传输功能。提供交互式的访问,基于客户服务器模式,面向链接 使用TCP可靠的运输服务
主要功能:减小/消除不一样操做系统下文件的不兼容性
(3)简单邮件传送协议(Simple Mail Transfer Protocol, SMTP):用于实现电子邮箱传送功能。Client/Server模式,面向链接
基本功能:写信、传送、报告传送状况、显示信件、接收方处理信件
(4)超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务。这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页
(5)简单网络管理协议(simple Network Management Protocol,SNMP):用于管理与监视网络设备。
(6)远程登陆协议(Telnet):用于实现远程登陆功能。客户服务器模式,能适应许多计算机和操做系统的差别,网络虚拟终端NVT的意义
(7)NFS(Network File System),网络文件系统能使使用者访问网络上别处的文件就像在使用本身的计算机同样,NFS 容许计算的客户 — 服务器模型。服务器实施共享文件系统,以及客户端所链接的存储。客户端实施用户接口来共享文件系统,并加载到本地文件空间当中.
(8)简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小
(9)简单网络管理协议(SNMP): SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议
SNMP代理:运行SNMP管理进程的被管理结点
对象:描述设备的变量
管理信息库(MIB):保存全部对象的数据结构
(10)DHCP动态主机配置协议: 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名 Options –可选参数字段,参考定义选择列表中的选择文件
(11) Gopher (英文原义:The Internet Gopher Protocol 中文释义:(RFC-1436)网际Gopher协议),Gopher是Internet上一个很是有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另外一处。在WWW出现以前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。容许用户使用层叠结构的菜单与文件,以发现和检索信息,它拥有世界上最大、最神奇的编目。这是一种互联网没有发展起来以前的一种从远程服务器上获取数据的协议。Gopher协议目前已经不多使用,它几乎已经彻底被HTTP协议取代了。
(12)IRC (Internet Relay Chat )网络聊天协议,因特网中继聊天,通常称为互联网中继聊天,简称:IRC。 IRC的工做原理很是简单,您只要在本身的PC上运行客户端软件,而后经过因特网以IRC协议链接到一台IRC服务器上便可。它的特色是速度很是之快,聊天时几乎没有延迟的现象,而且只占用很小的带宽资源。全部用户能够在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每一个IRC的使用者都有一个Nickname(昵称)。
IRC用户使用特定的用户端聊天软件链接到IRC服务器,经过服务器中继与其余链接到这一服务器上的用户交流,因此IRC的中文名为“因特网中继聊天”。
(13)NNTP (Network News Transport Protocol) 网络新闻传输协议
(14)POP3 (Post Office Protocol 3)邮局协议的第三个版本,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
(15)RPC (Remote Procedure Call Protocol)远程过程调用协议,SAP系统RPC调用的原理其实很简单,有一些相似于三层构架的C/S系统,第三方的客户程序经过接口调用SAP内部的标准或自定义函数,得到函数返回的数据进行处理后显示或打印。
(16)NTP(Network Time Protocol) 网络校时协议,是用来使计算机时间同步化的一种协议,它可使计算机对其服务器或时钟源(如石英钟,GPS等等)作同步化,它能够提供高精准度的时间校订(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。负载均衡

2.表示层:将应用处理的信息转换为适合网络传输的格式,或未来自下一层的数据转换为上层可以处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另外一个系统应用层读取

具体来讲,就是将设备固有的数据格式转换为网络标准传输格式,不一样设备对同一比特流解释的结果可能会不一样;所以,主要负责使它们保持一致

3.会话层:负责创建和断开通讯链接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理

ps:其实在应用层、表示层、会话层这三层,协议能够共用:

在这里插入图片描述
4.传输层:只在通讯双方的节点上(好比计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是惟一负责整体的数据传输和数据控制的一层;

传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能

在这一层,数据的单位称为数据段(segment)

主要功能:

①:为端到端链接提供传输服务
②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输
③:为端到端链接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务

包括的协议以下:
Internet 的传输层有两个主要协议,互为补充。无链接的是 UDP,它除了给应用程序发送数据包功能并容许它们在所需的层次上架构本身的协议以外,几乎没有作什么特别的事情。面向链接的是 TCP,该协议几乎作了全部的事情。
(1)TCP(Transmission Control Protocol)传输控制协议,传输效率低,可靠性强,是一种面向链接的、可靠的、基于字节流的传输层通讯协议,由IETF的RFC 793 定义。TCP旨在适应支持多网络应用的分层协议层次结构。 链接到不一样但互连的计算机通讯网络的主计算机中的成对进程之间依靠TCP提供可靠的通讯服务。TCP假设它能够从较低级别的协议得到简单的,可能不可靠的数据报服务。 原则上,TCP应该可以在从硬线链接到分组交换或电路交换网络的各类通讯系统之上操做。
(2)UDP(user datagram protocol )用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(好比QQ),UDP 为应用程序提供了一种无需创建链接就能够发送封装的 IP 数据包的方法.
(3)DCCP(Datagram Congestion Control)数据报拥塞控制协议
(4)SCTP(Stream control transmission)流控制传输协议,是一种在网络链接两端之间同时传输多个数据流的协议。SCTP提供的服务于UDP和TCP相似。
(5)RTP(Real-time Transport Protocol )实时传送协议,为数据提供了具备实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序一般在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。可是 RTP 能够与其它适合的底层网络或传输协议一块儿使用。若是底层网络提供组播方式,那么 RTP 可使用该组播表传输数据到多个目的地。RTP 自己并无提供按时发送机制或其它服务质量(QoS)保证,它依赖于底层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不肯定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号容许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不须要顺序解码。
(6)RSVP(Resource ReSer Vation Protocol )资源预留协议,是一种用于互联网上质量整合服务的协议。RSVP 容许主机在网络上请求特殊服务质量用于特殊应用程序数据流的传输。路由器也使用 RSVP 发送服务质量(QOS)请求给全部结点(沿着流路径)并创建和维持这种状态以提供请求服务。
(7)PPTP(Point to Point Tunneling Protocol)点对点隧道协议,就是点对点协议(PPP)为基于点对点链接的多协议自寻址数据包的传输提供了一个标准方法.

5.网络层:将数据传输到目标地址;目标地址可使多个网络经过路由器链接而成的某一个地址,主要负责寻找地址和路由选择,网络层还能够实现拥塞控制、网际互连等功能

在这一层,数据的单位称为数据包(packet)

网络层协议的表明包括:
(1)IP(Internet Protocol)网络之间互连的协议 (IPV4或IPV6),设计IP的目的是提升网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于二者的独立发展。根据端到端的设计原则,IP只为主机提供一种无链接、不可靠的、尽力而为的数据报传输服务。
(2)ARP(Address Resolution Protocol ) 地址解析协议,实现经过IP地址得知其物理地址,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的全部主机,并接收返回消息,以此肯定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留必定时间,下次请求时直接查询ARP缓存以节约资源。
(3)RARP(Reverse Address Resolution Protocol ) 反向地址转换协议容许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。网络管理员在局域网网关路由器里建立一个表以映射物理地址(MAC)和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序须要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器,此机器就会存储起来以便往后使用。 RARP 可使用于以太网、光纤分布式数据接口及令牌环 LAN
(4)ICMP(Internet Control Message Protocol)Internet 控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络自己的消息。这些控制消息虽然并不传输用户数据,可是对于用户数据的传递起着重要的做用。
(5)IGMP(Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP 主机向任一个直接相邻的路由器报告他们的组成员状况。
IPX.该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv一、v2 和v3。
(6)RIP(路由信息协议)是一种在网关与主机之间交换路由选择信息的标准,基于距离矢量算法的路由协议,利用跳数来做为计量标准。在带宽、配置和管理方面要求较低,主要适合于规模较小的网络中。
(7)OSPF(Open Shortest Path First )开放式最短路径优先,是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运做于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。
(8)BGP(Border Gateway Protocol)边界网关协议,用来链接Internet上独立系统的路由选择协议。是运行于 TCP 上的一种自治系统的路由协议。 BGP 是惟一一个用来处理像因特网大小的网络的协议,也是惟一可以妥善处理好不相关路由域间的多路链接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其余的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

6.数据链路层:负责物理层面上的互联的、节点间的通讯传输(例如一个以太网项链的2个节点之间的通讯);该层的做用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

在这一层,数据的单位称为帧(frame)

数据链路层协议的表明包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等

7.物理层:负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换

规定了激活、维持、关闭通讯端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。只是说明标准

在这一层,数据的单位称为比特(bit)

属于物理层定义的典型规范表明包括:EIA/TIA RS-23二、EIA/TIA RS-44九、V.3五、RJ-4五、fddi令牌环网等