当前位置: 首页 > news >正文

TCP/IP协议栈----通俗易懂(与OSI七层模型区别)

目录

一、概念

二、模型

对比

​编辑​(1)OSI的七层模型

(2)TCP/IP的四层模型

三、TCP/IP模型分层

(1)应用层

(2)传输层

(3)网络层

(4)网络接口层

四、分层封装数据

TCP/IP四层模型:

OSI七层模型:(易于理解)

数据包解封装过程


一、概念

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

二、模型

说TCP/IP模型之前我们先讲讲OSI模型,这是鼻祖

OSI模型分别有七层,从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,TCP/IP模型在一定程度上参考了OSI模型,但它简化了,只有四层:应用层、传输层、网络层、网络接口层

对比


​(1)OSI的七层模型

OSI七层模型的各层功能
层级名称功能协议示例
第7层应用层(Application)提供用户接口,支持应用程序的网络服务(如文件传输、电子邮件等)。HTTP、FTP、SMTP、DNS
第6层表示层(Presentation)负责数据格式转换、加密解密、压缩解压缩等,确保数据能被接收方正确理解。SSL/TLS、JPEG、MPEG
第5层会话层(Session)管理应用程序之间的会话,建立、维护和终止会话连接NetBIOS、RPC、PPTP
第4层传输层(Transport)提供端到端的可靠数据传输,负责流量控制、错误恢复和数据分段。TCP、UDP
第3层网络层(Network)负责数据包的路由和转发,实现不同网络之间的通信。IP、ICMP、ARP、RIP
第2层数据链路层(Data Link)提供节点到节点的数据传输,负责物理地址(MAC地址)寻址和错误检测。Ethernet、PPP、Switch
第1层物理层(Physical)负责物理介质上的比特流传输,定义电气、机械和功能特性。RS-232、光纤、同轴电缆

(2)TCP/IP的四层模型

TCP/IP四层模型
层级名称功能协议示例
第4层应用层(Application)结合了OSI模型的应用层、表示层和会话层,提供用户接口和网络服务。HTTP、FTP、SMTP、DNS、Telnet
第3层传输层(Transport)提供端到端的可靠数据传输,负责流量控制、错误恢复和数据分段。TCP、UDP
第2层网络层(Internet)负责数据包的路由和转发,实现不同网络之间的通信。IP、ICMP、ARP、RIP
第1层网络接口层(Network Access)结合了OSI模型的数据链路层和物理层,负责物理介质上的数据传输。Ethernet、Wi-Fi、PPP

 

三、TCP/IP模型分层

(1)应用层

第一层:应用层即是将应用程序提供服务的接口(协议:http、telnet等等),直接为应用进程提供服务的

