lcp

网络协议笔记-数据链路层

限于喜欢 提交于 2021-02-14 12:04:37
【数据链路层的基本概念】 数据链路层中数据传输的单位是帧(frame) 链路是一条无源的点到点的物理线路段。 数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路 。 常见的方法是使用适配器(即网卡),来实现这些协议的硬件和软件 【数据链路层的主要目的】 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP发送RARP请求和接收RARP应答 【数据链路层主要功能】 链路管理:链路的建立、维持和释放 帧定界:帧同步,成帧 流量控制:使收方来得及接收 差错控制:前向纠错,差错检测 将数据和控制信息区分开:帧内区分,区分帧内的数据部分和控制部分 透明传输:能传输所有数据,不管上层协议传送的是视频文字还是图片,在数据链路层都是把数据按照一定的规则组装成标准的数据帧 寻址:保证每一帧能送到正确的目的站,帧中有目的地址 【数据链路层的简化模型】   七个分层之间相当于是黑盒,所以不管各自内部的实现,两个对等的链路层的传输过程可以看下图的模型    【简单的等待停止协议】   发送方:1,从主机取一个数据帧;2,将数据帧发送到数据链路层的发送缓存;3,将发送缓存中的数据帧发送出去;4,等待;5,若收到接收方发过来的确认信息,则继续1操作   接收方:1,等待;2,若收到发送结点发送过来的数据帧

2018.12.7

耗尽温柔 提交于 2021-02-11 17:28:37
2018-12-07 bzoj3172 :AC自动机,建出fail树,加入一个字符串在fail树的链上每个点+1,每个点的答案为子树中的所有点权的和。 bzoj3110 :整体二分+线段树。 2018-12-09 HDU2825 :AC自动机+状压dp。 HDU6086 :AC自动机+状压dp bzoj2434: AC自动机+fail树+dfs序+树状数组。 2018-12-11 CF1084D: dfs出子树内到到根的最长次长的路径,直接可以合并,不合法的一定不更优。 CF1084E :建出trie树,模拟。 CF1083C: 线段树维护一个区间内是否可以存在于一条路径上。 nowcoder wannafly 25 E: 线段树维护矩阵转移 HDU5608: 线段树维护矩阵转移,修改一个矩阵,询问区间矩阵乘积。 2018-12-12 bzoj1111 :转化为4进制数,考虑每位是否借位,dp。 2018-12-13 bzoj2827: splay标记。 bzoj1058: 平衡树前驱后继。 bzoj1251: splay翻转,求max。 bzoj3809: 对权值分块。 bzoj1014: splay维护hash值,二分+hash求lcp。 bzoj4825: 找单旋性质,区间操作,求前驱后继。 2018-12-29 CF 1093 E :cdq分治+树状数组。 CF 1093

计算机网络

℡╲_俬逩灬. 提交于 2021-02-07 22:43:14
数据链路层概述 基本概念 数据发送模型: 数据链路层的信道类型: 点对点信道:这种信道使用一对一的点对点通信方式。 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。 链路和数据链路: 链路(link):是一条点到点的物理线路段,中间没有任何其他的点, 一条链路只是一条通路的一个组成部分 。 数据链路(data link):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和 软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。 帧: 数据链路层传送的是帧 数据链路层就像一个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 要解决的三个基本问题 封装成帧 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,用以确定帧的界限。 首部和尾部的一个重要作用就是进行帧定界。 如果发送端发送时出现故障,接收端没收到完整的头和尾,就会将帧丢掉 透明传输 若传输的数据是ASCI I码中“可打印字符(共95个)”集时,一切正常。 若传输的数据不是仅由“可打印字符”组成时,就会出问题,如下图 我们可以使用 字节填充法

数据链路层

半世苍凉 提交于 2021-02-07 21:22:58
  数据链路层的工作是如何在 局域网 中把信息从 一个主机送到另一个主机 ,路由器的使用是在此之前。 3.1 使用点对点信道的数据链路层   什么是点对点?什么是信道?   封装成帧   网络层传下来的包会被数据链路层在首尾各加上一段数据,这样包就成了帧,相应的数据链路层也会把收到的帧拆去首位的数据变成包给上层的网络层。数据链路层在包首尾所加入的信息的格式有严格的规定,这部分信息除了包含控制信息之外最重要的功能是用于 帧定界, 即一个主机在接收到一串比特流的时候能够知道从哪里开始到哪里结束是一个完整的帧,主机从比特流里找到SOH知道马上有一个帧要传过来,当他看到一个EOT的时候知道帧已经传输完毕,把SOH和EOT之间的比特流当成一个完整的帧去拆解出IP包,由此可见包是网络传输的基本数据单位。      透明传输   SOH和EOT称为帧界定符,十六进制下分别是01和04。传输的包里有0x04的话那么数据链路层会错误的认为找到了帧结束符,丢弃后面的部分。解决这种“不透明”传输的办法里在发送端如果发现了数据部分有上述两个字符那么就插入ESC字符,接收端如果看到ESC字符就删除该字符。这种字符被称为转义字符,自己平时写代码也会用到,告诉系统转义字符后面的字符当做普通字符处理。   差错检错 为了避免传输过程中1误传成0,0误传成1,需要插入一定冗余数据,并在接收端使用一个我懒得看的技术-

数据链路层的帧结构

被刻印的时光 ゝ 提交于 2021-02-07 20:31:15
数据链路层在物理层的上面一层,它主要分两种信道点对点信道和广播信道。区分他们就看是一对一的点对点的通信方式,还是一对多的广播模式。 点对点的主要协议为PPP,以前还有一种可靠传输的协议HDLC,现在用的已经比较少了。PPP的主要作用是用户PC连接到ISP的协议,然后再通过通过ISP连接到Internet。当用户拨号接入ISP后,就建立了一条从用户PC机到ISP的物理连接。这时,用户PC机向ISP发送一系列的LCP(链路层控制协议)分组(封装成多个PPP帧),以便建立LCP连接。这些分组及其响应选择了将要使用的一些PPP参数。接着还要进行网络层配置,NCP给新接入用户PC机分配一个临时的IP地址。这样,用户PC机就成为因特网上的一个有I地址的主机了。当用户通信完毕,NCP(网络控制协议)释放网络层连接,回收分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。当网络层配置完毕后,链路就进入可进行数据通信的“链路打开”状态。链路的两个PPP端点可以彼此向对方发送分组。两个PPP端点还可发送回送请求LCP分组和回答LCP分组,以检测链路的状态。数据传输结束后,可以由链路的一端发出终止请求LCP分组,请求终止链路连接,在收到对方发来的终止确认LCP分组后,转到链路终止状态。如果链路出现故障,也会从链路打开状态转到链路终止状态。当天之解调器的载波停止后

数据链路层--PPP协议

て烟熏妆下的殇ゞ 提交于 2021-02-07 20:31:00
数据链路层使用的信道主要有两种类型:点对点信道和广播信道。 点对点 路由器在转发分组时只使用了下面的三层。 链路是从一个结点到相邻结点的一段物理线路,中间没有其他交换结点。 必须有一些必要的通信协议来控制这些数据在链路上的传输。把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在使用网络适配器来实现这些协议。 点对点信道的数据链路层的协议数据单元--帧。 数据链路层把网络层交下来的数据构成帧发到链路上,以及把接收到的帧中的数据取出并上交给网络层。网络层协议的数据单元是IP数据报。 点对点信道的数据链路层在进行通信时的主要步骤如下: (1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。 (2)结点A把封装好的帧发送给结点B的数据链路层。 (3)若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给上面的网络层;否则丢弃这个帧。 数据链路层有很多种,但有三个基本问题是共同的。分别是:封装成帧、透明传输和差错检测。 封装成帧 封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。 网络层的IP数据报传送到数据链路层就称为帧的数据部分。每一种链路层协议都规定了所能传送的帧的数据部分长度上限--最大传送单元MTU。 控制字符名称SOH表示帧的首部,EOT表示帧的结束。 透明传输 当数据中碰巧有控制字符EOT时

干货 | 思科实验 | PPPoE基本原理与配置,超级详细,看完这篇就懂了!

非 Y 不嫁゛ 提交于 2021-01-03 21:25:31
昨天有个朋友找我说他们公司的思科出口路由器PPPoE没连接成功,今天为大家讲解一下PPPoE的基本原理、演示如何在思科路由器上配置服务器和客户端,以及在Windows操作系统上配置客户端。 01 前言 大分部ISP(Internet服务提供商)在网络上使用PPPoE(Point to Point Over Ethernet,以太网上的点对点协议)来验证用户的计算机。大家在家里上网的时候会进行ADSL拨号连接,中小型公司的路由器进行ADSL连接,使用的都是PPPoE协议。 02 PPPoE概述 PPPoE是一个二层协议,用于把PPP的数据帧封装在以太网帧中。借助PPP的优势,可以很好地实现认证、会话检测、计费等,主要用于运营商及小区宽带。 03 PPPoE基本原理 PPPoE分为控制层面和数据层面,控制层面就是如何建立PPPoE会话,如何进行用户的认证,而数据层面就是我们数据包的转发。PPPoE在控制层面分为两个阶段,第一阶段是Discovery(发现)阶段,第二阶段是会话建立阶段。 第一阶段: 发现阶段的主要目的就是寻找PPPoE服务器,此时的以太网类型是0x8863.此阶段分为4个步骤: 1.客户端(PC或路由器)广播一个PPPoE Active Discovery Initiantion(PADI)报文,源MAC地址是它自己的MAC地址,目标MAC地址是全F的广播MAC地址。

pppoe白皮书

て烟熏妆下的殇ゞ 提交于 2021-01-03 16:24:26
转:https://blog.csdn.net/achejq/article/details/19478811 PPPoE技术白皮书 关键词:PPP,Ethernet,PPPoE 摘 要:PPPoE是一种通过一个远端接入设备为以太网上的主机提供接入服务,并可以对接入的每个主机实现控制和计费的技术。本文介绍了PPPoE的产生背景、技术优点、工作过程和典型组网应用。 缩略语: 缩略语 英文全名 中文解释 ADSL Asymmetric Digital Subscriber Line 非对称数字用户线 DSLAM Digital Subscriber Line Access Multiplexer 数字用户线接入复用器 PPP Point to Point Protocol 点对点协议 PPPoE PPP Over Ethernet 在以太网上承载PPP协议 PADI PPPoE Active Discovery Initiation PPPoE活动发现发起报文 PADO PPPoE Active Discovery Offer PPPoE活动发现提供报文 PADR PPPoE Active Discovery Request PPPoE活动发现请求报文 PADS PPPoE Active Discovery Session-confirmation PPPoE活动发现会话报文 PADT

CCNP(ISCW)实验:了解PPPoE Session的建立过程

别等时光非礼了梦想. 提交于 2021-01-01 22:37:31
PPP协议要求进行通信的双方之间是点到点的关系,不适于广播型的以太网和另外一些多点访问型的网络,于是就产生了PPPOE协议(Point-to-Point Protocol Over Ethernet)。它不仅为使用桥接以太网接入的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费。每个接入用户均建立一个独一无二PPP的会话,因此会话建立之前必需知道远端访问集中设备的MAC地址,PPPOE协议可通过发现协议来获取到。 正如RFC2516中定义的,PPPoE有两个明显的阶段,发现阶段(PPPoE Discovery stage)和PPP会话阶段(PPPoE Session Stage)。 当主机希望开始一个PPPOE会话时,它首先要执行一个发现过程来识别对方的MAC地址,然后建立一个唯一的PPPOE会话ID。PPPOE使用一个发现协议来解决这个问题,它是基于客户/服务器模型的。由于以太网的广播特性,在这个过程中主机(客户)能发现所有的访问集中器(服务器),并选择其中一个,根据所获信息在两者之间建立点对点的连接。当一个PPP会话被建立起来之后,就完成了PPPOE的整个发现阶段。 发现阶段有四个步骤。当它完成时,PPPoE双方都知道了PPPoE SESSION_ID和对方的以太网地址,它们一起唯一定义了PPPoE会话: 主机广播一个初始数据包PADI(PPPOE Active

SDOI 2017 天才黑客

懵懂的女人 提交于 2020-11-29 16:00:45
/* 根据claris的 博客以及 beginend 的博客来写的 首先考虑如何求出最短路 可以从样例看出 路径是从边走到边的, 所以我们将边看作点 有共同端点的两边之间 互相连边, 边权为lcp。 这条边自己的花费计算要拆点, 拆成的两个点之间连原来的花费 这样跑最短路就可以啦 然而这样的做法有问题, 考虑边数最大可能是M^2切要求M^2个lca 显然不行 这里采用claris巨佬的方法 /*********beginend的题解******* 假如现在有n个节点a[1..n]要两两求lca,我们将其按dfs序排序,设h[i]=dep[lca(a[i],a[i+1])],根据后缀数组height数组的性质不难得到dep[lca(a[i],a[j])]=min(h[i]..h[j-1])。 那么我们可以枚举中间的每个h[i],i两边的点就可以至少花费h[i]的费用来互相访问。我们只要建立前缀虚点和后缀虚电来优化连边即刻。 */ #include <cstdio> #include <algorithm> #include <cstring> #include <queue> #include <iostream> #define M 100200 #define ll long long #define id1(x) x * 2 - 1 #define id2(x) x * 2