一、OSI参考模型
一、OSI参考模型
OSI(Open System Interconnect),即开放式系统互连。 一般都叫OSI参考模型,是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型。
OSI参考模型也采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。从概念上来讲,每一层都与一个远方对等层通信,但实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。因此,对等层之间的通信称为虚拟通信。
OSI七层模型的分层结构
OSI划分的七个层次由高到低依次为:Application(应用层)、Presentation(表示层)、Session(会话层)、Transport(传输层)、Network(网络层)、DataLink(数据链路层)和Physical(物理层)。
1、应用层
应用层是网络服务与最终用户的一个接口,是OSI模型中的最高层,是直接面向用户的一层。应用层是人机交互的窗口,通过应用层把人的语言输入到计算机当中去,为网络用户之间的通信提供专用的程序服务。
2、表示层
表示层为在应用过程之间传送的信息提供表示方法的服务。负责将接收到的数据翻译成二进制数组成的计算机语言,主要通过数据格式变化、数据加密与解密、数据压缩与解压等。表示层提供的数据加密服务是重要的网络安全要素,其确保了数据的安全传输,也是各种安全服务最为重视的关键。
3、会话层
会话层用于建立、管理、中止会话。会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。会话层还可以通过对话控制来决定使用何种通信方式,全双工通信或半双工通信。
4、传输层
传输层是计算机通信体系结构中关键一层,传输层定义了传输数据的协议端口号,以及流控和差错校验。将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别。传输层实现了网络中不同主机上的用户进程之间的数据通信,为用户提供了端到端的服务。传输层起到了承上启下的作用,承接上层软件应用,下启网络数据传输。
5、网络层
网络层是以路由器为最高节点俯瞰网络的关键层,它负责将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输。网络层进行逻辑地址寻址,实现不同网络之间的路径选择。传输层为端到端通信,而网络层以下为点对点通信。
6、数据链路层
数据链路层是在通信实体间建立数据链路联接,传输的基本单位为“帧”,并为网络层提供差错控制和流量控制服务。将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路; 当发现数据错误时,可以重传数据帧。数据链路控制子层会接受网络协议数据、分组的数据报并且添加更多的控制信息,从而把这个分组传送到它的目标设备。
7、物理层
物理层的主要功能是利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作。物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征。物理层连接报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
二、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的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了五个层次。应用层、表示层、会话层三个层次提供的服务相差不是很大,所以在TCP/IP协议中,它们被合并为应用层一个层次。由于传输层和网络层在网络协议中的地位十分重要,所以在TCP/IP协议中它们被作为独立的两个层次。
三、OSI模型 VS TCP/IP模型
OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。在层次结构上,两者都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。
1、OSI模型的优点
分工合作,责任明确
性质相似的工作划分在同一层,性质相异的工作则划分到不同层。如此一来,每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手;
对等交谈
对等是指所处的层级相同,对等交谈意指同一层找同一层谈;
逐层处理,层层负责
既然层次分得很清楚,处理事情时当然应该按部就班,逐层处理,决不允许越过上一层,或是越过下一层。任何一层收到数据时,都可以相信上一层或下一层已经做完它们该做的事,层级的多少还要考虑效率与实际操作的难易,并非层数越多越好。
2、TCP/IP模型的优点
协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统;
独立于网络硬件系统,可以运行在广域网,更适合于互联网;
网络地址统一分配,网络中每一设备和终端都具有一个唯一地址;
高层协议标准化,可以提供多种多样可靠网络服务。
四、TCP/IP协议栈各层的主要协议
TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等;物理层主要协议有TCP,UDP,SPX等。
TCP (传输控制协议):协议应用的端口及其协议功能----传输更加稳定可靠
80 HTTP (超文本传输协议):用于浏览器和web服务器之间的请求和响应的交互
21 FTP (文件传输协议):用于控制连接FTP服务器
53 DNS (域名系统):用于连接DNS服务器
25 SMTP (简单邮件传输协议):用于发送邮件
110 POP3 (邮局协议版本3):用于接收邮件
22 SSH (安全外壳协议):用于计算机之间的远程加密登录
UDP (用户数据报协议):协议应用的端口及其协议功能----传输效率更高
69 TFTP (简单文件传输协议):用于小文件的传输
53 DNS (域名系统):用于解析DNS
111 RPC (远程调用协议):用于远程过程调用
161 SNMP (简单网络管理协议):用于网络设备的管理
123 NTP (网络时间协议):用于网络时间同步
IP (网际协议):协议及其功能
ARP (地址解析协议):用于在局域网中根据IP地址获取物理地址
RARP (逆地址解析协议):用于在局域网中通过ARP表根据物理地址请求IP地址
ICMP (网际控制报文协议):用于验证网络是否畅通
IGMP (网际组管理协议):用于主机与组播路由器之间组播通信
五、数据在TCP/IP协议栈中的封装与解封装
1、TCP/IP封装过程
当软件进程的数据送到应用层时,应用层为数据加上本层的控制报头后,将其组织成应用层的数据服务单元,然后向下传输到传输层;
传输层收到数据后,加上本层的TCP头部构成数据段,传输层将数据段送到网络层;
网络层将收到的数据段加上IP头部,构成数据包,再将数据包送到数据链路层;
数据链路层收到数据包,加上MAC头部信息,构成数据链路层的数据帧,送至物理层;
物理层将以比特流的方式通过传输介质传输出去。
2、TCP/IP解封装过程
当物理层传输的比特流到达目的节点时,从物理层依次上传,先由物理层传输到数据链路层;
数据链路层收到数据服务单元后,拆掉MAC头部,就是所谓的报头,上传至网络层;
网络层收到后将数据服务单元的IP头部脱掉,上传至传输层;
传输层再将数据拆掉TCP头部后传输至应用层,再恢复为原有数据。
六、各层的设备对应关系
1.物理层(Physical Layer):
中继器(repeater)
双绞线(RJ-45接口网线)的理论最大传输距离是100M,超过100M信号会衰减,这时候就要用到中继器,它能起到放大信号延长传输距离的作用。
集线器(hub)
集线器相当于一个多端口的中继器,也能起到放大信号的作用,并且集线器是属于半双工模式的。
2.数据链路层(Data Link Layer)
网卡(NIC Network Interface Card)
也叫网络适配器,在生产时将一个唯一的网络节点地址(MAC地址)烧录到了它的ROM中。MAC地址占用48位,前24位代表厂商,后24位为设备号。MAC地址可以通过一些软件设备来更改,但是更改的仅仅是显示,ROM中的MAC地址除非重新烧录否则无法更改。Windows系统在CMD中输入"ipconfig /all"来查看网卡的MAC地址;Linux系统可以在终端中输入"ifconfig"来查看;
网桥(Bridge)
网桥可以将两个局域网(LAN)连接并按照MAC地址转发数据帧,就好像他们是一个LAN一样,现在网桥大多应用于软件。
交换机(Switch)
可以将交换机简单的看做多端口的网桥,因为它也根据收到的数据帧的源地址进行学习,也根据MAC地址表中的目的地址进行转发。
交换机可以划分为下面三类:
传统交换机:属于链路层,一个广播域,每个接口是一个冲突域;
VLAN交换机:属于链路层,可网管型,可以划分多个VLAN,每个VLAN是一个广播域,每个接口是一个冲突域,并且可以配置IP地址;
三层交换机:比VLAN型交换机多了路由功能,可以理解成交换机+路由器,属于OSI模型网络层;
3.网络层(Network):
路由器和三层交换机都属于网络层设备,它们是应用于不同网段间的设备;路由器的每个端口属于一个单独的广播域,也是一个单独的冲突域。
4.传输层(Transport Layer):
传输层实现了用户进程间端到端的通信(End-to-End),传输层相关的协议有TCP、UDP等。我们会经常看到这两个协议名称出现在Windows CMD的"netstat -ano"这条命令的显示里,Linux下可以在终端中输入"netstat -nautp"来查看这些端口。
5.应用层(Application Layer):
应用层主要是计算机以及软件APP等用户软件。
ndows CMD的"netstat -ano"这条命令的显示里,Linux下可以在终端中输入"netstat -nautp"来查看这些端口。
5.应用层(Application Layer):
应用层主要是计算机以及软件APP等用户软件。
更多推荐
所有评论(0)