数据链路层六大协议详解

article/2025/11/1 12:49:19

数据链路层六大协议详解

    • 一些假设
    • 1.无限制的单工协议(乌托邦协议)
    • 五点假设
      • 发送方
      • 接收方
      • 接受方
    • 2.单工停-等协议
    • 3.有噪声信道的单工协议

本文图片截取自 学堂在线-华南理工大学的计算机网络课程

一些假设

  • 物理层、数据链路层和网络层各自是独立的处理进程
  • 机器A希望向B发送的是一个可靠的、面向连接的长数据流
  • 假设机器不会崩溃
  • 从网络层获取到的数据是纯的数据,直接装到载荷里
  • 定义了四个数据传送接口
    • from_network_layer 从网络层取数据
    • to_physical_layer 向物理层发送数据
    • to_network_layer 向网络层提交数据
    • from_physical_layer 从物理层获取数据
  • 等待事件的发生
    • frame_arrival 帧到达事件
    • cksum_err 校验和没有通过
    • timeout 定时器超时
  • 定义两个定时器
    • timer 重传定时器
    • ack_timer捎带确认定时器
  • 定义数据帧的结构
    在这里插入图片描述

1.无限制的单工协议(乌托邦协议)

五点假设

  • 1.数据单向传送
  • 2.收发双方网络层都处于就绪的状态
  • 3.处理的时间可以忽略不计
  • 4.可用的缓存空间无穷大
  • 5.完美信道:信道不损坏,不丢帧
    由于该协议的假设实际情况是不可能存在的,所以该协议又叫乌托邦协议

发送方

typedef enum {frame_arrival
} event_type;
#include "protocol.h"
void sender(void){frame s;packet buffer;while(true){from_network_layer(&buffer); // 从网络层接受数据s.info = buffer; // 包装数据to_physical_layer(&s); // 送向物理层}
}

接收方

typedef enum {frame_arrival
} event_type;
#include "protocol.h"
void receiver(void){frame r;event_type event;while(true){wait_for_event(&event); // 等待接收事件的到来from_physical_layer(&r); // 从物理层接收数据to_network_layer(&r.info); // 送向网络层}
}

接受方

2.单工停-等协议

明天再写。。。

3.有噪声信道的单工协议


http://chatgpt.dhexx.cn/article/6mDdqFsf.shtml

相关文章

数据链路层相关协议

网络类型 ---根据数据链路层协议进行划分 MA ---多点接入网络(BMA广播型,NBMA非广播型)P2P---点到点的网络 以太网协议---需要使用MAC地址对不同的主机设备进行区分和标识 ---主要因为利用以太网组件的二层网络可以包含(两个和两…

网络安全——数据链路层安全协议

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.数据链路层安全协议简介 1.数据链路安全性 二.局域网数据链路层协议 1…

数据链路层协议

一、数据链路层概述 1.数据链路层的功能: 1)链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务; 2)帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置; …

数据链路层主要协议

PPP:点对点的协议,华为路由器默认封装,是面向字符的控制协议。HDLC:高级数据链路控制协议,Cisco路由器默认的封装,是面向位的控制协议。fram-relay:表示帧中继交换网,它是x.25分组交…

【计算机网络】数据链路层-基本数据链路层协议

【计算机网络】数据链路层-基本数据链路层协议 协议1:一个乌托邦式的单工协议 单工协议即数据只能单向传输。这个协议假设信道永远不会丢失或损坏帧,接收方的处理能力足够快,缓冲区足够大。 发送程序无限循环,接受程序响应事件&am…

数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

​​​​​数据链路层协议 首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路层的协议,只不过后面三个不常用而已,数据链路层最常用的协议是Ethernet以太网协议。 Ethernet和IEEE802.3属于以太链路层协议 广域网中经常会使用串行链路来提供远距离的数据…

计算机网络之数据链路层协议总结

数据链路层 1.数据链路层介绍2.ARP协议2.1 ARP的工作流程2.2 ARP数据报格式 3.NAT技术3.1 NAT转换过程3.2 NAPT技术(动态NAT重载) 4.DNS技术4.1 域名层级关系4.2 域名解析流程 5. ICMP协议5.1 ICMP功能5.2 ICMP类型 1.数据链路层介绍 数据链路层主要负责…

(SQL)修改表结构[字段类型]、表字段长度,

①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ALTER COLUMN cname varchar(30) ALTER TABLE #temp ALTER COLUMN bmmc NVARCHAR(30)②&#xff1…

表字段长度的修改

设置后,即可完成sqlserver数据库表字段长度的修改 超时修改:

用命令语句修改mysql某字段长度

在MySQL中修改某个字段的长度,需要使用ALTER TABLE语句,具体操作如下: 假设要修改表A中的字段col1的长度为50。 ALTER TABLE A MODIFY col1 VARCHAR(50); 以上语句中,MODIFY关键字用于修改表结构,VARCHAR(50)用于指定…

开发人员各种鄙视链

最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是我们都很忙,每天 Bug 都调不玩,哪里有空鄙视这,鄙视那。所以很多的的鄙视链大家自己看看,笑一笑就过了,不要太过认真。 1、穿衣服也是有讲究的 2、…

趣图《程序员鄙视链》

小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。 最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是…

程序员鄙视链至今还存在,你咋想不通呢?看完给你理清思绪

前天本来想去githup上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上…

从程序员鄙视链看IT圈职场晋升密码,你修炼到了第几层?

作为一名IT程序员工程师,在2020年疫情后严峻的就业环境下,对于求职择业和职场晋升可谓体会颇深了。 亲眼目睹身边的好友因企业业务收缩而被辞退的痛楚,汇智妹猛然发现:“优胜劣汰”的生存法则,不光存在于自然界的食物链…

无代码开发,站到了程序员鄙视链顶端

文章目录 无代码开发,站到了程序员鄙视链顶端1.只花 72 小时完成一个危机管理软件项目2.巨头们已经开始激战3.无代码给 IT 技术人带来的挑战后记 无代码开发,站到了程序员鄙视链顶端 “无代码”不是在"淘汰”开发者,而是给予开发者更大挑…

程序员鄙视链python_程序员的鄙视链,请勿对号入座

原标题:程序员的鄙视链,请勿对号入座 在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。 最近这几年在世界各地突然吹起了一股全民写程序的…

图解程序员鄙视链(这回称得上是真的链表了吧)

简评:自古文人相轻,程序员的世界也存在着错综复杂的「鄙视链」。从程序语言、编辑器、平台到{ 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而「你用什么程序语言?」更是大家最热衷的一条鄙视链。本文就为大家…

程序员鄙视链至今还存在,你为什么还想不通?

前天本来想去github上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上还能…

站在程序员鄙视链的最顶端,真香!!

作为程序员你被鄙视过吗? 程序员群体中有一条无形的鄙视链。在现实中最直观的表现就是薪资差异。 据最新调查报告显示,全国范围内,程序员年薪达到50万以上的,仅占1.9%。 △数据来源: 《2018年中国程序员薪资生活调查报告》 如果你…

关于程序员鄙视链,哽咽~

点击上方“芋道源码”,选择“设为星标” 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数…