​(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议(万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议)。

(2)应用层还能加密、解密、格式化数据。

(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。

应用层常见协议
协议功能特点应用场景
HTTP网页传输无状态、请求-响应模型、支持多种方法网页浏览、API调用
HTTPS安全的网页传输基于HTTP,使用SSL/TLS加密安全网页浏览、在线支付
FTP文件传输双连接模式、支持主动/被动模式、用户认证文件上传、下载
SMTP电子邮件发送文本协议、可靠性高电子邮件发送
IMAP电子邮件管理支持服务器端邮件管理、同步电子邮件接收与管理
DNS域名解析分布式数据库、缓存机制域名解析、网络访问
DHCP动态IP地址分配自动配置、租约机制局域网IP地址分配
SNMP网络设备管理请求-响应模型、支持Trap网络设备监控与管理
Telnet远程登录文本协议、不安全远程设备管理(逐渐被SSH取代)
SSH安全远程登录与文件传输加密通信、多功能远程设备管理、文件传输

(2)传输层

第二层:传输层为应用程序提供端到端的数据传输服务,负责数据的分段、传输控制、错误恢复和流量控制。它主要使用 TCP(传输控制协议)和 UDP(用户数据报协议)来实现这些功能。

TCP与UDP的区别
特性TCPUDP
连接方式面向连接无连接
可靠性可靠传输不可靠传输
数据顺序保证顺序不保证顺序
流量控制支持不支持
拥塞控制支持不支持
数据格式面向字节流面向数据报
头部开销较大(20字节)较小(8字节)
传输效率较低较高
适用场景可靠传输的应用实时性要求高的应用
错误检测检测并纠正错误仅检测错误
  • 使用TCP:当应用需要可靠传输、数据完整性和顺序性时(如文件传输、网页浏览)。

  • 使用UDP:当应用对实时性要求高,能容忍少量数据丢失时(如视频流、在线游戏)。

(3)网络层

第三层:网络层进行网络连接的建立和终止以及IP地址的寻找等功能。

网络层常见的协议

协议功能特点应用场景
IP数据包传输与寻址无连接、不可靠、支持分片与重组互联网通信的基础协议
ICMP控制消息传递与错误诊断轻量级、与IP协议协同工作网络诊断工具(如Ping)
ARPIP地址解析为MAC地址局域网内使用、请求-响应模式局域网内设备通信
RARPMAC地址解析为IP地址局域网内使用、请求-响应模式无盘工作站获取IP地址(已淘汰)
IGMP组播组成员管理支持组播、轻量级视频会议、在线直播

(4)网络接口层

第四层:网络接口层可以看作数据链路层与物理层的结合,所以它既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

四、分层封装数据

TCP/IP四层模型:

数据包封装过程详解:

①首先从应用层发出数据(可能http等协议)

②接着发送到传输层,打上TCP首部(源端口、目的端口)

③再发送给网络层,在TCP首部前面打上IP首部(源、目的IP地址)

④接着发送给网络接口层,再IP首部打上以太网首部(源、目的MAC地址)

最后再将这个以太网帧转换为二进制比特流传输给对端设备。

对端设备按照这个封装过程从下到上进行解封装。

OSI七层模型:(易于理解)

以下是一个HTTP请求从应用层到物理层的封装过程示例:

  1. 应用层

    • 生成HTTP请求:GET /index.html HTTP/1.1

    • 数据单元:消息

  2. 表示层

    • 对HTTP请求进行格式化或加密。

    • 数据单元:消息

  3. 会话层

    • 添加会话控制信息(如会话ID)。

    • 数据单元:消息

  4. 传输层

    • 将数据分段,添加TCP头部(源端口、目标端口、序列号等)。

    • 数据单元:

  5. 网络层

    • 添加IP头部(源IP地址、目标IP地址、TTL等)。

    • 数据单元:数据包

  6. 数据链路层

    • 添加以太网头部和尾部(源MAC地址、目标MAC地址、FCS等)。

    • 数据单元:

  7. 物理层

    • 将帧转换为比特流,通过物理介质传输。

    • 数据单元:比特

数据包解封装过程

在接收端,数据包的解封装过程与封装过程相反,从物理层到应用层逐层解封装:

  1. 物理层:将比特流转换为帧。

  2. 数据链路层:检查帧的MAC地址和FCS,去除头部和尾部。

  3. 网络层:检查IP地址,去除IP头部。

  4. 传输层:检查端口号,去除TCP/UDP头部。

  5. 会话层:检查会话信息,去除会话层头部。

  6. 表示层:解密或解压缩数据。

  7. 应用层:获取原始数据(如HTTP请求)

 

相关文章:

  • Qt介绍自定义插件四
  • 在 Unity 中判断 Xbox 手柄是否连接
  • 基于深度学习的皮肤癌智能检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】
  • SSM框架——Spring面试题
  • 【链表世界的深度探索:从基础到高阶的算法解读】—— LeetCode
  • unreal engine5 mation warping使用,敌人受击后面向攻击者
  • 【MySQL基础-9】深入理解MySQL中的聚合函数
  • 解释 TypeScript 中的枚举(enum),如何使用枚举定义一组常量?
  • Blender材质 - 层权重
  • 使用unplugin-auto-import自动导入vue3的api,不需要在每一个.vue文件中重复去导入操作
  • 智慧园区综合运营平台建设方案,智慧园区规划方案(PPT)
  • LLM论文笔记 25: Chain-of-Thought Reasoning without Prompting
  • 【AI】深度学习与人工智能应用案例详解
  • 数据结构之栈
  • 《 C++ 点滴漫谈: 三十一 》函数重载不再复杂:C++ 高效调试与性能优化实战
  • SwanLab飞书通知插件:训练完成收到飞书消息,掌握训练进度更及时
  • 【工具】C#防沉迷进程监控工具使用手册
  • LIN接口
  • Spring源码解析
  • SpringBoot项目中JSON数据的存储与查询
  • 农行再回应客户办理业务期间离世:亲属连续三次输错密码,理解亲属悲痛,将协助做好善后
  • 泽连斯基抵达安卡拉,称乌将派出最高级别代表团参与谈判
  • 刘强东坐镇京东一线:管理层培训1800人次,最注重用户体验
  • 曾犯强奸罪教师出狱后办教培机构?柳州鱼峰区教育局回应
  • 病重老人被要求亲自取钱在农业银行门口去世?株洲警方介入
  • 女高音吴睿睿“古词新唱”,穿着汉服唱唐诗宋词