OSI七层模型

定义

开放系统互联(Open System Interconnection),定义标准使得不同设备能够互相通信,习惯叫法“OSI七层模型”

OSI 七层模型,数据传输过程图

发送方数据封装(一层层打包)--路由器解封装、重新封装(每一跳的MAC地址都会改变)--接收方解封装(一层层拆包)

通过快递收发过程类比网络通信过程

应用层

应用程序输出数据,类比快递发件人输出货物

为用户提供网络服务的接口,也直接提供网络服务,同时定义应用软件如何通信的标准

协议:

  • 网站:HTTP、HTTPS
  • 远程登录:Telnet
  • 邮件:SMTP、POP3
  • 文件传输:FTP
  • 域名解析:DNS
  • 动态地址配置:DHCP

表示层

提供数据格式转换服务,类比快递打包、装袋、装箱,保证货物隐私、安全

数据的加解密,如:账号密码的加解密
数据编码压缩,如:IP摄像机(H.254)、视频会议(H.323)

会话层

建立和维护用用程序访问验证和会话,类比填写收件人信息,并和收件人确认

服务(应用)验证登录
断点续传:使会话在通信失效后在断点恢复通信

传输层

提供、保证报文在端到端的传输,类比快递公司提供不同特点的快递服务,保证寄件人之间的物流传输

协议:

  • TCP:可靠传输控制协议
    • 关键词:三次握手建立连接、可靠、数据丢了重新发
    • 应用场景:传输效率要求相对较低,但对准确性要求相对较高的场景
      • 电子邮件
      • 文件传输
      • 登录验证
      • 网页访问
  • UDP:用户数据报协议
    • 关键词:没有建立连接,不可靠、尽力了,数据丢了就丢了
    • 应用场景:效率要求相对较高,对准确性要求相对较低的场景
      • 视频会议、直播
      • 语音电话
      • 多人动作类游戏

端口号:

  • 作用
    • 区分同一台设备上的不同的应用程序(服务)
  • 范围:0~65535
  • 目的端口
    • 区分服务端不同的应用程序(服务)
    • 常见端口号:
      • 范围:0~1024
      • FTP:21
      • SMTP:25
      • HTTPS:443
      • HTTP:80
      • DNS:53
  • 源端口
    • 区分客户端不同的应用程序(会话)
    • 动态随机,1025~65535
    • 用户可以自定义用途

网络层

进行路由选择,分组转发数据,类比为选择快递的运输路线

根据目的IP进行路由
动态选路,每个路由节点选择下一跳节点
源IP和目的IP不会发生改变

数据链路层

建立实体链路链接,通过MAC地址提供可靠数据传输服务,类比为快递中转需要知道物流线路上的每个站点的门牌号

物理层

提供原始比特流的传输的通路,类比为选择核实的物流运输工具,物理媒介

电话线
网线
专线

数据封装

往外发数据,每一层的数据封装

数据解封装

接收数据方,每一层的解封装