复习计算机网络——第三章记录(1)

news2024/10/3 0:24:07

数据链路层

功能:通过一些数据链路层的协议,在不太可靠的物理链路上实现可靠的数据传输。

相关基本概念:

1、结点(node)网络中的主机(host)路由器(router)

2、链路(link)通信路径上连接相邻结点的通信信道,中间没有任何其他的交换结点一条链路只是一条通路的一个组成部分。

3、数据链路(data link):要在一根线路上传送数据,除了要有一条物理线路外,还要有一些必要的规程来控制这些数据的传输。将实现这些规程的硬件和软件加到链路上,就构成了数据链路。

4、规程:早期的数据通信协议曾叫作通信规程因此在数据链路层,规程和协议是同义语。

5、数据链路层协议:定义了一条链路的两个结点间交换的数据单元格式,以及结点发送和接收数据单元的动作。

6、点到点(point to point)通信:在相邻结点间的一条链路上的通信。(数据链路层)

7、端到端(end to end)通信:从源结点(source node)到目的结点(destination node)通信。通信路径(path)可能由多个链路组成.(传输层)

数据链路层为网络层提供三种合理的服务

1、无确认无连接服务。

      (1)误码率很低的线路,错误恢复留给高层。

      (2)实时业务。

      (3) 大部分局域网。

2、有确认无连接服务。

       (1)适用于不可靠的信道,如无线网。

3、有确认有连接服务。

一、成帧方法

成帧的目的:提高传输效率、差错控制。

帧同步:以帧为单位进行传送,指出哪里是帧的开始和结束。

1、字符计数法

方法:在帧头中用一个域来表示整个帧的字符个数

可能产生的错误:一个帧出错了,本帧及后面的帧都会产生影响,都有可能出错。

2、带字符填充的首尾字符定界法

方法:1、由标志字节分隔的帧。

           2、填充前后字节序列的四个示例。

缺点:局限于8位字符和ASCII字符传送。

3、带位填充的首尾标记定界法

方法:帧的起始和结束都用一个特殊的位串01111110,称为标记(flag),01111110’.

可能存在问题及解决办法:存在01111110的帧,我们规定连续5个1后一定要有一个0,在接收之后去掉即可。

二、差错控制

差错产生的原因:噪声。

可能产生的错误:数据帧出错、数据帧丢失

目的:使DL(数据链路层)能够向上层提供无差错的服务(链路有干扰)。

基本原理:接收端向发送端发送确认信息(ACK,NAK)。

 

噪声类型:

1、白噪声: 随机错误,某一码元与前后码元无关的错误,单个出现。

2、冲击噪声:突发错误,某一码元与前后码元有关的错误,成串密集出现。

如何进行差错的检测和纠正呢?

方法:数据之外加冗余编码,分别叫做检错码和纠错码。

检错码: 通过编码检查能自动发现差错

纠错码: 除了能知道出错,还能知道错误发生的位置

检错码:奇偶校验码、CRC编码。

1、CRC编码

码多项式:将码元序列中的每一位看成是一个多项式的系数,则一个码元序列对应一个多项式,这个多项式被称为该码元序列的多项式。

例子:码元序列:10110

  1   0    1    1   0   

 1x4+0x3+1x2+1x1+0x0   = x4+x2+x1

使用方法:

模2运算

   加法不进位,减法不借位,除法中的减法仍然采用模2运算,可以理解为一种亦或运算,相同为0,不同为1。

例子:加法                          减法

         10011011                     11110000

    + 11001010                    -10100110

         01010001                     01010110

CRC码基本实现原理:

       在要传输的码元序列(帧)后加上校验和(checksum),使带校验和的帧的多项式能被G(x)除尽;收方接收时,用G(x)去除它,若有余数,则传输出错(此处就是检错的原理)

帧的尾部的校验和的得到方法

        设G(x)r 阶,在帧的末尾加 r 0,使帧为m + r位,相应多项式为xrM(x)

        按模2除法用对应于G(x)的位串去除对应于xrM(x)的位串;

