协议分层
为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件,每个协议术语这些层次之一。我们再次关注某层向它的上一次提供的服务(service),即所谓一层的服务模型(service model)。每层通过在该层中执行某些动作或使用直接下层的服务来提供服务
各层的所有协议被称为协议栈(protocol stack)。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层
应用层
网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议:HTTP(提供了Web文档的请求和传送),SMTP(提供了电子邮件报文的传输)和FTP(提供两个端系统之间的文件传送)
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。我们把这种位于应用层的信息分组称为报文(message)
运输层
因特网中的运输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任何一个都能运输应用层报文。我们把运输层分组称为报文段(segment)
网络层
在网络层中的分组被称为数据报(datagram)。在一台源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址,网络层负责将数据报(datagram)从一台主机移动到另一台主机。
网络层包括著名的IP协议。网络层也包括决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地。
链路层
在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个结点,链路层将数据报上传给网络层。由链路层提供的服务取决于应用于该链路的特定链路层协议。在链路层我们将分组称为帧(frame)
物理层
虽然链路层的任务是将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务是将该帧的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的,并且进一步与该链路的实际传输媒体相关。
OSI模型
国际化标准组织(ISO)提出计算机网络应组织为大约7层,称为开放系统互联(OSI)模型:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。
表示层的作用是使通信的应用程序能够解释交换数据的含义。包括数据压缩和数据加密以及数据描述。
会话层提供了数据交换定界和同步功能,包括了建立检查点和恢复方案的方法。
封装
封装(encapsulation),在发送主机端,一个应用层报文被传送到运输层,在最简单的情况下,运输层收取到报文并附上附加信息(运输层首部信息),该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段
运输层报文段因此封装了应用层报文。附加的信息也许包括:允许接收端运输层向上向适当的应用程序交付报文信息;差错检测位信息。
每一层,一个分组具有两种类型的字段;首部字段和有效载荷字段,有效载荷通常是来自上一层的分组。