Data-Link Layer Protocol

数据链路protocol

1.stop-wait

sender发一帧之后停止,等待

receiver收到一帧后,传回一个feedback

sender等到feedback之后才传下一帧

若feedback传丢了?

待timeout之后sender会重发相同的帧,receiver收到了重复的帧,造成error

解决:每个帧给一个sequence number,0-1-0-1-0-1。。。。。。

缺点:信道利用率低,计算公式见课本P99

2.顺序接收pipelining protocol

见tananbaum书P254的图

为了提高利用率,允许sender在没收到feedback的情况下一次发一坨frame,receiver按seq num按顺序收,顺序不对的直接扔掉

piggyback:在双向传输时,feedback和receiver传给sender的数据绑一起

若中间的一帧后来发现出错了?会造成大量重传

go-back-N:receiver的buffer容量仅为1。即顺序不对的全扔掉

改进:selective-repeat (go-back-N的大buffer版本)

receiver传一个奇怪的feedback:NAK,表示这一帧错了。然后不管它,接着接收后面的。不过把从出错位以后的帧都先放到一个buffer里,不交给网络层。

sender收到NAK发现那一帧出错,于是重传那一帧。

receiver收到那一帧后把它交给网络层,然后给一个feedback,说buffer里面的我已经收到了不用重新传了

sender知道后接着buffer里面的帧再传。

3.sliding-window protocol

设seq num域有n bit,则seq num范围为0--(2^n)-1,

receiver有个能存2^n个帧的buffer

在sender的sliding-window中,当seq num符合的新帧从网络层传来进入头部时候,头指针++。当尾部的帧被receiver确认后,尾指针++。

前面几种protocol都可看作sliding-window的特例。见课本P105

时间: 2024-10-25 00:25:38

Data-Link Layer Protocol的相关文章

Network 5: Data Link Layer

Some important issues related to Data Link Layer: Ethernet uses CSMA/CD with binary exponential backoff as multiple access control protocol, and stipulates the minimum frame length is 64 bytes. 以下代码纯属娱乐,如能运行,纯属巧合. 1 public void transmit() { 2 int col

[Network]Link Layer

1 Introduction This part explains some similar points of other layers, such as layer service, data format and link. And link layer is a layer of combination of hardware, software and firmware. But why both link-level and end-end systems need rdt? 2 E

详解BLE 空中包格式—兼BLE Link layer协议解析

BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(packet)涉及BLE协议栈link layer,L2CAP,SMP和ATT等各层次,但link layer跟空中包格式关系最紧密,掌握了BLE packet的格式,就很容易理解BLE link layer协议的工作原理,因此文章取名"详解BLE空中包格式-兼BLE link layer协议解析&qu

Link Management Protocol (LMP)

http://oscar.iitb.ac.in/onsiteDocumentsDirectory/Bluetooth/Bluetooth/Help/Link Management Protocol.htm 1.1.                    Link Management Protocol (LMP)   1.1.1.   Introduction and Theory The Link Manager (LM) translates the commands into operat

关于重新设计data accessing layer的思考(一)

背景:项目中已运行10年的数据访问层,存在若干架构方面的问题,为了彻底解决并释放并行访问的能力,并提供一套完整的面向对象的API,决定重新设计. 思考问题: 1.如何保证兼容性: 1)使用新库的实现替代旧库中的实现,保证一次性全部修改并测试,不修改旧库的API,且提供用户新的API 2)新库与旧库完全隔离,同时存在,但新库需要保证与旧库的数据同步.旧库不做任何修改.用户可以同时使用新库和旧库 2.如何保证多线程访问的效率: 1)一直以来,内存和CPU总会出现冲突,在数据访问更是如此.当动态数据在

专职DBA-MySQL DAL(Data Access Layer)中间件总结

MySQL DAL(Data Access Layer)中间件总结 DAL是数据访问层的英文缩写,即为数据访问层(Data Access Layer).用在这里可能不是特别恰当,因为本文主要介绍MySQL访问的中间件,不过也是属于DAL的范畴.本文不会去高可用相关的知识,主要聚焦于MySQL的横向扩展. 我们知道最简单的一种扩展是MySQL 主从复制,通过1主多从来实现读的性能扩展,但是这样的扩展不仅仅有局限性,而且写入的问题并没有解决.目前市场上用三类解决方案: 1.客户端分片(推荐) 程序客

John Deere Service Advisor EDL V3 Electronic Data Link Heavy Duty Truck Diagnostic Scanner with SA 4.2 Software

This is the John Deere Service Advisor EDL v3 Adapter. This is the newest adapter from John Deere, and it replaces the John Deere EDL v2. Top 6 Reasons to get John Deere EDL V3 Adapter: 1) Latest version 4.2 Agriculture & Construction and Forestry,Jo

TCP/IP Four Layer Protocol Format Learning(undone)

相关学习资料 tcp-ip详解卷1:协议.pdf 目录 0. 引言 1. 应用层 3. 传输层 4. 网络层 0. 引言 协议中的网络字节序问题 在学习协议格式之前,有一点必须明白,否则我们在观察抓包数据的时候可能会产生疑惑: 1. 协议格式中的字段排布,最高位在左边,记为0bit:最低位在右边,记为31 bit. 2. 4个字节的32bit值以下面的次序传输: 1) 首先是0~7bit 2) 其次8~15bit 3) 然后16~23bit 4) 最后是24~31bit 这种传输次序称作"big

Create the Data Access Layer

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/create_the_data_access_layer This tutorial describes how to create, access, and review data from a database using ASP.NET Web Forms an