yuanyuan首先,OSI七层为:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
首先是物理层,物理层传输的都是01的比特流,但是这里并不是直接点到点的直线传输,而是通过一些拓扑结构来进行传输,所以这个时候就需要集线器和中继器来实现这些拓扑结构。
之后是数据链路层,有了数据比特流之后,要将数据传输到目的,这个时候就需要数据链路层封装成帧,也就是在外面加上一个MAC地址,MAC地址一个设备是全球唯一的,这个时候会使用到交换机,而传输的过程中很有可能会把0变成1,1变成0,所以在这个地方还需要流量控制和差错检测。
然后是网络层,如果有两台设备是同一个厂商的,这样的话很可能他们的MAC地址相差不大,这个时候,如果他们两个相隔很远,通过MAC地址来进行点到点的传输就有些不合时宜,所以就需要网络层,再帧的外围包装IP地址,以包的数据单位来进行传输,这里网络层主要负责的就是路由选择,这层是需要路由器的。
之后是传输层,传输层主要负责确定应用程序,通过IP地址+端口号确定,服务进程到服务进程的传输,有可靠传输和不可靠传输,流量控制和错误控制。
会话层的话主要负责会话的建立和释放,同时还负责数据的同步,比如我们在看电影或者看别的东西的时候,这个时候如果网络突然断了,下次在打开的时候就可以同步到上次的进度。
表示层是负责数据的加密、解密(如HTTPS)以及数据的压缩和解压缩。
应用层的话就是提供各种服务。
总结:
一个源主机到目的主机的传输过程就是:首先报文需要加上源端口和目标端口封装成段,之后要加上IP地址封装成包,然后要经过默认网关,但是最初并不知道默认网关的MAC地址,这样就无法封装成帧,这个时候就会先通过ARP协议找到对应的MAC地址。ARP协议的步骤就是通过交换机,交换机只要记录不同接口的MAC地址和IP地址就好了,交换机接收到广播之后,就可以帮忙发出去,默认网管收到后发现是自己的就会将自己的IP地址和MAC地址发给交换机,交换机知道后就将这个返回给源,这样就得到了默认网关的MAC地址,之后也可以封装成帧