问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

TCP/IP协议栈详解:与OSI七层模型的区别

创作时间:
作者:
@小白创作中心

TCP/IP协议栈详解:与OSI七层模型的区别

引用
CSDN
1.
https://blog.csdn.net/2403_83112422/article/details/146296033

TCP/IP协议栈是互联网通信的基础,它与OSI七层模型有何区别?本文将从概念、模型分层、协议示例等多个维度,深入浅出地解析TCP/IP协议栈的原理与应用。

一、概念

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的七层模型

层级
名称
功能
协议示例
第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的四层模型

层级
名称
功能
协议示例
第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
连接方式
面向连接
无连接
可靠性
可靠传输
不可靠传输
数据顺序
保证顺序
不保证顺序
流量控制
支持
不支持
拥塞控制
支持
不支持
数据格式
面向字节流
面向数据报
头部开销
较大(20字节)
较小(8字节)
传输效率
较低
较高
适用场景
可靠传输的应用
实时性要求高的应用
错误检测
检测并纠正错误
仅检测错误
  • 使用TCP:当应用需要可靠传输、数据完整性和顺序性时(如文件传输、网页浏览)。

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

(3)网络层

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

网络层常见的协议

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

(4)网络接口层

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

四、分层封装数据

TCP/IP四层模型:

数据包封装过程详解:

  1. 首先从应用层发出数据(可能http等协议)
  2. 接着发送到传输层,打上TCP首部(源端口、目的端口)
  3. 再发送给网络层,在TCP首部前面打上IP首部(源、目的IP地址)
  4. 接着发送给网络接口层,再IP首部打上以太网首部(源、目的MAC地址)
  5. 最后再将这个以太网帧转换为二进制比特流传输给对端设备。
  6. 对端设备按照这个封装过程从下到上进行解封装。

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

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

  1. 应用层
  • 生成HTTP请求:
    GET /index.html HTTP/1.1
    
  • 数据单元:消息
  1. 表示层
  • 对HTTP请求进行格式化或加密。
  • 数据单元:消息
  1. 会话层
  • 添加会话控制信息(如会话ID)。
  • 数据单元:消息
  1. 传输层
  • 将数据分段,添加TCP头部(源端口、目标端口、序列号等)。
  • 数据单元:
  1. 网络层
  • 添加IP头部(源IP地址、目标IP地址、TTL等)。
  • 数据单元:数据包
  1. 数据链路层
  • 添加以太网头部和尾部(源MAC地址、目标MAC地址、FCS等)。
  • 数据单元:
  1. 物理层
  • 将帧转换为比特流,通过物理介质传输。
  • 数据单元:比特

数据包解封装过程

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

  1. 物理层:将比特流转换为帧。
  2. 数据链路层:检查帧的MAC地址和FCS,去除头部和尾部。
  3. 网络层:检查IP地址,去除IP头部。
  4. 传输层:检查端口号,去除TCP/UDP头部。
  5. 会话层:检查会话信息,去除会话层头部。
  6. 表示层:解密或解压缩数据。
  7. 应用层:获取原始数据(如HTTP请求)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
TCP/IP协议栈详解:与OSI七层模型的区别