TCP/IP五层协议

目录

1. 五层模型结构

2. 各层核心功能与协议

(1) 应用层(Application Layer)

(2) 传输层(Transport Layer)

(3) 网络层(Network Layer)

(4) 数据链路层(Data Link Layer)

(5) 物理层(Physical Layer)

3.TCPvsUDP 

4. 数据封装与解封装过程

5. 五层模型 vs 四层模型

6. 关键工具与调试命令

7. 常见问题

Q1:为什么数据链路层需要 MAC 地址?

Q2:物理层不关心数据内容,如何保证传输?

Q3:交换机工作在哪些层?

8. 总结


TCP/IP 五层协议模型是为了教学和理论分析而提出的分层框架,它结合了 TCP/IP 四层模型的实用性和 OSI 七层模型的细节性,更清晰地描述数据从应用程序到物理介质的完整传输过程。以下是五层模型的详细解析:

1. 五层模型结构

层级核心功能关键协议/设备数据单元
应用层处理应用程序逻辑和用户数据格式HTTP, FTP, DNS, SMTP, MQTT消息(Message)
传输层端到端通信控制(可靠性、流量控制)TCP, UDP, SCTP段(Segment)
网络层全局寻址和路由(跨网络传输)IP, ICMP, BGP, OSPF, ARP包(Packet)
数据链路层本地网络帧传输(MAC地址、错误检测)Ethernet, Wi-Fi, PPP, VLAN帧(Frame)
物理层物理介质传输(比特流)电缆(双绞线、光纤)、无线信号比特(Bit)

2. 各层核心功能与协议

(1) 应用层(Application Layer)
  • 功能

    • 定义应用程序间的通信规则(如 HTTP 定义网页请求格式)。

    • 数据编码、加密、压缩(如 HTTPS 使用 TLS 加密)。

  • 典型协议

    • HTTP/HTTPS:网页浏览(端口 80/443)。

    • DNS:域名解析(端口 53)。

    • FTP:文件传输(端口 20/21)。

    • SMTP:邮件发送(端口 25)。

    • MQTT:物联网轻量级消息协议(端口 1883)。

(2) 传输层(Transport Layer)
  • 功能

    • 端到端连接管理:通过端口号标识应用进程(如 80 端口对应 HTTP)。

    • 可靠性保障(仅 TCP):丢包重传、流量控制、拥塞控制。

    • 多路复用/分解:多个应用共享同一网络连接。

  • 典型协议

    • TCP:面向连接、可靠传输(如文件下载)。

    • UDP:无连接、高效传输(如视频流)。

    • SCTP:多路径传输(用于电话信令)。

(3) 网络层(Network Layer)
  • 功能

    • IP 寻址:为每台设备分配唯一 IP 地址(IPv4: 32位,IPv6: 128位)。

    • 路由选择:路由器根据路由表转发数据包(如 BGP 协议决定互联网骨干路径)。

    • 分片与重组:根据网络 MTU(最大传输单元)拆分/重组数据包。

  • 典型协议

    • IP:数据包寻址和路由(IPv4/IPv6)。

    • ICMP:网络状态反馈(如 ping 命令)。

    • BGP/OSPF:动态路由协议。

    • ARP:IP 地址到 MAC 地址的解析(局域网内)。

(4) 数据链路层(Data Link Layer)
  • 功能

    • 帧封装:添加帧头(源/目的 MAC 地址)和帧尾(CRC 校验)。

    • 介质访问控制:解决多设备共享信道冲突(如 CSMA/CD 用于以太网)。

    • 局域网通信:通过交换机基于 MAC 地址转发帧。

  • 典型协议与技术

    • Ethernet(IEEE 802.3):有线局域网标准(如 1000BASE-T)。

    • Wi-Fi(IEEE 802.11):无线局域网标准(如 802.11ac)。

    • VLAN:虚拟局域网划分(隔离广播域)。

    • PPP:点对点协议(如家庭宽带拨号)。

