OSI 7层模型结构说明
1、OSI的概念:
open system interconnect 开放系统互连参考模型,是由ISO(国际标准化组织)来定义的。是个灵活的,稳健的和可互操作的模型,并不是协议,是用来了解和设计网络体系结构的。
2、OSI模型的目的:
规范不同系统的互联标准,使两个不同的系统能够比较容易的通信,而不需要改变底层的硬件或软件的逻辑。
3、OSI模型分为7层:
OSI把网络按照层次分为7层,由下到上分为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。每个层次对应了相应的标准或协议。
4、OSI 7层层次说明
层次 |
说明 |
功能/协议 |
应用层 |
应用程序及接口,类似于公司的老板 |
提供应用程序的接口,就相当于开发好的软件。FTP Telnet http pop3等。 |
表示层 |
对数据进行转换,加密和压缩 |
将上层的数据进行转换和编译压缩为标准的文件,如jpg gif ascil等 |
会话层 |
建立,管理和终止会话 |
|
传输层 |
提供可靠的端到端的报文传输和差错控制,实质上就是负责建立连接的。 |
TCP UDP 建立可靠和非可靠的连接,将上层的数据进行分段处理。 |
网络层 |
将分组从源端传送到目的端,提供网络互连。 |
实质上就是提供路由寻址(IP协议),将上层分段的数据进行打包。 |
数据链路层 |
将分组数据封装成帧;提供节点到节点的传输 |
帧就是本地局域网中传输数据的一个单元,负责在局域网内部的点到点的寻址。 |
物理层 |
在媒体上传输比特 |
就是底层的链路介质的规范。 |
OSI 7层模型功能职责
1、应用层
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。 它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。
此外,该层还负责协调各个应用程序间的工作。 应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。
上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。
应用层的主要功能如下: 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。 实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。
2、表示层
表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。
其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。表示层的具体功能如下:
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,
因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。
3、会话层
会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。
将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。 用户可以按照半双工、单工和全双工的方式建立会话。
当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。
域名(DN)就是一种网络上使用的远程地址例如:www.3721.com就是一个域名。 会话层的具体功能如下: 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。 会话流量控制:提供会话流量控制和交叉会话功能。 寻址:使用远程地址建立会话连接。l 出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。
会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。
4、传输层
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。 而传输层(Transport Layer)是OSI模型的第4层。 因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。 该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。 传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。 该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。 传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。 因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。 综上,传输层的主要功能如下: 传输连接管理:提供建立、维护和拆除传输连接的功能。 传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”的两种服务。 处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。
在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。 监控服务质量。
5、网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。
其主要任务是:
通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。 具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。 一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。例如在广域网之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。
在实现网络层功能时,需要解决的主要问题如下:
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。
由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。
路由算法:当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。
6、数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。
该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,
通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;
同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
7、物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。
物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。
使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
下面贴上网络常用端口与协议
HTTP:80:www服务。 DHCP:服务器端的端口号是67 DHCP:客户机端的端口号是68 POP3:POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。POP3所用的端口号是110。 SMTP: 端口号是25。SMTP真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地。SMTP具有健壮的邮件处理特性,这种特性允许邮件依据一定标 准自动路由,SMTP具有当邮件地址不存在时立即通知用户的能力,并且具有在一定时间内将不可传输的邮件返回发送方的特点。 Telnet:端口号是23。Telnet是一种最老的Internet应用,起源于ARPNET。它的名字是“电信网络协议(Telecommunication Network Protocol)”的缩写。 FTP:FTP使用的端口有20和21。20端口用于数据传输,21端口用于控制信令的传输,控制信息和数据能够同时传输,这是FTP的特殊这处。FTP采用的是TCP连接。 TFTP:端口号69,使用的是UDP的连接。 DNS:53,名称服务 NetBIOS: 137,138,139,其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得 NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。 NNTP 网络新闻传输协议:119 SNMP(简单网络管理协议):161端口 RPC(远程过程调用)服务:135端口 QQ:使用8000(服务端)和4000端口(客户端) 21 端口:21 端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。 23 端口:23 端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序,最初设计被用来方便管理员远程管理计算机,可现在真正将其发挥到极致的是"黑客"! 25 端口:25 端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。 53 端口:53 端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS 服务在NT 系统中使用的最为广泛。 67、68 端口:67、68 端口分别是为Bootp 服务的Bootstrap Protocol Server(引导程序协议服务端)和Bootstrap Protocol Client(引导程序协议客户端)开放的端口。 69 端口:TFTP 是Cisco 公司开发的一个简单文件传输协议,类似于FTP。 79 端口:79 端口是为Finger 服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息。 80 端口:80 端口是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。 99 端口:99 端口是用于一个名为“Metagram Relay”(亚对策延时)的服务,该服务比较少见,一般是用不到的。 109、110 端口:109 端口是为POP2(Post Office Protocol Version2,邮局协议2)服务开放的,110 端口是为POP3(邮件协议3)服务开放的,POP2、POP3 都是主要用于接收邮件的。 111 端口:111 端口是SUN 公司的RPC(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC 在多种网络服务中都是很重要的组件。 113 端口:113 端口主要用于Windows 的“Authentication Service”(验证服务)。 119 端口:119 端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)开放的。 135 端口:135 端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。 137 端口:137 端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)。 139 端口:139 端口是为“NetBIOS Session Service”提供的,主要用于提供Windows 文件和打印机共享以及Unix 中的Samba 服务。 143 端口:143 端口主要是用于“Internet Message Access Protocol”v2(Internet 消息访问协议,简称IMAP)。 161 端口:161 端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP)。 443 端口:443 端口即网页浏览端口,主要是用于HTTPS 服务,是提供加密和通过安全端口传输的另一种HTTP。 554 端口:554 端口默认情况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP)。 1024 端口:1024 端口一般不固定分配给某个服务,在英文中的解释是“Reserved”(保留)。 1080 端口:1080 端口是Socks 代理服务使用的端口,大家平时上网使用的WWW 服务使用的是HTTP 协议的代理服务。 1755 端口:1755 端口默认情况下用于“Microsoft Media Server”(微软媒体服务器,简称MMS)。 3389端口:远程桌面 。