数据链路层分为媒体访问控制mac子层和逻辑链路控制llc子层。mac子层与物理层相关联,而llc子层则完全独立出来,为高层提供服务,这样就实现了物理层和数据链路层的完全独立。
数据链路层的主要协议有:
1、点对点协议(Point-to-Point Protocol)。
2、以太网(Ethernet)。
3、高级数据链路协议(High-Level Data Link Protocol)。
4、帧中继(Frame Relay)。
5、异步传输模式(Asynchronous Transfer Mode)。
数据链路层协议的特点
链路是从一个结点到相邻节点的一段物理链路,数据链路则在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)。
数据链路层使用的主要是点对点信道和广播信道两种,数据链路层传输的协议数据单元是帧。数据链路层的三个基本问题是:封装成帧,透明传输和差错检测,循环冗余检验CRC是一种检错方法,而帧检验序列FCS是添加在数据后面的冗余码。
数据链路层的功能数据链路层要完成许多特定的功能。这些功能包括为网络层提供设计良好的服务接口,处理帧同步,处理传输差错,调整帧的流速,不至于使慢速接收方被快速发送方淹没。 数据链路层的功能是为网络层提供服务。其基本服务是将源机器中来自网络层的数据传输给目的机器的网络层。
数据链路层一般都提供3种基本服务,即无确认的无连接服务、有确认的无连接服务、有确认 的面向连接的服务。(1)无确认的无连接服务
无确认的无连接服务是源机器向目的机器发送独立的帧,而目的机器对收到的帧不作确认。如果由于线路上的噪声而造成帧丢失,数据链路层不作努力去恢复它,恢复工作留给上层去完成。这类服务适用于误码率很低的情况,也适用于像语音之类的实时传输,实时传输情况下有时数据延误比数据损坏影响更严重。大多数局域网在数据链路层都使用无确认的无连接服务。 (2)有确认的无连接服务
这种服务仍然不建立连接,但是所发送的每一帧都进行单独确认。以这种方式,发送方就会知道帧是否正确地到达。如果在某个确定的时间间隔内,帧没有到达,就必须重新发此帧。
(3)有确认的面向连接的服务
采用这种服务,源机器和目的机器在传递任何数据之前,先建立一条连接。在这条连接上所发送的每一帧都被编上号,数据链路层保证所发送的每一帧都确实已收到。而且,它保证每帧只收到一次,所有的帧都是按正确顺序收到的。面向连接的服务为网络进程间提供了可靠地传送比特流的服务。
2.帧同步
在数据链路层,数据的传送单位是帧。所谓帧,是指从物理层送来的比特流信息按照一定的格式进行分割后形成的若干个信息块。数据一帧一帧地传送,就可以在出现差错时,将有差错的帧再重传一次,从而避免了将全部数据都重传。
帧同步是指接收方应当能从收到的比特流中准确地区分出一帧的开始和结束在什么地方。
3.差错控制
传送帧时可能出现的差错有:位出错,帧丢失,帧重复,帧顺序错。
位出错的分布规律及出错位的数量很难限制在预定的简单模式中,一般采用漏检率及其微小的CRC检错码再加上反馈重传的方法来解决。为了保证可靠传送,常采用的方法是向数据发送方提供有关接收方接收情况的反馈信息。一个否定性确认意味着发生了某种差错,相应的帧必须被重传。这种做法即是反馈重传。
更复杂的情况是,一个帧可能完全丢失(比如,消失在突发性噪声中)。在这种情况下,发送方将会永远等下去。
这个问题可以通过在数据链路层中引入计时器来解决,当发送方发出一帧时,通常也启动计时器。该计时器计到设置值的时间时清为零。 如果所传出的帧或者确认信息被丢失了,则计时器会发出超时信号,提醒发送方可能出现了问题,最明显的解决方法是重传此帧。
但是多次传送同一帧的危险是接收方可能两次甚至多次收到同一帧,为了防止这种情况发生,通常有必要对发出的各帧编号,这样接收方就能辨别出是重复帧还是新帧,还能分辨出帧顺序错。
采用定时器和编号的主要目的是保证每帧都能最终正确地传给目的地—网络层。
差错出现的特点:随机,连续突发(burst)
处理差错的两种基本策略
使用纠错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误。
使用检错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,但不能判断哪里有错。4.流量控制
在数据链路层及较高层中另一个重要的设计问题是:如何处理发送方的传送能力比接收方接收能力大的问题?
通常的解决办法是引入流量控制来限制发送方所发出的数据流量,使其发送速率不要超过接收方能处理的速率。
流量控制方法有发送等待方法、预约缓冲区法、滑动窗口控制方法、许可证法和限制管道容量方法等。
下面简要介绍一下滑动窗口控制方法。
在所有的滑动窗口协议中,每一个要发出的帧都包含一个序列号,范围是0到某个最大值。
具有最简单流量控制的数据链路层协议 为了使收方的接收缓冲区在任何情况下都不会溢出,最简单的方法是发方从主机每取一个数据块,就将其送到数据链路层的发送缓冲区中发送出去,然后等待;收方收到数据帧后,将其放入数据链路层的接收缓冲区并交付给主机,同时回应一信息给发送节点表示数据帧已经上交给主机,接收任务已经完成;发方收到由接收站点发过来的双方事先商定好的信息,则从主机取下一个新的数据帧再发送。在这种情况下,收方的接收缓冲区的大小只要能够装得下一个数据帧即可,这就是最简单最基本的停止-等待(Stop-and-Wait)协议。
基于密码的攻击很具有生命力,在IPv6环境下同样面临着这样的威胁。虽然在网络IPv6下IPsec是强制实施的,但是在这种情况下,用户使用的 *** 作系统与其他访问控制的共同之处就是基于密码进行访问控制。对计算机与网络资源的访问都是由用户名与密码决定的。对那些版本较老的 *** 作系统,有些组件不是在通过网络传输标识信息进行验证时就对该信息加以保护,这样窃听者能够获取有效的用户名与密码,就拥有了与实际用户同样的权限。攻击者就可以进入到机器内部进行恶意破坏。IPv6下IPsec工作的两种模式(传输模式和隧道模式)都需要密钥交换这样的过程,因此对密钥的攻击仍然具有威胁。
尽管对于攻击者来说确定密钥是一件艰难而消耗资源的过程,但是这种可能性实实在在存在。当攻击者确定密钥之后,攻击者使用泄露密钥便可获取对于安全通信的访问权,而发送者或接收者却全然没有察觉攻击,后面所进行的数据传输等等遭到没有抵抗的攻击。进而,攻击者使用泄露密钥即可解密或修改其他需要的数据。同样攻击者还会试图使用泄露密钥计算其它密钥,从而使其获取对其它安全通信的访问权。应用程序层攻击的目标是应用程序服务器,即导致服务器的 *** 作系统或应用程序出错。这会使攻击者有能力绕过正常访问控制。攻击者利用这一点便可控制应用程序、系统或网络,并可进行下列任意 *** 作:读取、添加、删除或修改数据或 *** 作系统 ;引入病毒,即使用计算机与软件应用程序将病毒复制到整个网络;引入窃探器来分析网络与获取信息,并最终使用这些信息导致网络停止响应或崩溃;异常关闭数据应用程序或 *** 作系统;禁用其它安全控制以备日后攻击。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)