关于如何理解TCP/IP协议栈的工作模式

简介

TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层。每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。
关于如何理解TCP/IP协议栈的工作模式

关于如何理解TCP/IP协议栈的工作模式

更好的理解

为了实现跨越互联网的主机A上的进程P1和主机D的进程P2之间的通信,我们逐层把这个任务交给TCP/IP协议栈。
应用层:我需要发送数据到其他的机器的进程之上;
传输层:如果有人能帮我把数据从某个网络中的机器A搬到另一个机器上的机器D,我就可以搞定这个任务,因为我知道不同的数据应该交给机器上的哪一个进程;
网络层:如果有人能帮我把数据从局域网中直接相连的一台机器搬到另一台机器我就可以完成把数据从一个网络搬运到另一个网络,因为我知道路该怎么走,要经过哪些节点,我可以选择出最佳的路径;
数据链路层:我就可以在局域网中搬运数据,还能保证数据收发的正确性和一致性。那我开始干活了,大家都开始吧。
关于如何理解TCP/IP协议栈的工作模式

形象化理解

更加形象化的理解可以把四层结构看做一个货物运输的系统。
数据链路层:铁轨,路基,桥梁。
网络层:火车,调度系统。
传输层:铁路运输公司。
应用层:物流公司,快递公司。

一个具体的过程就是,物流公司或者快递公司收到用户的订单,接着就把货物交给铁路运输公司,铁路运输公司把货物按照要求打包,注明目的地,就把它交给了火车调度系统,火车调度系统就寻找最优的路径(路由查找算法),并把他们装车准备出发。然后火车就通过铁轨路基桥梁等一系列的基础设施(硬件设备)到达所要到达的目的地。在这期间,有可能货物经过多个中转站(路由器,交换机)。