(5) 物理层(Physical Layer)
  • 功能

    • 比特流传输:将数据转换为电信号、光信号或电磁波。

    • 物理介质定义:规范接口形状、电压、光波长等(如 RJ45 网口、光纤接口)。

  • 典型技术与设备

    • 双绞线(Cat5e/Cat6):传输电信号(最长 100 米)。

    • 光纤:长距离、高速传输(单模/多模)。

    • 无线射频:Wi-Fi(2.4GHz/5GHz 频段)、蓝牙。

    • 中继器/集线器:物理层信号放大(已逐渐被交换机取代)。


3.TCPvsUDP 

以下是 TCP 和 UDP 的核心区别对比表:

对比项TCP(传输控制协议)UDP(用户数据报协议)
连接方式面向连接(需三次握手建立连接)无连接(直接发送数据)
可靠性可靠传输(确认应答、重传、流量控制、拥塞控制)不可靠传输(无确认、不保证数据到达)
传输单位面向字节流面向数据包
通信模式全双工全双工
数据顺序保证数据按发送顺序到达不保证顺序,可能乱序
传输速度较慢(需维护连接和可靠性机制)较快(无连接和复杂控制)
头部大小较大(最小 20 字节,包含序列号、确认号等控制信息)较小(固定 8 字节,仅含源/目的端口和长度)
流量控制支持(滑动窗口机制)不支持
拥塞控制支持(慢启动、拥塞避免等算法)不支持
适用场景要求可靠传输的应用(如网页、文件传输、邮件)实时性优先的应用(如视频、语音、在线游戏)
典型应用协议HTTP、HTTPS、FTP、SMTP、SSHDNS、DHCP、SNMP、QUIC(HTTP/3)、实时流媒体

4. 数据封装与解封装过程

以访问网页(HTTP)为例,说明数据在五层模型中的流动:

  1. 应用层:浏览器生成 HTTP 请求(GET /index.html)。

  2. 传输层:添加 TCP 头部(源端口 5000,目的端口 80,序列号等)。

  3. 网络层:添加 IP 头部(源 IP 192.168.1.100,目的 IP 93.184.216.34)。

  4. 数据链路层:添加以太网帧头(源 MAC 00:1A:2B:3C:4D:5E,目的 MAC 路由器 MAC)。

  5. 物理层:转换为电信号,通过网线传输。

接收端反向解析
物理层 → 数据链路层(校验帧) → 网络层(路由判断) → 传输层(端口分发) → 应用层(处理 HTTP 请求)。


5. 五层模型 vs 四层模型

对比项TCP/IP 四层模型五层模型
分层目的贴近实际协议实现理论教学,兼容 OSI 模型细节
底层划分合并物理层和数据链路层为“网络接口层”明确分离物理层和数据链路层
适用场景工程开发(如网络编程)网络原理教学、设备厂商文档
协议归属ARP 属于网络接口层ARP 属于网络层(更符合逻辑)

6. 关键工具与调试命令

  • 应用层

    • curlwget(模拟 HTTP 请求)。

    • dignslookup(DNS 查询)。

  • 传输层

    • netstatss(查看端口状态)。

    • tcpdumpWireshark(抓包分析)。

  • 网络层

    • ping(ICMP 测试连通性)。

    • traceroute(追踪路由路径)。

  • 数据链路层

    • arp(查看/修改 ARP 缓存)。

    • ethtool(查看网卡配置)。

  • 物理层

    • 网络测线仪(检测网线连通性)。

    • 光功率计(测量光纤信号强度)。


7. 常见问题

Q1:为什么数据链路层需要 MAC 地址?
  • :IP 地址用于全局寻址(网络层),而 MAC 地址用于本地网络(数据链路层)的直接设备通信。数据包跨网络传输时,IP 地址不变,但每跳的 MAC 地址会更新(如从主机到路由器再到下一跳)。

Q2:物理层不关心数据内容,如何保证传输?
  • :物理层仅负责比特流的透明传输(如调制解调器将数字信号转为模拟信号),错误检测由数据链路层的 CRC 校验完成。

Q3:交换机工作在哪些层?
    • 二层交换机:数据链路层(基于 MAC 地址转发)。

    • 三层交换机:网络层(具备路由功能,基于 IP 地址转发)。


8. 总结

