一、什么是通讯协议?
通讯协议 = 设备之间对话的统一语法、规则、格式(你可以理解通讯协议相当于不同品牌的电脑之间要实现信息的互通,就需要制定一套标准的通讯流程和标准配置规则)
TCP/IP 四层模型是互联网真实运行的协议栈,所有电脑、服务器、物联网设备、大屏后台接口全部使用这套分层。
从上到下顺序:应用层 → 传输层 → 网际层(网络层) → 网络接口层
TCP/IP四层模型属于分层架构模型,通讯协议是跑在这套架构里的一堆协议集合
二、分层逐一详解
应用层
当前的四层模型的应用层是合并了 OSI 应用层 + 表示层 + 会话层(七层模型)
应用层主要分为三类传统互联网通用协议(面向电脑、浏览器、服务器后台、用于网页、接口、与域名、文件传输代表:HTTP/HTTPS、DNS、FTP/SFTP),物联网lot协议(面向低功耗传感器、监测网关、小型采集设备代表:MQTT、CoAP),工业以太网协议(面向 PLC、工控柜、工业采集终端,专门读写硬件寄存器、控制设备启停,满足工业实时采集、设备控制需求代表:Modbus-TCP、OPC UA、Profinet、EtherNet/IP)
传输层
找设备内的程序是传输层必备的基础功能,但不是它最核心的,最独特的作用-实现端到端(进程到进程)的数据通信,极易混淆的概念:网际层(ip)-主机-主机(通过IP地址找到目标电脑);传输层:进程-进程(通过端口号找到电脑上具体运行的软件)
传输层定义两大核心协议:TCP (可靠),UDP(不可靠)
TCP连接生命周期
三次握手:建立连接
客户端主动发起请求,协商通信参数,确认双方收发能力正常;
数据传输:依靠滑动窗口持续通信;
四次挥手:断开连接
通道关闭
网际层
实现跨网络的主机到主机的数据交互
网络接口层
负责同一个局域网内,相邻两台设备之间的数据传输;完成IP数据包和物理信息的转换
场景演示
场景分为两部分:发送方(发送和接收),接收方(发送和接收)
阶段一:客户端发送请求
- 应用层 Git 客户端生成 HTTPS 请求:请求拉取 packline5.0 仓库代码,将原始请求数据向下交给传输层。
- 传输层(TCP) 添加 TCP 头部: 源端口:本机随机临时端口(例如 52130) 目标端口:服务器 443(HTTPS) 组成 TCP 段,下发网际层。
- 网际层(IP 层) 添加 IP 头部: 源 IP:你电脑 IP 目标 IP:仓库服务器公网 IP 生成 IP 数据包,下发网络接口层。
- 网络接口层 增加以太网帧头部(源 MAC:本机网卡 MAC,目标 MAC:网关路由器 MAC),转为电 / WiFi 信号向外传输。
阶段二:服务端接口客户端请求
- 网络接口层 网卡收到二进制信号,拼成以太网帧;剥离帧头,提取内部 IP 数据包,向上传递网际层。
- 网际层 剥离 IP 头部,确认目标 IP 是服务器本机 IP;取出 TCP 报文,向上交付传输层。
- 传输层(TCP) 剥离 TCP 头部,查看目标端口 = 443;操作系统根据端口,把数据向上分发给监听 443 端口的 Git 服务程序。
- 应用层 服务器 Git 服务解析 HTTPS 请求,识别到客户端想要拉取项目代码,准备响应数据
阶段三:服务端发送响应数据
- 应用层 Git 服务封装 HTTPS 响应,携带项目代码二进制数据,下发传输层。
- 传输层(TCP) 添加 TCP 头部(端口互换): 源端口:443 目标端口:客户端随机端口(52130) 生成 TCP 段,下发网际层。
- 网际层(IP 层) 添加 IP 头部(IP 互换): 源 IP:服务器公网 IP 目标 IP:你电脑公网 IP 生成 IP 数据包,下发网络接口层。
- 网络接口层 封装以太网帧,转换成网络信号,经过路由器跨网络转发,发往你的电脑。
阶段四:客户端接收服务器返回的代码数据
- 网络接口层 网卡接收信号,组装以太网帧;剥离帧头部,取出 IP 包,向上交给网际层。
- 网际层 剥离 IP 头部,确认目标 IP 为本机;提取 TCP 报文,向上交给传输层。
- 传输层(TCP) 剥离 TCP 头部,读取目标端口:52130;操作系统找到占用 52130 端口的进程 ——Git 客户端,把数据向上递交。
- 应用层 Git 客户端解析 HTTPS 响应,接收代码文件,写入本地
packline5.0文件夹
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/qq_73477845/article/details/163235633




