【计算机⽹络】OSI参考模型与TCPIP分层模型对⽐(体系结构对⽐)
#笔记整理
协议
简单来说,协议就是计算机与计算机之间通过⽹络实现通信时事先达成的⼀种“约定“。这种约定使得那些由不同⼚商的设备、不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。就好⽐两个⼈使⽤不同国家的语⾔就⾏对话,是⽆法相互理解的。因此两台计算机之间必须能够⽀持相同的协议,并遵循相同协议进⾏处理,才能实现相互通信。
OSI参考模型
在协议的标准化上,ISO(international organization for standards)国际标准化组织制定了⼀个国际标准:
OSI(open systems interconnection)开放式通信系统互联参考模型。
OSI的七层协议模型的概念清楚,理论也较为完整,但它即复杂⼜不实⽤。
⽽TCP/IP分层模型则不同,它得到了⾮常⼴泛的应⽤。
TCP/IP 模型
TCP/IP 是⼀个四层的模型,在学习计算机⽹路的原理时往往采取折中的⽅法,即综合 OSI 和 TCP/IP 的优点,采⽤⼀种只有五层的体系结构模型。
不过,五层模型只是为了介绍⽹络原理⽽设计的,实际应⽤还是 TCP/IP 四层模型。
tcpip路由协议
(有些资料也将模型称为体系结构,即OSI 体系结构和TCP/IP 体系结构)
另外,有时也称 TCP/IP 为⽹际协议族(internet Protocol suite)
OSI模型与TCP/IP对⽐图:
(五层模型只是为了介绍⽹络原理⽽设计的,实际应⽤还是 TCP/IP 四层模型)
OSI模型每个分层的作⽤:
应⽤层:为应⽤程序提供服务并规定应⽤程序通信相关的细节。
表⽰层:将各种数据转换成⽹络标准传输格式,如使⽤何种编码格式。
会话层:负责决定建⽴和断开连接(数据流动的逻辑链路)的时机、采⽤何种连接⽅法,以及数据的分割等数据传输相关的管理(实际的建⽴、断开连接的处理有传输层负责)。
传输层:保证传输的可靠性。只在通信双⽅节点上进⾏操作,不在路由器上进⾏操作。
⽹络层:将数据传输到⽬标地址。主要负责寻址和路由选择。负责将数据发送⾄最终⽬标地址。
数据链路层:负责物理层⾯上互连的、节点之间的通信传输。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的⽣成与接收)。添加包含MAC地址的头部。负责每⼀个以太⽹区间内的通信。
FCS(Frame Check Sequence)由数据链路层⽣成,⼀般是循环冗余校验(CRC)
物理层:负责0、1⽐特流与电压⾼低、光的闪灭之间的转换。
OSI协议分层的优点:
如同计算机软件中的模块化开发,分层可以将每个分层独⽴使⽤,即使系统中某些分层发⽣变化,也不会波及整个系统。具有较好的扩展性和灵活性。
此外,通过分层能够细分通信功能,更易于单独实现每个分层的协议,并界定各个分层的具体责任和义务。
OSI协议分层的缺点:
过分的模块化,使处理变得更加沉重以及每个模块都不得不实现相似的处理逻辑等问题。
TCP/IP模型各分层作⽤:
硬件(物理层)
TCP/IP的最底层,由负责数据传输的硬件组成。
⽹络接⼝层(数据链路层)
利⽤以太⽹中的数据链路层进⾏通信。
FCS(Frame Check Sequence)由数据链路层⽣成,⼀般是循环冗余校验(CRC)。设置FCS的⽬的是为了判断数据包是否由于噪声⽽被破坏。
互联⽹层(⽹络层)
该层使⽤IP协议,相当于OSI模型中的第3层⽹络层。
相关协议介绍:
IP
基于IP地址转发分包数据。使⽤IP地址作为主机的标识,可以跨越⽹络发送数据包,使整个互联⽹都能收到数据的协议。
IP是分组交换的⼀种协议,但是它不具有重发机制。因此,属于⾮可靠性传输协议。
ICMP
IP数据包在发送途中⼀旦发⽣异常导致⽆法到达对端⽬标地址时,需要给发送端发送⼀个异常通知。ICMP就是为这⼀功能制定的。它有时也⽤来诊断⽹络的健康状况。
ARP
从分组数据包的IP地址中解析出物理地址(MAC地址)的⼀种协议。
传输层
和OSI模型的传输层类似,主要功能是让应⽤程序之间实现通信。使⽤端⼝识别应⽤程序。
相关协议介绍:
TCP
⼀种⾯向有连接的传输层协议。可以保证两端通信主机之间的通信可达。
可以处理在传输过程中的丢包、传输顺序乱掉等异常情况。此外还能有效利⽤带宽,缓解⽹络拥堵。
为了建⽴与断开连接,需要⾄少7次的发包收包,导致⽹络流量浪费。此外,为了提⾼⽹络的利⽤率,该协议还定义了各种各样复杂的规范,因此不利于视频会议等场合使⽤。
UDP
⼀种⾯向⽆连接的传输层协议。不关⼼对端是否收到了数据,若需要检查对端是否收到,需要在应⽤程序中实现。
常⽤于分组数据较少或多播、⼴播通信以及视频通信等多媒体领域。
应⽤层
对应于OSI模型中的会话层、表⽰层、应⽤层合⼀。
相关协议介绍:
HTTP
浏览器与服务端之间的通信所⽤的协议,属于OSI应⽤层协议。
HTML属于表⽰层协议。
SMTP(Simple Mail Tranfer Protocol)
发送邮件使⽤的协议
MIME
扩展之后⽤于规定电⼦邮件的格式,属于表⽰层协议。
FTP(File Transfer Protocol)
⽂件传输协议,进⾏⽂件传输时会建⽴两个TCP连接,分别是发出传输请求时所要⽤到的控制连接与实际传输数据时所要⽤到的数据连接。(会话层负责控制管理这两个连接)
TELNET & SSH (Teletypewriter Network & Secure Shell)
远程登陆协议
SNMP (Simple Network Management Protocol)
⽹络管理协议,使⽤SNMP管理的主机、⽹桥、路由器等称作SNMP代理(agent),⽽进⾏管理的那⼀端叫做管理器(Manager)。
SNMP正是这个Manager与Agent所要⽤到的协议。
在SNMP的代理端,保存着⽹络接⼝的信息、通信数据量、异常数据量以及设备温度等信息。这些信息可以通过MIB (Management Information Base)访问。因此,SNMP属于应⽤协议,MIB属于表⽰层协议。
如有错误,欢迎指正! ?
——————————————————————