差错控制

ICMP控制报文协议

大憨熊 提交于 2019-12-16 16:02:05
1、引言 ICMP经常被认为是IP层的一个组成部分。它传递差错以及其他需要注意的信息。ICMP报文通常被IP层或更高层 协议(TCP或UDP) 使用。一些ICMP报文把差错报文返回给 用户进程。ICMP报文是在IP数据报内部被传输的, 它封 装在IP数据报内。 ICMP报文的格式如图所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。 类型字段可以有15 个不同的值,以描述特定类型的ICMP报文。某些ICMP报文还使用代码字段的值来进一步描述 不同的条件。 检验和字段覆盖整个ICMP 报文。 2、ICMP报文类型 如图: 图中的最后两列表明了ICMP 报文是一份查询报文还是一份差错报文。因为对ICMP差错报文有时需要作特殊处理, 因此我们需要对它们进行区分。例如,在对ICMP差错文进行响应时,永远不会生成另一份ICMP差错报文(如果没有 这个限制规则,可能会遇到一个差错产生另一个差错的情况,而差错再产生差错,这样会无休止地循环下去)。 当发送一份ICMP 差错报文时,报文始终包含IP的首部和产生ICMP差错报文的IP数据报的前8个字节。这样, 接收ICMP差错报文就会把它与某个特定的协议(根据IP数据报首部中的协议字段来判断)和用户进程(根据包含在 IP数据报前8个字节中的TCP或UDP报文首部中的TCP或UDP端口号来判断)联系起来。

差错控制

浪尽此生 提交于 2019-12-09 17:45:39
差错控制 (error control)是在数字通信中利用编码方法对传输中产生的差错进行控制,以提高数字消息传输的准确性。 差错控制编码 是指在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免地会发生错误。 常用的差错控制方式主要有三种: 检错重发(简称ARQ) 、 前向纠错(简称FEC) 和 混合纠错(简称HEC) 。 检错重发方式中,发送端经编码后发出能够发现错误的码,接收端收到后经检验如果发现传输中有错误,则通过反向信道把这一判断结果反馈给发送端。然后,发送端把前面发出的信息重新传送一次,直到接收端认为已正确地收到信息为止。 常用的检错重发系统有三种,即 停发等候重发 、 返回重发 和 选择重发 。发送端在Tw时间内送出一个码组给接收端,接收端收到后经检测若未发现错误,则发回一个认可信号(ACK)给发送端,发送端收到ACK信号后再发出下一个码组。如果接收端检测出错误,则发回一个否认信号(NAK),发送端收到NAK信号后重发前一个码组,并再次等候ACK或NAK信号。这种工作方式在两个码组之间有停顿时间(Ti),使传输效率受到影响,但由于工作原理简单,在计算机数据通信中仍得到应用。   在这种系统中发送端无停顿地送出一个又一个码组,不再等候ACK信号,但一旦接收端发现错误并发回NAK信号,则发送端从下一个码组开始重发前一段N组信号

数据链路层

不想你离开。 提交于 2019-12-06 02:13:34
功能 链路管理 主要解决包括数据链路的建立、维持和释放。 信息的传输 主要解决如帧格式、帧大小、帧同步、帧顺序编号以及判断是数据信息h 还是控制信息等问题。 流量与差错控制 流量控制问题实际上就是收发双方收发速率的同步问题。 差错控制问题就是确保数据准确的递交给目标方高层。 异常情况处理 对在该层中出现的异常情况,要解决如何检测、如何处理等问题。 流量控制协议:是指对在数据链路上传输的帧进行速度的控制 ,保证接收端有足够的缓冲单元存储发端发来 的信息以便收端处理。 常用2种方法 : 停—等流量控制, 滑动窗口流量控制 来源: https://www.cnblogs.com/zh727729853/p/11956416.html

考研计算机网络之链路层(一)

浪子不回头ぞ 提交于 2019-12-06 00:43:54
链路层知识梳理(一) 一、链路层功能 (一)概述 链路层在网络层提供服务的基础上向网络层提供服务。其最基本的服务是将源自网络层来的数据可靠的传输到相邻节点的目标主机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。 具体分为一下这么几点: 1. 为网络层提供三种服务:无确认无连接服务、有确认无连接服务、有确认面向连接服务 2. 链路管理:链路的建立、维持、释放(用于面向连接的服务) 3. 组帧:帧同步、帧定界、透明传输 4. 流量控制:点对点,只限制发送方 5. 差错控制:帧错误、位错误 (二)名词解释 帧界定:确定帧的界限。 帧同步:分出帧的起始与终止。 透明传输:不管传输的是怎样的比特组合,都能在链路上传送。 二、组帧 (一)概念 发送方依据规则将网络层递交的分组封装成帧,帧要加首部和尾部(分组只是帧的数据部分,所以不需要加尾部)。出错时只重发出错的帧。 帧同步:接收方应该能从接收到的比特流中区分帧的起始和结束。 透明传输:不管传输的是怎样的比特组合,都能在链路上传送。 帧定界:确定帧的界限。 (二)组帧的四种方法 分别是字符记数法、字符(节)填充法、零比特填充法、违规编码法 1. 字符记数法 帧首部使用一个计数字段(第一个字节, 8 位( bit )),来表明帧内字符数 缺点

数据链路层协议的三个基本问题

