计算机网络笔记,视频地址:https://www.bilibili.com/video/av9876107
参考教材:计算机网络第七版,谢希仁
系列笔记地址:
文章目录
1. 数据链路层的基本概念和基本问题
1.1 数据链路层的信道类型
- 点对点信道:使用一对一的点对点通信方式
- 广播信道:使用一对多的广播通信方式,需要使用专门的共享信道协议来协调主机的数据发送
1.2 链路与数据链路
- 链路(link):一条点到点的物理线路段,中间没有任何其他的交换结点。一条链路是一条通路的一个组成部分
- 数字链路(data link):除物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。一般使用配置器(网卡)来实现这些协议的硬件和软件
1.3 帧
帧是数据链路层中数据传输的单位,即给数据添加了帧头,帧尾,校验值及物理层地址,在数据链路层可以进行数据校验。
1.4 封装成帧
帧头和帧尾是区分不同帧的界限
1.5 透明传输
如果帧的数据部分有和帧头和帧尾相同的数据,可能会将帧的一部分数据当作一个完整的帧,为了解决这个问题,一般会在数据部分与帧头或帧尾相同的数据之前添加一个转义字符ESC,这种方法称为字节填充或字符填充,如果数据中出现转义字符,则在也在转义字符前添加一个转义字符
1.6 差错控制
在传输过程中可能出现比特差错,即1可能变为0,0可能变为1
为了降低误码率,保证数据传输的可靠性,需要采用一些差错检测措施
- 循环冗余检验(CRC)
余数作为帧检验序列(FCS),将FSC补充到商后,作为被除数来除以除数,如果余数为0,则表示传输过程中无差错,如果不为0,则表示传输过程中存在差错
2. 两种情况下的数据链路层
2.1 点对点信道的数据链路层
点到点协议即PPP(Point-to-Point Protocol)协议
ppp协议应该满足:
- 封装成帧
- 透明性
- 多种网络层协议
- 多种类型链路
- 差错校验
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
PPP协议不需要满足:
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
PPP协议的三个组成部分:
- 数据链路层协议可以用于异步串行或同步串行介质
- 使用LCP(链路控制协议)建立并维护数据链路连接,基于身份验证、计费,只有链路层通了网络层才可能通
- 网络控制协议(NCP)允许在点到点连接上使用多种网络协议
- 字节填充:如果信息字段出现了0x7E,可以将其变为(0x7D, 0x5D)
- 零比特填充:如果信息段出现连续五个1,那么会在后面添加一个0
2.2 广播信道的数据链路层
广播指的是网络上所有计算机都能收到信号
使用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)协议,CSMA指的是多点接入,表示多台计算机以多点接入的方法连接到一根总线上;CD指的是载波监听,表示每个站在发送数据之前先要检测总线上是否有其他计算机发送数据,如果有则暂时不要发送数据,以免发生碰撞
碰撞过程如下图所示,如果计算机A和计算机B同时发送信号,会在中间相遇,然后信号往回传播
可以看出使用CSMA/CD协议的以太网使用半双工通信
以太网两端口的往返时间称为争用期或碰撞窗口,一般争用期的长度为51.2微秒,争用期内可以发送64个字节
发送碰撞的站在停止发送数据后,要推迟一个随机时间才能再发送数据
3. 以太网
DIX Ethernet V2是世界上第一个局域网产品(以太网)标准(常用)
同时IEEE也定义了802.3标准
DIX Ethernet V2和802.3标准之间的差别较小,都可以当作以太网,更宽泛来讲,只要满足CSMA/CD协议的都可以叫做以太网。
802委员会将局域网的数据链路层拆分为了两个子层:
- 逻辑链路控制LLC(Logical Link Control)子层:与接入传输媒体有关
- 媒体接入控制MAC(Medium Access Control)子层:与传输媒体无关
现有的网络适配器一般只有MAC层而没有LLC层
3.1 以太网的拓扑
-
星型拓扑
集线器(Hub)使用电子器件来模拟实际电缆线的工作,使用了大规模集成芯片
集线器(Hub)类似多接口的转发器,工作在物理层
使用集线器的以太网使用的标准是10BASE-T,其中10表示带宽为10Mb/s,base表示基信号(方波),T表示双绞线
3.2 以太网的信道利用率
争用期长度为2 τ \tau τ,帧长为L(bit),发送速率为C(b/s),所以传输一帧数据的时间为 T 0 = L C T_0=\frac{L}{C} T0=CL
那么信道利用率为 a = τ T 0 a=\frac{\tau}{T_0} a=T0τ
a越小信道利用率越高
在理想情况下,数据在传输过程中不会发生碰撞,那么发送一帧数据的总时间为 T 0 + τ T_0+\tau T0+τ,所以信道利用率的极限值为 S m a x = T = 0 T 0 + τ = 1 1 + a S_{max}=\frac{T=0}{T0+\tau}=\frac{1}{1+a} Smax=T0+τT=0=1+a1
3.3 MAC
MAC地址也叫做物理地址
一般来说IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(高位24位),地址字段的后三个字节(低位24位)由厂家自行指派,称为扩展标识符,保证配置器(网卡)没有重复地址。一个地址快可以生成 2 24 2^{24} 224个不同的地址,称为MAC-48,通用名为EUI-48,MAC地址实际上是配置器标识符EUI-48
“发往本站的帧”包括以下三种:
- 单播(unicast)帧:一对一
- 广播(broadcast)帧:一对全体
- 多播(multicast)帧:一对多
MAC帧的格式如下:
一个帧有最少64个字节,如果数据中少于46个字节,需要补满46个字节
无效的MAC帧包括:
- 帧的长度不是整数个字节
- 受到的帧检验序列FCS查出有差错
- 数据字段的长度不在46-1500字节之间
帧间最小间隔为9.6 μ s \mu s μs,相当于96bit的发送时间
4. 扩展以太网
这里稍微插一下集线器、交换机以及路由器的功能,首先要明确集线器是物理层设备,交换机是数据链路层设备,路由器是网络层设备,一个简单明了的例子可以参考博客https://blog.csdn.net/GoGleTech/article/details/80519510
-
距离扩展
在物理层上可以通过光纤和一对光纤调制解调器连接到集线器上进行扩展
-
数量扩展
在物理层上可以通过集线器级联扩展网络中计算机数量,但是这样做会形成一个大的冲突域,效率较低
在数据链路层上可以通过网桥(相当于交换机的前身)来扩展连接计算机的数量,根据MAC地址实现特定主机之间的通信,正因为如此,所以交换机之间不同主机的通信不影响其他主机的通信,是一种全双工通信方式
5. 高速以太网
速率达到100Mb/s以上的以太网被称为高速以太网
100Base-T以太网的物理层有:
- 100Base-TX:两对UTP五类线或屏蔽双绞线
- 100Base-FX:使用2对光纤
- 100Base-T4:使用4对UTP3类线或5类线
100Base-T可以在全双工方式下工作而无冲突产生,因此,不使用CSMA/CD协议,MAC帧仍然是802.3标准规定,帧间时间变为 0.96 μ s 0.96\mu s 0.96μs
速率达到1Gb/s的以太网被称为吉比特以太网(1000Base-T)
吉比特以太网有全双工和半双工两种工作方式
吉比特以太网的物理层:
- 1000Base-X:基于光纤通道
- 1000Base-SX:SX表示短波长,传输距离275或550
- 1000Base-LX:LX表示长波长,传输距离550或5000
- 1000Base-CX:CX表示铜线,传输距离25米
- 1000Base-T:使用四对五类线UTP
速率10GB/s的以太网称为10吉比特以太网,可以实现端到端的以太网传输