具体实现步骤:

1、将要传送的数据位后面加上r个0, xr M(x)。

2、用xr M(x)除以G(x),得到的余数r(x)。

3、用xr M(x)减去余数r(x) ,构成要传输的n位数据T(x)。

感觉文字看比较难理解,例子可以比较直接:

 

三、流量控制

为什么要进行流量控制?

发送者发送数据的能力高于接收者的接收能力,可能导致数据未接收就丢失了。

如何解决流量控制问题,有两个方法:

       1. 基于反馈的流量控制。

       2. 基于速率的流量控制。

四、基本的数据链路层协议

1、无限制的单工协议

2、单工停等协议

3、带噪声的单工协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS实现简易计算器(input表单)

实现效果: 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"></head><body><p>整数1:<input type"text" id"num1"></p><p>整数2:<input type"text&q…

Kamiya丨Kamiya艾美捷抗BCMA单抗,克隆Vicky-2说明书

Kamiya艾美捷抗BCMA单抗化学性质&#xff1a; 同义词&#xff1a;B细胞成熟蛋白&#xff0c;TNFRSF 17&#xff0c;CD269。 特异性&#xff1a;识别鼠标BCMA。 物种反应性&#xff1a;老鼠不与人BCMA发生交叉反应。其他物种未经测试。 Ig同种型&#xff1a;大鼠IgG2a 免疫…

4×30m钢筋混凝土简支T梁桥结构设计与计算

目 录 1设计资料 1 1.1桥面净宽 1 1.2设计荷载 1 1.3主梁跨径和全长 1 1.4材料 1 1.5设计依据 1 1.6参考资料 1 2任务与要求 2 2.1结构尺寸拟定 2 2.2行车道板计算 2 2.3主梁计算 2 2.4横梁的计算 2 3结构尺寸拟定 3 4行车道板计算 4 4.1永久荷载及其效应 4 4.2截面设计、配筋与…

机器视觉计算(一)

本文主要记录像素尺寸映射到实际物理尺寸的计算&#xff0c;并给出一些参考文献。 分辨率 视野(Field of View)/像素(Pixel) 比如我要看的产品大小是30mm*10MM&#xff0c;使用200万像素&#xff08;1600pixel*1200pixel&#xff09;的相机。因为产品是长条形&#xff0c;为了…

[附源码]Python计算机毕业设计SSM酒店客户管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

read-after-write consistency 写后读一致性的解决方法

问题定义 写后读一致即写完数据之后马上读&#xff0c;直接能读到新的数据&#xff0c;而不是老的数据。 导致这个问题主要是数据库之间的同步延时。这里只讨论一主多从的情况。 如下图&#xff1a; 用户添加新评论用户刷新&#xff0c;读请求到从节点1&#xff0c;此时从节…

【Matplotlib绘制图像大全】(十三):甜甜圈饼图

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

Vue2.0开发之——Vue基础用法-vue-cli(30)

一 概述 vue-cli—介绍并安装vue-clivue-cli—基于vue-cli创建vue项目vue-cli—项目预览效果vue-cli—项目目录结构vue-cli—vue项目运行过程vue-cli—组件的基本使用 二 vue-cli—介绍并安装vue-cli 2.1 什么是单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a…

C语言刷题系列——6.(递归)实现顺序输出整数

递归实现顺序输出整数 ❄️一) 题目要求☃️1.函数接口定义&#xff1a;☃️2.裁判测试程序样例&#xff1a;❄️二) 非递归 解法☃️step1.统计位数☃️step2.循环&#xff0c;打印每一位☃️step3.实现❄️三) 递归 解法☃️step1.分析☃️step2.图解流程☃️step3.实现)❄️…

举个栗子~Tableau 技巧(245):用辅助标识快速查看标靶图

我们经常会使用 标靶图&#xff08;靶心图&#xff09;来参照目标评估指标的表现。例如&#xff1a;销售配额评估、实际花费与预算的比较情况、绩效优劣范围&#xff08; 优/良/差&#xff09;等等。 指标不多的情况&#xff0c;标靶图其实是较直观的。但如果指标很多&#xf…

