【物联网基础02】了解TCP/IP协议族
TCP/IP协议族并非单一的两个协议,而是一套由上百个分层协作的协议共同组成的互联网核心通信体系,它是实现不同厂商、不同操作系统、不同物理网络设备之间互联互通的通用标准,从诞生之初就被设计用来解决异构网络的互联问题,是现代互联网运行的技术基石。
一、核心设计背景与特点
它起源于20世纪70年代美国ARPANET网络的研究项目,1983年ARPANET全面切换到TCP/IP协议,这一事件也被视为现代互联网正式诞生的标志性节点。整个协议族采用开放的“舆论驱动”标准化模式,所有规范都以RFC文档的形式公开发布,任何人都可以提交相关技术提案。
它最核心的设计优势是采用了“底层简单、上层增强”的思路:网络层仅负责无连接的“尽力而为”转发,把可靠性保障、拥塞控制等复杂逻辑交给传输层和应用层实现,这种架构让它能轻松适配从早期局域网到如今移动互联网、物联网的各类网络场景,具备极强的可扩展性。
二、分层结构与各层核心协议
TCP/IP协议族普遍采用四层模型划分(教学场景中常将最底层进一步拆分为物理层和数据链路层,形成五层模型),每层的协议各司其职,上层协议完全依赖下层协议提供的能力运行:
网络接口层/链路层
这是整个协议栈的最底层,负责在同一个物理链路中完成数据帧的传输,不涉及跨网络的寻址。它没有定义专属的底层传输协议,直接兼容以太网、Wi-Fi、PPP串行链路等各类成熟的物理传输标准。
该层的核心辅助协议包括:
ARP协议:在IPv4网络中,将IP地址解析为设备的物理MAC地址,实现局域网内的二层寻址
NDP邻居发现协议:在IPv6环境下替代ARP,完成链路层地址解析、邻居可达性检测等功能
链路层也常被称为数据链路层,是TCP/IP四层模型中的最底层(部分资料将物理层也纳入该层,合称为网络访问层/主机-网络层),它直接对接物理传输介质,为上层的网络层提供统一、可靠的本地数据传输能力,是所有跨网通信的基础载体。
一、核心定位与核心职责
它屏蔽了以太网、Wi-Fi、串行链路等不同物理网络的电气特性差异,通过网卡驱动程序为上层IP协议提供统一的调用接口,主要完成这几项核心工作:
1.封装成帧:将网络层传递下来的IP数据报,添加上帧头和帧尾封装成完整的数据帧,帧头中携带源MAC地址和目的MAC地址,帧尾用于存放差错校验信息。以太网标准帧的最大传输单元MTU为1500字节,避免过大的数据块在物理链路上传输时出现拥塞。
2.本地寻址:通过MAC物理地址唯一标识同一局域网内的每一台网络设备,实现相邻节点之间的精准数据投递,我们日常使用的网卡出厂时就会被分配全球唯一的48位MAC地址。
3.差错检测:通过CRC循环冗余校验机制,接收方收到数据帧后校验传输过程中是否出现比特损坏,一旦发现帧出错就直接丢弃,避免错误数据继续向上层传递。
4.透明传输:通过零比特填充、转义字符等机制,保证数据帧中的任意比特组合都能正常在链路上传输,不会被误判为帧的起始/结束标记。
二、该层的核心配套协议
除了底层物理网络的传输标准之外,链路层最核心的辅助协议是地址解析类协议:
ARP地址解析协议:实现IP地址到MAC物理地址的转换,当主机需要向局域网内某IP地址的设备发送数据时,会先发送ARP广播包,查询该IP对应的MAC地址,将结果存入本地ARP缓存后,再完成数据帧的封装发送。
RARP反向地址解析协议:作用和ARP相反,允许仅知道自身MAC地址的设备,向局域网网关请求获取对应的IP地址,常应用于无盘工作站这类没有本地存储网络配置的设备场景。
三、和上下层的协作逻辑
链路层完全为网络层的IP协议服务:它不关心跨网络的路由转发逻辑,只负责把数据帧从当前节点投递到同一链路内的下一个相邻节点;而网络层则通过IP地址完成跨网段的端到端寻址,两者配合实现了“本地链路精准投递、全网跨网路由转发”的分层协作机制。
网络层
这是整个TCP/IP体系的核心层,核心目标是实现跨不同网络的端到端数据转发,采用无连接的交付模型,转发前无需提前和目标设备建立连接。
该层的核心协议包括:
IP协议(IPv4/IPv6):为全网设备分配统一的逻辑IP地址,定义数据报的封装格式和转发规则,是所有跨网通信的寻址基础
ICMP协议:用于网络状态诊断和差错报告,我们日常使用的ping命令就是基于ICMP协议实现的,可检测网络连通性、定位网络不可达等故障
路由协议(RIP、OSPF、BGP等):用于在全网路由器之间同步路由信息,确定数据从源地址到目标地址的最优转发路径
NAT网络地址转换协议:用于缓解IPv4地址资源不足的问题,实现多个内网设备共享同一个公网IP访问互联网
传输层
该层的作用是向应用程序屏蔽底层网络的传输细节,为不同的应用进程提供端到端的通信服务,通过端口号区分同一台设备上的不同应用。
该层的核心协议包括:
TCP传输控制协议:面向连接的可靠字节流传输协议,通过三次握手建立连接、序列号确认、丢包自动重传、滑动窗口拥塞控制等机制,保障数据完整、有序地送达目标应用,是网页访问、文件传输等对可靠性要求高的场景的首选协议
UDP用户数据报协议:轻量无连接的数据报协议,无需提前建立连接即可直接发送数据,传输延迟极低、支持广播和组播,适合视频直播、实时语音通话等允许少量丢包、对实时性要求高的场景
应用层
该层直接面向用户的各类业务场景,定义不同业务场景下的交互规则和数据格式,所有我们日常使用的互联网服务都依赖对应的应用层协议实现。
该层的典型协议包括:
HTTP/HTTPS协议:万维网网页访问的核心协议,是浏览器和网站服务器之间交互的标准规范
FTP文件传输协议:用于两个主机之间的完整文件交换,支持文件的上传、下载和目录管理操作
SMTP简单邮件传输协议:用于在互联网中高效、可靠地发送和转发电子邮件
DNS域名服务协议:将用户容易记忆的域名转换为网络通信所需的IP地址,避免用户记忆复杂的数字IP地址
Telnet远程登录协议:实现本地设备远程登录到远端服务器,直接操作远程主机的资源
DHCP动态主机配置协议:自动为接入网络的设备分配IP地址等网络参数,无需手动配置即可快速联网
三、数据传输的完整流程
TCP/IP协议族的数据传输可以用“信封嵌套”的逻辑形象理解:发送端的应用数据先被拆分封装进TCP/UDP的“信封”,信封上标注分段编号和目标应用的端口号;之后这个传输层信封再被塞进IP协议的大信封,信封上标注源IP和目标IP地址;最终IP数据报会被封装进网络接口层的数据帧中,通过物理链路一步步转发到目标设备。
接收端则执行完全相反的解封装流程,从最外层的数据帧开始逐层拆解,校验数据完整性,最终将重组还原后的完整数据交付给对应的目标应用。如果传输过程中出现数据丢失、损坏的情况,TCP协议会自动触发重传机制,保障最终数据的无差错交付。
