对于网络协议来说,往往分成几个层次进行定义。那么我们为什么要分层呢?其实这是大学中计算机课程里都会学到的问题,但对于那些计算机小白来说可能就不是很清楚。因为是基本知识,小编还是觉得每个人都应该知道一点,下面就让小编来给大家介绍一下吧~
分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。 在代码中,类似于定义好一个接口,一方为接口的提供方;一方为接口的使用方。
对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可;对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
传输层:负责两台主机之间的数据传输。如传输控制协议 ,能够确保数据可靠的从源主机发 送到目标主机。
应用层:负责应用程序间沟通,如简单电子邮件传输、文件传输协议、网络远 程访问协议等。我们的网络编程主要就是针对应用层。
网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表 的方式规划出两台主机之间的数据传输的线路。
数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步、冲突检测、数据差错校验等工 作。有以太网、令牌环网,无线LAN等标准。交换机工作在数据链路层。
物理层:负责光/电信号的传递方式。比如现在以太网通用的网线、早期以太网采用的的 同轴电缆、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。 物理层的能力决定了最大传输速率、传输距离、抗干扰性等。
好啦!今天小编的分享就到这啦!小伙伴们如还有疑问,欢迎在评论区留言,我们下期再见~