网络分层体系简介
不知道大家是否对网络分层感到疑惑,每层的作用是什么。这里简单聊下我对分层的理解。
物理层
物理层的作用可以理解为如何在特定链路上传输电信号,如双绞线,光纤等。
数据链路层
在总线型网络拓扑中,如下所示,如果B要发送给C数据,那么A也会收到数据包(电信号会沿着线路传递),A如何知道要拒绝这个数据部包呢。
这里就需要在发送的信号里标识目的地址,也就我们说的MAC地址,A会判断目的MAC地址是否是自己。
网络层
按照上面的总线型拓扑,我们是不是可以把互联网上所有的设备都接到同一个总线上呢?这样做其实有很多问题,
比如A发布一个广播包,那么互联网所有的设备都能收到,带宽根本不可能支持。
所以在现实的网络中,都是一个个小的网络组成的,如下所示:
如果A要发送数据给C,那么电信号不会从路由器的下侧传导到上侧。
现在问题来了,如果A想要发送信息给D怎么办呢?这个就需要网络层协议来解决,如IP协议。
首先A会设置目的IP为D的IP地址,然后将目的MAC地址设置为路由器的MAC地址,对于A来说就完成了。路由器会根据IP地址匹配规则,选择合适的线路转发出去。
传输层
在网络层解决了路径发现的问题,我们还需要解决例如包丢失,包失序,包重发等问题,这个是由传输层解决。TCP协议就是工作在这一层,它可以为上层提供有序,无丢失的包数据,还有流量控制等的管理功能。
会话层
会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。
表示层
用于处理应用层数据的具体编解码工作。它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同,例如IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。
应用层
这个就是具体协议格式,在实际的网络中,都是4层协议,会话,表示,应用层的功能都在应用层实现。