TCP/IP 4 层协议

TCP/IP 4 层协议分层_后端

应用层

应用层是最上层的,我们能直接接触到的层,我们日常所使用的软件都是在应用层上实现的。

应用层不关心数据是如何传输的,就和我们寄快递的时候只需要把包裹交给快递员,我们不关心包裹是如何运输的。

应用层的协议包括: HTTP、FTP、Telnet、DNS、SMTP等。

传输层

传输层是为应用层提供网络支持的,在传输层有两个传输协议,分别是TCP和UDP。

TCP(Transmission Control Protocol)

TCP的全称是传输控制协议,大部分应用传输层协议使用的都是TCP,TCP为了保证数据能够可靠的传输到目的地,有流量控制、超时重传、拥塞控制等特性。

UDP(User Datagram Protocol)

UDP全称是用户报文协议,UDP相对TCP来说就很简单,只负责发送数据包,至于数据包能否正常抵达目的地,UDP不能保证;但是换一个角度来说,UDP少干了这么多,那他的实时性相对TCP来说更好,传输效率也更高。

通常来说一台设备上会运行多个应用进程,为了区分数据要发送的具体进程,传输层中需要指定端口号来区分不同的进程和应用。

网络层

负责将数据从一个设备发送到另一个设备的并不是传输层,传输层设计的理念是,简单、高效、专注,实际场景中的网络环节错综复杂,网络层就来是负责数据实际传输。

网络层最常用的是IP协议(Internet Protocol),IP协议会将传输层的报文作为数据部分,再加上IP数据包组装成IP报文。

网络访问层

网络访问层也有一种说法叫做网络接口层,以太网,wifi , 蓝牙工作在这一层,网络访问层提供了主机连接到屋里网络需要的硬件和相关的协议。

分层的好处

各层独立: 限制了依赖关系的范围,各层之间使用标准化的接口,各层不需要知道上下层之间如何工作,增加或者修改一个应用层协议不影响传输层协议。

灵活性更好: 比如路由器不需要应用层和传输层,分层之后路由器就可以只用加载更少的几个协议层。

易于测试和维护: 提高了可测试性,可以独立的测试特定层,某一层有了更好的方案可以整体替换。

能够处境标准化: 每一层职责清晰,方便进行标准化。