五层模型通过明确分离 物理层 和 数据链路层,更清晰地描述了数据从应用程序到物理介质的完整传输过程。理解各层的核心协议(如 HTTP、TCP、IP、Ethernet)和功能(寻址、路由、错误检测、物理信号转换),是掌握网络通信原理、进行网络故障排查和优化的基础。实际工程中,开发者通常关注上三层(应用层、传输层、网络层),而网络工程师需深入理解下两层(数据链路层、物理层)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【最新版】金媒婚恋系统v10.5最新稳定开源+原生前端小程序 PC端+安装教程

一.系统简介 1. 红娘服务 红娘服务模块是该系统的一大特色。专业红娘会通过分析用户的个人资料和偏好, 为用户提供精准的配对建议和个性化服务。用户可以预约红娘服务,通过红娘的介入,提升配对成功率。 2. 相亲活动 相亲活动模块用于组织和管…

吴恩达深度学习复盘(5)神经网络的前向传播TesorFlow与NumPy实现比对

数据结构差别 NumPy 和 TensorFlow 在数据表示上的差异展开,结合神经网络实践中的常见问题进行说明。以下是详细解析: 一、简介 数据表示的历史背景 NumPy 是 Python 科学计算的基础库,早期设计为处理多维数组TensorFlow 由 Google Brain 团…

多元高斯分布函数

