一、OSI 参考模型介绍
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考 模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 7 层。每一层都有相关、 相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七 层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮 助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区 分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。它的最大优点是将 服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能, 接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有 很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服 务并且不改变相邻层的接口就可以了。网络七层的划分也是为了使网络的不同功能模块(不 同层次)分担起不同的职责,从而带来如下好处:
● 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错;
● 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则 相对独立,一种高层协议可放在多种低层协议上运行;
● 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手 术;
● 便于研究和教学。
OSI 分层 (7 层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP 分层(4 层):网络接口层、 网际层、运输层、 应用层。
五层协议 (5 层):物理层、数据链路层、网络层、运输层、 应用层。
每一层的协议如下:
- 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)
- 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
- 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
- 传输层:TCP、UDP、SPX
- 会话层:NFS、SQL、NETBIOS、RPC
- 表示层:JPEG、MPEG、ASII
- 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一层的作用如下:
- 物理层:通过媒介传输比特,确定机械及电气规范(比特 Bit)
- 数据链路层:将比特组装成帧和点到点的传递(帧 Frame)
- 网络层:负责数据包从源到宿的传递和网际互连(包 PackeT)
- 传输层:提供端到端的可靠报文传递和错误恢复(段 Segment)
- 会话层:建立、管理和终止会话(会话协议数据单元 SPDU)
- 表示层:对数据进行翻译、加密和压缩(表示协议数据单元 PPDU)
- 应用层:允许访问OSI环境的手段(应用协议数据单元)
二、TCP/IP四层协议
2.1 网络接口层
这是 TCP/IP 软件的最低层,负责接收 IP 数据报并通过网络发送之,或者从网络上接收 物理帧,抽出 IP 数据报,交给 IP 层。实际上 TCP/IP 参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递 IP 分组。由于这一 层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。
2.2 网际层
**网际层是整个 TCP/IP 协议栈的核心。它的功能是把分组发往目标网络或主机。**同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。 网络互连层定义了分组格式和协议,即 IP 协议(Internet Protocol)。 网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连 的任务。除此之外,网络互连层还需要完成拥塞控制的功能。 负责相邻计算机之间的通信。其功能包括三方面。
- 一、处理来自传输层的分组发送请求,收到请求后,将分组装入 IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
- 二、处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
- 三、处理路径、流控、拥塞等问题。
2.3 传输层
提供应用程序间的通信。其功能包括:**一、格式化信息流;二、提供可靠传输。**为实现 后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。在 TCP/IP 模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层 定义了两种服务质量不同的协议。即:传输控制协议 TCP(transmission control protocol)和 用户数据报协议 UDP(user datagram protocol)。
TCP 协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。 在接收端,它负责把收到的报文进行重组后递交给上层。TCP 协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。
UDP 协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。
2.4 应用层
TCP/IP 模型将 OSI 参考模型中的会话层和表示层的功能合并到应用层实现。 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登 录 TELNET 使用 TELNET 协议提供在网络其它主机上注册的接口。TELNET 会话提供了基于字 符的虚拟终端。文件传输访问 FTP 使用 FTP 协议来提供网络内机器间的文件拷贝功能。应用 层面向不同的网络应用引入了不同的应用层协议。
其中,有基于 TCP 协议的,如文件传输协 议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP)。
也有基于 UDP 协议的。
1、基于TCP的应用层协议有:HTTP、FTP、SMTP、TELNET、SSH
协议 | 全称 | 默认端口 |
HTTP | HyperText Transfer Protocol(超文本传输协议) | 80 |
FTP | File Transfer Protocol (文件传输协议) | 20用于传输数据,21用于传输控制信息 |
SMTP | Simple Mail Transfer Protocol (简单邮件传输协议) | 25 |
TELNET | Teletype over the Network (网络电传) | 23 |
SSH | Secure Shell | 22 |
2、基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)、SNMP:简单网络管理协议
协议 | 全称 | 默认端口 |
DNS | Domain Name Service (域名服务) | 53 |
TFTP | Trivial File Transfer Protocol (简单文件传输协议) | 69 |
SNMP | Simple Network Management Protocol (简单网络管理协议) | 通过UDP端口161接收,只有Trap信息采用UDP端口162。 |
NTP | Network Time Protocol (网络时间协议) | 123 |
三、OSI七层模型和 TCP/IP 四层协议异同点
区别:
1、网际协议的支持情况不同,TCP/IP 一开始就考虑到多种异构网的互连问题,并将网际协 议 IP 作为 TCP/IP 的重要组成部分。ISO 和 CCITT 最初只考虑到全世界都使用一种统一的标准 公用数据网将各种不同的系统互连在一起。
2、无线连接服务的支持标准不同,TCP/IP 一开始就对面对连接服务和无连接服务并重,而 OSI 在开始的时只强调面向连接这一种服务。一直到很晚 OSI 才开始制定另一种无连接服务 的有关标准。
3、网络管理能力不同,TCP/IP 较早就有很好的网络管理功能,而 OSI 到后来才考虑这个问 题。TCP/IP 的不足 : TCP/IP 模型对“服务”,“协议”和“接口”等概念没有很清楚的区分 开,TCP/IP 模型的通用性较差。
相同:
1、都是采用协议分层的方法,将庞大且复杂的问题划分为若干个较为容易处理的范围较小 的问题
2、各协议层次的功能大体上相似,都存在网络层,传输层和应用层。网络层实现点到点通信,并完成路由选择,流浪控制和拥赛控制功能;传输层实现端到端通信,将高层的用户应 用与低层的通信子网隔离开来,并保证数据传输的最终可靠性。
3、两者都可以解决异构网的互连,实现世界上不同厂家生产的计算机之间的通信。
4、都是计算机通信的国际标准,OSI 原则上是国际通用,TCP/IP 是当前工业界使用最多的。