OSI,TCP/IP

OSI七层模型

TCP/IP

应用层:

我们常见的应用就是在应用层,应用层也有应用层协议,如HTTP、DNS、FTP、Telent、SMTP等

应用层不关注数据如何传输,直接把数据的传输交给下一层,即交给传输层,应用层工作于用户态,传输层及以下工作于内核态

为计算机用户服务。应用层工作都是用户态,而传输层及以下的工作则涉及到了内核态

传输层:

为应用层提供网络通信支持,但不涉及网络传输,分为 TCP 和 UDP 两个协议

应用层会把数据包传输给传输层,故传输层是给应用层提高网络支持的,注意不是支持两台设备之间的网络传输。两个重要协议,TCP(传输通知协议),UDP(基于报文传输协议)。因为应用层传过来的数据可能比较大,如果直接传不太好,如果超过MSS(TCP最大报文段长度)就会进行分段。TCP段里包含端口,用于标明传输给应用层哪个应用,接受方的端口是我们指定的,而客户端是随机分配的

网络层:

负责网络包的封装、分片、路由、转发,如IP、ICMP

负责两设备之间的网络传输。最常用的协议就是IP协议,负责寻址,告诉数据包应该往哪里走,而

网络接口层:

负责网络包在物理网络中的传输,比如网络包的封帧、MAC寻址、差错检验等

真正的物理层次传输数据

为网络层提供[链路级别]的传输,负责在WIFI,以太网这样的底层网络上发送原始数据包。

MAC地址为在以太网中寻址提供基础

每层对数据的封装

为什么要分层

  1. 各层相互独立,只关心本层的问题,比如 我们的MVC三层架构
  2. 高内聚低耦合
  3. 功能分解,大问题化为小问题