跳到主要内容

五层协议模型

2024年11月08日
柏拉文
越努力,越幸运

一、认识


二、层级


层级五层协议模型功能协议
5应用层 (Application Layer)任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。HTTP 协议、FTP 协议、DNS 协议、WebScoket协议
4传输层 (Transport Layer)主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。传输控制协议 TCP 、用户数据协议 UDP
3网络层 (Network Layer)负责寻址和路由功能,将数据包发送到特定的计算机 负责为分组交换网上的不同主机提供通信服务。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称 数据报。IP协议
2数据链路层 (Data Link Layer)负责将二进制数据包和网络信号相互转换 两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装程帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)
1物理层 (Physical Layer)实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 使其上面的数据链路层不必考虑网络的具体传输介质是什么。接收器、发送器、中继器、光纤电缆

三、应用


3.1 一个完整http请求在五层模型中的完整工作流程

Preview
  • 主机A发起请求,数据发送前会被分为许多片段,称为数据包,然后使用http协议将数据包封装,并加上请求头,传给下一层
  • 传输层拿到数据,为每个数据包分配一个端口号,用来确定目标计算机的哪一个应用程序,然后使用TCP协议进行处理,加上TCP头或UDP头,通过TCP协议传给下一层
  • 网络层拿到数据后为每个数据包添加目标计算机的IP地址,并决定传给什么路由或接收的主机,再封装传给下一层
  • 链路层将数据转译成电子信号,进一步封装成数据帧,传给物理层
  • 物理层通过电缆传送给主机B这边的链路层
  • 主机B的链路层拿到数据后,检查每个包中的目标地址并确定将其发送到哪里,如果不是发给自己的就丢弃,然后根据数据确定协议类型,再传给网络层的IP协议模块
  • 网络层接收到后拆开获取IP头,判断首部接收的IP地址匹配,然后根据头部协议类型,转发TCP或UDP等
  • 传输层TCP收到后会计算校验,判断数据的完整性,然后处理数据包顺序接收的逻辑,最后根据端口确定要转发给应用层的哪个程序

最终应用层接到数据之后,根据http协议解析数据