TCP/IP详解(三) -- 链路层

TCP/IP协议族中设计链路层的目的是为IP模块发送和接收IP数据报。它可用于携带一些支持IP的辅助性协议(例如ARP)。
TCP/IP支持多种不同的链路层,它依赖于使用的网络硬件类型:有线局域网,例如以太网;无线网络,例如wifi;基于蜂窝技术的各种无线数据服务等。
《TCP/IP详解(三) – 链路层》系列,我们将讨论以下内容:在以太网和wifi的链路层中,如何使用点到点协议(PPP),如何在其他(链路或更高层)协议中携带链路层协议,以及一种称为隧道的技术等。

一、以太网

以太网这个术语通常指一套标准。第一个常见格式的以太网,目前被称为“10Mb/s以太网”或“共享以太网”,它被IEEE采纳为802.3标准。
基本的共享以太网包括一个或多个站(例如工作站,超级计算机),它们都被连接到一个共享的电缆段上。当介质被确定为空闲状态时,链路层的PDU(帧)可从一个站发送到一个或更多的其他站。如果多个站同时发送数据,可能发生碰撞,碰撞会导致发送站等待一个随机时间,然后重新发送数据。

随着以太网的发展,速度不断提升,上述的方式变得不流行。相反,局域网中每个站之间的线路通常不共享,而是提供了一个专用的星形拓扑结构,通过以太网交换机来实现。
一个交换式以太网包含多个站,每个站使用一条专用的线路连接到一个交换机端口。在大多数情况下,交换机以太网以全双工方式运行。交换机可以通过交换机端口级联形成更大的以太网,该端口也称为“上行”端口。

  • 全双工以太网
    交换机为以太网中的每个站提供同时发送和接收数据的能力
无线以太网

常见的无线局域网标准称为无线保真或Wi-Fi,有时也称“无线以太网”或802.11。TCP/IP用于以太网的大部分功能,也可用于Wi-Fi网络。

以太网帧格式

所有以太网(802.3)帧都基于一个共同的格式。在原有规范的基础上,帧格式已被改进以支持额外功能。
下图显示了当前的以太网帧格式,以及它与IEEE提出的一个相对新的术语IEEE分组的关系。
以太网帧

以太网帧开始是一个前导字段,接收器电路用它确定一个帧的到达时间,并确定编码位(称为时钟恢复)之间的时间量。前导是一个公认的模式(典型值为0xAA),在发现帧起始分隔符(SFD)时,接收器使用它“恢复时钟”。SFD的固定值为0xAB。

以太网帧包含:一个源地址和目的地址、一个重载的长度/类型字段、一个数据字段和一个帧校验序列(CRC32)。

  • 前导字段

  • DST 目的地址 (MAC地址)

  • SRC 源地址 (MAC地址)

  • 长度或类型 一个类型字段或一个长度字段。在多数情况下,它用于确定头部后面的数据类型。如果字段值大于或等1536,表示类型;字段值小于或等于1500,表示长度。

  • P/Q标签 由802.1p和802.1q使用的标签,它提供虚拟局域网和一些服务质量(QoS)指示符。

  • 标签   [802.3-2008]提供了多种标签包含由其他IEEE标准定义的各种协议字段,P/Q标签是标签中的一种,也是最常见的。

  • 有效载荷 帧的数据区,这里是放高层PDU(例如IP数据报)的地方。

  • 帧校验序列(CRC32) [CRC:循环冗余校验]
    校验过程:
    要使用一个n位CRC检测数据传输错误,被检查的消息首先需要追加n位0形成一个扩展消息。然后扩展消息除以一个(n+1)位的值(这个n+1位的值称为 生成多项式,有标准规定这个生成多项式的值是多少),得到这次除法(模2除法)计算的余数,取反。将这个反码置放在帧的CRC或FCS(帧校验序列)字段中。在接收到数据之后,接收方执行相同的除法计算出余数,并判断该值与FCS字段的值是否匹配。如果两者不匹配,帧可能在传输过程受损,通常被丢弃。
    以太网n=32,CRC32的多项式值为100000100110000010001110110110111。

以太网帧大小

以太网帧有最大和最小尺寸,最小帧64字节,传统以太网帧最大1518字节。
.
.
.

二、链路层流量控制

如果一个站聚合的流量速率超过该站的链路速率,那么帧就开始存储在中间交换机中。例如,当多个站发送到同一目的地(称为输出端口争用),这时,就可能需要由交换机将帧缓存(保存)一段时间。如果这种情况持续一段时候,这些帧可能被丢弃。

缓解这种情况的一种方法是在发送方采取流量控制(使它慢下来)。一些以太网交换机(和接口)通过在交换机和网卡之间发送特殊信号帧来实现流量控制。流量控制信号被发送到发送方,通知它必须放慢传输速率。

以太网使用PAUSE消息(也称PAUSE帧)实现流量控制,它由802.3x来定义。
PAUSE消息包含在MAC空指针中,通过将以太网长度/类型字段值设为0x8808,以及使用MAC控制操作码0x0001来标识。

如果一个站接收到这种帧,标识建议它减缓发送速度。

三、网桥和交换机
基本概念及工作流程

IEEE802.1d标准规定了网桥的操作,交换机本质上是高性能的网桥。

作用: 网桥和交换机用于连接多个物理的链路层网络或成组的站。

下面以一个简单的例子说明网桥的工作

端口1
端口2
端口3
PC机1
交换机
PC机2
PC机3

如图,使用交换机组成了一个局域网。
注意:每个网络单元(包括交换机)都有自己的MAC地址。

当交换机接收到一个目的地不是自己的帧时,它为除该帧到达的端口之外的所有端口做一个备份,并向所有端口发送这个帧的备份(这个过程称为学习)。当交换机(网桥)经过一段时间学习后(学习后的数据会存储在过滤数据库的一张表里),它就知道每个站可由哪个端口到达。

如果交换机不知道某个站的位置,试图发送到该站的帧会被交付到该站所在的网段,不能准确到达该站。

例如上图局域网,当交换机第一次工作的时候(数据库为空),收到一个发送给PC机1的帧后,交换机不仅往PC机1发送该帧,而且会备份帧,并往PC机2、PC机3发送备份帧。

最终,表中会存储MAC地址(PC机对应的MAC地址)、交换机端口这两个字段。

四、待续

[1]TCP/IP详解·卷1:协议 机械工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值