#笔记整理
协议
简单来说,协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定“。这种约定使得那些由不同厂商的设备、不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。就好比两个人使用不同国家的语言就行对话,是无法相互理解的。因此两台计算机之间必须能够支持相同的协议,并遵循相同协议进行处理,才能实现相互通信。
OSI参考模型
在协议的标准化上,ISO(international organization for standards)国际标准化组织制定了一个国际标准:
OSI(open systems interconnection)开放式通信系统互联参考模型。
OSI的七层协议模型的概念清楚,理论也较为完整,但它即复杂又不实用。
而TCP/IP分层模型则不同,它得到了非常广泛的应用。
TCP/IP 模型
TCP/IP 是一个四层的模型,在学习计算机网路的原理时往往采取折中的方法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层的体系结构模型。
不过,五层模型只是为了介绍网络原理而设计的,实际应用还是 TCP/IP 四层模型。
(有些资料也将模型称为体系结构,即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属于表示层协议。
如有错误,欢迎指正! ?
——————————————————————
内容来源:
1.《计算机网络(第7版)》
2. 《图解TCP/IP》