面试官:请问如何提升TCP三次握手的性能?

本文主要分享在 Linux 操作系统下&#xff0c;如何优化 TCP 的三次握手流程&#xff0c;提升握手速度。 TCP 是一个可以双向传输的全双工协议&#xff0c;所以需要经过三次握手才能建立连接。三次握手在一个 HTTP 请求中的平均时间占比在 10% 以上&#xff0c;在网络状况不佳、…

请问财务管理的作用有哪些?

财务管理作为企业管理的一个重要组成部分&#xff0c;如何在当前企业经营方式转变过程中发挥出更大的作用&#xff0c;如何进一步促进财务管理理论和方法的改革与发展&#xff0c;从而使财务管理更具有适应性和有效性&#xff0c;是企业管理理论与实务工作者一个共同关心的话题…

常用数据结构 ——— 队列(环形队列和顺序队列)

目录 一、队列简介 二、顺序队列 三、环形队列 四、环形队列代码 1、队列结构体 2、队列初始化 3、判断队列是否为满 4、判断队列是否为空 5、将数据插入到队列中 6、读取队列中的数据 7、释放队列空间 8、功能测试 一、队列简介 队列只允许在队列头&#xff08;fr…

_Linux(共享内存)

文章目录0. 共享内存1. 共享内存示意图2. 共享内存函数2.1 shmget函数2.2 shmat函数2.3 shmdt函数2.4 shmctl函数2.5 查看共享内存指令2.6 删除共享方法2.6.1 指令删除2.6.2 代码删除3. 实例代码3.0 log.hpp打印日志信息3.1 comm.hpp(shmServer.cc和shmClicent.cc共有文件)3.2 …

Java 17的这些新特性,Java迈入新时代

前言 2021年9月14日Java 17发布&#xff0c;作为新时代的农民工&#xff0c;有必要了解一下都有哪些新东西。 Java 17是Java 11以来又一个LTS&#xff08;长期支持&#xff09;版本&#xff0c;Java 11 和Java 17之间发生了那些变化可以在OpenJDK官网找到JEP&#xff08;Java…

Unity中用Natrue Renderer做自己的地形Terrain.

效果图 一、下载与导入Nature Renderer Nature Renrderer是个强大的插件&#xff0c;它本身就可以作为地形编辑的工具取代Unity的地形细节和树木的渲染系统。 nature-renderer官网 1.下载链接 推荐&#xff08;已经购买的许可证&#xff0c;可直接使用&#xff09;&#xf…

设计原则和设计模式01

一&#xff1a;软件设计原则 1.单一职责原则&#xff1a; 有且只有一个原因引起类的变化(类或者接口的职责单一化) 2.里氏替换原则&#xff1a; 子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则&#xff1a; 1.高层模块不应该依赖于底层模块&#xff0c…

Java注解

Java注解&#xff08;Annotation&#xff09; Java 注解&#xff08;Annotation&#xff09;又称 Java 标注&#xff0c;是 JDK5.0 引入的一种注释机制。 注解也叫元数据&#xff0c;一种代码级别的说明&#xff0c;说明程序的是给计算机看的&#xff0c;与类&#xff0c;接口…

事件绑定(onsubmit)表单提交

事件绑定(onsubmit)表单提交 学习路线&#xff1a;JavaScript基础语法&#xff08;输出语句&#xff09;->JavaScript基础语法&#xff08;变量&#xff09;->JavaScript基础语法&#xff08;数据类型&#xff09;->JavaScript基础语法&#xff08;运算符&#xff09…

Python笔记 · Python语言的“动态性”

尽管对于Python程序员来说已经司空见惯&#xff0c;但是当那些从非动态语言转过来的程序员初次看到形如self.xxxxxx的语句就是在定义对象属性时往往会感到“离奇”&#xff1a;一个未经声明的&#xff08;类似private int a;那样&#xff09;变量&#xff0c;直接从self中“点”…