使用一对一的点对点通信方式
使用一对多的广播通信方式,当我们在发送数据时会广播到在信道中的主机
随后若主机为目标主机则会发送成功接收反馈,若不是则发还接收失败反馈
在5层结构中,位于物理层和网络层中间
一条无源的点到点的物理线路段,中间没有任何其他的交换结点
把实现通信协议的硬件和软件加到链路上,就构成了数据链路
现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
一般的适配器都包括了数据链路层和物理层这两层的功能
在一段数据的前后添加首部和尾部就形成了帧
其中首部和尾部是用来进行帧定界的
当帧数据部分出现帧结束符时会导致透明传输的问题(即:将部分数据丢弃)
解决:
发送端的数据链路层在数据中出现控制字符“SOH"或“EOT"”的前面插入一个转义字符“ESC"(其十六进制编码是1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
一段时间内,传输错误的比特占所传输比特总数的比率称为误码率
误码率和信噪比有很大的关系,所以必须要有差错检测保证传输正确率
在数据链路层传输的帧中广泛使用了循环冗余检验CRC的检错技术
在发送端,先把数据划分为组。假定每组k个比特。
假设待传送的一组数据M= 101001(现在k = 6)。我们在M的后面再添加供差错检测用的n位冗余码一起发送。
用二进制的模⒉运算进行2n乘M的运算,这相当于在M后面添加n个0。
得到的(k +n)位的数除以事先选定好的长度为(n + 1)位的除数P,得出商是Q而余数是R,余数R比除数P少1位,即R是n位。
接收方接收到数据后,同样使用CRC检验来判断接收到的数据是否有差错
若得出的余数R=0,则判定这个帧没有差错,就接受(accept)
若余数R≠0,则判定这个帧有差错,就丢弃
但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错
只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小
进行CRC只能进行无差错接受,要做到可靠传输必须要进行确认和重传机制
在发送完一个帧后,必须暂时保留已发送的帧的副本。数据帧和确认帧都必须进行编号。
只要超过了一段时间还没有收到确认,就认为已发送的帧出错或丢失了,因而重传已发送过的帧。这就叫做超时重传。
超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。
发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。
由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。
如果发送方发送了前5个分组,而中间的第3个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做Go-back-N(回退N),表示需要再退回来重传已发送过的个分组。
GBN协议存在一个缺点:一个分组的差错可能引起大量分组的重传,这些分组可能已经被接收方正确接收了,但由于未按序到达而被丢弃。
可设法只重传出现差错的分组。但必须加大接收窗口,以便先收下失序到达但仍然处在接收窗口中的那些分组,等到所缺分组收齐后再一并送交上层。这就是选择重传SR(Selective Repeat)协议。
为实现可靠传输需要付出代价
因此,应当根据链路的具体情况来决定是否需要让链路层向上提供可靠传输服务。
当链路误码率非常低时,在数据链路层可不实现可靠传输,而是由上层协议(例如,运输层的TCP协议)来完成。
但是在使用无线信道传输数据时,由于信道质量较差,在数据链路层仍需要实现可靠传输(例如使用停止等待协议)。
PPP是目前使用最多的数据链路层协议,当用户使用拨号电话线接入因特网时常用
规定采用硬件来完成比特填充
使用一种特殊的字符填充法
0x7E ==> 0x7D,0x5E
0x7D ==> 0x7D,0x5D
若出现小于0x20的就要在前面加入一个0x7D
当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的LCP分组(封装成多个PPP帧)。
这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC 机成为因特网上的一个主机。
通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。
广播信道可以进行一对多的通信,能很方便且廉价地连接多个邻近的计算机,因此曾经被广泛应用于局域网之中。
由于用广播信道连接的计算机共享同一传输媒体,因此使用广播信道的局域网被称为共享式局域网。
虽然交换式局域网在有线领域已完全取代了共享式局域网,但无线局域网仍然使用的是共享媒体技术。
为解决同时有多个站点在发送数据时共享信道上的信号冲突问题,因此共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制或多址接入问题
媒体接入控制技术分类:1. 静态划分信道 , 2. 动态接入控制
分配专用信道进行发送,在所有信道上接收,以保证无冲突
主要有:1. 频分多址,2. 时分多址,3. 码分多址
各站点动态占用信道发送数据
主要:
网络为一个单位所拥有,且地理范围和站点数目均有限。
最初,主要用来连接一个单位内部的计算机,方便地共享所有连接在局域网上的各种硬件、软件和数据资源。
现在,局域网将各种企业、机构、校园中的大量用户接入到互联网中,网络中大部分的信息资源都集中在这些局域网中。
在局域网中数据链路层被拆分为:逻辑链路控制层(LLC)和媒体接入控制层(MAC)
与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的
所以基本不考虑LLC
网络接口板又称为通信适配器或网络接口卡或网卡
在局域网中,硬件地址又称为物理地址,或MAC地址。MAC地址共有48位,6字节,MAC地址必须保证是唯一的。
公司标识符:前三个字节(即高位24位),代表网卡厂商编号。
扩展标识符:后三个字节(即低位24位)由厂家自行指派,必须保证生产出的适配器没有重复地址。
适配器从网络上每收到一个MAC帧就首先用硬件检测MAC地址
如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。
“发往本站的帧”包括以下三种帧:
单播(unicast)帧(一对一):接收到的帧MAC地址与本站硬件地址相同
广播(broadcast)帧(一对全体)∶物理地址(MAC)是OXffffff的帧,发送本局域网所有的站点的帧。
多播(multicast)帧(一对多):即发送本局域网一部分站点的帧。
混杂方式:
工作在混杂模式下的网卡接收所有流经网卡的帧,包括不是发给本机的包。默认情况网卡只把发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。
以太网的两个标准:
当网络覆盖范围越大,既端到端时延越大,信道极限利用率越低,即网络性能越差。
另外,端到端时延越大或连接的站点越多,都会导致发生冲突的概率变大,网络性能还会进一步降低。
可见,共享式以太网只能作为一种局域网技术。
传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线
这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
集线器:提供可靠的接口,是一个多接口的转发器,工作在物理层
特征
物理上采用星形拓扑:
数据字段的长度与长度字段的值不一致;帧的长度不是整数个字节;
用收到的帧检验序列FCS查出有差错;数据字段的长度不在46~1500字节之间。有效的MAC帧长度为64~1518字节之间。
对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧
最初的以太网使用总线型
总线上的每一个工作的计算机都能检测到B发送的数据信号。
由于只有计算机D的地址与数据帧首部写入的地址一致,因此只有D才接收这个数据帧。
其他所有的计算机(A,C和E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。
具有广播特性的总线上实现了一对一的通信。
因为所有节点以广播的方式接受或发送数据,多个结点同时发送和接收时会出现冲突导致传输失败
先听后说,边说边听,冲突停止,随机延迟后重发
载波监听:先听再说
发送前先监听总线上是否有信号
如果有,则停止发送数据(避免冲突),
同时继续监听,直至发现信道空闲时,发送数据
冲突检测:边说边听
边发送,边检测,是否与别人发送冲突,
若冲突,立即停止发送,随机延迟后再去“载波监听”
电磁波传播需要时间,而监听只能测到本站接入点的信号。当某个站监听到总线是空闲时,总线不一定是空闲的所以就需要冲突检测
表示许多计算机以多点接入的方式连接在一根总线上。
指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。总线上并没有什么“载波”。“载波监听就是用电子技术检测总线上有没有其他计算机发送的数据信号。
计算机边发送数据边检测信道上的信号电压大小。所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。当连接很多站点时,以太网的平均吞吐量要比以太网的最高数据率小很多。
基本过程:
因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式
CSMA/CA协议信道利用率低于CSMA/CD协议信道利用率。但是由于无线传输的特性,在无线局域网不能采用有线局域网的
CSMA/CD协议。信道利用率受传输距离和空旷程度的影响,当距离远或者有障碍物影响时会存在隐藏终端问题,降低信道利用率。
具体最高的信道利用率与传输速率有关。在IEEE802.11b无线局域网中,在1Mb/s速率时最高信道利用率可到90%,而在11Mb/s时最高信道利用率只有65%左右。
由于CSMA/CD可以通过电压变化知道是否发生冲突。而CSMA/CA则是监听到介质空闲后,等待一个JFG(帧间隙)的时间,再等待另一个随机时间后发送,尽量避免发生冲突,发送的时候用定时器检测确认信息,如果出错,再采用避让算法
CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等。
使用的连接设备有:集线器,中继器
不执行数据链路层协议
接收后不存储,不解读数据帧
进行按位转发
使用的连接设备有:网桥,交换机
执行数据链路层协议
接收后,存储、解读帧的控制信息,选择转发端口,重组帧,再转发
是物理层互联
不执行数据链路层协议
多个共享以太网扩展后仍是一个局域网
扩展后仍是一个冲突域
是数据链路层互联
执行数据链路层协议,不同类型局域网需要协议转换·多个共享以太网互联后是多个局域网
互联后是多个冲突域
使用设备:网桥,交换机
固定的一种或几种局域网的互连
网桥和交换机根据自己的规则,选择转发端口
使用设备:路由器
任意类型的局域网互连
为各个互连的局域网分配不同的IP子网
路由器根据IP协议和IP地址确定向哪个网络转发
扩展:扩大地域范围
互联:
1.使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
2.扩大了局域网覆盖的地理范围。
1.碰撞域增大了,但总的吞吐量并未提高。总的吞吐量并未提高,还会下降。
扩展前
扩展后
一个冲突域
物理上是树型结构,逻辑上是总线结构
主机数量增加=》冲突次数增加=》重载时效率更低
同时只能有一对通信,还是10M带宽
必须是相同的(如速率相同)局域网才能这样扩展
2.在同一个冲突域中的每个节点都能收到信道上的所有帧。
3.如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
4.由于争用期的限制,并不能无限扩大地理覆盖范围
使用网桥
网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发
网桥具有过滤帧的功能,可将数个局域网网段连接在一起。
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址然后再确定将该帧转发到哪一个接口
站表是转发帧的依据
转发收到的无差错的帧:
按目的地址查找站表的地址栏找到记录,若该记录给出的端口就是该帧进入网桥的端口,则丢弃这个帧
否则,组帧后,向该记录给出的端口转发。没找到记录,组帧后向其他所有端口广播转发
目前使用最多的网桥,是一种即插即用的设备
根据站表组装,转发数据帧
“向后学习法”获知路径并逐步完善路径表。
局域网上的站点并不知道所发送的帧将经过哪几个网桥,发送站不必指明接收站在哪个子网。不需要任何设置。
网桥对各站来说是看不见的。
我简单概括为两句话:
同口单桥端唯一,异口多桥端出入
什么意思呢,你自己理解去吧,反正理解了用口诀秒做题
在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间。
这是因为以太网的拓扑可能经常会发生变化,站点也可能会更换适配器(这就改变了站点的地址)。另外,以太网上的工作站并非总是接通电源的。
把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。
反映当时网络的最新拓扑状态
如果一段时间没有收到该地址发来的帧,猜测该站已经关机,则删除记录
生成树得出:
互连在一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站之间只有一条路径。
网桥会关闭不在生成树上的那些接口,以确保不存在环路。
为了得出能够反映网络拓扑发生变化时的生成树,在生成树上的根网桥每隔一段时间还要对生成树的拓扑进行更新。
生成树的目的:
避免转发的帧在网络中不断地兜圈子。
生成树(spanning tree):
在多个网桥的互联局域网中,一个全连通的、不存在回路的子集(任何两个站之间只有一条路径)
生成树算法:
通过互连的网桥彼此通信后,找出原来的网络拓扑的这个子集(算法比较复杂,略)。
为了反映网络拓扑变化,还要对生成树进行更新
透明网桥容易安装,但不能充分利用网络资源。
源路由(source route)网桥,发送帧时将详细的路由信息放在帧的首部。路由信息的获取源站以广播方式向欲通信的目的站发送一个“发现帧”,一路记录所经过的路由。
目的站每收到一个“发现帧”,就沿各自的路由送回源站。
源站得知这些路由后,从所有可能的路由中选择出一个最佳路由。
发送帧:
发送帧的首部,携带源站所确定的这一路由信息。
每个端口连接一个局域网或一台设备的网桥
储存转发
根据目的MAC地址,确定将该帧转发到哪一个端口
对于普通10 Mbls的共享式以太网,若共有N个用户,则每个用户占有的平均带宽只有总带宽(10 Mb/s)的N分之一。使用以太网交换机时,虽然在每个接口到主机的带宽还是10Mb/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有N对接口的交换机的总容量为Nx10 Mb/s。这正是交换机的最大优点。
虚拟局域网实际上只是一种服务
交换机可以很方便地实现虚拟局域网。
管理员可以将连接在交换机上的站点按需要划分为多个与物理位置无关的逻辑组,每个逻辑组就是一个VLAN。
属于同一VLAN的站点之间可以直接进行通信,而不属于同一VLAN的站点之间不能直接通信
连接在同一交换机上的两个站点可以属于不同的VLAN,而属于VLAN中的两个站点可能连接在不同的交换机上
对物理网络进行逻辑划分成多个用户组,一个用户组就是一个VALN
一个VALN中的主机具有某些共同的需求
一个VLAN内的主机可以互相直接访问
一个VLAN是一个独立的广播域(广播包只在本VLAN内进行广播,不能传输到其他VLAN)
不同VLAN间的主机之间在第二层不能直接通信
(必须经第三层路由设备进行转发实现互相访问)。
一个VLAN内的主机不受物理位置的限制,可以进行灵活的划分。(与物理连接的位置无关,VLAN最大的特性)
一个网段内的主机可以互相直接访问
一个网段是一个独立的广播域(广播包只在本网段内进行广播,不能传输到其他网段)
速率达到或超过100 Mb/s的以太网称为高速以太网。
在双绞线上传送100 Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。100BASE-T以太网又称为快速以太网(Fast Ethernet)
其中100表示100Mbps的传输速率,或者说是网络速率,Base表明是基带网络,T表示为双绞线
可在全双工方式下工作而无冲突发生。因此,不使用CSMA/CD协议。
MAC帧格式仍然是802.3标准规定的。
保持最短帧长不变,但将一个网段的最大电缆长度减小到100 m。
帧间时间间隔从原来的9.6 us改为现在的0.96 us。
允许在1 Gbls下全双工和半双工两种方式工作。
使用802.3协议规定的帧格式。
在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)。
与10BASE-T和100BASE-T技术向后兼容。
以太网的帧格式中没有用户名/密码字段,因此以太网没有鉴别用户身份的功能,而这是居民接入网必须的功能。
为此PPPoE(PPP over Ethernet)把数据链路层的两个成功的协议结合起来,即把PPP协议中的PPP帧再封装到以太网中来传输。
现在的光纤宽带接入FTTx都要使用PPPoE的方式进行接入。
当用户利用ADSL上网时,用户PC到ADSL调制解调器之间也使用PPPoE