一个协议层能够用软件、硬件或两者的结合来实现。诸如HTTP和SMTP这样的应用层协议几乎总是在端系统中用软件实现的,运输层协议也是如此。因为物理层和数据链路层负责处理跨越特定链路的通信,它们通常是实现在与给定链路相联系的网络接口卡(以太网或者wifi接口中)。网络层经常是硬件和软件实现的混合体。
各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。采用自顶向下方法,首先处理应用层,然后向下进行处理。
(1)应用层
应用层是网络应用程序以及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如HTTP(提供web文档的请求和传送)、SMTP(提供电子邮件报文的传输)、FTP(提供两个端系统之间的文件传送)。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组,我们把这种位于应用层的信息分组称为报文。
(2)运输层(传输层)
因特网的传输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能传输应用层报文。TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无链接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞机制。(例如网络直播等采用UDP协议)。我们把传输层分组成为报文段。
(3)网络层