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七层模型协议示例:
物理层 :CLOCK、RJ45、IEEE 802.3数据链路层 :MAC、VLAN、PPP网络层 :IP、ARP、ICMP传输层 :TCP、UDP会话层 :RPC、NFS表示层 :JPEG、ASCII应用层 :FTP、HTTP、DNS
TCP/IP四层模型协议示例:
应用层 :HTTP、FTP、SMTP、DNS传输层 :TCP、UDP网络层 :IP、ICMP、ARP网络接口层 :以太网协议、PPP、帧中继
五、从百度搜索看网络各层的作用
使用百度搜索,涉及的网络层级如下:
网络层级 涉及协议 功能 应用层 HTTP、HTTPS、DNS 提供服务(如网页浏览、域名解析) 传输层 TCP、UDP 提供可靠或快速传输 网络层 IP、ARP、ICMP 路由与地址解析 数据链路层 MAC、以太网协议 物理地址传输,组帧 物理层 RJ45、光纤等 比特级传输,电信号
示例流程:输入baidu.com
并访问网页
DNS域名解析(应用层) → 浏览器要将URL解析为IP地址,DNS服务器使用UDP解析域名,DNS服 务器是基于UDP的,因此会用到UDP协议HTTP发起连接(应用层) → 使用TCP建立连接并发送请求,http协议报文格式上面已经提到。http生成一个get请求报文,将该报文传给TCP层处理,所以还会用到TCP协议。如果采用https还会使用https协议先对http数据进行加密。IP寻址(网络层) → 查找目标服务器的IP地址ARP解析MAC地址(网络层 & 数据链路层) → 获取本地网关MAC地址以太网封装(数据链路层) → 封装帧数据,发送到物理层比特传输(物理层) → 比特流通过电缆/光纤传输
六,TCP/IP数据链路层的交互过程是怎么样的?
网络层等在数据链路层用MAC地址作为通信目标,数据包到达网络层等往数据链路层发送的时候,首先回去ARP缓存表去查找ip对应的MAC地址,如果查到了,就将此ip对应的MAC地址封装到链路层数据包的包头。如果缓存中没有找到,则会发起一个广播,who is ip xxx tell ip xxxx,所有收到广播的机器看到这个ip是不是自己的,如果是自己的,则以单播的形式将自己的mac地址回复给请求机器。