关于OSI/RM模型与TCP/IP模型和协议的基本知识

1,OSI/RM模型

开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它一共有七层,从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

物理层

        物理层并不是物理媒体本身,它只是开放系统中利用物理媒体实现物理连接的功能描述和执行连接的规程。物理层提供用于建立、保持和断开物理连接的机械的、电气的、功能的和过程的条件。

数据链路层

        数据链路层用于建立、维持和拆除链路连接,实现无差错传输的功能。在点到点或点到多点的链路上,保证信息的可靠传递。该层对连接相邻的通路进行差错控制、数据成帧、同步等控制。检测差错一般采用循环冗余校验(CRC),纠正差错采用计时器恢复和自动请求重发(ARQ)等技术。其典型的协议有OSI标准协议集中的高级数据链路控制协议HDLC。

网络层

        网络层规定了网络连接的建立、维持和拆除的协议。它的主要功能是利用数据链路层所提供的相邻节点间的无差错数据传输功能,通过路由选择和中继功能,实现两个系统之间的连接。在计算机网络系统中,网络层还具有多路复用的功能。

传输层

        传输层完成开放系统之间的数据传送控制。主要功能是开放系统之间的数据的收发确认。同时还用于弥补各种通信网络的质量差异,对经过下三层之后仍然存在的传输差错进行恢复,进一步提高可靠性。另外,还通过复用、分段和组合、连接和分离、分流和合流等技术措施,提高吞吐量和服务质量。

会话层

        会话层依靠传输层以下的通信功能使数据传送功能在开放系统间有效地进行。其主要功能是按照在应用进程之间的约定,按照正确的顺序收发数据,进行各种形式的对话。控制方式可以归纳为以下两类:一是为了在会话应用中易于实现接受处理和发送处理的逐次交替变换,设置某一时刻只有一端发送数据。因此需要有交替改变发信端的传送控制。二是在类似文件传送等单方向传送大量数据的情况下,为了防备应用处理中出现意外,在传送数据的过程中需要给数据记上标记。当出现意外时,可以由记标记处重发。例如可以将长文件分页发送,当收到上页的接受确认后,再发下页的内容

表示层

        表示层的主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。表示层仅对应用层信息内容的形式进行变换,而不改变其内容本身。

应用层

应用层是OSI参考模型的最高层。其功能是实现应用进程(如用户程序、终端操作员等)之间的信息交换。同时,还具有一系列业务处理所需要的服务功能。

2,OSI模型具有如下优点:

        分工合作,责任明确。性质相似的工作划分在同一层,性质不同的工作则划分到不同层,这样每一层的功能都是明确的,每一层都有其负责的工作范围,一旦出现问题,很容易找到问题所在的层,仅对此层加以改善即可。  

        对等交谈。计算机通过网络进行通信时,按照对等交谈的原则,即同一层找同层,通过各对等层的协议来进行通信,比如,两个对等的网络层使用网络协议通信。

        逐层处理,层层负责。在OSI中,两个实体通信必须涉及下一层,只有相邻层之间可以通信,下层向上层提供服务,上层通过接口调用下层的服务,层间不能有越级调用关系,每层功能的实现都是在下层提供服务的基础上完成的。即每一层都是利用下层提供的服务来完成本层功能,并在此基础上为上层提供进一步的服务。

3,TCP/IP模型和协议

        TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

        TCP/IP协议与OSI/RM模型不同点是:OSI/RM模型在设计时是由)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,在设计十并没有考虑商务上的用途。而TCP/IP协议更适合生活使用

        TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次。

链路层(网络接口层)

        以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。

        所以链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。

网络层

IP协议

网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址。

ARP协议

即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 

路由协议

首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行多次转发,最终将该数据包转发到目标IP所在的子网中,然后再通过ARP获取目标机MAC,最终也是通过广播形式将数据包发送给接收方。而完成这个路由协议的物理设备就是路由器,路由器扮演着交通枢纽的角色,它会根据信道情况,选择并设定路由,以最佳路径来转发数据包。 

所以,网络层的主要工作是定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。 

传输层

链路层定义了主机的身份,即MAC地址,而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包。因此传输层引入了UDP协议来解决这个问题,为了给每个应用程序标识身份。

UDP协议

UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。

TCP协议

TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制,即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。 

传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。 

应用层

理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有http,ftp,smtp等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。 

所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

4,关于OSI/RM模型与TCP/IP模型和协议的优缺点

 TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:

        协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。

        独立于网络硬件系统,可以运行在广域网,更适合于互联网。

        网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。

        高层协议标准化,可以提供多种多样可靠网络服务。

TCP/IP模型和协议也有的问题

        该模型没有明显地区分服务、接口和协议的概念。因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。

        TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。 [5]

        链路层并不是通常意义上的一层。它是一个接口,处于网络层和数据链路层之间。接口和层间的区别是很重要的。

        TCP/IP模型不区分物理层和数据链路层。这两层完全不同,物理层必须处理铜缆、光纤和无线通信的传输特征;而数据链路层的工作是确定帧的开始和结束,并且按照所需的可靠程度把帧从一端发送到另一端。

OSI/RM模型具有如下优点。

        分工合作,责任明确。性质相似的工作划分在同一层,性质不同的工作则划分到不同层,这样每一层的功能都是明确的,每一层都有其负责的工作范围,一旦出现问题,很容易找到问题所在的层,仅对此层加以改善即可。

        对等交谈。计算机通过网络进行通信时,按照对等交谈的原则,即同一层找同层,通过各对等层的协议来进行通信,比如,两个对等的网络层使用网络协议通信。

        逐层处理,层层负责。在OSI中,两个实体通信必须涉及下一层,只有相邻层之间可以通信,下层向上层提供服务,上层通过接口调用下层的服务,层间不能有越级调用关系,每层功能的实现都是在下层提供服务的基础上完成的。即每一层都是利用下层提供的服务来完成本层功能,并在此基础上为上层提供进一步的服务。

OSI/RM模型也有几个缺点

        第一个小问题是因为分层,导致对资源的无意义的消耗,但是这个会随着设备的性能和带宽的提升而忽略不计。

        第二个问题就很严重了,就是安全性。虽然体系分割很为完整,但是需要鉴别服务、访问控制服务、数据保密性服务、数据完整性服务、抗抵赖服务;加密、数字签名、访问控制、数据完整性、鉴别交换、业务流填充、路由控制和公证。这五项安全服务和七项安全机制来保护。

你可能感兴趣的:(计算机基础知识,tcp/ip,网络协议,网络)