TCP/IP四层模型
TCP/IP四层模型是互联网通信的核心架构,定义了数据从发送端到接收端的传输流程。它通过分层设计将复杂的网络功能模块化,各层协同工作以实现高效、可靠的数据通信。理解该模型对网络编程、故障排查及协议设计至关重要。
四层模型结构
TCP/IP四层模型从下到上依次为:网络接口层、网络层、传输层、应用层。每层承担特定职责,并通过协议实现功能。
网络接口层(Network Interface Layer)
主要功能:
负责物理介质上的数据传输,包括将数据封装为帧、处理MAC地址寻址、管理网络硬件接口等。
关键协议:
以太网(Ethernet):有线局域网标准,定义以太网帧格式和基于MAC地址的通信。
Wi-Fi(802.11):无线局域网协议,支持无线设备接入与通信。
PPP(点对点协议):用于拨号连接或直接设备间通信。
数据单元:
网络接口层的最小数据单元是帧(Frame),由帧头和数据负载组成,其中帧头包含源和目标MAC地址,数据负载指网络层封装后的数据;'
网络层(Internet Layer)
主要功能:
实现跨网络的路由和寻址,通过IP地址确定数据包的传输路径。
关键协议:
IP(IPv4/IPv6):核心协议,定义数据包格式和路由规则;IPv4使用32位地址,是最常见的网络层协议,IPv6扩展至128位,以解决地址枯竭问题,目前正在大力推广中,IPv4和IPv6合称为双栈;
ICMP(Internet控制消息协议):用于网络诊断,如当我们在命令行尝试ping百度判断是否可以上网时,实际上就是电脑网百度发出ICMP报文,然后通过是否收到百度的回复报文判断网络是否可达。
ARP(地址解析协议):将IP地址解析为MAC地址;相同IP网段设备通信时是基于mac地址转发,设备发出数据前先发出包含目标IP地址的ARP请求,目标设备收到请求后回复带有自身mac地址的ARP报文;
数据单元:
网络层的最小数据单元是包(Packet),由包头和数据负载组成,其中包头包含源和目标IP地址,数据负载则是由传输层封装后的数据;
传输层(Transport Layer)
主要功能:
提供端到端的数据传输服务,确保数据可靠或高效传输。
关键协议:
TCP(传输控制协议):面向连接,通过三次握手建立可靠连接再发送数据,并支持流量控制和拥塞控制,适用于对可靠性要求较高的场景。
UDP(用户数据报协议):无连接,发送数据前无需经过三次握手,具有低延迟的优势,适用于实时音视频流、DNS查询等对可靠性要求不高的场景。
数据单元:
TCP报文被称为段(Segment),UDP报文则被称为数据报(Datagram)。
应用层(Application Layer)
主要功能:
直接为用户应用程序提供网络服务接口,处理数据包括文本、图片和视频,以及提供各种业务如门户网站、即时通讯(微信)、视频直播等等。
关键协议:
HTTP/HTTPS:网页传输协议,HTTPS通过SSL/TLS加密后传输数据保障安全;
FTP:文件传输协议,支持文件上传和下载;
DNS:域名解析服务,将容易记忆的固定的域名转换为难记且动态变化的IP地址;
telnet/ssh:电子邮件传输协议;
数据单元:应用数据,如HTML网页、下载的音频视频文件、直播的流媒体等等。
数据传输流程
以ftp下载视频文件为例,数据在各层的封装与解封装过程如下:

