TCP/IP 笔记 - 链路层
链路层的目的是为IP模块发送和接收IP数据报。
以太网和IEEE 802局域网标准
以太网指的是一套标准,有DEC、Intel公司和Xerox公司在1980年首次发布,并在1982年加以修订。第一个常见格式的以太网被称为"10Mb/s以太网"或"共享以太网",它被IEEE采纳为802.3标准。
其网络格式如下:
上图共享以太网包含一个或多个站(工作站、计算机等),它们共享一段电缆。当(传输)介质被确定为空闲时,链路层PDU可用从一个站发送到其他站。如果多个站点同时发送数据,可能因为信号传播延迟而发生碰撞。碰撞可以被检测到,它会导致发送站等待一个随机时间,然后重新发送数据,这被称为带冲突检测的载波侦听多路访问(CSMA/CD)。
在IEEE标准中,带802前缀的标准定义了局域网和城域网的工作过程,当前最流行的802标准包含802.3(以太网)和802.11(WLAN/Wi-Fi)。截至2011年年中支持TCP/IP的相关IEEE 802局域网和城域网标准(摘自书,如有新标准以官方为准)
名称 描述、官方参考
802.1ak 多注册协议(MRP) [802.1AK-2007]
820.1AE MAC安全(MACSec) [802.1AE-2006]
820.1AX 链路聚合(以前的802.3ad) [802.1AX-2008]
802.1d MAC网桥 [802.1D-2004]
802.1p 流量类/优先级/QoS [802.1D-2004]
802.1q 虚拟网桥的局域网/MRP的更正 [802.1Q-2005/Corl-2008]
802.1s 多生成树协议(MSTP) [802.1Q-2005]
802.1w 快速生成树协议(RSTP) [802.1D-2004]
802.1X 基于端口的网络访问控制(PNAC) [802.1x-2010]
802.2 逻辑链路控制(LLC) [802.2-1998]
802.3 基本以太网和10Mb/s以太网 [802.3-2008](第1节)
802.3u 100Mb/s以太网(“快速以太网”) [802.3-2008](第2节)
802.3x 全双工运行和流量控制 [802.3-2008]
802.3z/802.3ab 1000Mb/s以太网(“千兆以太网”) [802.3-2008](第3节)
802.3ae 10Gb/s以太网(“万兆以太网”) [802.3-2008](第4节)
802.3ad 链路聚合 [802.1AX-2008]
802.3af 以太网供电(PoE,15.4W) [802.3-2008](第2节)
802.3ah 以太网接入(第一公里以太网) [802.3-2008](第5节)
802.3as 帧格式扩展(2000字节) [802.3-2008]
802.3at 以太网供电增强(“PoE+”,30W) [802.3at-2009]
802.3ba 40/100Gb/s以太网 [802.3ba-2010]
802.11a 运行在5GHz的54Mb/s的无线局域网 [802.11-2007]
802.11b 运行在2.4GHz的11Mb/s的无线局域网 [802.11-2007]
802.11e 针对802.11的Qos增强 [802.11-2007]
802.11g 运行在2.4GHz的54Mb/s的无线局域网 [802.11-2007]
802.11h 频谱/电源管理扩展 [802.11-2007]
802.11i 安全增强/代替WEP [802.11-2007]
802.11j 运行在4.9-5.0GHz(日本) [802.11-2007]
802.11n 运行在2.4GHz和5GHz的6.5-600Mb/s的
无线局域网,使用可选的MIMO和40MHz信道 [802.11n-2009]
802.11s(草案) 网状网,拥塞控制 [开发中]
802.11y 运行在3.7GHz的54Mb/s的无线局域网(许可的) [802.11y-2008]
802.16 微波存取全球互通技术(WiMAX) [802.16-2009]
802.16d 固定的无线城域网标准(WiMAX) [802.16-2009]
802.16e 固定/移动的无线城域网标准(WiMAX) [802.16-2009]
802.16h 改进的共存机制 [802.16h-2010]
802.16j 802.16中的多跳中继 [802.16j-2009]
802.16k 802.16网桥 [802.16k-2007]
802.21 介质无关切换 [802.21-2008]
802.1p/q 虚拟局域网和QoS标签
虚拟局域网是一种802LAN标准的功能扩展,被定义在802.1q标准中,为了解决大型多用途交换网络运行问题。准中。兼容的以太网交换机将主机之间的流量分隔为常见的VLAN,由于这种分隔,连在同一交换机但在不同VLAN中的两台主机,它们之间的流量需要一台路由器来传递(VLAN逐渐被高性能路由器所取代...)。
当多个VLAN跨越多个交换机(中继)时,在以太网帧发送到另一台交换机之前,需要使用VLAN来标记该帧的归属。本功能使用一个称为VLAN标签(或头部)的标记,其中包含12位VLAN标识符,它还包含支持QoS的3位优先级。
802.1p规定了在帧中表示QoS标识符的机制0 802.1p头部包括一个3位优先级字段, 它用于表明一个QoS级别。这个标准是802.1qVLAN标准的扩展。这两个标准可以一起工作,并在同一头部中共享某些位,它用3个有效位定义了8个服务级别,0级为最低优先级,用于传统的尽力而为的流量;7级为最高优先级,可用于关键路由或网管功能。
802.1AX 链路聚合
这是以前的802.3ad。有些系统配备多个网络接口,具有绑定或链路聚合能力:系统通过链路聚合将两个或多个接口视为一个,接收到数据后通过冗余或者拆分数据到多个接口,以提高性能并获得更好的可靠性。IEEE修订的802.1AX [802.1AX-2008]定义了最常用的链路聚合方法,以及可管理这些链路的链路聚合控制协议(LACP),LACP使用一种特定格式的IEEE 802帧(称为LACPDU)。
以太网交换机支持的链路聚合是一个替代方案,它比支持更高速网络接日的性价比高。如果多个端口聚合能提供足够的带宽,则可能并不需要高速接口。链路聚合不仅可被网络交换机支持,而且可在一台主机上跨越多个网络接口卡(NIC)。在通常情况下,聚合的端口必须是同一类型并工作在同一模式(半双工或全双工)下。
LACP协议旨在通过避免手工配置,以简化链路聚合的建立工作。在LACP"主角"(客户端)和"参与者"(服务器)启用后,它们通常每秒都会发送LACPDU;LACP自动确定哪些成员链路可被聚合成一个链路聚合组(LAG)并将它们聚合起来。这个过程的实现需要通过链路发送一系列信息(MAC地址、端日优先级、端口号和密钥)。一个接收站可比较来自其他端口的值,如果匹配就执行聚合。
以太网帧格式
所有的以太网(802.3)帧都基于一个共同的格式。当前以太网帧格式与IEEE提出的IEEE分组的关系如下图:
基本帧格式包括48位(6字节)的目的地址(DST)和源地址(SRC)字段;源地址后跟着一个类型/长度字段(大多数情况下用于确定头部后面的数据类型),TCP/IP网络使用的常见值包括IPv4(OxO800)、IPv6(Ox86DD)和ARP(OxO806),0x8100表示一个Q标签帧;标签之后是数据的有效载荷部分,这里存放高层PDU;在有效载荷区域之后的最后字段(FCS,帧校验序列)提供对帧完整性的检查。
帧完整性的检测的循环冗余校验(CRC)首先使用一个n位的CRC检测数据传输错误,被检查的消息先追加n位0形成扩展消息,再使用模2除法除以一个(n+1)位的值,作为除数的值称为生成多项式。生成多项式已被标准化为一系列不同的n值。以太网使用n=32,CRC32的生成多项式是33位的二进制数100000100110000010001110110110111。
一个以太网帧的基本大小是1518字节(MTU1500字节+14字节头部+4字节CRC),最近的标准将该值扩大到2000字节,以太网帧最小是64字节,要求有效载荷长度最小为48字节。
全双工和802.1X流量控制
A和B通信,A和B直接可以互传数据:
半双工:同一时间只能有一方传数据。
全双工:同一时间AB之间可以互相传数据。
以全双工模式运行扩展的以太网和跨越不同速率的网段时,可能需要由交换机将帧缓存(保存)一段时间。如果一个站聚合的流量速率超过该站的链路速率,那么帧就开始存储在中间交换机中,如果这种情况持续一段时间,这些帧就可能被丢失。针对这种情况,将采取流量控制来缓解存储。一些以太网交换机(和接口)通过在交换机和网卡之间发送特殊信号帧来实现流量控制。流量控制信号被发送到发送方,通知它必须放慢传输速率,但规范将这些细节留给具体实现来完成。以太网使用PAUSE消息(也称为PAUSE帧)实现流量控制,它由802.3x[802.3-2008]来定义。
网桥和交换机
IEEE 802.1d标准规定了网桥的操作,交换机本质上是高性能的网桥。网桥或交换机用于连接多个物理的链路层网络(例如一对物理的以太网段)或成组的站。最基本的设置涉及连接两个交换机来形成一个扩展的局域网。
每个网络单元(包括每个交换机)有自已的MAC地址;每个网桥经过一段时间对域外MAC地址的“学习”后,最终每个交换机会知道每个站可由哪个端口到达。每个交换机基于每个端口(也可能是每个VLAN)的列表被存储在一张表(称为过滤数据库)中。当第一次打开一个交换机(网桥)时,它的数据库是空的,因此它不知道除自已之外的任何站的位置。当它每次接收到一个目的地不是自已的帧时,它为除该帧到达的端口之外的所有端口做一个备份,并向所有端口发送这个帧的备份。如果交换机(网桥)未学习到站的位置,每个帧将会被交付到每个网段,这样会导致不必要的开销。学习能力可以显著降低开销,它是交换机和网桥的一个基本功能。
基于上图,交换机经过"学习"后的数据表大概是这样的:
生成树协议
多个网桥使用时,可能会发生存在级联而形成多组循环帧(采用简单转发帧而产生的广播风暴)。为了避免帧在多个网桥之间转发时产生的多余的倍增流量,需要采用生成树协议(STP)来做处理。STP通过每个网桥禁用某些端口从而达到两个网桥之间不允许出现重复路径,但如果拓扑结构未分区,则仍可到达所有站。如图所示
通过STP,图中的双线条链路之间的端口是活跃的,其他端口则被阻塞。如果配置发生变化或某台交换机故障,则将阻塞端口改变为转发状态,并由网桥计算一个新生成树。
STP通过交换一种称为网桥协议数据单元(BPDU)的帧来实现适应拓扑变化。
生成树过程中,根网桥是在网络中标识符最小的网桥,一个网桥初始化的时候假设自己是根网桥,并用自己的网桥ID为根ID字段的值发送配置BPDU消息,如果检测到更小ID的网桥则屈服~ 依次类推生成树。当网桥检测到变化时,依次向上通知至根网桥,然后又由根网桥向下更新。
快速生成树协议(RSTP)
当前标准[802.1D-2004]中,传统的STP被快速生成树协议(RSTP)代替。传统STP的收敛时间(沿着生成树重新建立数据流的时间)长。RSTP是对STP的改进主要是监视每个端口状态,在故障时立即发送拓扑变化通知,同时RSTP使用BPDU标志字段中的全部6位来支持网桥之间的协议,以避免由计时器来启动协议操作。
它将正常的STP端口状态减少至3个(丢弃、学习、转发)。RSTP的丢弃状态代替了传统STP的禁止、阻塞和侦听状态。RSTP使边缘端口(只连接到端站的端口)和正常的生成树端口之间,以及点到点链路和共享链路之间都有区别。边缘端口和点到点链路上的端口通常不会形成循环,因此允许它们跳过侦听和学习状态,直接进入转发状态。在普通的STP中,BPDU通常由一个通知网桥或根网桥来转发;在RSTP中,BPDU为了“保持活跃”而由所有网桥来定期发送,以便确定相连的邻居是否正常运行。
端口状态和角色
网桥的端口可能有以下5中状态之一:阻塞、侦听、学习、转发和禁用。它们之间关系如下:
实线箭头表示端日的正常转换,小的虚线箭头表示由管理配置引起的改变。
由上图可以看出,初始化端口首先处于阻塞状态,随着一定条件的达到(监听BPDU,它需要被包含在将到达的根网桥的路径中)的时候转换为侦听状态,而侦听状态经过15s的转发延迟进入学习状态,之后再一次通过转发延迟进入转发状态,这时候趋于稳定,直到拓扑改变时重新初始化端口状态。端口还有多种角色,例如:根端口、指定端口、备用端口或备份端口等。
BPDU结构
Port:协议号ID,设置为0;
Vers:0/2,取决于使用STP或者RSTP;
Type:与Vers类似;
Flags:包含拓扑变化(TC)和拓扑变化确认(TCA),附加位:P(建议)、端口角色(00未知,01备用,10根,11指定)、L(学习)、F(转发)、A(协议)。
根ID:段给出发送方使用的根网桥标识符,即从网桥ID字段中获得的MAC地址;
根路径成本:在根ID字段中指定的计算出的到达某个网桥的成本;
网桥ID:网桥ID;
PID:端口标识符和由发送帧给出的端口号,它被附加在一个可配置的1字节的优先级字段(默认为0x80)之后;
MsgA:消息有效期;
MaxA:超时(默认20s)的最大期限;
Hello Time:配置帧的传输时间;
转发延迟:处于学习和侦听状态的时间。
无线局域网-IEEE 802.11
基础设施模式:站和接入点(AP)组成一个操作子集;一个AP和相关的站称为一个基本服务集(BSS);AP之间通常使用一种有线的分布式服务(DS)连接,形成一个扩展服务集(ESS)。
IEEE的术语中,加入一个Ad hoc网络的STA形成一个独立基本服务集(IBSS)。由BSS或IBSS的集合形成的无线局域网称为服务集,它由一个服务集标识符(SSID)来标识。扩展服务集标识符(ESSID)是由SSID命名的一个BSS集合,它实际上是一个最长32个字符的局域网名称。在WLAN第一次建立时,该名称通常分配给AP。
802.11帧
QoS控制字段用于特殊功能,HT控制字段用于控制802.11n的“高吞吐量”功能。物理层会聚程序(PLCP)头部以独立于物理层的方式提供特定的物理层信息。顺序控制字段包含一个分片号(4位)和一个序列号(12位)。帧的PLCP部分的传输速率通常比其余部分低,这样做有两个目的:提高正确交付的概率(较低速度通常具有更好的容错性能),提供对传统设备的兼容性和防止慢速操作的干扰。MPDU以帧控制字开始,其中包括2位的类型字段用于识别该帧的类型。这里有三种 类型的帧:管理帧、控制帧和数据帧。
管理帧:管理帧用于创建、维持、终止站和接入点之间的连接。它们也被用于确定是否采用加密、传输网络名称(SSID或ESSID)、支持哪种传输速率,以及采用的时间数据库等。当一个Wi-Fi接口“扫描”临近的接入点时,这些帧被用于提供必要的信息。
控制帧、RTS/CTS、ACK:控制帧与帧确认被用于一种流量控制方式,流量控制有助于接收方使一个过快的发送方降低发送速度,帧确认有助于发送方知道哪些帧已正确接收。RTS/CTS(802.11支持的请求发送/明确发送)交换有助于避免隐藏终端问题,通过在允许发送时对每个站加以指导,以便发现对方站同时进行的传输;802.11采用一种重传/确认(ACK)方法来扩展802.3重传机制。
数据帧、聚合、分片:携带数据的帧。根据802.11n规定以支持帧聚合,可将多个帧合并发送以减少开销;当使用帧分片时,每个分片有自己的MAC头部和尾部的CRC,并且它们独立于其他分片处理,有助于提高在信道干扰时的传输性能(分片仅用于目的地址为单播(非广播或组播)的帧)。
分片不常使用,因为分片需要经过调整,如果不调整就使用,可能导致性能下降,帧越小,出现位差错概率越小。分片大小有阈值,只有超过阈值以外的帧才被分片。
聚合有两种:MAC服务数据单元(A-MSDU)(将多个完整的802.3帧聚合在一个802.11帧中)和MAC协议数据单元(A-MPDU)(可将多个具有相同的源、目的和QoS的MPDU聚合为短帧)。
A-MSDU使用一个FCS聚合多个帧。A-MPDU在聚合的每个802.11帧之间使用一个4字节的分隔符。每个A-MPDU子帧拥有自已的FCS,并可以分别使用ACK确认以及在必要时重传。
省电模式、时间同步
802.11规范提供一种使站进入有限电源状态的方式,称为省电模式(PSM)。PSM的设计目标是为了节省电源,STA可在某个时间关闭无线电收发器电路。在不使用PSM时,收发器电路将始终运行并消耗能量。在使用PSM时,STA的输出帧在帧控制字中设置1位。当AP发现某些帧的该位被设置时,它会缓冲该帧直到该站需要时为止。
Wi-Fi采用时间同步功能(TSF),每个站保持一个64位计数器的参考时间(微秒),这个时间与网络中的其他站保持同步。同步保持在4μs加PHY(速率为1Mb/s或以上)最大传播延迟之内。这是通过多个站接收一个TSF更新(另一个站发送的64位计数器副本)并检查其中的值是否比自己的值更大来实现。
802.11 访问控制
介质是相对单一的,无论是集中方式还是分布方式都需要协同传输,避免多个站同时发送。802.11标准采用三种方法控制共享的无线介质,它们分别称为点协调功能(PCF)、分布式协调功能(DCF)和混合协调功能(HCF)。HCF被纳入802.11规范[802.11-2007],在802.11e中增加支持QoS,它也被用于802.11n。
DCF是一种CSMA/CA类型,是基于竟争的介质访问方法。它可用于基础设施和Ad hoc网络。通过CSMA/CA,一个站可查看介质是否空闲,如果空闲,它将有机会传输;如果不空闲,它在一段随机的时间内避免发送,直到它再次查看介质是否空闲为止。
802.11载波侦听能以物理和虚拟方式实现。一个站在准备发送时,通常需要等待一段时间(称为分布式帧间间隔(DIFS)),以允许更高优先级的站访问信道。如果信道在DIFS期间变得繁忙,该站再次开始一个等待时间。当介质出现空闲时,希望发送数据的站将启动冲突避免/退避过程。这个过程在一次成功(失败)的传输后通过一个ACK知道数据被接收(或没有接收)后启动。在传输不成功的情况下,经过不同时间(称为扩展帧间间隔(EIFS))启动退避过程。
1.虚拟载波侦听、 RTS/CTS和网络分配向量
虚拟载波侦听机制会检查每个MAC帧中的持续时间字段(发送方基于帧长度、传输速率和PHY特性(例如速率等)设置持续时间字段,RTS和CT帧中都有)。每个站保持一个称为网络分配向量(NAV)的本地计数器,它被用于估计介质传输当前帧所需的时间,以及尝试下一次传输之前需等待的时间。当一个站侦听到一个持续时间大于自已的NAV时,它将自已的NAV更新为这个值(当本地NAV不为0时,介质被认为是繁忙的)。
2.物理载波侦听(CCA)(空闲信道评估)
空闲信道评估是一种评估信道是否空闲的功能,它基于能量和波形识别(通常是一个完好的PLCP)。通常与NAV结合使用,以确定一个站在传输之前是否需要推迟(等待)。
3.DCF冲突避免/退避
每个站在发送之前需计算和等待一个退避时间,当一个站正确接收一个帧时,在等待一小段时间(称为短帧间间隔(SIFS))后开始传输ACK,并且不考虑介质的忙碌/空闲状态。由于SIFS的值始终比DIFS小,该站产生的ACK可优先访问信道以完成接收确认。
Wi-Fi网状网(802.11s)
早期802.11采用有线等效保密(WEP)的加密方法,后来被证明安全性薄弱。后来通过Wi-Fi保护访问(WAP)来替换,它使用加密块代替密钥方式,在WAP中,采用一种称为临时密钥完整性协议(TKIP)的方案来确保每个帧都用不同密钥加密;还采用一种称为Michael的消息完整性检查来弥补WEP中的主要弱点之一。IEEE 802.11i工作组制定了一个功能更强的标准,称为WAP2。WAP2使用高级加密标准(ASE)算法。
由于授权的实现(预共享密钥(PSK))具有局限性,WAP和后期标准支持基于端口的网络访问控制标准被称为820.1X[902.1X-2010],它提供了一种在IEEE 802局域网中使用扩展身份验证协议的方式(EAP)。随着IEEE 802.11i工作组的工作完成,WPA和EC4/TKIP组个扩展为CCMP新方案,被认作是WAP2的一部分,它基于计数器模式(CCM[RFC3610])的AES,以确保用于认证的完整性和密码块链接消息认证码的安全。
点到点协议
PPP表示点到点协议,它是一个协议集合,支持建立链接的基本方法(链路控制协议LCP)、一系列NCP协议,在LCP建立基本链路后,用于为各种协议建立网络层链路。LCP用于在点到点链路上建立和维护低层的双方通信路径,它只需要关注一条链路的两端即可。LCP链路必须支持双向操作以及异步或同步操作;LCP使用简单的位级别帧格式,基于高级数据链路控制(HDLC)建立链路协议。
PPP基本帧格式如下:
标志字段有固定值0X7E,点到点链路的两个端点使用这些字段来发现一个帧的开始和结束;
由于地址和控制字段在PPP中都是固定的常数(分别是0XFF和0X03),所以在传输过程中经常通过地址和控制字段压缩(ACFC)选项来省略它们;
协议字段表明携带的数据类型,根据HDLC规范,协议号的分配方式为:高位字节的最低有效位为0,低位字节的最低有效位为1。0X0000~0xEFFF范围内的值表示网络层协议;Ox8000~0xBFFF范围内的值便是NCP的相关数据;0x4000~0x7FFF范围内的值用于NCP不相关的"很少使用的"协议;0xC000~0xEFFF范围内的值表示控制协议;
FCS涵盖除FCS字段本身和标志字节之外的整个帧;
MRU为链路的最大接收单元。
LCP分组的格式如下:
协议字段固定值为0xC021,它不能用PFC删除,以免产生歧义;
标识字段是由LCP请求帧的发送方提供的序列号,并随着每个后续消息进行递增,在生成一个回复时,这个字段字段通过复制响应分组请求中包含的值来构造;
代码字段给出了请求或者响应的操作类型:配置请求(0x01)、配置ACK(OxO2)、配置NACK(OxO3)、配置REJECT(OxO4)、终止请求(OxO5)、终止ACK(OxO6)、代码REJECT(OxO7)、协议REJECT(OxO8)、回送请求(OxO9)、回送应答(OxOA)、放弃请求(OxOB)、标识(OxOC)和剩余时间(OxOD);
长度字段给出了LCP分组的字节长度,它不能超过链路的最大接收单元MRU。
LCP的主要工作是使一条点到点链路达到最低要求。配置消息使链路两端开始基本配置过程,并建立商定的选项;终止消息用于在完成后清除一条链路;回送请求/应答消息可由LCP在一条活跃链路上随时交换以验证对方的操作;放弃请求消息可用于性能测试,指示对方丢弃没有响应的分组;标识和剩余时间消息用于管理目的:了解对方的系统类型,指出链路保持建立的时间。
LCP典型交换过程如下:
当LCP建立一条由一个或多个NCP使用的链路时,可以对一些选项进行协商。PPP支持一种交换链路质量报告信息的机制,在选项协商期间可能包括一个包含所请求的特定质量协议的配置信息。选项中的第16位被保留给特定协议,但最常见的是一个包括链路质量报告(LQR)的PPP标准[RFC1989],它在PPP协议字段中使用值0xC025。
很多PPP实现支持一种回叫功能,在一次典型的回叫建立过程中,PPP拨号回叫客户端呼叫PPP回叫服务器,并提供认证信息,而服务器断开连接并回叫客户端。在呼叫费用不对称或对于某些安全级别的情况下,这种做法可能是有用的。LCP选项针对用于协商回叫的协议,该选项值为0x0D。如果许可,回叫控制协议(CBCP)完成协商。
PPP使用的一些压缩和加密算法在处理时需要一定的最小字节数,称为块大小。在数据不够长的情况下,通过填充增加数据长度,达到一个甚至多个块的大小。如果存在填充,它通常位于数据区后面,并位于PPP FCS字段之前,且最多支持255字节的填。
为了减小每个帧包含一个头部的固定开销,提出了一种将多个不同协议的有效载荷聚合成PPP帧的方法(PPPMux方法)。主要PPP头部的协议字段被设置为聚合帧(0x0059),然后每个有效载荷块被插入帧中,通过在每个有效载荷块之前插人1-4字节的子帧头部来实现。
PPP的一个特殊版本称为多链路PPP(MP),可用于将多条点到点链路聚合为一条链路。实现MP的典型方法是使分组轮流经过备个成员链路传输。这种方法称为银行柜员算法,它可能导致分组重新排序,可能为其他协议带来不良的性能影响。MP在每个分组中添加一个2-4字节的序列头部,而远程MP接收方的任务是重建正确的顺序。
从历史上来看,PPP是相对较慢的拨号调制解调器使用的协议。因此提出压缩后发送数据的一些方法(主要在PPP这里的是协议头部压缩)。LCP可协商一个使压缩控制协议生效的选项。
MTU和路径MTU
在很多链路层网络(例如以太网)中,携带高层协议PDU的帧大小是有限制的。以太网有效载荷的字节数通常被限制为1500,PPP通常采用相同大小以保持与以太网兼容。链路层的这种特征被称为最大传输单元(MTU)。大多数的分组网络(例如以太网)都有固定的上限。大多数的流类型网络(串行链路)提供可设置的上限,它可被帧协议(例如PPP)所使用。如果IP需要发送一个数据报,并且这个数据报比链路层MTU大,则IP通过分片将数据报分解成较小的部分,使每个分片都小于MTU。当两台主机之间跨越多个网络通信时,每条链路可能有不同大小的MTU。在包含所有链路的整个网络路径上,最小的MTU称为路径MTU。MTU是可能改变的,路径MTU不需要再两个方向上相同。
隧道基础概念
在某些情况下,两台计算机需要通过Internet或其他网络建立一条虚拟链路。虚拟专用网络(VPN)提供这种服务,实现这类服务的最常用方法称为隧道。一般来说,隧道是高层(或同等层)分组中携带低层数据。隧道转变了在头部中协议严格分层的思路,并允许形成覆盖网络。
用于隧道建立的3个常见协议:通用路由封装(GRE)、Microsoft专用的点对点隧道协议(PPTP)、第2层隧道协议(L2TP)。
虽然GRE是PPTP的基础并被PPTP使用,但这两个协议的目的不同。GRE隧道常用于网络基础设施内的流量传输,例如ISP之间或企业内部网与分支机构之间;PPTP常用于用户和ISP或企业内部网之间,并需要加密(例如MPPE)。PPTP本质上是GRE和PPP的结合,因此GRE可基于PPP提供虚拟的点到点链路。
环回
大多数实现支持一种工作在网络层的环回能力通常使用一个虚拟的环回网络接口来实现,环回使得客户机使用Internet协议与同一计算机上的服务器通信。127开始的IPv4地址就是为这个目的而保留(127.0.0.1/localhost),IPv6地址::1。
其他
在传统的有线以太网中,接口可被设置为混杂模式,这允许它接收目的地不是自已的流量。在早期的以太网中,当介质是名副其实的共享电缆时,该功能允许任何一台连接以太网电缆的计算机“嗅探”别人的帧并检查其内容。当时很多高层协议包含密码等敏感信息,仅通过查看一个分组并解码就能轻易获得密码。两个因素对这种方法的影响很大:交换机部署和高层协议加密部署。在使用交换机后,只有连接到交换机端口的站提供流量,流量的目的地也是其他站(或其他桥接的站)以及广播/组播流量。这种流量很少包含敏感信息(例如密码),可在很大程度上阻止攻击。
参考:
《TCP IP 详解卷1:协议》
TCP/IP 笔记 - 链路层的更多相关文章
- TCP/IP中链路层的附加数据(Trailer数据)和作用
1.TCP/IP中链路层的附加数据是什么 在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图 2.如何产生 1.例如以太网自动对小于64字节大小的报文进行填充(未实验) ...
- TCP/IP学习-链路层
链路层: 路径MTU: 网络层: ifconfig netstat IP首部 网络字节序:大端字节序
- TCP/IP协议栈 -----链路层
这节说一下链路层和ARP RARP协议 链路层: 在协议栈中链路层的目的有三个:1. 为IP模块发送或接受数据包 2.为ARP模块发送或接受ARP请求 3. 为RARP模块发送或接受RARP请求. 让 ...
- TCP/IP 笔记 1.2 链 路 层
都是包含三种类型.根据类型字段的值来进行区分 2.4 SLIP:串行线路IPS L I P的全称是Serial Line IP.它是一种在串行线路上对 I P数据报进行封装的简单形式,在RFC 105 ...
- TCP/IP笔记 一.综述
1. TCP/IP分层 TCP/IP 是四层的体系结构:应用层.运输层.网际层和网络接口层,如下图: OSI协议是国际标准的网络协议,但是由于OSI的实用性等问题造成OSI没有流行起来.目前国际上广泛 ...
- TCP/IP 笔记 - 安全
安全:可扩展身份认证协议.IP安全协议.传输层安全.DNS安全.域名密钥识别邮件 任何由用户或以用户账号执行却违背了用户本身意愿的软件被称为恶意软件 网络安全是一门十分广泛及有深度的学识,而本书旨在了 ...
- TCP/IP 笔记 - TCP拥塞控制
拥塞控制是TCP通信的每一方需要执行的一系列行为,这些行为有特定算法规定,用于防止网络因为大规模的通信负载而瘫痪.其基本方法是当有理由认为网络即将进入拥塞状态(或已由于拥塞而出现路由丢包情况)时减缓T ...
- TCP/IP笔记(1)
TCP/IP 背景和介绍 上世纪 70 年代,随着计算机技术的发展,计算机使用者意识到:要想发挥计算机更大的作用,就要将世界各地的计算机连接起来.但是简单的连接是远远不够的,因为计算机之间无法沟通.因 ...
- TCP/IP 笔记 - 超时和重传
TCP协议为了提供可靠的数据传输服务,会启动数据重传来解决下层网络层(IP)可能出现的数据包丢失. 超时重传介绍 TCP重传由两套独立机制来完成重传,基于时间的超时重传(RTO,TCP发送数据时会设置 ...
随机推荐
- 2018-2019-2 20175234 实验一 Java开发环境的熟悉(Linux + IDEA)
目录 20175234 实验一 Java开发环境的熟悉(Linux + IDEA) 第一部分 代码及运行结果截图 第二部分 要求 代码及截图 第三部分 题目 需求分析 设计 程序及运行结果 问题和解决 ...
- c#关于Mysql MySqlBulkLoader 批量上传
有个list表有几万数据 用insert插入,速度跟蜗牛爬行, 几十个表,传起来可就需要时间了. 搜搜,发现有 MySqlBulkLoader 这个人家mysql 的dll 里边已经提供了这个方法 ...
- 3T - A1 = ?
有如下方程:A i = (A i-1 + A i+1)/2 - C i (i = 1, 2, 3, .... n). 若给出A 0, A n+1, 和 C 1, C 2, .....C n. 请编程计 ...
- 后台获取url里面加密的参数中,特殊符号+获取到后端后是 一个空格的解决方法
进行加密,加密后的参数中有个+号: 前端的url:http://mtest.cmread.com:8145/nap/p/QRcode.jsp?activityId=11206&vcode=O/ ...
- js后加版本号
页面引入两个js文件 <script charset="utf-8" src="mjs/randomimage.js?v=01291"></s ...
- 大数据 Spark 架构
一.Spark的产生背景起源 1.spark特点 1.1轻量级快速处理 Saprk允许传统的hadoop集群中的应用程序在内存中已100倍的速度运行即使在磁盘上也比传统的hadoop快10倍,Spar ...
- pdf预览(pdf.js)
开门见山,pdf.js是Mozilla(缩写MF或MoFo)全称Mozilla基金会,下面的插件.现在社区非常活跃. Mozilla是为支持和领导开源的Mozilla项目而设立的一个非营利组织 下载地 ...
- Nginx unit 源码安装初体验
Nginx unit 源码安装初体验 上次介绍了从yum的安装方法(https://www.cnblogs.com/wang-li/p/9684040.html),这次将介绍源码安装,目前最新版为1. ...
- 【repost】JavaScript 基本语法
JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...
- OpenCV基础知识介绍
1.图像与矩阵 一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height).而矩阵有着行(row)和列(column),矩阵的操作在数学和计算机中的处理都很常见且成熟,于是很自然的就 ...