首页/文章/ 详情

计算机通信与网络v3 第七章 数据链路控制协议(1)

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
6月前浏览690

本文摘要:(由ai生成)

本文主要探讨了数据链路层中的HDLC帧协议和流量控制的重要性。作者分享了其在卫星移动通信系统研发中首次接触该协议的经历,并强调了在本科教学中理解流量控制的必要性。文章通过交通流量控制的类比,解释了流量控制的必要性,并介绍了ARQ协议及其对网络性能的影响。此外,文章还提供了一个MATLAB仿真示例,并附带了一些作者的生活记录。


本章的重点是数据链路层中所用的协议,该协议会在通信的很多场合用到。2006年,我开始研发卫星移动通信系统时,第一次真正接触了它。没有它,系统内部怎么通信就无从下手。对于本科阶段教学,大家要熟悉它的基本内容,不要求记住各种帧结构,但是必须要充分理解流量控制的相关内容。什么是HDLC帧?帧由哪几部分组成?这些都是应该了解的。当然实际应用过程中,会对上述内容进行简化使用。随着环境的变化,协议需要进行相关修改。

同学们第一次接触协议?
很重要的概念!上手的时候有点难!无协议,无交流!通信过程中到处可见协议!
  1. 流量控制的必要性
  2. ARQ协议
  3. HDLC的主要内容
基本概念!!!
流量控制时确保发送实体发送的数据不会超出接收实体接收数据能力的一种技术,防止缓存溢出。
传输时间-Transmission time:一个帧的所有比特送到媒体上所花的时间!
传播时间-Propagation time:一个比特经过链路从源点到终点所花的时间!
是不是有点类似交通流量控制?这点在假期期间的高速公路上表现的很明显!疫情解除了,自由出行肯定会有高峰时段!

ARQ应用的地方实在是多!

自动请求重发对网络性能有以下影响:
  1. 增加网络流量:由于需要重新发送丢失或错误的数据,会导致网络中数据流量的增加。
  2. 可能导致延迟:重发过程需要一定时间,可能会增加数据传输的延迟。
  3. 对资源的消耗:重发会消耗一定的网络资源和系统资源。
  4. 在一定程度上保证数据可靠性:尽管有上述影响,但它有助于确保数据的正确接收,提高网络的可靠性。
感受AI的强大!
要在两台电脑上模拟ARQ的过程,你需要通过网络连接两台计算机,并且在每台计算机上运行一个MATLAB脚本来模拟ARQ的发送和接收过程。这里我将展示一个简单的示例,假设两台计算机通过网络连接,并且能够相互通信。
在第一台计算机上运行发送方的MATLAB脚本,假设其IP地址为“192.168.1.100”:
% 发送方脚本
% 设置参数
numPackets = 10; % 要发送的数据包数量
maxAttempts = 3; % 最大重传次数
errorProbability = 0.1; % 误码率
% 模拟数据包
data = randi([0, 1], numPackets, 1);
% 模拟网络发送数据包
for i = 1:numPackets
    attempt = 0;
    while attempt < maxAttempts
        % 模拟发送数据包到接收方的IP地址为192.168.1.101的计算机
        % 这里假设sendPacket函数是发送数据包的自定义函数
        sendPacket('192.168.1.101', data(i));
        fprintf('Packet %d: Sent\n', i); 
        % 等待接收方回复
        % 这里假设waitForAck函数是等待接收确认的自定义函数
        ack = waitForAck();        
        % 如果收到确认则跳出重传循环
        if ack
            fprintf('Packet %d: Acknowledged\n', i);
            break;
        else
            fprintf('Packet %d: Not acknowledged, retrying...\n', i);
            attempt = attempt + 1;
        end
    end
    if attempt == maxAttempts
        fprintf('Packet %d: Maximum attempts reached, transmission failed\n', i);
    end
end
在第二台计算机上运行接收方的MATLAB脚本,假设其IP地址为“192.168.1.101”:
% 接收方脚本
% 设置参数
numPackets = 10; % 要接收的数据包数量
% 模拟网络接收数据包
for i = 1:numPackets
    % 模拟从发送方IP地址为192.168.1.100的计算机接收数据包
    % 这里假设receivePacket函数是接收数据包的自定义函数
    packet = receivePacket('192.168.1.100');
    fprintf('Packet %d: Received\n', i);    
    % 模拟确认发送方已收到数据包
    % 这里假设sendAck函数是发送确认的自定义函数
    sendAck('192.168.1.100', true);
end
这里的发送方程序模拟了发送数据包和等待确认的过程,而接收方程序模拟了接收数据包和发送确认的过程。在实际应用中,你需要根据实际情况实现发送数据包、接收数据包、发送确认等功能函数,并确保两台计算机能够相互通信。同学们可以尝试一下,实践出真知!
未完,待续!
201611记录:
今天我带大家看看广东省博物馆的照片。(参观了五六次,所以留下了很多照片。)广东省博物馆靠近亚运会会场,毗邻珠江边上。广州博物馆的内容比较多,让我印象深刻的是他里面的恐龙。空出那么多空间来放,对小孩子来说会非常的有吸引力。展馆里面的书画作品大都来自闽粤地区。我最早看到伊秉绶的隶书作品就是在这里。然后端砚的展馆是它的特色,地域优势。梦想有一块,估计很难了,太贵了。木雕也是广州的特色,陈家祠也有大量的木雕作品,值得细细品味。2006年我来广州的时候,首先去的地方就是陈家祠,对里面的象牙雕刻印象非常深,美而壮观。
201810记录:
偷税漏税事件搞的范冰冰再次出名,不过出的是臭名。公民要遵纪守法,作为一个公众人物更要知道遵纪守法的重要性!偷税漏税那么多,应该是属于过街老鼠了。当年刘晓庆也犯了这个错误,获罪入狱!结果巧合的是,范爷说她的偶像就是刘晓庆!

修订记录

20161110 完成初稿;

20170408 增加内容;

20181015 修订内容;

20240506 增加内容;

来源:通信工程师专辑
MATLAB通信UM控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-19
最近编辑:6月前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 395粉丝 2584文章 340课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