计算机网络3_数据链路层
1.简介
数据链路层在物理层之上,属于计算机网络的低层,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
使用的信道主要为:
1) 点对点信道:使用点对点通信方式
2) 广播信道:信道上连接许多主机组成局域网,需要使用专用的协议来进行协调。
部分概念说明:
1)数据链路(data link):在一条物理线路上添加必要的通信协议来控制数据的传输(包括硬件和软件),常用网络适配器(网卡)实现。
2)帧:数据链路层的协议数据单元。
2. 点对点信道
2.1通信主要步骤
①A把网络层的IP数据报添加首部、尾部封装成帧
②A将帧发送到B数据链路层
③B检查,无差错则上报网络层
2.2基本问题
根据以上的步骤,主要有封装成帧,透明传输,差错检测三问题。
①封装成帧
帧 = 首部 + IP数据报(来源于网络层) + 尾部
MTU(Maximum Transfer Unit):数据部分的最长长度
②透明传输
“透明”很生动,就是说不管传什么数据,都不受限制。
为什么会受到限制?比如说传输的数据有一部分跟帧首部一模一样,那么就分不清哪里是首部了,传输的数据就会受到影响,所以说需要想办法解决这个问题。
③差错检测
衡量标准:BER(Bit Error Rate) = 传输错误比特 / 总比特
解决方案:CRC(Cyclic Redundancy Check)
2.3点对点协议PPP(Point-to-Point Protocol)
1) 组成部分
①封装帧。将IP数据报封装到串行链路的方法
②链路控制协议LCP(Link Control Protocol)。建立、配置、测试数据链路
③网络控制协议NCP(Network Control Protocol)。
2)帧
①内容
F(Flag),01111110:标志帧的开始
A,C:暂无定义。11111111 00000011
协议:LCP:00000000 00100001
NCP:11000000 00100001
FCS:CRC的帧检测序列
②实现透明传输
定义好了帧格式,需要解决透明传输问题,不然信息与定义的字段一致就乱起来了。那么PPP协议怎么解决的呢?有俩方法。
- 法①:字节填充,用于异步传输(逐个字符传送)
F(Flag) = 01111110,设计转义符01111101,这里就简写为\F吧
| 原数据 | 新数据 |
| F(01111110) | \F + F 即 01111101011111110 |
| \F | \F + 01011101 |
| 小于00100000的ASCII字符 | 前面填充\F |
接收方进行反变换后即可回复信息
- 法②:零比特填充,用于同步传输(一连串连续传送)
| 原数据 | 新数据 |
| 11111 | 111110 |
每有5个1就填0,就不会出现与F相同的字段
3)工作状态
step1:用户拨号接入ISP(Internet Service Provider)
step2:PC向ISP发送LCP分组,NCP为PC分配IP地址,建立连接
2.4 Packet Tracer模拟
请参见本文使用思科Packet tracer软件模拟PPP协议
Router2发送给下一个Router的为PPP协议帧,截获后发现格式与前述一致。
3.广播信道
广播信道进行一对多的通信,例如局域网,下面说说局域网的数据链路层。
3.1局域网的数据链路层
局域网:网络为一个单位拥有,地理范围和站点数目有限。具备广播功能,从一个站点可以访问全网。主要有这么几种拓扑结构:
从上面的结构可以看出,局域网中计算机共享信道,因此 需要有一个合理的分配方式。包括两种:
(1)静态划分信道:把信道分配给用户(频分、时分、波分、码分复用),相当于一人一部分,容易浪费。
(2)动态媒体接入控制/多点接入(multiple accese):在用户需要的时候才占用信道,更节省。包括①随机接入:用户随机发消息,要是同时发送就会碰撞,发送失败。②受控接入,用户服从控制发送信息,例如多点线路探询(polling)/轮询。
注意,以太网在局域网市场有绝对优势,因此以太网≈局域网。
以太网现在一般用DIX EthernetV2标准
- PC如何连接到局域网?
PC上需要安装通信适配器(adapter),又称网卡。网卡包括处理器、存储器,一般使用RJ-45接口。
3.2CSMA/CD协议
前面说过,由于局域网上的计算机共享信道,因此就需要一个分配方式进行协调,以太网采用CSMA/CD协议,即载波监听多点接入/碰撞监测(Carrier Sense Multiple Access with Collision Detection)进行协调。
多点接入:说明是总线型网络,计算机共享信道。
载波监听:发送前监听,发数据前看看总线上有无其他站发送数据。
碰撞检测:边发送边监听,发送中如果检测到碰撞,就停止发送,等待一段随机时间再发送。
因为边发送边监听,不能同时发送和接收,只能进行半双工通信。
3.3使用广播信道的以太网
这次再详细看使用广播信道的以太网
1)使用集线器的星形拓扑
集线器工作在物理层,仅简单地转发数据,不会碰撞检测,相当于一个多接口的转发器。
整个拓扑逻辑上是一个总线型网,站点中的适配器执行CSMA/CD协议。
2)物理地址MAC
MAC:固化在适配器的ROM中的唯一地址,即硬件地址或物理地址,只有换了适配器才会变。
DIX Ethernet V2标准的MAC帧格式:
注意,以太网以帧为单位传送数据,传送时帧之间有间隙,接收方找到帧开始的定界符,后面连续的比特流都属于一个MAC帧,所以不需要帧结束定界符,也不需要字节填充保证透明传输。
3.3扩展的以太网
1)物理层扩展
以太网之间主机间距离不能太远,否则信号会衰减,简单的方法是使用光纤和光纤调制解调器。
使用多个集线器可以形成更大范围的以太网。但造成两个问题:碰撞域增大,更容易信息碰撞;必须使用同一以太网技术(例如数据率要相同)。
2)数据链路层扩展
①网桥
网桥根据MAC帧的目的地址进行转发和过滤,不改变帧的原地址,转发给目的地址所在的接口。
有4个作用:过滤通信量,增大吞吐量:将碰撞域隔离开,从而每个碰撞域可以各自通信,总线上通信量减少,总吞吐量增加;提高可靠性;可互连不同物理层,不同,AC子层和不同速率的以太网;扩大了物理范围。
缺电:增加时延;适宜通信量不大,用户不多的情况,可能因广播过多产生网络拥塞。
②交换机
实质上是一个多接口的网桥,工作在数据链路层,当主机需要通信的时候,交换机可以同时连通许多对的接口,使每一对通信的主机像独占通信媒体一样,无碰撞地传输数据,得到广泛应用。
3.4高速以太网
100Mb/s以上速率的以太网为高速以太网。包括:
快速以太网100BASE-T:在双绞线传送100Mb/s基带信号,为星形拓扑。
G比特以太网:1Gb/s以下全双工/半双工工作
10G比特以太网(10GE):传输媒体为光纤,只半双工工作
40/100G比特以太网:目前最高传输速率,用于和核心路由器连接。
对于上网用户密集的楼宇,可选择宽带接入高速以太网,如图所示: