计算机网络分层结构
1.计算机网络
1.1计算机网络重点概述
1.1.1 计算机网络分层结构
为什么要分层,分层要做什么:
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
(5)确保差错和意外可以解决。
1.1.2 OSI七层参考模型
名称 英文 作用
应用层 Application Layer 直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。如HTTP、SMTP、FTP、DNS等
表示层 Presentation Layer 把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息
会话层 Session Layer 负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接
传输层 Transport Layer 负责端到端通讯,可靠传输,不可靠传输 ,流量控制,复用分用
网络层 Network Layer 负责选择路由最佳路径,规划IP地址(ipv4和ipv6变化只会影响网络层),拥塞控制
数据链路层 Data Link Layer 帧的开始和结束,还有透明传输,差错校验(纠错由传输层解决)
物理层 Physical Layer 定义网络设备接口标准,电气标准(电压),如何在物理链路上传输的更快
OSI七层参考模型通信过程:
网络层及以上,每一层都要对上一层发送的数据进行处理(加个头部)
数据链路层不仅需要加头部,还需要加尾部
物理层什么都不加,只管发送数据(比特流)
1.2 物理层重点(没啥重点)
1.3 数据链路层重点
1.3.1 数据链路层的流量控制和可靠传输
流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费
可靠传输是发送端发送什么,接收端就要受到什么
停止等待协议的无差错情况:
注释:因为一次就一个,所以用0和1标记ACK(确认序号)就行
停止等待协议的有差错情况:
使用一个超时计时器,每发一帧就开始计时,设置时间略长于一个RTT(往返时延)。
发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延
RTT=传播时延x2+处理时间(有时可能直接忽略)
1.3.1.2 后退N帧协议(GBN)
因为停止等待协议太浪费时间了,所以尝试采用GBN,发送连续多个数据帧,以增大信道利用率
注释:
累计确认:就是收到一个确认帧,那么它和它之前的所有帧都默认已收到,反之,如果某个确认帧没收到,那么它和它之后的所有帧都默认丢失(即使收到了也丢掉),进行重传
下图是一个实例:
注释:此图发送2帧时丢失,所以接收方几首收到后面的帧也是直接丢弃并且发送最晚收到的有效帧1的ACK,直至2帧的超时重传机制被触发进行重传并得到ACK之后,接收方才会接受2帧以及后面的帧
如果所示,GBN的形式就像排队,接收端为所有帧“预定”了接收位置,如果接收端发送的数据因为某些原因没有接收到,即使收到了这一帧后面所有的帧,这些“排在后面的”帧也要被丢弃。
- 点赞
- 收藏
- 关注作者
评论(0)