这是我在Coursera上的学习笔记。课程名称为《Computer Networks》,出自University of Washington。
由于计算机网络才诞生不久,目前正在以高速在发展,所以有些旧的教材可能都已经跟不上时代了。这门课程在2013年左右录制,知识相对还是比较新的。覆盖了计算机网络中的各个协议层,从物理层到应用层都讲得非常仔细。学完这门课程之后对计算机网络会有比较深刻的了解。
本章详细讲解了链路层的具体情况,包括重发技术、多址技术和交换技术。
-
链路层概要
-
话题
-
重发
-
multiple access 多址
-
交换
-
-
-
重发
-
话题
-
两种处理错误的办法:一种方法是检测帧中的错误,如果有错误就将帧重新发送,另一种方法是矫正错误(上一章已经介绍了)
-
-
可靠性
-
可靠的传输应该放在哪个协议层呢?
-
可靠性传输应该在所有的协议层上。只不过不同的协议层层贡献不同
-
-
ARQ自动重复请求
-
这是增加可靠性的一种方法。WiFi和TCP必须使用
-
规则:接受方收到消息后发送ACK标志,发送方不停的重新发送数据,直到收到了ACK
-
通常情况下,发送方给对方发送了数据,接受方返回ACK标志。出错的情况下,发送方发送了一条消息,对方没有收到,发送方再发送一次数据,对方返回ACK标志。这样以后消息才算发送成功
-
-
ARQ的问题
-
基本问题:超时应该设为多久?如何避免发送重复的帧?
-
需要不错的性能和100%正确性
-
-
超时
-
时间不能太长也不能太短
-
局域网的超时很简单,互联网的超时就比较复杂了。因为不同的环境所需要的超时时间是不一样的。
-
-
帧重复
-
ACK丢失会造成帧的重复
-
超时重发之后刚好收到了ACK,也会造成重复
-
-
序列号
-
为了防止帧重复,引入了帧序列
-
序列号原本只需要1个比特就行了
-
在帧和ACK中都加入序列,这样能防止帧的重复
-
-
stop-and-wait局限
-
这样一次只允许发送一帧
-
-
滑动窗口
-
是stop-and-wait的推广形式,能够一次发送多帧
-
-
-
multiplexing多址
-
话题
-
multiplexing就是让多个用户共享网络资源
-
最常见的场景就是多个用户使用同一条网络线路
-
-
TDM时分多址
-
每个用户分配一个时间片
-
-
FDM频分多址
-
每个人分配一个不同的频率
-
-
TDM和FDM的比较
-