应用层

应用层关注的是通信的目的,定义了要做什么以及内容的格式。

传输层

负责数据在两个端点之间可靠、有序地传播,TCP、UDP等传输层协议就是在这层实现的。 也就是说,端到端的数据传输如何进行,由这一层负责。

网络层

负责在复杂的网络中规划处一条从起点到终点的“路径”,IP地址就在这一层。 路由系统会完成路径规划,这个规划和中转的过程就是路由(Routine)。

链路层

负责在相邻的两个网络设备之间进行一次具体的、物理的传输。 在一个共享的物理介质(比如网线、WIFI)上,使用物理地址(也就是MAC地址)来传输数据帧。

地址和对应的层

了解了每层的具体功能后,记住地址和层的对应关系就变得简单了。

链路层 - MAC地址

网络层 - IP地址

传输层 - 端口号

将IP和Port分开,放在不同的层里,是TCP/IP协议栈设计中最基本也是最精妙的决策之一。 这样做的根本原因是因为它们解决的是两个不同维度的问题。