发送端
从上往下封装,逐层添加协议头,将应用层数据转换成比特流:
应用层:FTP服务器程序将视频文件切割称小文件,然后添加FTP协议头,封装成用户数据(data),然后交给下一层协议栈;
传输层:TCP协议栈将数据块(data)分段,添加TCP协议头包括TCP端口号和序列号,封装成数据段(segment),然后交给下一层协议栈;
网络层:IP协议栈添加IP协议头包括源/目标IP地址,封装为数据包(packet),然后交给下一层协议栈;
网络接口层:以太网协议栈添加以太网协议头包括源/目标MAC地址,封装成数据帧(frame),然后转换成比特流(bit)通过物理介质传输。
接收端
逆向解封装,逐层剥离协议头,最终由应用层获取原始数据:
网络接口层:接收比特流,转换成数据帧,解封装后剥离以太网协议头,然后交给上一层协议栈;
网络层:IP协议栈接收数据包,解封装后剥离IP协议头,然后交给上一层协议栈;
传输层:TCP协议栈接收数据段,解封装后获得目标端口号,剥离TCP协议头后根据端口号转发给对应应用程序即FTP客户端;
应用层:FTP客户端收到用户数据,缓存到本地目录,等传输完成后将所有数据重组还原成视频文件。
与OSI七层模型的对比
TCP/IP四层模型是对OSI七层模型的简化与实践优化,主要区别如下:
|--------------|-------------|----------------------------|
| TCP/IP四层模型 | OSI七层模型 | 核心差异 |
| 应用层 | 应用层、表示层、会话层 | TCP/IP合并OSI的高三层,更注重实际协议实现。 |
| 传输层 | 传输层 | 功能一致,均负责端到端通信。 |
| 网络层 | 网络层 | 功能一致,均处理路由和寻址。 |
| 网络接口层 | 数据链路层、物理层 | TCP/IP合并OSI的低两层,简化物理介质细节。 |
常见协议和技术
VLAN(虚拟局域网)
Virtual Local Area Network (虚拟局域网) 是通过IEEE 802.1Q标准在以太网帧中插入标签(VID),将物理网络逻辑划分为多个广播域,隔离流量并提升安全性,使不同地理位置的设备能灵活组网。支持Access(接入)、Trunk(干道)和Hybrid(混合)链路类型,适用于不同的设备的接入。例如电信光猫通常通过vlan区分不同的业务,上网业务走vlan41的WAN连接,IPTV业务走vlan44或vlan45的WAN连接,语音业务走vlan46的WAN连接。
ICMPv6(IPv6控制消息协议)
Internet Control Message Protocol for IPv6(互联网控制消息协议版本6)是IPv6协议栈的核心组成部分,功能远比IPv4中的ICMP强大。它不仅负责错误报告和网络诊断(如ping用的Echo请求/应答),还集成了邻居发现协议(替代ARP)、路径MTU发现,并承载了MLD协议以实现组播管理,是IPv6网络正常运作和自动配置的基础
TR-069(宽带网关管理协议)
TR069 (CPE WAN Management Protocol)基于HTTP/HTTPS和SOAP协议,由ACS(自动配置服务器)远程管理CPE设备,支持参数配置、固件升级和状态监控。采用XML交互,支持TLS加密,实现零配置部署和批量管理。例如电信运营商的光猫在开通后,运营商主要通过TR069协议对光猫进行远程维护和管理。
IGMP(因特网组管理协议)
Internet Group Management Protocol (互联网组管理协议) 管理IP组播组成员关系,能有效管理组播组的加入、离开和查询,从而控制组播流量转发。版本包括IGMPv1(仅加入组播组)、IGMPv2(支持离开报文)和IGMPv3(源过滤)。例如电信运营商的IPTV业务就是基于IGMP协议,当用户播放某个电视节目时,机顶盒就发出IGMP请求报文,IPTV服务器收到后就会下发视频媒体流,两者之间的交换机和路由器会建立组播转发表维持视频流的转发。
MLD(组播侦听发现协议)
Multicast Listener Discovery(组播侦听者发现协议)是用于IPv6网络的组播成员管理协议,可理解为IPv6版的IGMP。它运行在IPv6主机与其直连的组播路由器之间,通过查询和报告报文来建立和维护组播组成员关系,使路由器能了解哪些主机希望接收特定组播组的数据,从而实现高效的IPv6组播数据传输。
NTP(网络时间协议)
Network Time Protocol (网络时间协议) 用于同步设备时钟到某个参考时间源。它通过在网络上分发协调世界时(UTC),为各种应用提供高精度的时间同步,是互联网上最重要的时间同步协议之一。例如家用路由器的家长控制功能,按时间限制特定设备访问网络,就需要路由器通过NTP同步到精确的时间。
HTTP(超文本传输协议)
Hypertext Transfer Protocol (超文本传输协议) 是互联网上应用最广泛的协议,用于客户端和服务器之间的通信。它定义了请求和响应的格式,支持获取文本、图像、视频等资源,是万维网(WWW)的数据通信基础。大家用浏览器访问百度、腾讯、虎牙直播等等就是基于http协议。另外很多系统都提供http访问接口,包括交换机和路由器等。
FTP(文件传输协议)
File Transfer Protocol (文件传输协议) 用于在网络上进行客户端和服务器之间的文件传输。它使用单独的控制连接和数据连接,支持文件的上传、下载、删除和目录操作等基本文件管理功能。使用控制端口21和数据端口20(主动模式),被动模式随机开放端口,避免防火墙限制。很多网站就是通过FTP服务器分享资源,下载连接通常是ftp://开头。
TFTP(简单文件传输协议)
Trivial File Transfer Protocol(简单文件传输协议)是一种极其简化的文件传输协议。它基于UDP协议(端口69),仅支持最基本的文件读取和写入操作,没有目录浏览、用户认证等复杂功能。由于其实现简单、资源占用少,TFTP常用于网络设备的引导启动、配置文件备份恢复以及嵌入式设备的固件更新等特定场景。
TELNET(远程登录协议)
Teletype Network (远程终端协议) 是一种早期的网络协议,用于通过TCP/IP网络提供双向的、面向文本的通信功能。它允许用户通过网络以虚拟终端的形式登录到远程主机并进行操作。缺点是明文传输数据,易被窃听,逐渐被SSH取代。window内置telnet客户端,通过cmd命令行就可以telnet管理设备,仍是很多交换机和路由器的主要远程管理接口。
SSH(安全外壳协议)
Secure Shell (安全外壳协议) 是一种用于安全访问远程设备的网络协议。基于RSA/DSA密钥对,通过加密技术为远程登录会话和其他网络服务提供安全保护,有效防止信息泄露和攻击,已基本取代不安全的TELNET。windows系统没有内置ssh客户端,需要使用securityCRT等第三方软件。
SNMP(简单网络管理协议)
Simple Network Management Protocol (简单网络管理协议) 是专门用于管理和监控网络设备的协议。它由网络管理系统、被管理设备和代理组成,通过GET、SET和TRAP等操作来收集设备数据、修改配置和接收告警。版本包括SNMPv1(无加密)、SNMPv2c(团体名认证)和SNMPv3(加密和身份验证),是网络运维的核心工具。
OMCI(光线路终端管理控制接口)
(ONU Management and Control Interface, ONU管理控制接口) 是GPON网络中OLT(光线路终端)管理ONU(光网络单元)的标准协议。它在非对称的GPON架构中定义了一套高效的管理机制,用于配置、故障诊断和性能监控。是光纤接入网的核心管理协议。
NAT(网络地址转换)
Network Address Translation (网络地址转换) 是一种将私有IP地址转换为公有IP地址的技术。它有效缓解了IPv4地址短缺问题,并能隐藏内部网络细节,提升安全性。类型包括静态NAT(一对一)、动态NAT(地址池分配)和PAT(端口复用)。例如家用路由器的WAN连接通常需要启用NAT功能,手机和电脑同时发出上网的HTTP请求,经过路由器后,源IP会被转换成路由器的WAN口IP,这样网站就无法知道手机和电脑的网络地址,避免手机和电脑的网络信息暴露后被非法攻击。
ALG(应用层网关)
Application Layer Gateway (应用层网关) 是一种特殊代理,常用于网络地址转换(NAT)或防火墙中。它能识别并处理特定应用层协议(如FTP、SIP)的数据,解决NAT对这类协议穿透带来的兼容性问题。NAT技术只能转换网络层和传输层协议的IP和端口号,而部分应用层协议的数据也包含IP和端口号,就需要ALG功能来转换。例如FTP主动模式需ALG转换数据端口,确保传输正常,否则就出向ftp登陆成功,但下载文件失败的问题。
UPnP(通用即插即用)
Universal Plug and Play(通用即插即用)是一套网络协议集合,旨在让智能设备无缝接入网络并自动协同工作。设备加入网络后,能通过发现、描述、控制、事件通知等步骤,自动告知自身服务并发现其他设备,从而实现零配置的互联互通。常见于家庭网络中,方便智能设备、媒体服务器、P2P应用等自动完成端口转发,简化用户操作。
QoS(服务质量)
QoS(Quality of Service,服务质量)是一种网络管理机制,用于在带宽有限的网络环境中,通过优先级控制、流量管理等多种技术手段,为不同的业务数据流提供差异化的传输服务保障,从而解决网络延迟、拥塞和丢包等问题。在大部分场景,管理业务优先级最高,其次是语音业务,然后是IPTV等视频业务,最低是数据业务。
原创不易,你的支持是我最大的动力,欢迎大家点赞,收藏,关注!