文章目录
- 1.计算机网络重点总结
-
- 1.1计算机网络重点概述
- 1.2 物理层重点(没啥重点)
- 1.3 数据链路层重点
- 1.4 网络层重点
- 1.5 传输层重点
- 1.6 应用层重点
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.1.3 TCP/IP四层参考模型
1.1.4 五层参考模型
五层参考模型通信过程:
1.2 物理层重点(没啥重点)
1.3 数据链路层重点
1.3.1 数据链路层的流量控制和可靠传输
流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费
可靠传输是发送端发送什么,接收端就要受到什么
1.3.1.1 停止等待协议(Stop-and-Wait)
停止等待协议的无差错情况:
注释:因为一次就一个,所以用0和1标记ACK(确认序号)就行
停止等待协议的有差错情况:
使用一个超时计时器,每发一帧就开始计时,设置时间略长于一个RTT(往返时延)。
发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延
RTT=传播时延x2+处理时间(有时可能直接忽略)
停止等待协议的特点
1.简单
2.信道利用率低。大部分时间数据都在路上,发送方很长时间闲置,资源浪费
1.3.1.2 后退N帧协议(GBN)
因为停止等待协议太浪费时间了,所以尝试采用GBN,发送连续多个数据帧,以增大信道利用率
注释:
累计确认:就是收到一个确认帧,那么它和它之前的所有帧都默认已收到,反之,如果某个确认帧没收到,那么它和它之后的所有帧都默认丢失(即使收到了也丢掉),进行重传
下图是一个实例:
注释:此图发送2帧时丢失,所以接收方几首收到后面的帧也是直接丢弃并且发送最晚收到的有效帧1的ACK,直至2帧的超时重传机制被触发进行重传并得到ACK之后,接收方才会接受2帧以及后面的帧
如果所示,GBN的形式就像排队,接收端为所有帧“预定”了接收位置,如果接收端发送的数据因为某些原因没有接收到,即使收到了这一帧后面所有的帧,这些“排在后面的”帧也要被丢弃
发送窗口不能无限大,与使用的编号的比特数有关,二进制表示:
- 很简单,就是1比特编号0和1,
- 同理2比特编号0-3,二进制表示就是00,01,10,11。
- 如果用1比特编号,却要4个窗口长度,那么窗口内数据编号都编不过来,直接乱套了
- GBN的优缺点也显而易见,优点是相对于上面的停止等待协议,明显提高了信道利用率,缺点是因为重传机制的原因,导致已经收到数据却需要强行丢弃,进而造成浪费
1.3.1.3 选择重传协议(SR)
吸取了GBN协议的教训,我们打算尝试只重传错误的帧,这样的话就不用浪费资源把已经收到的帧再重传一次了。
在GBN中,仅有接收端有一个窗口来存放数据帧,在SR中,两者都有窗口了。
和GBN的区别其实就是做了一个数据缓存,已经收到的帧不用扔了,等待之前因意外丢失的帧收到的时候确认即可,但是只能缓存窗口尺寸内的包含的帧(注释:缓存不可能无限大)
SR运行过程:
注释:2帧丢失之后仍然在发送,但是2帧丢失之后只是缓存,并没有移动窗口;它可以继续接受窗口范围内排在2帧后面的数据帧,直至最后2帧收到后一次性确认窗口内的所有已经收到的帧,再移动窗口。
同样的,因为编号的问题,发送窗口不能无限大
当发送窗口最后和接受窗口大小相同时,利用率比较高
1.3.2 介质访问控制技术
就是让节点之间的通信不会进行相互干扰
1.3.2.1 静态划分信道–信道划分协议
1.3.2.1.1 频分多路复用FDM
1.3.2.1.2 时分多路复用TDM
1.3.2.1.3 统计时分复用STDM
TDM的缺点就是利用率低,所以又衍生出了STDM
STDM的原则是先到先走,满了就发,相对于TDM提高了利用率
1.3.2.1.3 码分多路复用CDM
每个节点分配一种不同的编码,每个节点使用其唯一的编码来对发送的数据进行编码(如果精心选择编码,不同节点能同时传输)
1.3.2.2 动态分配信道–随机访问协议
所有用户都可以随机发送信息,发送时可以占用全部带宽,理论上个人使用时比静态分配信道的速度更快
1.3.2.2 .1 ALOHA协议
帧到达节点时,立刻传输。如果发生碰撞,节点将立即(在完全传输碰撞帧后)以概率p重传。否则,等待一个帧传输时间,再以概率p重传。信道有效传输速率实际不是R bps,而是时隙ALOHA的一半
时隙ALOHA协议:
时间被划分为时隙,每个节点的时间同步,帧的传输只在时隙的开始时进行。如果发生碰撞,在下一个时隙开始时以概率p重传,否则等待一个时隙再以概率p重传…(信道有效传输速率实际不是R bps,而是0.37R bps)
1.3.2.2.2 CSMA协议(载波侦听多路访问)
名称 | 描述 | 优点 | 缺点 |
---|---|---|---|
1-坚持CSMA | 发送信息时监听信道,一空闲下来就立即传输,信道忙也一直监听,如果发送时冲突就等待随机时长之后再监听 | 立即发送,利用率高 | 如果多台设备同时监听,那么会发生冲突 |
非坚持CSMA | 发送信息时监听信道,如果空闲就立即传输,信道忙就随机等待一段时间后再监听 | 冲突发生的几率减少 | 因为需要等待,所以利用率不高 |
p-坚持CSMA | 发送信息时监听信道,空闲时以概率p进行传输,概率1-p不传输。信道忙就随机等待一段时间后再监听 | 冲突减少的同时效率也比较高 | 即使发生冲突也要坚持发送数据,资源被浪费 |
1.3.2.2.3 CSMA/CD协议
因为链路实际有长短,发送数据需要时间,这个时间内可能就被其他节点当成空闲状态导致发生碰撞。
先侦听信道,如果没有其它节点在使用信道,则传输数据。但是有碰撞检测,如果发生碰撞,会停止传输剩下的数据,等待一个随机时间(通常比传输一帧短)后,再进行尝试。
知道自己发生碰撞的最长时间是2τ(两倍的传播时延),就是一去一回
图示传播时延对载波监听的影响:
由此我们可以想到最小帧长的问题,因为如果帧太短,帧都发送完了才检测到碰撞导致停止,导致无法停止碰撞
1.3.2.2.4 CSMA/CA协议
1.3.2.2.5 CSMA/CD 与 CSMA/CA的区别
1.3.2.3 动态分配信道–轮询访问协议
主要包括两大类,一个是轮询协议,另一个是令牌传递协议
1.3.2.3.1 轮询协议
就是选出一个代表,让他控制所有的传输
注释:
轮询开销在随着服务的节点越多,需要用于查询是否发送数据发送的数据帧也就越多,会造成一定开销
等待延迟就是因为这是轮流“邀请”,所以难免某个节点需要发送数据,但是主节点还在较远的需要里有需求的节点那边,导致需求得不到立即响应
单点故障很好理解,就是代表挂了
1.3.2.3.2 令牌传递协议
注释:在节点之间没有收发数据的需求时,令牌在节点之间循环。
发送数据的流程
- 当一个节点需要时就可以获得这个令牌。然后修改这个令牌的状态(空闲->占用)
- 再将令牌与数据帧结合,让其在节点构成的环之间流动
- 不是目的地的节点收到令牌也不接受,直接略过,目标节点收到信息并复制一份到本地(传输完成),因为是个闭环,所以发送节点最后得到令牌
- 最后,发送令牌的节点对令牌的内容进行检查,如果发现数据出错还要重新发一遍
问题基本和轮询协议相同
1.3.3 广域网
1.3.3.1 广域网使用的链路层协议
1.3.3.1.1 PPP协议(Point-to-Point Protocol)
PPP协议是目前使用最广泛的数据链路层协议,拨号基本都是PPP协议
PPP协议仅支持全双工链路
PPP协议需要满足的要求:
PPP协议不需要满足的要求:
PPP协议组成成分以及功能:
PPP协议的帧格式:
1.3.3.1.2 HDLC协议(High-Level Data Link Control)
HDLC的三种站:
HDLC的帧格式:
1.3.3.1.3 PPP协议和HDLC协议对比
为什么HDLC协议更可靠,但是我们使用PPP协议?
因为现在网络要求高,数据链路层本来就是不可靠的尽力传