第3章 链路层 [TCP/IP详解 卷1:协议]
在第1章中,我们知道TCP/IP协议族中设计链路层的目的是为IP模块发送和接收IP数据报。它可用于携带一些支持IP的辅助性协议,例如ARP。
TCP/IP支持多种不同的链路层,它依赖于使用的网络硬件类型:有线局域网,例如以太网;城域网(MAN),例如服务供应商提供的有线电视和DSL连接;有线语音网络,例如支持调至解调器的电话线;无线网络,例如Wi-Fi(无线局域网);基于蜂窝技术的各种无线数据服务,例如HSPA、EV-DO、LTE和WiMAX。
大多数链路层技术都有一个相关协议,描述由网络硬件传输的相应PDU(协议数据单元)格式。在描述链路层的PDU时,我们通常使用术语帧,以区分那些更高层的PDU格式,例如描述网络层和传输层PDU的分组和段。帧格式通常支持可变的帧长度,范围从几字节到几千字节。这个范围的上限称为最大传输单元(MTU)。
以太网这个术语通常指一套标准,由DEC、Intel公司和Xereo公司在1980年首次发布,并在1982年加以修订。
IEEE 802.1d标准规定了网桥的操作,交换机本质上是高性能的网桥。网桥或交换机用于连接多个物理的链路层网络(例如一对物理的以太网段)或成组的站。最基本的设置涉及连接两个交换机来形成一个扩展的局域网。
目前,无线保真(Wi-Fi)是访问Internet的最流行技术之一,其众所周知的IEEE标准名称为802.11,它是一种常用的无线以太网标准。
PPP表示点到点协议。这是一种在串行链路上传输IP数据报的流行方法,从低速的拨号调制解调器到高速的光链路。它被一些DSL服务供应商广泛部署,也可分配Internet系统的参数。
PPP实际上是一个协议集合,而不是一个单一的协议。它支持建立连接的基本方法——称为链路控制协议(LCP),以及一系列NPC协议,在LCP建立了基本链路之后,用于为各种协议(包括IPv4、IPv6和非IP协议)建立网络层链路。一些相关标准涉及对PPP的压缩和加密控制,以及在连接建立后的一些认证方法。
PPP的LCP用于在点到点链路上建立和维护低层的双方通信路径。因此,PPP操作只需关注一条链路的两端,它不需要像以太网和Wi-Fi的MAC层协议那样处理共享资源访问的问题。
PPP的一个特殊版本称为多链路PPP(MP),可用于将多条点到点链路聚合为一条链路。这种想法与前面讨论过的链路集合相似,并被用于多个电路交换信道(例如ISDN B信道)的聚合。MP包含一个特殊的LCP选项,表示支持多链路,以及一个用于多链路上PPP帧分片与重组的协商协议。一条聚合链路(称为一个捆绑)可作为一条完整的虚拟链路来操作,并包含自己的配置信息。链路捆绑由大量成员链路组成,每个成员链路可能有自己的选项集。
从历史上看,PPP是相对较慢的拨号调制解调器使用的协议。因此,针对PPP链路上压缩后发送数据已提出一些方法。压缩类型是不同的,无论是调制解调器硬件支持的压缩类型(例如V.42bis、V.44),还是我们以后讨论的协议头部压缩。目前,有几个压缩选项可选。可在一条PPP链路的两个方向做出选择,LCP可协商一个使压缩控制协议(CCP)生效的选项。CCP的作用就像CNP,只不过在LCP链路建立交换阶段指明压缩选项时才开始处理配置压缩细节。
虽然多种NCP可用于一条PPP链路(甚至同时),但我们将关注支持IPv4和IPv6的NCP。对于IPv4,NCP被称为IP控制协议(IPCP)。对于IPv6,NCP被称为IPV6CP。在LCP完成链路建立和认证之后,该链路每端都进入网络状态,并使用一个或多个NCP(例如典型的是一个IPCP)进行网络层的相关协商。
在某些情况下,两台计算机通过Internet或其他网络建立一条虚拟链路是有用的。虚拟专用网络(VPN)提供这种服务。实现这类服务的最常用方法称为隧道。一般来说,隧道是在高层(或同等层)分组中携带低层数据。例如,在一个IPv4或IPv6分组中携带IPv4数据,在一个UDP、IPv4或IPv6分组中携带以太网数据。隧道转变了在头部中协议严格分层的思路,并允许形成覆盖网络(即这些“链路”实际是其他协议实现的虚拟链路,而不是物理层连接的网络)。这是一个非常强大和有用的技术。
【总结】: