440 likes | 534 Views
第二章 网 络接口. TCP/IP 参考模型没有真正描述这个层次,只是指出主机必须使用某种协议与网络连接,以便能在其上传递 IP 分组。 以太网帧格式与 TCP/IP 交换式以太网 VLAN SLIP 和 PPP. 应用层. 端口号. 23. 20. 25. 161. 69. 传输层. Telnet. TFTP. SMTP. FTP. SNMP. ICMP. UDP. IP. TCP. ARP. 协议 ID. 6. 17. 1. 网络层. 类型码. 0800H. 0806H. 数据链路层. 以太网软件. MAC 地址.
E N D
第二章 网络接口 • TCP/IP参考模型没有真正描述这个层次,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP分组。 • 以太网帧格式与TCP/IP • 交换式以太网 • VLAN • SLIP和PPP
应用层 端口号 23 20 25 161 69 传输层 Telnet TFTP SMTP FTP SNMP ICMP UDP IP TCP ARP 协议ID 6 17 1 网络层 类型码 0800H 0806H 数据链路层 以太网软件 MAC地址 以太网硬件 物理层 TCP/IP协议多路复用
目标MAC地址 6字节 源MAC地址 6字节 以太类型2字节 数据/填充 46~1500字节 FCS 4字节 Ethernet II帧格式
目标MAC地址 6字节 源MAC地址 6字节 长度 2字节 DSAP1字节 SSAP1字节 控制 1字节 数据 43~1497字节 FCS 4字节 IEEE 802.3/802.2帧格式 802.3的数据域(LLC帧)/填充 控制域一般总为0x03
目标MAC地址 6字节 源MAC地址 6字节 长度 2字节 0xFFFF 数据 44~1498字节 FCS 4字节 标识为Novell帧 Novell专用帧(802.3原始)格式
目标MAC地址 6字节 源MAC地址 6字节 长度 2字节 DSAP1字节 SSAP1字节 控制 1字节 SNAP ID 5字节 数据 38~1492字节 FCS 4字节 IEEE 802.3 SNAP帧格式 802.3的数据域(LLC帧)/填充 SNAP ID 的前3个字节构成厂商代码,通常与MAC地址的前3个字节相同,有时也被置为0。 SNAP ID 的后2个字节通常包含与Ethernet II帧格式相同的以太类型码。
透明网桥(transparent bridge) • 透明网桥的存在对网络用户是透明的。 • 透明网桥以混杂方式工作(promiscuous mode),接收与之相连的网上传送的全部数据,筛选出需要转发的帧进行转发。 • 转发的依据是网桥内的一张路径选择表,该表记录了网桥已知的所有目的站点所属的输出线路。 • 透明网桥通过逆向学习法(backward learning)来获知路经并逐步建立起路径表,即通过检查收到帧的源地址及其输入线路,从而发现目的站点及所属输出线路。对长久(几分钟)未被访问的目的站点的记录自动删除,以适应网络的变化。 • 透明网桥对于未知的目的站点(不在路径表中),采用扩散算法(flooding algorithm)进行转发,即将该帧在除输入线路外的所有输出线路上发送。
并行(parallel)透明网桥的问题 • 为了提高可靠性,可设置并行的两个或多个网桥,但会在拓扑结构上产生回路(loop),回路会导致通信量增加,路径选择表出错,使网络性能下降,甚至导致阻塞。
IEEE802.1D • IEEE802.1D标准通常被称为生成树(spanning tree)标准。 • 生成树算法用于消除网络拓扑中的环路。
生成树网桥 • 网桥之间相互通信(发送小的BridgePDU),利用生成树算法STA去掉一些会造成回路的冗余链路(阻塞某些端口) ,构造一棵可覆盖每个LAN的生成树去取代实际的拓扑结构,确保任意两个LAN之间只有唯一的一条路径。 • 首先每个网桥广播其序列号(唯一),选取序列号最小的网桥作为生成树的根。然后再按根到每个网桥的最短路径来构造生成树。此算法一直工作,自动地检查拓扑结构的变化并更新生成树。
生成树算法中的三个概念 • 根网桥(root): • 所有的网桥都分配了一个叫作网桥优先级的数值,优先级最小的网桥作为根网桥。 • 当存在多个最小优先级网桥时,取MAC地址最小的网桥(网桥ID)作为根网桥。 • 根端口(root port):用于上联 • 网桥中所有的端口都分配了一个称作端口成本的参数(一般基于该端口的介质速率)。任何一个网桥都选取一个通往根网桥最近的(成本最小)端口作为根端口。 • 当存在多个端口时,选MAC地址最小的端口(端口ID)作为根端口。 • 指定(designated )端口/网桥:用于下联 • 每个物理网段的所有相连网桥端口中,距离根网桥最近的端口成为指定端口/网桥。 • 当存在多个端口时,选MAC地址最小的端口(端口ID)作为根端口。
指定端口/网桥 阻塞端口 I 2 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-09 端口成本:100 端口1ID:00-00-0C-00-99-01端口2ID:00-00-0C-00-99-02 LAN 6 LAN 7 F G H 2 3 3 2 1 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-07 端口成本:100 端口1ID:00-00-0C-00-77-01端口2ID:00-00-0C-00-77-02 1 2 网桥优先级:32768 网桥ID:00-00-0C-00-00-06 端口成本:100 端口1ID:00-00-0C-00-66-01端口2ID:00-00-0C-00-66-02端口3ID:00-00-0C-00-66-03 网桥优先级:32768 网桥ID:00-00-0C-00-00-08 端口成本:100 端口1ID:00-00-0C-00-88-01端口2ID:00-00-0C-00-88-02端口3ID:00-00-0C-00-88-03 LAN 2 LAN 4 LAN 3 LAN 5 D B C E 2 2 2 2 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-02 端口成本:100 端口1ID:00-00-0C-00-22-01端口2ID:00-00-0C-00-22-02 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-03 端口成本:100 端口1ID:00-00-0C-00-33-01端口2ID:00-00-0C-00-33-02 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-04 端口成本:100 端口1ID:00-00-0C-00-44-01端口2ID:00-00-0C-00-44-02 1 网桥优先级:32768 网桥ID:00-00-0C-00-00-05 端口成本:100 端口1ID:00-00-0C-00-55-01端口2ID:00-00-0C-00-55-02 LAN 1 A 网桥优先级:32768 网桥ID:00-00-0C-00-00-01 端口成本:100 端口1ID:00-00-0C-00-11-01 1 根端口 根网桥 生成树协议的例子
最后无环路的生成树 I 2 1 LAN 6 LAN 7 F G H 2 3 3 2 1 1 1 2 LAN 2 LAN 4 LAN 3 LAN 5 D B C E 2 2 2 2 1 1 1 1 LAN 1 A 1
生成树端口的状态 监听 获取(建表) 阻塞 转发
交换式(switched)以太网 • 网络交换机(switch)源自于多端口网桥(bridge),采用存储-转发方式在各端口之间进行数据包(802.3 MAC帧)的交换,遵循IEEE 802.1D规范。 • 交换机的每个端口都为一个独立的冲突域。不仅可将不同运行速度的网段连接起来实现增大网络距离的目的,而且由于可同时提供多条数据传输路径(非共享),从而使网络的整体吞吐量大为提高。 • 交换机内维护着一张地址表,将各端口同与之相连的节点(MAC)地址关联起来。它是数据帧转发的依据。 Switch 端口1 端口2 端口3 端口4 节点A 节点B 节点C 节点D
改进型切入式 的转发点 切入式 的转发点 存储转发式 的转发点 交换式以太网的三种转发技术 • 存储转发式:完全接收存储了一个帧后,再进行转发。延时大。 • 切入式(cut-through)。大大降低了延时,但可能会转发坏帧。 • 改进的切入式:接收完帧的头64个字节(基本可检测出是否坏帧)后再进行转发。在交换延迟和错误校验之间取得较好折衷。
交换机与网桥的关系 • 交换机是一个采用先进硬件结构的多端口网桥,主要区别: • 端口数量 • 性能(交换速度) • 帧的处理(转发技术)
全双工(full-duplex)以太网 • 常规的以太网是一种共享介质访问的网络,只能进行半双工传输。 • 全双工传输的两个条件: • 10Base-T的收发分别在两条不同的双绞线上进行。 • 交换式以太网意味着信道不再是由多个用户共享了。 • 全双工模式及相应流控制机制(MAC control和PAUSE)属于IEEE 802.3x标准。 • 全双工模式优点: • 可使性能提高一倍。 • 网段长度不再受共享信道半双工以太网计时要求的限制(不需CSMA/CD协议),只受介质系统本身传输信号能力的限制。
自动协商(auto negotiation) • 自动协商(自适应,NWay)通过网络设备之间交换各自的功能信息,从而实现设备的自动配置(如自动的速度匹配和全双工/半双工的模式匹配),达到链路最好的操作模式。 • 自动协商功能在IEEE 802.3u中作了定义。 • 自动协商协议是利用快速链路脉冲(FLP)信号在链路两端的站点连接之初的传输和检测来实施的。 • 自动协商的优先级为: 100Base-T2全双工 > 100Base-TX全双工 > 100Base-T2> 100Base-T4> 100Base-TX> 10Base-T全双工 > 10Base-T
虚拟局域网(Virtual LAN) • VLAN是一组不受物理位置限制,而又可以象在同一个LAN上自由通信的节点集合,在逻辑上等价于广播域(broadcast domain)。 • VLAN的种类: • 基于端口的VLAN (Port-Based) • 基于MAC层分组的VLAN (MAC-Layer Grouping) • 基于网络层分组的VLAN (Network-Layer Grouping) • 基于IP组播分组的VLAN (IP Multicast Grouping) • 基于协议的VLAN (Protocol-Based) • 组合的VLAN • 基于策略的VLAN (Policy-Based)
基于端口分组的VLAN • 最常用的方法,是静态VLAN。 • 将某些交换机上的端口直接、强制性地分配给某个VLAN。 • 一个VLAN可跨越多个交换机。 • 一个交换机的端口可同时属于多个不同的VLAN,称之为公共端口。
基于MAC地址分组的VLAN • 借助智能网管软件或其他工具软件对接入网络的用户站点的MAC地址进行不同VLAN的划分。 • 交换机端口根据网络包的MAC地址来确定其VLAN的从属,将端口动态地划分至不同的VLAN。 • 对移动的用户方便灵活。
基于三层协议(IP)的VLAN • 基于IP的VLAN,是根据IP子网地址来划分VLAN,把同一IP子网的站点分在相对应的VLAN中。交换机通过报文中的IP地址,自动生成VLAN。 • 第3层VLAN的优点是: • 它允许以协议类型为依据对用户进行分组。这对于倾向于基于服务或应用的VLAN策略的网络管理员是有吸引力的。 • 用户可以物理地移动他们的工作站,而不用为每个工作站重新配置网络地址。
基于IP组播组的VLAN • 组播VLAN通过侦听IGMP动态生成。 • 组播VLAN可将组播与无组播需求的LAN隔离。
基于协议的VLAN • 根据协议的不同(数据帧中的“协议类型”字段)进行分组。 • 例如,所有使用MAC地址的用户形成一个VLAN,用IP地址分组的用户形成另外一个VLAN,而使用IPX地址的用户形成第3个VLAN,等等。 • 基于协议VLAN具有以下优点: • 允许用户同时属于不同的VLAN。 • 支持多协议网络环境。 • 允许IPX网络的加入。
基于策略的VLAN • 指为实现管理策略而定义的逻辑用户组。 • 它使用上述VLAN种类定义的方法。 • 它还可以将不同的策略组合到一起以满足网络管理员的特殊需要。
VLAN成员间的通信 • 第2层LAN成员之间的通信是根据帧中MAC地址寻址的。 • VLAN中有三种信息传递方式用来了解VLAN的成员关系: • 列表支持方式(Table-Maintenance):站点广播初始化交换机内置的地址列表(站点的MAC地址或交换机的端口号与所属虚拟网的对应);手动修改虚拟网身分发生变化的工作站信息;交换机间通过不断的广播来相互更新地址列表。易拥塞,不普及。 • TDM方式:每个虚拟网拥有自己的网络通路,分时复用 。 • 帧标签方式(Frame-Tagging):数据帧头中加入一个标签(Tag)来标识该数据帧属于哪个虚拟网。不同厂家的标签长度是不一样的。第2层VLAN成员之间的通信通过新增加的VLAN标签中的VLAN标识符(VLAN ID)进行寻址。
VLAN标识 • 交换机为了能够识别来自不同VLAN的数据帧,而对数据帧加上VLAN标识,或称作帧的VLAN ID。 • 数据帧进入交换网络后,交换机就会在帧头中加入一个唯一标识的VLAN ID。 • 交换网络中的交换机都可理解和检查带VLAN标识的数据帧,并进行适当地转发和传递。 • 当数据帧传出交换网络时,交换设备将数据帧中的VLAN标识删除,发送给目的站点。
VLAN的链路类型 • 接入链路:只传送不带VLAN信息的数据帧(非标记帧)。只与一个VLAN关联。 • 中继链路:只传送带有VLAN信息的数据帧(标记帧)。可承载多个VLAN。 • 混合链路:既可传送标记帧,又可传送非标记帧。
VLAN的四个中继协议 • 交换机间链路ISL(Inter-Switch Link)是Cisco专用的协议。只能用于以太网。 • IEEE 802.1Q。 • IEEE 802.10。 • ATM论坛制定的标准是LANE(LAN Emulation)标准,用于在ATM网络上运行IEEE的LAN协议。
IEEE 802.1Q • 1996年3月发布,统一了Frame-Tagging方式中不同厂商的标签格式的标准,完善了VLAN的体系结构。获得了广泛的推广。
IEEE 802.1Q的两种帧标记 • 隐式帧标记(untagged):表示所属的VLAN信息没有被明显地标记,该帧属于哪一个VLAN默认地由网桥的接收端口号或帧中数据域的信息决定。 • 显式帧标记(tagged):表示所属哪一个VLAN,由网桥所加的标记决定。
IEEE 802.1Q的链路类型 • 接入链路:连接VLAN不支持设备(不支持802.1Q帧标记的网络设备),只支持隐式帧标记。对应访问端口。 • 主干链路:连接VLAN支持设备(支持802.1Q帧标记的网络设备),只支持显式帧标记。对应网络端口。 • 混合链路:连接的既有VLAN支持设备,又有VLAN不支持设备;既支持显式帧标记,又支持隐式帧标记。对应混合端口。
IEEE 802.1Q标记的格式 • 802.1Q既支持以太网介质,也支持FDDI和令牌环的介质。 • 802.1Q标记的格式取决于使用它的介质。 • 802.1Q的标签嵌在目的和源MAC地址之后;如果源和目的的介质不同,标签操作会涉及帧其他字段的翻译或封装;最后的FCS要重新计算。
IEEE 802.1Q以太网编码标记格式 加入的VLAN头 目标MAC地址 6字节 源MAC地址 6字节 TPID 2字节 TCI 2字节 长度 2字节 数据/填充 46~1500字节 FCS 4字节 • TPID(标签协议标识符):为VLAN协议类型,表明该帧已按802.1Q协议进行了显式标记。 • TCI(标签控制信息)包括三部分: • 用户优先级(User-priority):允许VLAN帧在那些不具备表示用户优先权的网段携带用户优先权信息。 • 令牌环封装标志(TR-encap):置位时表示该帧数据域中携带的是未经翻译和封装的令牌环帧。 • VLAN标识(VID):表明此帧属于哪一个VLAN。共有212=4096个VLAN。其中0和1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 VType (0x8100) User-priority VLAN Identifier (VID) Token Ring Encapsulation Flag (TR-encap)
保留的VID值 IEEE 802.1Q按SNAP编码的标记格式 VPID 8字节 VCI 2字节 SNAP头(AA-AA-03) SNAP PID(00-00-00) VType(2字节)
IEEE 802.10 • IEEE 802.10标准是1992年由Cisco提出的,主要用于增强网络安全性(比如认证)。 • 某些公司(如Cisco)使用802.10报头的SAID(Security Association Identifier)字段用来运输VLAN信息而不是安全信息,从而实现在FDDI上的中继。 • 802.10和802.1Q之间的主要差异是:802.10使用二级显式标签法,为每个帧首部增加额外的2字节;802.1Q使用显式和隐式标签方法,为显式帧标记首部增加4个字节。
串行线路上的点到点协议 • 为了实现主机和网络或网络和网络在串行线路的点到点连接上传输IP分组,需要运行专门的协议,其中应用最广泛的有SLIP和PPP这两个协议。
IP分组 c0 db END END ESC ESC c0 db dc db dd c0 SLIP(Serial Line IP)协议 • SLIP提供在串行通信线路上封装IP分组的最简单方法。但不是Internet正式标准。 • SLIP的问题:不支持动态分配IP地址;只能支持IP协议;没有校验能力。
PPP(Point-to-Point Protocol)协议 • PPP是Internet正式标准(RFC 1661,1662,1663)。可处理错误检测,支持多种协议,在连接时允许商议IP地址,具有身份认证功能。 • 使用链路控制协议LCP(link control protocol)来建立、配置、测试和拆除数据链路。使用网络控制协议NCP(network control protocol)来协商、配置不同网络层的各种参数选项。
PPP的帧格式类似HDLC的帧,但是面向字符的。 • 采用字符填充法:对数据域出现0x7e(首尾标志字符)、0x7d(转义字符)和所有小于0x20的字符(ASCII控制字符)都必须在前增添转义字符0x7d(ESC),本身的第六位还必须取反。如0x7e0x7d 0x5e,0x010x7d 0x21。 • 地址字段总为全“1”,避免给每站分配链路地址。控制字段缺省为0x03,表明是无序号帧,没有采用序号和确认来进行可靠的传输。但在有噪音的环境里(无线网络),则使用序号方式进行可靠传输。通过LCP可商议出省略这两个固定字段的选项。 • 协议字段的编码指出信息字段中携带什么类型的数据分组。以“0”开始的编码表示携带的是网络层的分组,如:IP(0x0021),IPX,OSI CLNP,XNS等;以“1”开始的编码表示携带的是用于协商协议的分组,包括用来协商链路参数的LCP(0xc021)和针对所支持的每种网络层协议而定的不同NCP。通过LCP可商议出1个字节的协议字段。 • 信息字段缺省长度为1500字节(若需要可填充),也可通过LCP商议成任意长度。 • 校验和字段采用CRC,一般为2字节,也可商议成4字节。