1. 网络接口层(链路层): 又称网络访问层,负责向网络物理介质发送数据包,从网络物理介质接受数据包。
2. 网络层: 又称互联网层或IP层,负责处理IP数据包的传输、路由选择、流量控制和拥塞控制。包含协议有:地址解析协议(ARP,根据IP地址获取物理地址)和反向地址解析协议(RARP,根据物理地址获取查找IP地址);IP协议是网络层的核心协议;控制报文协议(IGMP),主机和网关进行差错报告、控制和进行请求/应答的协议;管理协议(IGMP),用于实现组播中的组成员管理。
3. 传输层: 为两台主机上的应用程序提供端到端的通信。包含协议有:传输控制协议(TCP,面向连接的、可靠的、字节流的传输服务)和用户数据报协议(UDP,无连接的、不可靠的、高效的、数据报传输服务)。
4. 应用层: 为用户提供一些常用的应用程序。包含协议有:文件传述协议FTP、简单邮件传输协议SMTP、超文本传输协议HTTP等。
TCP/IP层次结构的必要性: TCP/IP的层次结构,使一个复杂的通信系统具备层次化,更利于理解分析、排查故障、维护更新和统一标准化。
当应用层程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要加上一些首部信息(甚至还有尾部),如下: 封装相当于,发送端主机将需要发送的数据加密成能在以太网中传输的数据帧。
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由低向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程叫做分用。 分用相当于,目的主机解析收到的数据帧,提取其中有用的信息。