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

面经-计算机网络——OSI七层模型与TCP/IP四层模型的对比详解

OSI七层模型与TCP/IP四层模型的对比详解


一、图示解析:分层封装结构

你提供的图清晰展示了网络通信中从应用层到物理层的封装过程,每一层都会对上层的数据加上自己的头部信息(Header):

应用层:      应用数据
传输层:   TCP头 + 应用数据
网络层:   IP头 + TCP头 + 应用数据
链路层: 帧头 + IP头 + TCP头 + 应用数据 + 帧尾

这一过程也叫做封装(Encapsulation),反过来在接收端进行解封装(Decapsulation)


二、OSI与TCP/IP模型结构

1. OSI七层模型

层级名称功能简述示例协议
7应用层提供用户接口和网络服务HTTP、FTP、DNS
6表示层数据编码、加密、解密、压缩JPEG、ASCII
5会话层建立、管理、终止会话RPC、NFS
4传输层提供端到端可靠或不可靠的传输TCP、UDP
3网络层路由、逻辑寻址IP、ARP、ICMP
2数据链路层在物理层提供可靠传输,组帧、差错检测PPP、MAC、VLAN
1物理层比特传输、电压、接头类型等物理特性RJ45、光纤、CLOCK

2. TCP/IP四层模型

层级名称功能简述示例协议
4应用层综合会话层、表示层、应用层,提供各种网络服务HTTP、FTP、DNS、SMTP
3传输层提供端到端连接TCP、UDP
2网络层选择路由、逻辑寻址IP、ICMP、ARP
1网络接口层物理设备驱动、帧传输以太网、帧中继、PPP协议

3. 对应关系图表

OSI模型TCP/IP模型
应用层 + 表示层 + 会话层应用层
传输层传输层
网络层网络层
数据链路层 + 物理层网络接口层

三、典型网络模型总结

  • OSI七层模型:理论清晰,教学中常用。
  • TCP/IP四层模型:实现主流,更贴近实际互联网通信协议栈。

四、每层代表协议汇总

OSI七层模型协议示例:

  1. 物理层:CLOCK、RJ45、IEEE 802.3
  2. 数据链路层:MAC、VLAN、PPP
  3. 网络层:IP、ARP、ICMP
  4. 传输层:TCP、UDP
  5. 会话层:RPC、NFS
  6. 表示层:JPEG、ASCII
  7. 应用层:FTP、HTTP、DNS

TCP/IP四层模型协议示例:

  1. 应用层:HTTP、FTP、SMTP、DNS
  2. 传输层:TCP、UDP
  3. 网络层:IP、ICMP、ARP
  4. 网络接口层:以太网协议、PPP、帧中继

五、从百度搜索看网络各层的作用

使用百度搜索,涉及的网络层级如下:

网络层级涉及协议功能
应用层HTTP、HTTPS、DNS提供服务(如网页浏览、域名解析)
传输层TCP、UDP提供可靠或快速传输
网络层IP、ARP、ICMP路由与地址解析
数据链路层MAC、以太网协议物理地址传输,组帧
物理层RJ45、光纤等比特级传输,电信号

示例流程:输入baidu.com并访问网页

  1. DNS域名解析(应用层) → 浏览器要将URL解析为IP地址,DNS服务器使用UDP解析域名,DNS服 务器是基于UDP的,因此会用到UDP协议
  2. HTTP发起连接(应用层) → 使用TCP建立连接并发送请求,http协议报文格式上面已经提到。http生成一个get请求报文,将该报文传给TCP层处理,所以还会用到TCP协议。如果采用https还会使用https协议先对http数据进行加密。
  3. IP寻址(网络层) → 查找目标服务器的IP地址
  4. ARP解析MAC地址(网络层 & 数据链路层) → 获取本地网关MAC地址
  5. 以太网封装(数据链路层) → 封装帧数据,发送到物理层
  6. 比特传输(物理层) → 比特流通过电缆/光纤传输

六,TCP/IP数据链路层的交互过程是怎么样的?

网络层等在数据链路层用MAC地址作为通信目标,数据包到达网络层等往数据链路层发送的时候,首先回去ARP缓存表去查找ip对应的MAC地址,如果查到了,就将此ip对应的MAC地址封装到链路层数据包的包头。如果缓存中没有找到,则会发起一个广播,who is ip xxx tell ip xxxx,所有收到广播的机器看到这个ip是不是自己的,如果是自己的,则以单播的形式将自己的mac地址回复给请求机器。

相关文章:

  • Umi-OCR项目(1)
  • 第七章:赤 色广播计划的全面启动
  • VAO与VBO的相关操作
  • Hive数据倾斜 常见解决办法
  • DeepSeek V3 训练策略:FP8混合精度与多Token预测
  • Python 常用内置函数详解(八):对象属性操作getattr()、setattr()、delattr()、hasattr()、vars()函数详解
  • ​基于51单片机的数字温度计—可显示负数
  • esp32cam开发板的引脚使用和测试
  • 《跨越边界:探索跨端框架中通用状态管理方案设计》
  • 数据库Mysql_约束
  • 响应式布局,在飞帆平台中如此简单
  • 红利底波是什么意思?
  • LegalOne:本土与国际视野融合的法律评级,大湾区律师及律师事务所榜单申报启动
  • 使用CubeMX新建DMA工程——存储器到外设模式
  • 梳理顶会论文相关的经验贴
  • L3-040 人生就像一场旅行
  • 目标文件的段结构及核心组件详解
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 17)
  • 【Shell 脚本编程】详细指南:第三章 - 运算符与条件判断
  • PostgreSQL:pgAdmin 4 使用教程
  • 全红婵/陈芋汐夺得跳水世界杯总决赛女子双人10米台冠军
  • 旅游特种兵们,这个五一“躲进”书吧
  • 燕子矶:物流网络中的闪亮节点|劳动者的书信②
  • 停电催生商机,中国品牌 “照亮” 西班牙
  • 国台办:民进党当局所谓“对等尊严”,就是企图改变两岸同属一中
  • 北大深圳研究生院成立科学智能学院:培养交叉复合型人才