思维导图
应用层
所有能和用户交互产生网络流量的程序(QQ,邮箱)。
- 典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
- ……
表示层
用于处理在两个通信系统中交换信息的表达方式(语法和语义)。
- 功能一:数据格式的变换(翻译官)
- 因为我们数据链路上传输的是比特流的形式,形如:
010101001001
而实际代表的则是图片的格式,这个时候就需要我们表示层处理这数据转换。
- 因为我们数据链路上传输的是比特流的形式,形如:
- 功能二:数据的加密和解密
- 功能三:数据的压缩和恢复
- 例如视频聊天,我们视频聊天的图形数据特别大,这个时候就需要压缩发送过去,等到了接收端在进行解压。
- 主要协议:
jpeg,ascii
等等。会话层
向表示层实体/用户进程提供建立连接并且在连接上有序地传输数据。这是会话,也是建立同步(SYN) . - 功能一:建立,管理,终止会话
- 功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
- 例如适用于传输大文件。
- 主要协议:
ADSP,ASP
等等。
传输层
负责主机中两个进程的通信,即端到端的通信。传输单位时报文段或用户数据段。
- 功能一:可靠传输,不可靠传输
- 可靠传输:例如我们在发送一个大的数据给别人,它实际是会被分割开来一个个数据包,在接受端接受到一个数据包,会返回一个确认信息给发送端,发送端在收到确认后才会发送下一个数据包。
- 不可靠传输:就相当于 QQ 的消息,小的数据只需要一次发送,不需要确认机制,不然很麻烦。
- 功能二:差错控制
- 数据丢失,错误等等
- 功能三:流量控制
- 传输速度是否匹配。控制发送发的速度,来和接受方匹配。
- 功能四:复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
网络层
主要是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。
- 功能一:路由选择
- 选择合适的路由器传输,选择最佳路径
- 功能二:流量控制
- 协调发送到和接收端的速度问题。
- 功能三:差错控制
- 查看分组数据是否有错。
- 功能四:拥塞控制
- 如果网络所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定的措施,缓解这种拥塞。
- 协议:
IP,IPX,ICMP,IGMP,ARP,RARP,OSPF
等等数据链路层
主要任务是把网络层传下来的数据报组装成帧。
数据链路层/链路层的传输单位是帧。 - 功能一:成帧(定义帧的开始和结束)
...101010100001...
因为我们的数据比较长,所以要定义一个开始和结束的标志分开发送,才能让接受端识别出数据。
- 功能二:差错控制
- 帧错+位错(发现由错的丢弃以免浪费资源,以及纠错)
- 功能三:流量控制
- 功能四:访问(接入)控制
- 控制对信道的访问。
- 例如广播,只能一台机子来发送消息占用信道
- 协议:
SDLC,HDLC,PPP,STP
等。物理层
主要任务是在物理媒体上实现比特流的透明传输。
物理层传输单位是比特。 - 透明传输
- 指不管所传输的是什么样的比特组合,都应对能够在链路上传送。(不管我接受什么比特组合,都放到链路上传播。)
- 功能一:定义接口特性
- 功能二:定义传输模式
- 单工(只能一个负责发,一个负责接,定义好的),半双工(一个发,一接,就是如果一方发起通信,另外一方等待,这样一来一回),双工(就像两个人来回交流)。
- 功能三:定义传输速率
- 功能四:比特同步
- 功能五:比特编码
- 协议:
RJ45,802.3
等