Linux网络基础-七层模型简介
Iso.osi七层模型
ISO:国际标准化组织
OSI:开放系统互联模型
IOS:苹果操作系统
七层模型是iso组织开发。
在计算机网络中,ISO是互联网操作系统,是思科公司为其网络开放的维护系统。
最上面的应用层最贴近用户,下面的物理层最贴近数据传输,下面的物理层是真正的负责数据的传递。如果是发数据,数据是通过接口从上层传输到下层,如果是接数据,数据是从下层传递到上层。但是这个接口是假的,在电脑里找不到这些接口。
为什么要分层表示?分层之后每一层的功能都是确定的,一旦数据出了问题,或者要去设计修改相关的功能软件,只要针对某一层就可以了,分层是便于管理数据的传递。
数据真正的传递方向是从上层传递到下层,之后通过物理层之间的传递,到了另外一段物理层,再从物理层向上传递。
上面三层7,6,5是为用户提供服务的,下面四层4,3,2,1是用来对实际的数据进行传递提供服务的。
物理层数据传输的单位是比特,一个0或者一个1就代表一个比特位。也就是说每一个0,1就是最小的传输单位。在数据链路层传输的单位为帧,帧里面包含了计算机的硬件地址。
使用ipconfig/all
里面物理地址就是计算机的物理地址,这个就是计算机的Mac地址,其实就是计算机网卡的硬件地址,每块网卡都有这个地址。在数据链路层的数据帧里面保存的最主要的信息就是网卡硬件的Mac地址。是用来局域网进行数据通信的。
网络层使用的是报文,报文里面保存的最基本的地址是IP地址,Mac地址负责局域网,也就是内网进行通信的,IP地址是负责公网,也就是外网通信的,IP地址是在网络层,也就是在报文里进行封装的。
一. 整体与局部
信息传递时候,需要知道的其实是两个地址:
终点地址(Final destination address)
下一跳的地址(Next hop address)
IP地址本质上是终点地址,它在跳过路由器(hop)的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。
这就是为什么还要用MAC地址的原因之一,它起到了记录下一跳的信息的作用。
注:一般来说IP地址经过路由器是不变的,不过NAT(Network address translation)例外,这也是有些人反对NAT而支持IPV6的原因之一。
二. 分层实现
如果在IP包头(header)中增加了”下一跳IP地址“这个字段,在逻辑上来说,如果IP地址够用,交换机也支持根据IP地址转发(现在的二层交换机不支持这样做),其实MAC地址并不是必要的。
但用MAC地址和IP地址两个地址,用于分别表示物理地址和逻辑地址是有好处的。这样分层可以使网络层与链路层的协议更灵活地替换。
在传输层使用的是TPDU,TPDU是传输协议数据单元。下面1-4层是负责实际传输,上面三层就不负责实际传输了。
总结:七层协议,上面三层是为用户通过服务的,下面四层是为数据传递提供服务的。物理层负责真正的数据传输,数据发送是从上层往下层发送,接受是从下层往上。