五层模型主要是结合了osi的七层和tcp/ip的四层得出,主要是物理层、数据链路层、网络层、传输层、应用层五层,下层向上层提供服务,上层向下层提供接口。作为一个iOS开发者接触比较多的就是上面两层,所以本文也主要介绍上面两层。
传输单位
先讲一讲各层的传输单位,应用层是报文(message),报文在发送之前一般会划分成为等长的数据段,在每段前面加上一些必要的控制信息组成的首部后,就构成了一个分组(packet),也叫做包,首部也可叫包头。无论在哪一层传送的数据单元,习惯上都可以笼统地用分组来表示。
传输层主要使用TCP和UDP,如果使用TCP的话,单位是报文段(segment),UDP的单位是用户数据报。在发送数据时,网络层把传输层产生的报文段或者用户数据报封装成分组或包进行传送,由于网络层使用IP协议,分组也叫做IP数据报,简称数据报。 数据链路层将网络层交下来的IP数据报组装成帧(framing),物理层单位是比特,就是0和1。