1、 n n n元向量 假设 n n n元随机变量 X X X X [ X 1 , X 2 , ⋯ , X i , ⋯ , X n ] T μ [ μ 1 , μ 2 , ⋯ , μ i , ⋯ , μ n ] T σ [ σ 1 , σ 2 , ⋯ , σ i , ⋯ , σ n ] T X i ∼ N ( μ i , σ i 2 ) \begin{split} X&[X_1,X_2,\cdots,X_i,\cdots ,X_n…

洞察 Linux 进程管理

一、进程和线程的概念 1.进程 (1)概念 进程是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。进程是程序的执行实例,拥有独立的资源(如内存、文件描述符等)。每个进程在创建时会被…

PyTorch 实现图像版多头注意力(Multi-Head Attention)和自注意力(Self-Attention)

本文提供一个适用于图像输入的多头注意力机制(Multi-Head Attention)PyTorch 实现,适用于 ViT、MAE 等视觉 Transformer 中的注意力计算。 模块说明 输入支持图像格式 (B, C, H, W)内部转换为序列 (B, N, C),其中 N H * W多头注…

每日一题(小白)字符串娱乐篇16

分析题意可以了解到本题要求在一串字符串中找到所有组合起来排序递增的字符串。我们可以默认所有字符在字符串中的上升序列是1,从第一个字符开始找,如果后面的字符大于前面的字符就说明这是一个上序列那么后面字符所在的数组加一,如果连接不上…

Ubuntu 22 Linux上部署DeepSeek R1保姆式操作详解(Xinference方式)

一、安装步骤 1.基础环境安装 安装显卡驱动、cuda,根据自己硬件情况查找相应编号,本篇不介绍这部分内容,只给出参考指令,详情请读者自行查阅互联网其它参考资料。 sudo apt install nvidia-utils-565-server sudo apt install…

Immutable.js 完全指南:不可变数据的艺术与实践

引言 在现代前端开发中,状态管理是一个核心挑战。随着应用复杂度增加,如何高效、安全地管理应用状态变得至关重要。Immutable.js 是 Facebook 推出的一个 JavaScript 库,它提供了持久化不可变数据结构,可以帮助开发者更好地管理应…

字符串数据类型的基本运算

任务描述 本关任务:从后台输入任意三个字符串,求最大的字符串。 相关知识 字符串本身是存放在一块连续的内存空间中,并以’\0’作为字符串的结束标记。 字符指针变量本身是一个变量,用于存放字符串的第 1 个字符的地址。 字符数…

Ubuntu 22.04 一键部署openManus

openManus 前言 OpenManus-RL,这是一个专注于基于强化学习(RL,例如 GRPO)的方法来优化大语言模型(LLM)智能体的开源项目,由来自UIUC 和 OpenManus 的研究人员合作开发。 前提要求 安装deepseek docker方式安装 ,windows 方式安装,Linux安装方式

PDF 转图片,一行代码搞定!批量支持已上线!

大家好,我是程序员晚枫。今天我要给大家带来一个超实用的功能——popdf 现在支持 PDF 转图片了,而且还能批量操作!是不是很激动?别急,我来手把手教你玩转这个功能。 1. 一行代码搞定单文件转换 popdf 的核心就是简单暴…

《比特城的机密邮件:加密、签名与防篡改的守护之战》

点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 第一章:风暴前的密令 比特城的议会大厅内,首席长老艾德文握着一卷足有半人高的羊皮纸,眉头紧锁。纸上是即将颁布的《新纪元法典》——这份文件不仅内…

8.用户管理专栏主页面开发

用户管理专栏主页面开发 写在前面用户权限控制用户列表接口设计主页面开发前端account/Index.vuelangs/zh.jsstore.js 后端Paginator概述基本用法代码示例属性与方法 urls.pyviews.py 运行效果 总结 欢迎加入Gerapy二次开发教程专栏! 本专栏专为新手开发者精心策划了…

http://noi.openjudge.cn/_2.5基本算法之搜索_1804:小游戏

文章目录 题目深搜代码宽搜代码深搜数据演示图总结 题目 1804:小游戏 总时间限制: 1000ms 内存限制: 65536kB 描述 一天早上,你起床的时候想:“我编程序这么牛,为什么不能靠这个赚点小钱呢?”因此你决定编写一个小游戏。 游戏在一…

发生梯度消失, 梯度爆炸问题的原因,怎么解决?

目录 一、梯度消失的原因 二、梯度爆炸的原因 三、共同的结构性原因 四、解决办法 五、补充知识 一、梯度消失的原因 梯度消失指的是在反向传播过程中,梯度随着层数的增加指数级减小(趋近于0),导致浅层网络的权重几乎无法更新…

【USRP】srsRAN 开源 4G 软件无线电套件

srsRAN 是SRS开发的开源 4G 软件无线电套件。 srsRAN套件包括: srsUE - 具有原型 5G 功能的全栈 SDR 4G UE 应用程序srsENB - 全栈 SDR 4G eNodeB 应用程序srsEPC——具有 MME、HSS 和 S/P-GW 的轻量级 4G 核心网络实现 安装系统 Ubuntu 20.04 USRP B210 sudo …

ChatGPT 4:解锁AI文案、绘画与视频创作新纪元

文章目录 一、ChatGPT 4的技术革新二、AI文案创作:精准生成与个性化定制三、AI绘画艺术:从文字到图像的神奇转化四、AI视频制作:自动化剪辑与创意实现五、知识库与ChatGPT 4的深度融合六、全新的变革和机遇《ChatGPT 4 应用详解:A…

在js中数组相关用法讲解

数组 uniqueArray 简单数组去重 /*** 简单数组去重* param arr* returns*/ export const uniqueArray <T>(arr: T[]) > [...new Set(arr)];const arr1 [1,1,1,1 2, 3];uniqueArray(arr); // [1,2,3]uniqueArrayByKey 根据 key 数组去重 /*** 根据key数组去重* …

RT-Thread ulog 日志组件深度分析

一、ulog 组件核心功能解析 轻量化与实时性 • 资源占用&#xff1a;ulog 核心代码仅需 ROM<1KB&#xff0c;RAM<0.2KB&#xff0c;支持在资源受限的MCU&#xff08;如STM32F103&#xff09;中运行。 • 异步/同步模式&#xff1a;默认采用异步环形缓冲区&#xff08;rt_…

T113s3远程部署Qt应用(dropbear)

T113-S3 是一款先进的应用处理器&#xff0c;专为汽车和工业控制市场而设计。 它集成了双核CortexTM-A7 CPU和单核HiFi4 DSP&#xff0c;提供高效的计算能力。 T113-S3 支持 H.265、H.264、MPEG-1/2/4、JPEG、VC1 等全格式解码。 独立的硬件编码器可以编码为 JPEG 或 MJPEG。 集…