1 网络模型介绍
OSI(open system interconnection)开放系统互联模型是由ISO(InternationalOrganization for Standardization)国际标准化组织定义的网络分层模型,共七层。TCP/IP网络协议栈分为:应用层(Application)、传输层(Transport)、网络层(Network)、链路层(Link)和物理层(Physical)。如下图所示。两者的对应关系如下图所示。
OSI参考模型与TCP/IP五层模型对应关系
物理层就是传输介质,如网卡,网线等。数据链路层前文介绍的MAC层,主要提供可靠的数据传输服务,实现无差错数据传输。网络层负责将各个子网之间的数据进行路由选择,分组与重组,如IP、ICMP(ping命令的协议)、IGMP都属于这层的定义的规范。传输层提供可靠的数据传输服务,这层就出现了本文要重点介绍的UDP(User Datagram Protocol)和TCP(Transmission Control Protocol))两种方式。应用层就是我们的应用代码了,如http协议等。以太网数据在传输时每层都会在payload前加上自己的tag,五层协议(传输层为TCP)对应的数据包结构如下所示。