独自空忆成欢 提交于 2019-12-05 14:10:44
1.封装成帧(在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限) 2.透明传输(定义一个字符“ESC”,在数据中遇到“EOT”或者“SOH”控制字符时,在控制字符前插入“ESC”转义字符,而接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符) 3.差错检测(循环冗余检验) 来源: https://www.cnblogs.com/1819zzh/p/11926817.html

网络层入门笔记

匿名 (未验证) 提交于 2019-12-03 00:19:01
网络层的主要功能有两个:转发和路由。按照是否预先建立连接,可以分为无连接服务模型和连接服务模型。其中无连接服务模型的代表是数据报模型。有链接的代表是虚电路网络模型。 特点是:复杂网络,简化边缘 VC模型是基于连接服务模型的,类似于传统的电话电路网络,会首先建立连接,然后依据该链接进行传输,最后在关闭该链接。其好处是数据流速的较好控制性能。如ATM(Asynchronous Transfer Mode异步传输模式)网络。 对于某次连接,VC会分配给该链接一个虚电路号VCid,该链接的数据都会携带该VCid进行传输,由每个中间点的路由器进行识别VCid并转发。值得注意的是:每段路由器间同一连接的VCid是不一样的,如下图所示。 当数据从源端到R1时,VCid为12,但是从R1到下一个路由时,VCid为22。因此,路由器除了转发数据包,还要进行的就是更换VCid。 由于目前的intel网络采用的是另一种数据报模型,因此VC在这里不做过多探讨。 特点是:简化网络,复杂边缘 目前Internet主要使用的是数据报网络。数据报网络采用的是无连接模式,每个数据包都携带由目的IP,每个路由器都会依据自身当时情况根据IP地址依次对每个数据包进行转发。因此会出现乱序的情况。由于对每个数据包都进行了IP判断,路由器需要维护一个IP地址转发表。 如上图所示,转发表实际上是采用了IP范围的方式,并且

pytho——OSI七层模型

旧巷老猫 提交于 2019-11-30 18:04:12
OSI七层模型图 从图中我们已经了解到OSI七层分为:物理层;数据连接层;网络层;传输层;会话层;表示层;应用层。 OSI七层各层的讲解: 1.物理层: 在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。 物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。 设备:网卡,网线,集线器,中继器,调制解调器 2.数据链路层: 数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。 该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。

TCP/IP协议栈

可紊 提交于 2019-11-30 06:15:52
文章目录 一、参考书籍 二、必须掌握的内容 1.TCP/IP协议体系的认知 2.数据链路层 3.网络层 4.传输层 5.应用层 三、常见面试题目 1.分层的概念 2.数据链路层 3.网络层 (1)IP协议 (2)ICMP协议 四、传输层 1.UDP协议 2.TCP协议 五、应用层 1.DNS 2.http基本格式 六、参考 一、参考书籍 (1)TCP/IP详解 卷1:协议 (2)计算机网络:自顶向下方法 二、必须掌握的内容 1.TCP/IP协议体系的认知 (1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于操作系统内核态。应用层存在于操作系统的用户空间,包括DNS,FTP,HTTPs,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。 (2)层与层之间下层对上层是透明的,传输在每一层是对等的。 2.数据链路层 (1)以太网帧的格式。 (2)MTU(最大传输单元)的概念。 (3)ARP协议和RARP协议(地址协议和逆地址协议,网卡MAC地址和IP地址互查机制)(网络层和链路层的中间层)ARP报文格式,查询原理,缓存机制 3.网络层 (1)掌握IP首部格式:如16位分片标识、DF不分片标志、MF更多分片标志、13位片偏移、8位生存时间TTL、16位的首部检验和等等。 (2)掌握如何IP分片:如总长大于MTU值,画分片情况

计算机网络之数据链路层

一个人想着一个人 提交于 2019-11-29 13:42:58
功能 数据链路层 主要作用是加强物理层传输原始比特流的功能,将物理层提供的 可能出错的物理连接 改造为 逻辑上无差错的数据链路 ,使之对网络层表现为一条无差错的链路。(物理上肯定有一些差错,但是可以通过修改,改为逻辑上无差错) 任务:负责将数据报通过链路从一个节点传输到相邻的节点 三个基本功能: 封装成帧 透明传输 差错检测 封装成帧 基本概念: 将一段数据的前后分别添加首部和尾部,就构成了帧。 注意: 首部和尾部中含有很多 控制信息 (如 检验序列等),它们的一个重要作用是确定帧的界限,即 帧定界 。 透明传输 如果在数据中心恰好出现与帧定界符相同的比特组合,会导致帧提前结束而丢弃后面的数据。所以引入了 “透明传输” 。 基本概念: 透明传输就是不管所传的数据是什么样的比特组合( 透明的,看不见里面的数据 ),都应当能在链路上传送。 基本方法: 字符计数法: 在帧头部使用一个计数字段来标明帧内字符数。 字符填充的首尾定界符法: 在特殊字符前面填充一个转义字符(DLE)来加以区分,以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是 数据信息 ,而不是控制信息。 数据中有可能出现转义字符,所以要 在转义字符前再插入一个转义字符 。 比特填充的首尾标志法: 由于使用01111110(6个1)来标志一帧的开始和结束,故发送方只要在数据中遇到5个连续的“1”时