欢迎光临
免费的PDF电子书下载网站

计算机网络与通信——原理与实践 PDF下载

编辑推荐

《计算机网络与通信——原理与实践》将计算机网络与通信的理论与实践融合在一起,能让学生在学习理论的同时能有相应的实验指导来检验和实践相关的内容。 ;

内容简介

全书分为两个部分,*部分依照计算机网络经典的5层模型,以物理层、数据链路层、网络层、运输层和应用层自下而上逐层详细介绍了计算机网络的基本原理和技术; 简要介绍了网络安全相关的基本理论; 第二部分则以网络工程师的基本要求为目标设计了大量的综合性实验项目,所有实验项目均在虚拟机环境下实现,解决了真实实验环境下很多无法解决的难题。各章后面还附有大量来自历年网络工程师认证考试的真题,在附录中给出了绝大部分习题的参考答案。 本书的特点是概念准确、论述严谨、内容新颖、图文并茂、突出基本原理和基本概念的阐述,同时各实验项目均有详细实验指导过程,真正做到了理论与实践相结合,利于学以致用。 本书可供电气信息类和计算机类专业的高职、专科和本科生使用,对有志于参加网络工程师认证考试的读者以及从事计算机网络工作的工程技术人员也有一定的参考价值。

作者简介

暂无

计算机网络与通信——原理与实践 PDF下载

目录

 ;

目录

 ;

 ;

 ;

 ;

第一部分计算机网络与通信的基本原理

 ;

第1章计算机网络概述

 ;

1.1计算机网络的形成与发展

 ;

1.1.1计算机网络的定义

 ;

1.1.2计算机网络的形成与发展

 ;

1.1.3计算机网络在我国的发展

 ;

1.2计算机网络的组成

 ;

1.2.1计算机网络的基本构件

 ;

1.2.2网络互连与网络云

 ;

1.3计算机网络的分类

 ;

1.3.1按照网络的作用范围分类

 ;

1.3.2按网络的使用者进行分类

 ;

1.4Internet的组成

 ;

1.4.1Internet的边缘

 ;

1.4.2Internet的核心

 ;

1.5Internet的结构与管理

 ;

1.5.1Internet的结构

 ;

1.5.2Internet的管理机构及标准化组织

 ;

1.5.3Internet的标准化

 ;

1.6计算机网络的性能指标

 ;

1.6.1数据传输速率

 ;

1.6.2带宽

 ;

1.6.3吞吐量

 ;

1.6.4时延

 ;

1.6.5时延带宽积

 ;

1.6.6误码率

 ;

1.6.7丢包率

 ;

1.7计算机网络体系结构

 ;

1.7.1协议

 ;

1.7.2分层

 ;

1.7.3分层的网络体系结构

 ;

1.7.4OSI/RM体系结构

 ;

1.7.5TCP/IP体系结构

 ;

1.7.65层网络体系结构

 ;

1.8物理传输媒体

 ;

1.8.1有导向传输媒体

 ;

1.8.2非导向传输媒体

 ;

习题

 ;

第2章物理层

 ;

2.1物理层概述

 ;

2.2数据通信基础知识

 ;

2.2.1通信系统模型

 ;

2.2.2数字通信及其性质

 ;

2.2.3编码与解码

 ;

2.2.4模拟信号的数字化编码

 ;

2.2.5调制与解调

 ;

2.2.6通信方式

 ;

2.3信道复用技术

 ;

2.3.1频分复用

 ;

2.3.2时分复用

 ;

2.3.3波分复用

 ;

2.3.4码分复用

 ;

2.4数字传输系统

 ;

2.4.1准同步数字系列

 ;

2.4.2SONET/SDH同步数字系列

 ;

2.5宽带接入技术

 ;

2.5.1ADSL接入

 ;

2.5.2HFC接入

 ;

2.5.3光纤宽带接入

 ;

2.5.4以太网接入

 ;

2.5.5无线接入

 ;

习题

 ;

第3章数据链路层

 ;

3.1数据链路层概述

 ;

3.1.1数据链路层提供的服务

 ;

3.1.2封装成帧

 ;

3.1.3透明传输

 ;

3.1.4差错检测

 ;

3.1.5数据链路层中的信道

 ;

3.2点到点协议

 ;

3.2.1PPP帧格式

 ;

3.2.2PPP的工作状态

 ;

3.3多路访问协议

 ;

3.3.1CSMA/CD协议及策略

 ;

3.3.2CSMA/CD协议的实现

 ;

3.3.3基于CSMA/CD网络的特点

 ;

3.3.4CSMA/CD协议的性能分析

 ;

3.4局域网

 ;

3.4.1传统的以太网

 ;

3.4.2交换式以太网

 ;

3.4.3虚拟局域网

 ;

3.4.4快速以太网

 ;

3.4.5吉比特以太网

 ;

3.4.610吉比特以太网

 ;

习题

 ;

第4章网络层

 ;

4.1网络层概述

 ;

4.1.1无连接服务的实现

 ;

4.1.2面向连接服务的实现

 ;

4.1.3虚电路和数据报的比较

 ;

4.2网际协议IPv4

 ;

4.2.1网际协议概述

 ;

4.2.2IP数据报的格式

 ;

4.2.3IP地址与MAC地址

 ;

4.2.4地址解析协议

 

4.3分类的IP地址

 

4.3.1IP地址的结构与分类

 

4.3.2特殊用途的IP地址

 

4.3.3私有IP地址

 

4.4划分子网

 

4.4.1为何要划分子网

 

4.4.2如何划分子网

 

4.4.3子网掩码

 

4.4.4定长子网划分示例

 

4.5CIDR与构造超网

 

4.5.1CIDR

 

4.5.2构成超网

 

4.5.3最长前缀匹配

 

4.5.4超网及变长子网划分示例

 

4.6网际控制报文协议

 

4.6.1ICMP报文及其格式

 

4.6.2ICMP差错报告

 

4.6.3ICMP查询报文

 

4.7IP数据报转发

 

4.7.1IP数据报转发机制

 

4.7.2基本的IP数据报转发算法

 

4.7.3子网IP数据报转发算法

 

4.7.4统一的IP数据报转发算法

 

4.8路由选择协议

 

4.8.1概述

 

4.8.2内部网关协议RIP

 

4.8.3内部网关协议OSPF

 

4.8.4外部网关路由协议BGP

 

4.9IP多播与IGMP

 

4.9.1IP多播概述

 

4.9.2多播IP地址

 

4.9.3以太网多播地址

 

4.9.4IGMP

 

4.9.5多播路由协议

 

4.10IPv6

 

4.10.1IPv6概述

 

4.10.2IPv6的基本头部

 

4.10.3IPv6扩展头部

 

4.10.4IPv6地址

 

4.10.5IPv4向IPv6过渡技术

 

4.11虚拟专用网

 

4.12网络地址转换

 

4.13多协议标记交换

 

习题

 

第5章运输层

 

5.1运输层概述

 

5.1.1运输层的地位与作用

 

5.1.2运输层的两个主要协议

 

5.1.3运输层端口与套接字

 

5.2用户数据报协议

 

5.2.1UDP结构

 

5.2.2UDP的特点与应用

 

5.3传输控制协议

 

5.3.1TCP服务

 

5.3.2TCP字节编号与确认机制

 

5.3.3TCP报文格式

 

5.3.4TCP连接管理

 

5.4TCP可靠传输

 

5.4.1停止等待协议

 

5.4.2GoBackN协议

 

5.4.3选择重传协议

 

5.4.4以字节为单位的滑动窗口

 

5.4.5TCP超时重传机制

 

5.5TCP流量控制

 

5.5.1可变滑动窗口流量控制

 

5.5.2零窗口与持续定时器

 

5.5.3TCP传输效率及Nagle算法

 

5.6TCP拥塞控制

 

5.6.1网络拥塞产生的原因

 

5.6.2拥塞时的网络性能

 

5.6.3TCP拥塞控制策略

 

习题

 

第6章应用层

 

6.1客户/服务器模型

 

6.2域名系统

 

6.2.1Internet域名结构

 

6.2.2域名解析

 

6.3远程登录协议

 

6.3.1TELNET概述

 

6.3.2TELNET工作过程

 

6.4文件传输协议

 

6.4.1FTP工作机制

 

6.4.2FTP连接通信

 

6.4.3FTP应用程序

 

6.5电子邮件

 

6.5.1电子邮件概述

 

6.5.2电子邮件的信息格式

 

6.5.3简单邮件传输协议

 

6.5.4邮件读取协议

 

6.6万维网

 

6.6.1概述

 

6.6.2统一资源定位符

 

6.6.3超文本传输协议

 

6.6.4WWW文档

 

6.7动态主机配置协议

 

6.7.1概述

 

6.7.2DHCP工作原理

 

6.8网络搜索

 

6.8.1搜索引擎的分类

 

6.8.2Google搜索引擎应用简介

 

6.9新兴网络应用

 

6.9.1即时聊天

 

6.9.2博客与微博

 

6.9.3社交网站

 

6.9.4电子商务

 

习题

 

第7章网络安全

 

7.1网络安全的基本概念

 

7.1.1引发网络安全威胁的因素

 

7.1.2计算机网络面临的安全威胁

 

7.1.3网络安全的目标

 

7.1.4基本安全技术

 

7.2数据加密技术

 

7.2.1数据加密模型

 

7.2.2对称密钥密码体制

 

7.2.3公开密钥密码体制

 

7.3数字签名

 

7.3.1数字签名概述

 

7.3.2基于公钥的数字签名

 

7.3.3基于仲裁的数字签名

 

7.4认证技术

 

7.4.1消息认证技术

 

7.4.2实体认证技术

 

7.5数字证书

 

7.5.1数字证书概述

 

7.5.2数字证书的结构

 

7.5.3证书申请与使用

 

7.5.4证书的验证

 

7.5.5证书的废除

 

7.6密钥管理

 

7.6.1密钥管理概述

 

7.6.2密钥管理体制

 

7.7互联网使用的安全协议

 

7.7.1数据链路层安全协议

 

7.7.2网络层安全协议

 

7.7.3运输层安全协议

 

7.7.4应用层安全协议

 

7.8防火墙

 

7.8.1防火墙概述

 

7.8.2防火墙的分类

 

7.8.3防火墙的体系结构

 

7.9入侵检测

 

7.9.1入侵检测概述

 

7.9.2IDS的分类

 

7.9.3IDS的系统结构

 

7.9.4IDS的部署位置

 

习题

 

第二部分计算机网络与通信的实验与实践

 

第8章实验基础知识

 

8.1组建与设置局域网

 

8.2常用网络命令解析及应用

 

8.2.1ipconfig

 

8.2.2ping

 

8.2.3netstat

 

8.2.4tracert

 

8.2.5route

 

8.2.6arp

 

8.3VMWare Workstation虚拟机软件的安装与配置

 

8.3.1VMWare Workstation简介

 

8.3.2软硬件需求

 

8.3.3新建虚拟机并安装操作系统

 

8.3.4安装VMware Tools

 

8.3.5VMware Workstation常用功能

 

8.4实验网络拓扑图

 

习题

 

第9章网络服务器的配置与管理

 

9.1安装IIS组件

 

9.2配置和管理Web网站

 

9.2.1IIS Web网站概述

 

9.2.2设置“网站”选项卡

 

9.2.3设置“主目录”选项卡

 

9.2.4设置“文档”选项卡

 

9.2.5设置“目录安全性”选项卡

 

9.2.6设置“性能”选项卡

 

9.2.7虚拟目录

 

9.2.8远程管理Web网站

 

9.3配置和管理FTP站点

 

9.3.1IIS FTP服务器概述

 

9.3.2配置“FTP站点”选项卡

 

9.3.3配置“主目录”选项卡

 

9.3.4配置“目录安全性”选项卡

 

9.3.5配置“安全账户”选项卡

 

9.3.6配置“消息”选项卡

 

9.3.7创建虚拟目录

 

9.3.8访问FTP站点

 

9.3.9文件上传与下载

 

9.3.10管理FTP站点

 

习题

 

第10章网络嗅探与协议分析

 

10.1Wireshark软件简介

 

10.1.1捕获网络数据包

 

10.1.2Wireshark主窗口

 

10.1.3Wireshark过滤器

 

10.2以太网帧分析

 

10.3ARP分析

 

10.4IP分析

 

10.5ICMP分析

 

10.6TCP分析

 

10.7UDP分析

 

习题

 

第11章交换机的配置与管理

 

11.1实验基础知识

 

11.1.1Packet Tracer简介

 

11.1.2Packet Tracer设备与拓扑绘制

 

11.1.3Packet Tracer设备管理

 

11.2交换机的基本配置

 

11.3交换机的VLAN配置

 

11.4利用三层交换机实现VLAN间路由

 

11.5快速生成树配置

 

习题

 

第12章路由器的配置管理

 

12.1实验拓扑与策略

 

12.2路由器的基本配置

 

12.3静态路由与默认路由的配置

 

12.4RIP的配置

 

12.5OSPF的配置

 

12.6NAT的配置

 

习题

 

第13章宽带接入到Internet

 

13.1光纤宽带接入Internet

 

13.2家用WLAN的构建与管理

 

习题

 

第14章计算机网络综合实验

 

14.1实验网络结构设计

 

14.1.1新建虚拟机与安装操作系统

 

14.1.2安装VMware Tools

 

14.1.3虚拟机网络设置

 

14.2安装与配置网络服务

 

14.2.1安装域控制器与DNS服务器

 

14.2.2配置DNS服务器

 

14.2.3安装DHCP服务

 

14.2.4配置DHCP服务器

 

14.3配置路由与远程访问

 

14.3.1安装远程访问服务

 

14.3.2配置路由与VPN服务

 

14.3.3配置NAT地址池和管道

 

14.3.4DHCP中继代理程序

 

14.3.5测试网络连通性

 

14.3.6加入到域

 

14.4配置应用服务器

 

14.4.1安装IIS服务组件

 

14.4.2配置Web服务器

 

14.4.3配置FTP服务器

 

14.4.4配置Email服务器

 

14.5综合应用与测试

 

14.5.1设置VPN授权访问账号

 

14.5.2测试VPN连接

 

14.5.3验证VPN通信的安全性

 

14.5.4内网访问外网

 

14.5.5外网访问DMZ区的服务

 

习题

 

附录

 

附录A部分习题参考答案

 

附录B2016年下半年软考网络工程师考试真题

 

B.12016年下半年软考网络工程师真题(上午试卷)

 

B.22016年下半年软考网络工程师真题(下午试卷)

 

B.32016年下半年软考网络工程师考试真题参考答案

 

B.3.1上午试卷参考答案

 

B.3.2下午试卷参考答案

 

前沿

前言

计算机网络,特别是Internet的产生与发展在现代科学技术史上具有划时代的意义。网络化、信息化和智能化正在改变我们的世界,包括我们的生活方式。互联网已经成为人类社会活动不可或缺的基础设施,掌握计算机网络原理与技术既是专业人士,也是现代社会各类人才的普遍要求。随着计算机网络向云计算、大数据和物联网等方向深入发展与应用,当代大学生更需要掌握计算机网络的基本原理,并具备一定的实践技能。随着区域经济社会发展对应用型人才的需要,以及地方应用型本科院校对实践教学改革的迫切需求,急需建设一批以工程实践为导向的应用型教材,帮助学生在实践中更好地理解相关专业理论知识,并积累一定的工程实践经验,提升专业应用技能。在本人从事计算机网络相关课程十余年的教学过程中,很少看到有教材能将计算机网络与通信的理论与实践融合在一起,让学生在学习理论的同时能有相应的实验指导来检验和实践相关的内容。因此,每次看到坐在讲台下的学生似懂非懂地听着这些理论知识的时候; 每次在机房里看到那些学生因为没有具体的实验指导书而不知所措的时候; 更重要的是经常有学生问学了这门课能做什么的时候……笔者都会有一种非常强烈的冲动,那就是要自己写一本既能将理论描述清晰而且简单,又能有丰富且具实用价值的综合性实验项目的教材,让学生读后知道计算机网络是什么,利用计算机网络能做什么以及如何构建和管理计算机网络等。近十年来,笔者参与了当地各企事业单位的各种教学、培训以及生产实践等活动; 编写和修订了多种实验指导书,并在导师吴金龙教授的指导下,编写了一本《Internet技术与应用》,参编了另外两本关于计算机网络与安全的教材,积累了非常宝贵的经验。这次,终于下定决心,埋头工作半年有余的时间,将前期工作进行筛选和整理,完成本书的编写。本教材以实用为价值取向,以网络工程师认证为目标进行设计安排。全书分为理论知识和实验实践两大部分。其中,理论知识依照计算机网络经典的5层模型,以物理层、数据链路层、网络层、运输层和应用层自下而上逐层介绍计算机网络的基本原理和技术,使读者逐步有序地深入学习和掌握各个层次的核心技术与协议规范; 简要介绍了网络安全相关的基本理论。实验实践部分中的实验项目安排参考了网络工程师考试大纲的基本要求,所有实验项目均在虚拟机环境下实现,解决了真实实验环境下很多无法解决的难题,大多数实验项目为综合性和设计型实验,其中,第11章和第12章的实验项目来自于福建新大陆电脑股份有限公司,并在他们的基础上提炼简化而成。最后一章的综合实验则是将前面的实验进行再综合,达到了中小企业网络在规划、设计、配置、管理与维护等方面的基本要求。通过这些实验项目的训练,学生将对前面的理论学习有更直观的认识与理解,相信也能从实验中理解理论知识,掌握实践技能并能解决实际问题而由衷地感到愉悦,促进学生对网络工程师的认识,激发学生参加网络工程师认证考试的热情。虽然本书不能作为网络工程师认证考试的教材,但通过本教材的学习,再去阅读网络工程师的教材以及考试真题,相信会轻松很多。本书每章后面设有大量习题,这些习题很多均来自历年软考网络工程师认证考试的真题,期望这些习题能帮助读者更好地理解、掌握和检测每章中的重要知识点。附录A给出了大部分习题的参考答案或解析。为了能让读者更好地了解网络工程师认证考试,附录B给出了2016年下半年考试的全套考试真题及参考答案。本教材由莆田学院信息工程学院的洪家军和陈俊杰共同编写,其中,洪家军编写了第1~7章和第10~14章,并统阅了全书。陈俊杰编写了第8章和第9章,并整理了附录B的内容。本书涉及的许多资料来源于作者多年的教学与实践以及应用研究的积累,并参考了大量的书籍、文献和网络资源,特别是谢希仁教授编著的《计算机网络》(第7版)、张曾科和吉吟东编著的《计算机网络》以及雷震甲等人编写的《网络工程师教程》(第4版)三本重要教材。在此向有关书籍、文献和网络资源的作者表示衷心的感谢和诚挚的敬意。由于资料来源的广泛性,很多资料没有能够一一注明,在此向这些作者表示歉意。最后衷心感谢清华大学出版社的大力支持,感谢福建省自科学基金项目(2016J01759)和莆田学院出版基金的资助。由于时间和水平有限,书中难免存在不足和疏漏之处,敬请各位同行专家和广大读者批评指正。洪家军2018年1月

免费在线读

第3章数据链路层

数据链路层负责通信结点之间在单个链路上的传输活动,实现帧的单跳传输。这里涉及的重要问题包括: 一是如何实现封装成帧、透明传输和差错检测; 二是帧如何在点对点信道和广播信道上传输。本章根据这两个重要问题进行展开,主要讨论点对点信道及其PPP,广播信道及其重要协议CSMA/CD,最后讨论广播信道的典型实例——局域网。本章重点: (1) 数据链路层提供的服务及三个基本问题。(2) 点对点协议及其帧格式。(3) CSMA/CD协议的工作原理及其相关的主要概念。(4) 以太网的MAC帧格式,各代以太网技术的主要技术特征。(5) 共享式以太网与交换式以太网的主要区别。(6) 虚拟局域网的基本原理。3.1数据链路层概述数据链路层的通信对等实体之间的传输通道称为数据链路,它是一个逻辑概念,包括物理线路和必要的传输控制协议。数据链路层要求完成以下功能。(1) 向网络层提供一个定义良好的服务接口。(2) 处理传输错误。(3) 调节数据流,确保慢速的接收方不会被快速的发送方的数据淹没。为了实现这些目标,数据链路层将网络层传下来的分组封装到帧(Frame)中,分组与帧之间的关系如图31所示,在网络层分组的前后分别加上帧头和帧尾就组成了帧。对帧的管理是数据链路层的工作核心,基本任务可以概括为封装成帧、透明传输和差错检测三个方面。

图31网络层分组与帧的关系

5层网络体系结构模型中,数据链路层的功能是为网络层提供服务,最主要的服务是将发送方的网络层传下来的分组传输给接收方的网络层。这个过程如图32(a)中的实线所示,但由于双方对等层看到的数据是一样的,很容易将这个过程想象成两个链路层实体使用数据链路层协议沿如图32(b)所示虚线方向进行通信,这就是第1章中介绍的虚通信。

图32实通信与虚通信

3.1.1数据链路层提供的服务通常OSI的数据链路层要求提供以下三种服务。1. 无确认的无连接服务该服务就是指发送方向接收方发送一个帧,接收方收到该帧后并不向发送方进行确认。通信前也不用建立逻辑连接。在有线网络中,由于发生传输错误(如帧丢失)的概率非常低,而且即便有少量传输错误也可以交给高层来完成恢复。因此,这类服务适合于有线网络,实际的有线网络也确实如此,本章后面介绍的内容也将基于此服务。2. 有确认的无连接服务为了提高可靠性,引入了有确认的无连接服务。使用这种服务在通信前仍然不需要建立连接,但是每发送一个帧都需要接收方进行确认,如果在规定的时间内没有收到确认,则发送方需要重传该帧,直到收到确认为止。这类服务适用于无线系统。3. 有确认的面向连接服务在无线网络中,由于无线传输媒体受雨水、阳光和障碍物等影响,传输特性会不太稳定,传输错误概率就会比较高。为了进一步提高可靠性和传输效率,可以采用有确认的面向连接服务。这种服务在通信前要求先建立一条逻辑连接,然后数据位流沿着这条逻辑连接有序和可靠地传输,通信结束时释放该连接。要实现有确认的面向连接的可靠服务,还要实现差错控制和流量控制,而运输层已经提供了这两个功能。为了避免重复,很多实际的网络特别是有线网络在数据链路层并不提供这两个功能。3.1.2封装成帧由于物理层传输的是无结构的二进制位流,为了让接收方的数据链路层能准确地从这种二进制位流中找出数据的开始与结束位置。发送方的数据链路层必须在数据块的两端加上特殊标志,我们将这一过程称为封装成帧。封装成帧主要有字节填充法和位填充法两种方法。1. 字节填充法字节填充法也称为字符填充法,就是在数据块的两端分别放置一个特殊的字节,该字节称为标志字节,作为帧的起始和结束分界符。以前,起始和结束的分界符是不相同的,如起始定界符为SOH,意为Start of Header,结束定界符为EOT,意为End of Transmission。注意: SOH和EOT是两个字符的名称,是不可打印的控制字符,并不是三个字母的组合。后来,绝大多数协议将起始分界符和结束分界符设定为相同的字符,如图33所示。

图33封装成帧原理示意

当数据在传输过程中出现差错时,比如某个帧的开始分界符丢失,则接收端会将一个没有开始分界符的帧直接丢弃。当结束分界符丢失时,接收端该如何处理?这个问题留给读者思考。(提示,它能否将下一个帧的开始标志当作当前帧的结束标志?)2. 位填充法使用字节填充的主要问题是它依赖的8位字符的模式,实际上,并不是所有的字符码都使用8位模式,例如Unicode码和汉字都使用16位模式。因此又出现了一种称为位填充的方法,该方法允许帧包含任意长度的位,也允许每个字符有任意长度的位。位填充也称为0比特填充,每个帧都用相同的位模式01111110作为开始分界符和结束分界符。3.1.3透明传输起始分界符和结束分界符解决了帧的定界问题,但也带来另一个问题,那就是当数据中也存在这样的符号该如何处理?1. 字节填充法的透明传输当数据部分存在用作定界的标志字节时,为了不让接收端产生歧义,发送方的数据链路层在数据中出现标志字节的前面插入一个转义字符“ESC”(这里的ESC也是一个控制字符,并不是三个字母的组合)。接收方的数据链路层在把数据提交给网络层之前删除这个插入的转义字符。这个过程对接收方的网络层实体来说是透明的,也就是说发送方的网络层实体发送的是什么样的数据,接收方就能收到完全一样的数据,它并不清楚数据链路层做了什么。当数据中包含转义字符ESC时,按同样的处理办法,在数据ESC的前面插入一个转义字符ESC。接收方则删除前面的一个ESC即可。例如,要传输数据A Flag ESC ESC Flag B,则数据链路层将该数据转换成如图34所示的样子(帧头和帧尾没有画出来)。

图34字节填充透明传输示例

2. 位填充法的透明传输对于位填充法的透明传输,其基本思想是发送方的数据链路层在对数据进行封装时,每遇到5个连续的1,就自动填充一个0。接收方的数据链路层在把数据提交给网络层之前,每看到5个连续的1就删除后面的一个0。例如,要传输包含分界位模式的二进制串0110111111011111111110010,填充后的结果如图35所示。图中加粗且加下画线的位就是填充的位。

图35位填充法透明传输示例

从上面的例子可以看出,在位填充机制中,分界标志01111110只可能出现在帧的边界,而永远不会出现在数据中。3.1.4差错检测我们知道,物理传输媒体因为其物理特性以及外界的干扰等因素导致传输错误是不可避免的。因此,接收方必须要有检测收到的每一个帧是否是差错的能力。这种差错可以分为以下4种情形。(1) 数据比特错误: 就是二进制位中的0变成了1,或者1变成了0。(2) 帧丢失: 就是一个帧没有在规定的时间内到达接收方。(3) 帧重复: 就是收到一个和前面收到的完全一样的帧。(4) 帧失序: 例如,发送方按1、2、3的先后顺序发送,但按2、3、1的顺序到达接收方,这种现象就称为失序。由于第(2)、(3)和(4)种情形是可靠传输要解决的问题,因此,留到第5章的运输层中介绍。而无确认无连接的数据链路层只需要解决第(1)种情况即可。数据比特错误可以分为单比特错误和突发性错误。单比特错误是指一个帧中只有一个比特发生错误; 而突发错误是指一个帧中有两个或两个以上的比特发生错误。冗余检错法是常用的检测差错,就是在要传送的数据单元的末尾追加若干数据位一并发送给接收方,追加的这若干数据位对接收方来说是多余的,但它可以帮助接收方检测错误。常用的冗余检错类型有奇偶校验、循环冗余校验和校验和三种类型。1. 奇偶校验奇偶校验(Parity Check)是一种最常用,最简单,费用也最低的错误校验方法。奇偶校验可分为奇校验和偶校验两种形式。在奇校验中,在每个数据单元中附加一位校验位,使得每个数据单元(包括校验位)中的1的个数为奇数。如1000010的奇校验码为10000101。在偶校验中,在每个数据单元中附加一位校验位,使得每个数据单元(包括校验位)中的1的个数为偶数。如1000010的偶校验码为10000100。接收方则统计1的个数来判断数据单元是否发生了错误,例如奇校验,数据块10100101中有偶数个1,因此,该数据块至少有一位错误。奇偶校验可以检测出所有单比特错误,也可以检测出发生错误的比特数是奇数的突发性错误,但无法检测出发生错误的比特数是偶数的突发性错误。奇偶校验的扩展型是两维奇偶校验,感兴趣的读者可以参考其他文献。2. 循环冗余校验循环冗余校验(Cyclic Redundancy Check,CRC)又称多项式编码,是应用广泛且非常有效的一种冗余校验技术。
CRC校验将比特串看成是系数为0或1的多项式。例如m位的帧1010111011可表示成M(x)=x9 x7 x5 x4 x3 x 1。传输该帧之前,发送方和接收方必须事先商定一个生成多项式G(x),要求G(x)比M(x)短,且最高位和最低位的系数必须是1。假定G(x)=x4 x 1,表示成二进制为10011; 由于G(x)的最高位是x4(幂次为4),于是在帧M(x)的末尾附加4个0构成M′(x),即10101110110000(相当于M(x)左移4位,扩大了24倍),然后M′(x)用模2运算(即加法不进位,减法不借位)除以G(x)。如图36所示,图中被除数的灰色部分为附加的4个0。除法产生的余数0010(余数的位数应与G(x)的最高幂次相同,故前面的0不能省略)就是循环冗余码(CRC码),CRC码常称为帧校验序列(Frame Check Sequence,FCS)。CRC码必须具有以下两个特性才是合法的。(1) CRC码必须比除数G(x)至少少一位。(2) 将CRC码附加到帧M(x)末尾后形成的比特序列必须能被除数G(x)整除。发送方将CRC码附加到M(x)的末尾,得到10101110110010,然后在该比特序列前后加上若干控制信息(如分界符等)组装成帧后向下传给物理层。当接收方收到一个帧后,首先去除控制信息,然后用它除以G(x),如果余数为0,则认为数据是正确的而接收此数据,否则拒绝接收该数据。现在广泛使用的生成多项式G(x)有以下三种。(1) CRC16=x16 x15 x2 1(2) CRCCCITT=x16 x12 x5 1(3) CRC32=x32 x26 x23 x22 x16 x12 x11 x10 x8 x7 x5 x4 x2 x 1其中,IEEE 802就采用CRC32作为局域网数据链路层的检错生成多项式。它能检测出所有单比特错误以及长度不超过32位的突发性错误。

图36循环冗余校验

接收方数据链路层对收到的每个帧进行CRC校验,一旦检测到错误就直接丢弃,且不通知发送方,由此造成的帧丢失交给运输层去处理。因此,数据链路层可以做得很简单,可以实现无差错接收,即向网络层提交的帧都是正确的。3. 校验和在高层协议(如IP、TCP和UDP等)中使用的错误检测技术称为校验和技术,也是一种基于冗余技术的错误校验方法。在校验和方法中,发送方将数据发送出去之前,需要完成以下工作。(1) 在待发送的数据单元末尾附加n个0(通常n=16)。(2) 将数据单元平分成k段,每段nb。(3) 将所有分段对应位采用反码运算累加求和。(反码相加运算规则是: 0 0=0; 1 0=1; 0 1=1; 1 1=0且向前进一位,如果最左一列有进位,则进位加在结果的最低位。)(4) 对最后的计算结果取反,其结果便为校验和。发送方将校验和附加在待发送的数据单元末尾并将此扩展后的数据单元传送出去。当接收方收到数据后,同样将数据单元分成k段,每段nb,然后将这k段进行反码累加求和,并对计算结果取反码,如果最终结果为全0,则表示数据是完整的而接收此数据,否则拒绝接收此数据。作为示例,这里假定n=8,现发送方要传送比特串10100101 11000011。其运算过程如图37所示。发送方将校验和10010110附加在数据10100101 11000011末尾并传送给接收方。接收方收到数据后,将数据均分成三段并对这三段用反码运算累加,其运算过程如图38所示,如果运算结果取反后为全0,则表示数据正确,否则表示数据发生错误。

图37发送方产生校验和

图38接收方对数据进行验证

校验和技术能检测出所有奇数个比特的错误,以及大多数偶数个比特的错误。最后再声明一下,校验和技术只用于网络层和传输层等高层,在数据链接层没有用到。检测到错误之后,应该还有一个纠错环节,主要有以下两种纠错方式。(1) 前向纠错: 就是接收方根据冗余信息自动纠正错误,如海明码。(2) 重发纠错: 就是接收方通过某种途径告诉发送方发生了错误,发送方将重新发送出现错误的数据,从而实现纠错。正如前面讲述,大多数网络的物理线路高度可靠,其数据链接路层只需要做到无差错接收,因极少数错误造成的帧丢失交给高层通过重发纠错解决。但前向纠错在卫星通信以及其他无线通信环境中还是很有必要的,具体可参考其他文献。3.1.5数据链路层中的信道数据链路层使用的信道有点对点信道和广播信道两种类型,与此对应的就有点对点传输和广播传输两种传输技术。1. 点对点信道这种信道使用一对一的通信方式,常称为单播。常用的点对点协议是PPP。典型应用就是用户通过带宽接入技术拨号接入到ISP时,用户设备与ISP之间的信道就是点对点的信道,并采用PPP或者PPP的扩展协议(如PPPoE)进行通信。2. 广播信道这种信道使用一对多的广播通信方式,这种通信也称为多路访问或多点访问。多台主机连接到同一条线路上,并共享使用该线路的所有资源。在这样的信道上,要实现一对一的通信,就必须使用专用的共享信道协议来协调这些主机之间的通信。典型实例就是局域网及其CSMA/CD协议。3.2点到点协议点到点协议(PointtoPoint Protocol,PPP)用于传送从路由器到路由器之间的流量,以及从家庭用户到ISP之间的流量。PPP是一种提供无确认无连接服务的数据链路层协议,它提供的服务可以归纳为以下三点。(1) 一种成帧的方法,定义了设备之间要交换的帧的格式,并支持错误检测。(2) 一个链路控制协议(Link Control Protocol,LCP),该协议用于启动线路、测试线路、协商参数以及关闭线路,支持同步和异步线路,也支持面向字节和面向位的编码方法。(3) 一种协商网络层选项的方法,并且协商方法与所使用的网络层协议独立,所选择的方法对于每一种支持的网络层都有一个不同的NCP(Network Control Protocol,网络控制协议)。3.2.1PPP帧格式PPP是HDLC(Highlevel Data Link Control,高级数据链路控制)协议的一个版本,是目前使得最广泛的数据链路层协议,而用于实现可靠传输的HDLC已经很少使用了。PPP的帧结构如图39所示。

图39PPP帧的结构

PPP帧结构的各字段的含义描述如下。(1) 标志: 占1B,该字段用于标识帧的起始和结束,其二进制值为01111110(对应十六进制0x7E),与位填充法的位模式完全一样。当PPP用于异步传输时,采用字节填充法,且转义字符的二进制值为01111101(对应十六进制0x7D),它将每一个0x7E转义成2B序列(0x7D 0x5E),将0x7D转义为2B序列(0x7D 0x5D)。当PPP用于SONET/SDH链路的同步传输时,采用位填充法。(2) 地址: 占1B,该字段的二进制值为11111111,该值为HDLC的广播地址,表示所有站都可以接受该帧。(3) 控制: 占1B,该字段使用HDLC的U帧格式,其二进制值为00000011,表示没有帧序号,也没有流量控制和差错控制。(4) 协议: 默认占2B,该字段用于指明网络层传下来的数据部分属于哪个协议分组,如可为LCP、NCP、IP、IPX和AppleTalk等协议分组。当该字段的值为0x0021时,表示数据部分就是IP分组; 0xC021则表示LCP数据。(5) 数据部分: 这个字段的长度是可变化的,但最大不超过通信双方协商好的最大值,通常默认值为1500B。必要时,数据部分的末尾还可能包含一些填充B,以保证帧长不小于规定的最小长度。(6) FCS: 通常占2B,就是使用CRC校验得到的CRC码。3.2.2PPP的工作状态一个PPP链路的建立需要经过不同的阶段,其大致过程可以用如图310所示的状态转换图来说明。下面简要说明各状态的转换过程。(1) 链路空闲: 该状态意味着目前线路处于静止状态,线路上没有活动的载波。(2) 链路建立: 该状态表示一个结点向另一结点请求通信,如用户计算机通过Modem拨号呼叫路由器,路由器检测到Modem发出的载波信号,双方开始协商一些配置选项,如链路允许的最大帧长、是否需要鉴别及使用何种鉴别协议等。协商过程中需要使用LCP并交换一些LCP分组。如果协商成功,则成功建立一条LCP链路,并进入鉴别状态(如果需要鉴别的话),或者直接进入网络层配置状态; 否则回到空闲状态。(3) 鉴别: 如果需要鉴别,则采用协商好的鉴别协议进行身份鉴别。如果鉴别成功,则进入网络层配置状态,否则进入链路终结状态。鉴别就是验证用户身份的有效性,PPP提供PAP和CHAP两个鉴别协议。① PAP(Password Authentication Protocol,口令鉴别协议)是一个简单的鉴别协议。由于PAP只在建立链路时对账户名和口令进行鉴别,而且账户名和口令以明文形式传输,因此不适合于安全性要求较高的环境。② CHAP(Challenge Handshake Authentication Protocol,质询握手鉴别协议)是一个三次握手鉴别协议。在鉴别的过程中,发送的是经过摘要算法处理过的质询字符串,口令是加密的,而且绝不在线路上发送。因此,CHAP相较于PAP有更高的安全性。

图310PPP链路的状态转换图

(4) 网络层配置: 由于路由器能够同时支持多种网络层协议,因此,在该状态下,PPP链路两端的网络控制协议NCP需要根据网络层不同协议互相交换网络层特定的网络控制分组。如果在PPP链路上运行的是IP协议,则对PPP链路的每一端配置IP协议模块(如分配IP地址)时就要使用NCP中支持IP的协议——IP控制协议(IP Control Protocol,IPCP)。IPCP分组被封装成PPP帧(其中的协议字段为0x8021)在PPP链路层上传送。(5) 链路打开: 当网络层配置完成后,链路就进入可以进行数据通信的“链路打开”状态。在该状态下两端结点还可以发送EchoRequest和EchoReply分组以检测链路状态。(6) 链路终止: 数据传输结束后,链路两端中的任意一个结点均可以发出终止请求的LCP分组请求终止链路连接,在收到接收方发来的终止确认LCP分组后,转到“链路终止”状态。当链路出现故障,也会转到该状态。最后Modem的载波停止后,链路就又回到了空闲状态。3.3多路访问协议当多个结点使用一条共同的信道时,该信道就叫多点信道,或者广播信道。这时就需要一个多路访问协议来协调对信道的访问。就像在一个会议室控制发言的规则一样,确保不能有两个人同时在讲话,不能相互干扰,也不能由一方独占所有时间等。所有结点对广播信道的访问可以分为以下两种方式。(1) 随机访问: 就是所有结点可随机地发送信息,显然这可能会产生冲突,因此必须有解决冲突的网络协议。广泛应用的局域网就采用这种方式。(2) 受控访问: 就是所有结点不能随机地发送信息,而必须服从一定的控制。典型应用是集中控制的多点线路轮询(Polling)。该情形目前已经很少使用,本书不进行讨论。随机访问需要解决以下4个问题。问题一: 结点何时访问信道?问题二: 如果信道忙,结点该做什么?问题三: 结点如何确定传输成功与否?问题四: 如果发生了访问冲突,结点该做什么?针对这些问题,演化发展出了CSMA/CD和CSMA/CA两个协议。其中,CSMA/CA适用于无线局域网,不在本书的讨论范围内,感兴趣的读者可以参考其他文献。下面将重点讨论传统以太网中广泛应用的CSMA/CD。3.3.1CSMA/CD协议及策略CSMA/CD(Carrier Sense Multiple Access with Collision Detection,带冲突检测的载波监听多路访问)的基本工作思想可简要描述为以下4个步骤。(1) 任意结点在发送帧之前,必须先检测信道是否空闲。(2) 若信道忙,则按一定的策略监听。若信道空闲,则按一定的策略发送帧。(3) 在发送过程中还要保持边发送边监听,如果在规定时间内未监测到冲突,则表明发送成功。(4) 如果检测到冲突,就立即停止发送。然后等待一段时间后重新发送帧。在这4个步骤中,CSMA/CD回答了上述4个问题。下面简要说明以太网中CSMA/CD协议的具体策略。1. 载波监听的实现对于像传统以太网这样的基带系统,载波监听就是指检测信道上的电压脉冲序列。由于传统以太网采用曼彻斯特编码,结点可以把每个二进制位中间的电压跳变作为代表信道忙的载波信号。2. 冲突检测的实现对于采用总线型拓扑结构的以太网,每个结点在监听信道时,都要测量信道上的直流电平,由于冲突而叠加的直流电平比单个站发出的信号强。因此,如果电缆接头处的信号强度超过了单个站发送的最大信号强度,则说明检测到了冲突。对于采用星状拓扑结构的以太网,集线器监视输入端口的活动,若有两处以上的输入端口出现信号,则认为发生冲突,并立即产生一个“冲突出现”的特殊信号CP(Collision Presence,存在冲突),然后向所有输出端广播。3. 坚持性策略坚持性策略定义了结点检测信道忙时该如何处理,它分为非坚持策略和坚持策略两个子策略。1) 非坚持策略在此策略下,要发送帧的结点首先检测信道,如果信道空闲,它就立即发送帧。如果信道忙,则等待一个随机时间,然后再次检测信道。这种策略的优点是减少了冲突的概率,但是,由于等待一个随机时间而可能导致信道闲置一段时间,这降低了信道的利用率,而且还增加了发送时延。2) 坚持策略该策略有以下两种算法。(1) 1坚持: 如果结点发现信道忙,则继续监听,直到信道空闲,然后立即发送(概率为1)。该算法的优点是提高了信道的利用率。但增加了冲突的概率,因为有可能多个结点都发现信道空闲,然后都立即发送帧,最终导致冲突。(2) P坚持: 如果结点发现信道忙,则继续监听,直到信道空闲,然后以概率P发送帧,不发送帧的概率为1-P。该算法综合了上面两个策略的优点,但实现比较困难,特别是如何选择概率P。4. 冲突窗口如图311所示,在t0时刻,结点A开始发送帧,假设经过时间τ(结点A和结点B之间的最大单程传播时延)到达结点B的那一瞬间,结点B也开始发送帧。B立即就能检测到冲突,于是停止发送。但A仍未检测到冲突并继续发送,再经过时间τ,也就是在t0 2τ时刻,A才收到B发过来的信号,从而检测到冲突,因此也立即停止发送。

图311以太网中的冲突时间

可见,在基带系统中检测到冲突的最长时间是线路单程传播时延的二倍,即2τ,我们将这个时间称为冲突窗口,或者争用期,或者争用时间。对于传统的10Mb/s以太网,冲突窗口时间2τ=51.2μs。由于这段时间可以传输512b,因此也用512比特时间来表示争用时间,争用时间也称为比特时间,或者位时。冲突窗口表明一个结点在一个争用期时间间隔内如果都没有检测到冲突,则帧传输成功。
5. 强化冲突一旦结点检测到冲突,除了立即停止发送数据外,还要再继续发送32b或48b的人为干扰信号(Jamming Signal),以便让所有其他结点都知道现在已经发生了冲突。这个过程称为强化冲突,也称为强化碰撞。6. 二进制指数退避算法前文已说明,当结点检测到冲突后,需要等待一段时间后再重新发送。等待时间的多少对网络的稳定工作有很大影响。特别是在负载很重的情况下,为了避免很多结点连续发生冲突,CSMA/CD采用二进制指数退避算法。该算法规定,当一个结点检测到冲突后,就执行该算法,执行步骤描述如下。(1) 从整数集合{0,1,…,(2k-1)}中随机取出一个数r。则等待r·2τ时间后重传发生冲突的帧。其中,参数k的值按下面的公式计算(Min是求最小值的函数名): 

k=Min(重传的次数,10)(31)

可见,当重传次数不超过10时,参数k就等于重传次数。但当重传次数超过10时,k就一直等于10。也就是说,冲突退避上限为10。(2) 为了避免无限制地重传,需要对重传次数进行限制。通常当重传16次仍未成功时,则认为信道出现故障而丢弃此帧,并向上层协议报告错误。例如,当第1次重传时,k=1,从集合{0,1}中随机选一个数r,则重传需要等待的时间为0或者2τ。若再次发生冲突,则k=2,随机数r则从集合{0,1,2,3}中选择,则重传需要等待的时间就可能为0、2τ、4τ或6τ中的某一个。7. 最短帧长现假定一个结点发送了一个很短的帧,发送完毕时都没有检测到冲突,这能否说明该帧传输成功了呢?答案是否定的。因为这个短帧在传输过程中可能和其他帧发送了冲突,该帧被破坏,接收方将丢弃该错误帧,而发送方并不清楚该帧发生了冲突,因此不会重发该帧。为了避免这种情况,以太网规定了最短帧长,即最短帧长为64B(512b)。当一个结点只有很少数据要发送时,则必须加入一些填充字节(一般全部为0),使得帧长不小于64B。因此,规定凡长度小于64B的帧都是冲突引起的碎片无效帧。只要收到这种无效帧都应当立即丢弃。3.3.2CSMA/CD协议的实现局域网标准IEEE 802.3采用CSMA/CD协议,该协议的载波监听、冲突检测、冲突强化和二进制指数退避算法等功能都由网络适配器实现。IEEE 802.3使用1坚持监听策略,因为这个算法可及时抢占信道,减少了空闲期,同时实现也比较简单。同时规定在监听到信道空闲后,不能立即发送帧,而是必须等待一个帧间间隔(Interframe Gap,IFG)时间,如果在这个时间内信道仍然空闲,才开始发送帧。帧间间隔时间规定为96比特时间。在发送过程中仍需继续监听,若检测到冲突,则发送8个十六进制数(共32位)的序列55555555,这就是前面介绍的强化冲突信号。到此,已经比较清楚地回答了最前面提出的4个问题。最后,对CSMA/CD协议的工作思想总结如下。(1) 任意结点在发送帧之前,必须先检测信道是否空闲。(2) 若信道忙,则不停地检测,直到信道空闲。若信道空闲,且在帧间间隔96比特时间内信道仍保持空闲,则立即发送帧。(3) 在发送过程中仍不停地检测信道,即边发送边监听。这里有如下两种结果。① 如果在争用时间2τ间隔内仍未检测到冲突,则发送成功。② 若检测到冲突,则立即停止发送,并按规定发送32位的强化冲突信号,然后执行二进制指数退避算法,等待r·2τ时间后,返回到步骤(2)继续检测信道以待重传。若重传达16次仍未成功,则停止重传并向上层协议报错。3.3.3基于CSMA/CD网络的特点使用CSMA/CD的网络都具有以下特点。1. 半双工传输方式从上面的分析应该能很清晰地了解,采用CSMA/CD协议的通信方式为半双工通信。原因很简单,在任一时刻,只允许有一个结点发送帧,其实质是发送方的接收信道用于监听信道是否有冲突。2. 共享信道带宽虽然从微观角度看,在某一个时刻,一个结点占用信道的全部带宽资源发送帧,但从宏观角度看,各结点是平等的,共同竞争共享同一条信道。3. 传输的不确定性由于CSMA/CD只能尽量减少冲突,但不能完全避免冲突,而且发生冲突的次数也不尽相同。因此,传输一帧所需要的时间可能不相同,且难以估计,具有不确定性。这对实时性要求高的应用场合不具适用性。4. 无确认无连接服务在传输数据之前,CSMA/CD并不建立连接,也不对接收到的帧进行确认,只做CRC校验,并将校验出错的帧直接丢弃。3.3.4CSMA/CD协议的性能分析下面分析传播时延和数据速率对基于CSMA/CD的网络性能的影响。

前面已介绍,吞吐量就是单位时间内实际传送的比特数。现假设网络上的所有结点都有数据要发送,没有竞争冲突,各结点轮流发送数据,则传送一个长度为L的帧所需要的时间为tp tf,其中,tp为传播时延,tf为发送时延。由此可得出最大吞吐率T为: 

T=Ltp tf=Ld/v L/R(32)

式中,d表示网段跨度长度,即两结点之间的链路长度; v为信号在铜线中的传播速度; R为网络提供的数据传输速率,或者称为网络带宽。由于信道利用率为吞吐率与网络带宽之比,于是可得信道利用率E: 

E=TR=L/Rd/v L/R=tftp tf(33)

令α=tp/tf,则

E=1α 1(34)

可以看出,当α越大,信道利用率就越低。表31列出了局域网中α值的典型情况。可以看出,对于大的高速网络,利用率是很低的。值得指出的是,以上分析是假定没有竞争、没有开销时的最大吞吐率和最大效率。实际网络的情况会更差。

表31α值和网络利用率

数据速度/(Mb/s)帧长/b网络跨度/kmαE
1111001000100110100.050.050.50.950.950.671010101010010001000100001110100.50.050.50.050.670.950.670.95100100350001000200502.82.50.260.04
3.4局域网局域网是多路访问的典型应用,在当前网络中占有重要地位。下面将详细介绍局域网的有关内容。3.4.1传统的以太网习惯上,将最早流行的基于CSMA/CD协议的10Mb/s的以太网称为传统以太网。常用的传统以太网类型有以下几种(1) 10BASE5: 这是第一个IEEE 802.3以太网物理层标准,采用粗铜轴电缆作为传输媒体。这里的10表示最大传输速率为10Mb/s,Base表示基带传输,5表示单段电缆的最大长度为500m。网络结构为总线型,通过中继器扩展,网络跨距最大可达2500m。(2) 10BASE2: 为了降低10BASE5的安装成本和难度,推出了10BASE2细铜轴电缆作为传输媒体的总线型以太网。单段电缆的最大长度为200m,实为185m。通过中继器扩展,网络跨距最大可达1000m,实为925m。(3) 10BASEF: 这里的F表示光纤,它使用一对光纤作为传输媒体。(4) 10BASET: 这里的T表示双绞线,采用集线器组成星状拓扑结构,集线器与每台计算机之间的双绞线最大距离为100m。虽然传统的以太网早已淘汰,但现在的高速以太网技术也都是在传统以太网的基础上发展起来的,原有的很多概念、原理和思想仍然被广泛应用。下面只简要讨论传统以太网的一些基本原理与概念。1. 两个以太网标准以太网是美国Xerox公司于1975年研制的,并命名为Ethernet。1980年,DEC、Intel和Xerox三家公司联合提出了10Mb/s以太网规范的第一个版本DIX Ethernet V1。1982年修改为第二版规约,即DIX Ethernet V2,成为世界上第一个局域网产品的规范,并使用到今天。在此基础上,IEEE 802委员会的802.3工作组于1983年制定了第一个IEEE的局域网标准IEEE 802.3,数据率为10Mb/s。IEEE 802.3标准与DIX Ethernet V2标准只有细微的差别,因此,很多人也常把IEEE 802.3局域网简称为“以太网”。本书不对以太网与局域网进行严格区分,并将它们看作同义词。目前,TCP/IP体系经常使用的局域网只剩下DIX Ethernet V2。因此,本章介绍的局域网一般都指DIX Ethernet V2以太网。2. 局域网体系结构由于局域网是分组广播式网络,网络层的路由功能就不需要了。因此,在IEEE 802.3标准中,网络层被简化成了上层协议的服务访问点。之前由于局域网使用多种传输媒体,而媒体访问控制协议与具体的传输媒体和拓扑结构有关,所以IEEE 802.3标准把数据链路层划分成了两个子层,即逻辑链路子层(Logical Link Control,LLC)和媒体访问控制子层(Medium Access Control,MAC)。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,它提供标准的OSI数据链路层服务,这使得任何高层协议都可以运行于局域网标准之上。图312给出了IEEE 802.3局域网的体系结构与5层模型的对应关系。但由于以太网在当前局域网中的绝对垄断地址,局域网的传输媒体变成了单一的双绞线,拓扑结构也只剩下星状结构。IEEE 802.3中的LLC子层的作用已经消失,而且很多厂商生产的网络适配器也仅装有MAC协议而没有LLC协议。因此,本章将不再考虑LLC子层。

图312局域网体系结构与5层模型的对应关系

3. 以太网的MAC子层与前面介绍的数据链路层的功能一样,MAC子层的主要功能是将上层传下来的数据组装成帧。以太网帧的结构如图313所示。

图313以太网的MAC帧结构

(1) 前导同步码: 该字段占7B,其值为10101010 10…,由1和0交叉出现,它的作用是告知接收方有帧要到来,并使其与发送方的时序同步。该字段及其后的Flag字段是物理层加上去的,并不是MAC帧的一部分,故图中用虚线表示。(2) Flag: 占1B,这是一个帧起始分界符,其二进制值为10101011。(3) 目的MAC地址: 该字段占6B,表示接收方的物理地址。(4) 源MAC地址: 该字段占6B,表示发送方的物理地址。(5) 类型: 占2B,标识上一层使用的协议类型。如0x0800表示IP协议,也就是说后面的数据字段的内容是网络层传下来的IP分组。说明: IEEE 802.3的MAC帧结构与以太网的MAC帧结构的主要区别就在这个字段,IEEE 802.3将该字段称为长度,表示后面数据字段的长度。但这两种帧是兼容的,当该字段的十进制值小于1518时就表示是IEEE 802.3的MAC帧,如果大于1536就表示是以太网的MAC帧。(6) 数据: 该字段长度可变,其内容是网络层协议分组。最小长度为46B,最大1500B。前面有介绍,由于最小帧长为64B,因此数据字段最小应为64B-帧头14B-帧尾4B=46B。由于数据最大为1500B,因此,以太网的最大帧长为1500B 帧头14B 帧尾4B=1518B。(7) FCS: 该字段占4B,其内容就是采用CRC校验计算出来的CRC码。从图313可以看出,以太网的MAC帧没有帧结束分界符。这是由于以太网在连续传送帧时,规定各帧之间还必须有一定的间隙,就是前文介绍的帧间间隔IFG。因此,接收方只要找到帧起始分界符,其后面的连续到达的比特流就都属于同一个MAC帧。可见以太网不需要使用帧结束分界符,也不需要使用字节填充或者位填充法就可以保证透明传输。4. MAC地址1) MAC地址及其地址空间在局域网中,硬件地址又称为物理地址,由于这种地址被封装在MAC帧中,所以人们习惯上称之为MAC地址。MAC地址固化在网络适配器的ROM中,用来标识该网络适配器。IEEE 802规定MAC地址可以采用6B或者2B两种形式。现在市面上销售的以太网适配器都分配了一个全球唯一的6B的地址,2B的MAC地址已经不使用了。6B(48b)的MAC地址中46b用来标识一个特定的MAC地址,剩下的2b用来标识该MAC地址的类型和类别。46b的地址空间可表示246,大约70万亿个地址,可以保证全球地址的唯一性。当一个网络适配器损坏时,它所使用的MAC地址也就随之消失了,再也不会出现。2) MAC地址的类型MAC地址按目的结点可分为以下三种类型。(1) 单播地址(Unicast Address): 标识一个目的结点,用于一对一通信。(2) 多播地址(Multicast Address): 也称组地址,标识一组目的结点,用于一对多通信。(3) 广播地址(Broadcast Address): 该地址的二进制形式为48个1,表示网络上的所有结点,用于对网络上的所有结点进行广播通信。IEEE 802规定MAC地址字段的最左边的第一个字节的最低位为单地址/组地址(Individual/Group,I/G)位。当I/G位为0时表示单播地址,I/G位为1表示组地址。3) MAC地址的管理现在IEEE的注册管理机构(Registration Authority,RA)是全球MAC地址的法定管理机构,它统一分配6B的全球MAC地址的前3B。这3B构成一个号,实际上表示一个地址块,包含224(约1678万)个地址。这个号的正式名称是组织唯一标识符(Organizationally Unique Identifier,OUI)。世界上所有以太网适配器生产商从中购买一个号或者一组号,如3Com的OUI是02 60 8C,Cisco的OUI为00 00 0C,VMware的OUI为00:0C:29。MAC地址的后三个字节称为扩展标识符(Extended Identifier),由生产商自行管理,生产网络适配器时,生产商将MAC地址固化到网络适配器的ROM中。这种48位的MAC地址称为MAC48,其通用名称为EUI48,这里的EUI(Extended Unique Identifier)表示扩展唯一标识符。IEEE 802还规定MAC地址字段的最左边的第一字节的最低第二位为全球/本地(Globe/Local,G/L)位,当G/L位为0时表示全球地址,即由RA统一分配,全球唯一的地址。市面上出售的网络适配器中的MAC地址均为全球地址。G/L位为1时表示本地地址,即只在内部网络中有效,对外没有意义。现在本地地址几乎不使用了。5. 传统以太网的主要设备1) 网络适配器计算机与局域网的连接是通过一个名为网络适配器(Adapter)的硬件设备进行的。该设备又称为网络接口卡(Network Interface Card,NIC),简称网卡。由于现在的计算机主板上都已经集成了这种适配器,不再使用单独的网卡了,因此,将它称为网络适配器更为准确。网络适配器在MAC子层主要实现以下功能。(1) 帧的封装与解封装。(2) 提供缓存,并实现发送和接收数据的并行/串行和串行/并行转换。(3) 帧的定界和寻址。(4) 实现CSMA/CD协议。(5) 差错校验,发送时生成FCS,接收时根据FCS校验帧。每个网络适配器都被赋予一个唯一的MAC地址,存储在ROM中,对外提供一个RJ45插槽,以便于连接双绞线。2) 中继器由于电磁波能量在线缆上传输时会不断衰减,因此,当以太网的跨距或网络上的站点数量超过一定数量时,中途就需要对传输信号进行恢复。这个工作可以通过中继器(Repeater)来实现,中继器工作在物理层,一般有两个接口,物理信号从一个接口进入,中继器对信号进行放大和整形,最后通过另一个接口转发出去。3) 集线器集线器又称为Hub,它其实就是一个多接口的中继器,每个接口连接一台计算机,形成以集线器为中心的星状拓扑结构。虽然形式上是星状结构,但逻辑上仍然是总线型结构,因此被称为星状总线。6. 传统以太网的扩展局域网的扩展就是对局域网的覆盖范围进行扩展。在物理层、数据链路层和网络层及以上各层均可以实现对局域网的扩展。在物理层扩展需要使用中继器或集线器; 在数据链路层扩展需要用到交换机; 而在网络层及以上扩展则需要三层交换机或者路由器。在网络层扩展其实应称为网络互连了,这是由于网络层之下扩展的网络对网络层来说仍然是一个网络,而网络层设备连接的是两个不同的网络。网络互联将在第4章中介绍。在如图314(a)所示的10BASET以太网中,主机与集线器之间的双绞线的长度不超过100m,两台主机通过集线器进行扩展后,双绞线的长度合计不超过200m,也就是网络跨距最大为200m。将多个集线器级联可以进一步扩展局域网的覆盖范围,如图314(b)所示。通过集线器级联可以将不同部门的网络连接在一起,实现跨部门通信。以太网还规定集线器之间的双绞线长度最大为100m,而且规定最多只能使用4个集线器级联。

图314利用集线器实现局域网的扩展

在图314(a)中,每个系的10BASET以太网是一个独立的冲突域,即在任一时刻,同一个冲突域中只有一个结点可以发送数据。每个系的以太网的最大吞吐量是10Mb/s,两个系总的最大吞吐量为20Mb/s。通过集线器连成如图314(b)之后,原来两个冲突域就变成了一个更大的冲突域,而整个学院以太网的最大吞吐量则只有10Mb/s。另外,集线器不能将两个使用不同以太网技术的局域网连接起来。如10BASET以太网与100BASET以太网就不能用集线器级联。中继器和集线器连接起来的局域网由于采用CSMA/CD协议,共享同一条信道。因此称为共享式以太网,由于这种网络安全性差,且网络带宽有限,因此,这种网络和设备已经被淘汰了。3.4.2交换式以太网采用CSMA/CD协议的传统以太网存在以下问题。(1) 多个结点处于一个冲突域中,共享一条传输信道,在任一时刻只允许一个结点发送帧,工作效率太低。(2) 各结点共享固定的网络带宽,即如果有n个结点,则每个结点平均分享到的带宽只有总带宽的1/n,网络系统的效率会随结点的增加大幅降低。(3) 由于冲突域最大网络跨距的限制难以构造较大规模的网络。由于以上原因,人们研究出了使用以太网交换机连接的交换式以太网。交换式以太网采用星状拓扑结构,不使用CSMA/CD协议,没有争用期,以全双工方式工作,但仍然采用以太网的帧结构,保留最小帧长和最大帧长。1. 网桥与交换机交换式以太网最初使用的设备是网桥(Bridge)。网桥对收到的帧根据其目的MAC地址进行转发和过滤。也就是说当网桥每收到一个帧时,首先查看该帧的目的MAC地址,然后查找网桥的地址表,最后确定将帧从哪个接口转发出去,或者将它丢弃(即过滤)。1990年问世的交换式集线器(Switching Hub)很快就淘汰了网桥。这种交换式集线器人们更习惯称之为以太网交换机,简称交换机(Switch),或第二层交换机(L2 Switch),强调它工作在数据链路层。交换机本质上是一个多接口的网桥,工作在MAC子层。交换机由接口、接口缓存、帧转发机构和底板体系4个基本部分组成。(1) 接口: 交换机的每个接口用来连接一台计算机,或者另一个交换机。每个接口可以提供10Mb/s、100Mb/s或者1000Mb/s等速率,支持不同的数据传输速率,且一般都以全双工方式工作。(2) 接口缓存: 接口缓存提供缓存能力,由高速的接口向低速的接口转发帧时必须要有足够的缓存。(3) 帧转发机构: 帧转发机构在接口之间转发帧,有以下三种类型的转发机构。① 存储转发交换: 就是对接收到的帧先进行缓存、验证、碎片过滤,然后进行转发。这种交换方式延时大,但可以提供差错校验,并支持不同速率的输入、输出接口间的交换(非对称交换),是交换机的主流工作方式。② 直通交换: 这种交换方式类似于采用交叉矩阵的电话交换机,它的输入接口扫描到目的MAC地址后就立即开始转发。这种交换方式的优点是延迟小、交换速度快。缺点是没有检错能力,不能实现非对称交换,而且当交换机的接口增加时,交换矩阵实现比较困难。③ 无碎片交换: 该交换方式介于上面两种交换方式之间。它在转发帧前先检查帧长是否足够64B,如果小于64B,则说是冲突碎片而直接丢弃,否则就转发该帧。这种交换机广泛应用于中低档交换机中。(4) 底板体系: 底板体系就是交换机内部的电子线路,在接口之间进行快速数据交换,有总线交换结构、共享内存交换结构和矩阵交换结构等不同形式。2. 交换机的自学习功能交换机通过自学习生成并维护一个包含MAC地址和相对应接口的映射交换表,并根据该交换表进行帧的转发。现用一个简单的例子来说明交换机是怎样自学习的。如图315所示,5台主机A、B、C、D、E分别连在1、2、3、4、5接口上,且这5台主机的MAC地址分别为A、B、C、D和E。交换机刚开机时,内部的交换表是空的。A先向E发送一帧,从接口1进入到交换机。交换机收到帧后,将源MAC地址A和接口1写入交换表中,同时查找交换表,发现没有主机E的MAC地址及对应接口映射项。于是向除接口1外的所有接口广播这个帧。主机B、C、D和E都能监听到这个帧,但只有主机E接收并处理该帧,其他主机则丢弃该帧。接下来,主机E通过接口5向主机A发送一帧。交换机将源MAC地址E和接口5写入交换表中,同时查找交换表,发现交换表中有主机A的MAC地址及其对应接口映射项,于是将帧从MAC地址A所对应的接口1转发出去。显然,这一步是单播,这一过程就是交换机按MAC地址转发帧,实现一对一的通信。经过一段时间后,只要其他主机有发送帧,无论发送给谁,交换机都会把它的MAC地址和连接的接口填入交换表中。等到交换机每个接口所连的主机MAC地址都填入交换表后,要转发给任何一台主机的帧,都可以很快地在交换表中找到相应的转发接口,而不需要广播。考虑到有时可能要更换交换机接口所连接的主机,或者主机要更换网络适配器,这时就必须要更改交换表中的项目。为此,交换表中的每个项目都设有一定的有效时间(一般为几分钟),过期的项目将会自动删除。

图315交换机自学习示例

当交换机的某个端口与另一台交换机级联时,交换机的自学习方法也是一样的,但交换机自身没有MAC地址,因此,交换表中存放的仍然是各主机的MAC地址及其连接的接口,或者交换机级联接口。但当多个交换机连成一个环时,就会出现帧无止境地在网络中兜圈子,为了解决这个问题,IEEE 802.1D标准制定了一个生成树协议(Spanning Tree Protocol,STP)。该协议的工作原理与实践可以参考第11章的相关内容。3. 交换式以太网的扩展交换式以太网的扩展是指在数据链路层利用以太网交换机对局域网进行扩展。一个小规模的工作组级交换式以太网可以由一台交换机连接若干台计算机组成。大规模的交换式以太网通常将交换机划分成几个层次连接,使网络结构更加合理,如可以由低到高划分为接入层、汇聚层和核心层三个层次。接入层交换机供用户计算机接入使用; 若干台接入层交换机接入到一台汇聚层交换机,汇聚网络流量; 若干台汇聚层交换机再接入到一台核心交换机,核心层交换机连接成主干网。图316中的通信工程系交换机和电信工程系交换机就是接入层交换机,信息学院交换机则可以认为是汇聚层交换机,信息学院交换机与其他学院的交换机可以接入到学校核心交换机组成学校局域网。

图316交换式以太网的扩展

4. 交换式以太网的特点与传统以太网相比,交换式以太网具有以下特点。(1) 突破了共享带宽的限制,增大了网络带宽。交换机的总带宽可以通过每个交换机接口的可用带宽来确定。如16个接口的100Mb/s快速以太网交换机最大可提供16×100=1600Mb/s的总带宽。对于图315来说,假定集线器和交换机均为100Mb/s的设备,每条链路的带宽都是100Mb/s,则计算机系的带宽为100Mb/s,通信工程系和电信工程系各为300Mb/s,整个学院的网络的总带宽为100 300 300 2×100=900Mb/s。(2) 隔离了冲突域,增大了网络跨距。交换机的端口可以连接计算机,也可以连接以太网网段,交换机将它各接口所连接的各网段隔离成独立的冲突域,交换式以太网的跨距突破了单个冲突域的限制,可以构造更大规模的网络。如图316中,一个交换机连接了三个系部的网络和两台服务器。由于交换机的每一个接口都是按MAC地址转发帧,因而与其他接口没有冲突,每个接口构成一个单独的冲突域。因此,如图316所示的网络组成了9个冲突域,整个网络是一个广播域。(3) 安全性能更高。由于交换机按MAC地址转发帧,也就是说一个帧只会到达它的目的MAC地址所对应的接口,其他主机将无法看到这个帧。因此,交换式以太网难以窃听,比共享式以太网更安全。(4) 处于一个广播域,可能产生广播风暴。虽然交换机将它连接的多个网段划分成多个独立的冲突域,但交换机工作在数据链路层,它可无障碍地传播广播帧和组播帧,因此交换机连接的网段均处于一个广播域。广播域处于数据链路层,MAC地址为广播地址的帧都可以到达网络中的任意一个结点。因此在一个大规模的交换式以太网中,当广播通信较多时,就可能产生广播风暴,特别是包含不同数据速率的网段时,高速网段产生的广播流量可能导致低速网段严重拥挤甚至崩溃。如图316所示网络就是一个广播域,即图中的任意一台计算机发送一个广播帧,网络的任意其他计算机都可以收到该广播帧。虚拟局域网技术可以有效解决广播风暴的问题。3.4.3虚拟局域网1. 什么是虚拟局域网
虚拟局域网(Virtual LAN,VLAN)不是一个新型的网络,而是通过以太网交换机给用户提供的一种网络服务。VLAN是由一些局域网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。如图317所示为VLAN的示例,两个交换机将多台计算机组成了交换式以太网,并根据部门的特别需求划分成了三个VLAN,即教务处VLAN(包含6台PC)、财务处VLAN(包含5台PC)和人事处VLAN(包含三台PC),同一个VLAN中的PC可以连在同一个交换机上,也可以连接在不同的交换机上。

图317VLAN示例

2. VLAN的特点VLAN比一般的局域网具有更好的安全性。可以通过划分VLAN,对VLAN之间在数据链路层上进行隔离,禁止非本VLAN中的主机访问本VLAN中的应用。如图317所示,一个学校的局域网可以根据职能部门划分成不同的VLAN,各VLAN之间在数据链路层上将无法互相访问。各VLAN之间要实现相互访问可通过配置三层交换机或路由器来实现。由于VLAN之间在数据链路层上进行了隔离,因此,一个VLAN就是一个广播域,一个VLAN的广播风暴不会影响到其他VLAN。划分VLAN可以控制通信流量,提高网络带宽利用率。日常的通信流量大部分限制在VLAN内部,减少了不必要的广播数据在网络上传播,使得网络宽带得到了有效利用。3. VLAN帧格式1999年,IEEE批准了IEEE 802.1q标准,该标准对以太网的帧格式进行了扩展以便支持VLAN,扩展的帧格式是在原以太网帧格式中插入一个4B的标识符,称为VLAN标记,用来指明发送该帧的计算机属于哪一个VLAN,如图318所示。插入VLAN标记后得出的帧称为IEEE 802.1q帧。

图318IEEE 802.1q帧格式

插入的VLAN标记字段可以再分为以下两个字段。(1) TPID(Tag Protocol Identifier,标记协议标识符): 该字段占2B,是一个全局赋予的VLAN以太网类型,其值为常量0x8100。该字段也常称为IEEE 802.1q标记类型,当数据链路层检测到MAC帧的源MAC地址字段后面的两个字节的值是0x8100时,就知道插入了4B的VLAN标记。(2) TCI(Tag Control Information,标记控制信息): 该字段占2B,它又分为以下三个部分。① 用户优先级: 占3b,允许以太网支持服务级别的概念。其值为0~7,其中值为0时表示优先级最高。② CFI(Canonical Format Indicator,规范格式指示器): 占1b,用来标识MAC地址是否以标准格式进行封装。取值为0时表示MAC地址以标准格式进行封装,为1时表示以非标准格式封装,以太网默认值为0。③ VLAN_ID: VLAN标识符,占12b,用于标识某个VLAN,其值为0~4095。其中0表示空VLAN,1表示默认VLAN,4095保留未使用。由于用于VLAN的以太网帧增加了4B,因此最大帧长从原来的1518变成了1522B。IEEE 802.1q帧只在交换机之间的链路上传输,而交换机与计算机之间的链路上传输的仍然是普通以太网帧。普通以太网帧插入VLAN标记变成IEEE 802.1q帧后,必须重新计算帧校验序列FCS。而IEEE 802.1q帧去掉VLAN标记变成普通以太网帧时也要重新计算FCS。4. 划分VLAN的方法VLAN的划分主要有以下三种方式。(1) 基于交换接口划分。这种方式通常是网络管理员通过网管软件或直接设置交换机的接口,使其从属于某个VLAN。这种方法看似比较麻烦,但相对比较安全,也容易配置和维护。因此是最常用的一种划分VLAN的方法。但当一个设备经常从一个交换接口移动到另一个交换接口时,就必须经常手动更改VLAN的设置,而且不能将一个接口的设备划分到多个VLAN中。(2) 基于MAC地址划分。按MAC地址的不同组合来划分VLAN,一个VLAN实际上就是一组MAC地址的集合,多个集合就是多个VLAN。这种划分方式解决了按接口划分难以解决的设备移动问题。因为MAC地址是全球唯一的,计算机等设备移动之后MAC地址不变,所属的VLAN也不变。另外,在这种方式下,一个MAC地址还可以属于多个VLAN。(3) 基于协议划分。可以基于协议类型(如IP或IPX)或子网地址进行划分,可在第三层实现VLAN。关于VLAN的划分与配置,请参见第11章的相关内容。3.4.4快速以太网快速以太网(Fast Ethernet)最早出现于1995年。同时,IEEE把IEEE 802.3u定为100BASET快速以太网的正式标准,该标准是对IEEE 802.3的补充。100BASET使用集线器(半双工模式)或者交换机(全双工模工)形成星状结构,保持了与10Mb/s以太网同样的MAC子层。当使用集线器时,采用同样的CSMA/CD协议和相同的帧格式,使用同样的基本运行参数,即最大帧长1518B,最小帧长64B,冲突重发次数上限为16次,冲突退避上限为10次,争用期时长为512比特时间,强化冲突信号为32b,最小帧间间隔为96b。另外,100BASET以太网不再使用曼彻斯特编码,改用效率更高的4B/5B编码。由于快速以太网的速率是传统以太网速率的10倍,因此,100BASET以太网的争用期512比特时间就变成了5.12μs,冲突域的最大跨距也差不多减少到200m,最小帧间间隔变成0.96μs。100BASET以太网兼容10BASET以太网。用户只要使用100Mb/s的以太网适配器和100Mb/s集线器或交换机就可以升级到100BASET,网络结构、应用软件以及网络软件均不用改变。早期的基于同轴电缆的总线型以太网则必须重新布线。100Mb/s的以太网有4种不同的物理层标准,如表32所示。其中后三种已很少用到。

表32100Mb/s以太网的4种物理层标准

名称传输媒体网段最大长度特点
100BASETX双绞线100m 两对UTP 5类或STP双绞线100BASET4双绞线100m4对UTP 3类线或5类线100BASET2双绞线100m两对UTP 3类线或5类线1000BASEFX光缆2000m两根光纤,发送和接收各用一根
为了与10Mb/s的传统以太网相兼容,IEEE还设计了自动协商模式,也称为自适应模式。使用该模式的集线器和网络适配器能自动把它们的速率调节到最高的公共水平。3.4.5吉比特以太网吉比特以太网(Gigabit Ethernet)的数据传输速率为1Gb/s(1000Mb/s),故又称为千兆以太网。主要应用于园区网(校园和厂区等)的高速主干网。吉比特以太网技术有IEEE 802.3z和IEEE 802.3ab两个标准。IEEE 802.3z制定了光纤和短程铜线连接方案的物理层标准,分别是1000BASESX、1000BASELX和1000BASECX。IEEE 802.3ab制定了1000BASET 5类双绞线上较长距离连接方案的物理层标准。表33列出这些物理层标准及其特点。

表33吉比特以太网物理层标准

名称传输媒体网段最大长度特点
1000BASESX光纤550m使用770~860nm短波长的多模光纤1000BASELX光纤5000m使用1270~1355nm长波的多/单模光纤1000BASECXSTP双绞线25m使用两对屏蔽双绞线1000BASETUTP双绞丝100m使用4对UTP 5类双绞线
吉比特以太网主要使用8B/10BNRZ编码方式,支持半双工和全双工模式,但大部分以全双工方式工作。帧格式仍然使用IEEE 802.3规定的帧格式,最大帧长和最小帧长依然分别为1518B和64B,最小帧间间隔为96比特时间,网段最大网段长度仍然保持100m。为了与传统的半双工以太网相兼容,吉比特以太网支持CSMA/CD协议,冲突重传上限次数仍为16次,冲突退避上限为10次,强化冲突信号32位。但由于传输速率提升到1000Mb/s,如果吉比特以太网仍然保持传统以太网512b的争用时间,那么最大网络跨距将缩减至20m,显然失去了实用价值。为此,吉比特以太网对CSMA/CD协议进行了以下两个方面的改进。1. 载波延伸载波延伸规定,凡是发送的MAC帧长度不足512B时,就在帧的末尾填充一些特殊字符,使MAC帧的长度增大到512B,如图319所示。接收方收到该MAC帧后,把所填充的特殊字符删除后才向高层交付。这样就可以保证最小帧长64B不变,最大网络跨距仍可保持200m。但当仅64B长的短帧采用载波延伸填充到512B时,所填充的448B就造成了很大的开销,导致传输效率低下,对此,又提出了帧突发机制。

图319载波延伸

2. 帧突发帧突发机制允许发送方连续发送多个帧,其中,第1帧按CSMA/CD协议和载波延伸的规定发送。即如果第1帧是个短帧,则用载波延伸将帧扩展到512B后才发送,如果该帧发送成功,发送方就可以继续发送其他帧直至发送完数据或者达到一次帧突发的最大长度限制。帧突发机制规定,连续发送的最大长度限制为8192B,即8KB。发送方为了连续占用信道,用96b载波延伸填充帧间间隔IFG,如图320所示。因此,其他主机在帧间间隔期间仍然会监听到信道忙,发送方只要成功地发送第1帧后就不会再遇到冲突,就可连续发送。后续发送的各个帧,也不需要进行冲突检测,因此,即便是短帧也不必再进行载波延伸,从而改善了因短帧载波延伸引起的传输效率低的问题。

图320帧突发机制

3.4.610吉比特以太网10吉比特以太网(10 Gigabit Ethernet)又称万兆以太网,与其前代相比,它主要有以下特点。(1) 主要使用光纤作为传输媒体。(2) 仍然使用IEEE 802.3帧格式,维持其最大、最小帧长度。(3) 不再使用CSMA/CD协议,即只以全双工方式工作。因此,10吉比特以太网完全突破了CSMA/CD冲突域的限制,进入了MAN和WAN的范畴。目前用于局域网的光纤10吉比特以太网规范主要定义了以下三种,均采用64B/66B编码方案,如表34所示。

表3410吉比特比以太网物理层标准

名称传输媒体网段最大长度特点
10GBASESR光纤300m使用850nm短波长多模光纤10GBASELR光纤10km使用1310长波长单模光纤10GBASEER光纤40km使用1550nm超长波长单模光纤
除以上述物理层标准外,IEEE还制定了使用铜缆的称为10GBASECX4和使用双绞线的称为10GBASET的10吉比特以太网物理层标准。以太网技术发展得很快,在10吉比特以太网之后又制定了40吉比特以太网和100吉比特以太网物理层标准,这些更高速的以太网均以全双工方式工作,且主要采用光纤作为传输媒体。最后,对各代以太网的运行参数进行对比总结成如表35所示。

表35各代以太网运行参数

参数10Mb/s100Mb/s1Gb/s10Gb/s
是否支持CSMA/CD是是是否工作方式为半双工或全双工半双工均可均可全双工争用期(比特时间/μs)512/51.2512/5.124096/4.096—帧间间隔(比特/μs)96/9.696/0.9696/0.09696/0.0096冲突重发上限161616—冲突退避上限101010—强化冲突信号b323232—最大帧长/B1518151815181518最小帧长/B64646464帧突发长度限制/B——8192—
习题一、 简答题1. 数据链路层要解决的基本问题包括哪三个方面?2. PPP是什么?它包含哪几个部分?3. PPP如何实现字节填充和位填充?它们各用于什么情况?4. 十六进制字符串数据5E 7E 7D 5D 7D 7D在使用PPP的异步链路传输时,封装到PPP帧中的数据部分应为什么?5. 设要发送的二进制数据为101100111101,CRC生成多项式为X4 X3 1,试求出实际发送的二进制数字序列。6. 已知发送方采用CRC校验方法,生成多项式为X4 X3 1,若接收方收到的二进制数字序列为101110110101,请判断数据传输过程中是否出错。7. 一个异步传输的PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,试问真正的数据是什么(用十六进制写出)?8. X7 X5 1被生成多项式X3 1所除,所得余数是多少?9. 如果位串0111101111101111110是经过位填充的,那么输出串是什么?10. 局域网有哪两个标准?画出以太网的帧格式,并说明各字段的基本含义。11. CSMA/CD有哪三种策略算法?请简述之。12. 试说明10BASET中的10、BASE和T代表的意思。13. 什么是比特时间?对于10Mb/s的以太网来说,512比特时间是多少微秒?14. 冲突域与广播域有何不同?15. 为什么CSMA/CD是一种半双工工作方式?16. 简要描述CSMA/CD协议的工作过程。17. 简要描述二进制指数退避算法的基本思想。18. 以太网帧的最小帧长和最大帧长分别是多少?19. 什么是VLAN?它是一种新型的网络吗?VLAN的帧格式与以太网的帧格式有何不同?20. 在全双工的以太局域网中,为什么不再需要CSMA/CD?21. 简要说明以太网帧为何没有帧结束定界标记?二、 选择题1. 根据PPP的工作状态图,用户控制分组和数据分组的交换出现在状态。
A. 链路建立B. 鉴别C. 链路打开D. 链路终止2. 根据PPP的工作状态图,选项协商出现在状态。A. 链路建立B. 鉴别C. 链路打开D. 链路终止3. 在PPP帧中,字段定义数据字段的协议类型。A. 标志B. 控制C. 协议D. FCS4. 在PPP中,LCP分组的目的是。A. 配置网络层B. 终止链路C. 协商选项D. 以上所有各项5. PPP是连接广域网的一种封装协议,下面关于PPP的描述错误的是。 A. 能够控制数据链路的建立B. 能够分配和管理广域网的IP地址C. 只能采用IP作为网络层协议D. 能够有效地进行错误检测6. 以太网中的帧属于协议数据单元。A. 物理层B. 数据链路层C. 网络层D. 应用层7. 以太网交换机是按照进行转发的。A. MAC地址B. IP地址C. 协议类型D. 端口号8. 以太网帧结构中“填充”字段的作用是。A. 承载任选的路由信息B. 用于捎带应答C. 发送紧急数据D. 保持最小帧长9. 在OSI参考模型中,数据链路层处理的数据单元是。A. 比特B. 帧C. 分组D. 报文10. 在以太网中,最大传输单元(MTU)是B。
A. 46B. 64C. 1500D. 151811. 在传统10Mb/s以太网的二进制指数退避算法中,基本的退避时间为。A. 25.6μsB. 51.2μsC. 9.6μsD. 5.12μs12. 如果以太网的目的MAC地址为070102030405,那么它是一个地址。A. 单播B. 多播C. 广播D. 上述选项中的任何一项13. 中继器工作在层。A. 物理B. 数据链路C. 网络D. 传输14. 实际上是一个多端口的中继器。A. 网桥B. 集线器C. 路由器D. 交换机15. 交换机运行在层。A. 物理B. 数据链路C. 网络D. 传输16. VLAN技术将LAN划分成分组。A. 物理的B. 逻辑的C. 多路的D. 以上都不是17. 根据可以用来将端结点分组成VLAN。A. 交换机端口B. MAC地址C. IP地址D. 以上所有项18. IEEE 802.3局域网采用的CSMA/CD策略是。A. 非坚持B. 1坚持C. P坚持D. 以上都不是19. 以下以太网中,不支持CSMA/CD协议。A. 10BASETB. 100BASETC. 1000BASETD. 10GBASESR20. 以下以太网中,可能需要用到帧突发技术。A. 10BASETB. 100BASETC. 1000BASETD. 10GBASESR21. 通过以太网交换机连接的一组工作站。A. 组成一个冲突域,但不是一个广播域B. 组成一个广播域,但不是一个冲突域C. 既是一个冲突域,又是一个广播域D. 既不是冲突域,也不是广播域22. 局域网冲突时槽的计算方法如下。假设tPHY表示工作站的物理层时延,C表示光速,S表示网段长度,tR表示中继器的时延,在局域网最大配置的情况下,冲突时槽等于。A. S/0.7C 2tPHY 8tRB. 2S/0.7C 2tPHY 8tRC. 2S/0.7C ttPHY 8tRD. 2S/0.7C 2tPHY 4tR23. 在局域网标准中,100BASET规定从收发器到集线器的距离不超过m。A. 100B. 185C. 300D. 1000 24. 一个运行CSMA/CD协议的以太网,数据速率为1Gb/s,网段长1km,信号速率为200000km/s,则最小帧长是b。A. 1000B. 2000C. 10000D. 20000025. 关于网桥和交换机,下面的描述中正确的是。 A. 网桥端口数少,因此比交换机转发更快B. 网桥转发广播帧,而交接机不转发广播帧C. 交接机是一种多播口网桥D. 交换机端口多,因此扩大了冲突域大小26. 以太网协议中使用物理地址的作用是。A. 用于不同子网中的主机进行通信B. 作为第二层设备的唯一标识C. 用于区别第二层和第三层的协议数据单元D. 保存主机可检测未知的远程设备27. 循环冗余校验标准CRC16的生成多项式为G(X)=X16 X15 X2 1,它产生的校验码是位,接收端发现错误后采取的措施是自动请求重发。A. 2 B. 4 C. 16 D. 32 28. 动态划分VLAN的方法中不包括。A. 网络层协议B. 网络层地址C. 交换机端口D. MAC地址29. 在局域网中划分VLAN,不同VLAN之间必须通过连接才能互相通信。A. 中继端口B. 动态端口C. 接入端口D. 静态端口30. 续上一题,属于各个VLAN的数据帧必须同时打上不同的。A. VLAN优先级B. VLAN标记C. 用户标识D. 用户密钥31. 以太网采用的CSMA/CD协议,当冲突发生时要通过二进制指数后退算法计算后退延时,关于这个算法,以下论述中错误的是。A. 冲突次数越多,后退的时间越短B. 平均后退次数的多少与负载大小有关C. 后退时延的平均值与负载大小有关D. 重发次数达到一定极限后放弃发送32. 在局域网中可动态或静态划分VLAN,静态划分VLAN是根据划分的。A. MAC地址B. IP地址C. 端口号D. 管理区域33. 以下关于VLAN的叙述中,正确的是。A. VLAN对分组进行过滤,增强了网络的安全性B. VLAN提供了在大型网络中保护IP地址的方法C. VLAN在可路由的网络中提供了低延迟的互联手段D. VLAN简化了在网络中增加、移除和移动主机的操作34. 集线器与网桥的区别是。A. 集线器不能检测发送冲突,而网桥可以检测冲突B. 集线器是物理层设备,而网桥是数据链路层设备C. 网桥只有两个端口,而集线器是一种多端口网桥D. 网桥是物理层设备,而集线器是数据链路层设备35. 以下关于交换机获取与其端口连接设备的MAC地址的叙述中,正确的是。A. 交换机从路由表中提取设备的MAC地址B. 交换机检查端口流入分组的源地址C. 交换机之间互相交换地址表D. 由网络管理员手工输入设备的MAC地址36. 以下关于CSMA/CD协议的叙述中,正确的是。A. 每个结点按照逻辑顺序占用一个时间片轮流发送B. 每个结点检查介质是否空闲,如果空闲则立即发送C. 每个结点想发就发,如果没有冲突则继续发送D. 得到令牌的结点发送,没有得到的令牌的结点等待37. 用来承载多个VLAN流量的协议组是。A. IEEE 802.11a和IEEE 802.1qB. ISL和IEEE 802.1q C. ISL和IEEE 802.3abD. SSL和IEEE 802.11b38. 下面关于交换机的说法中,正确的是。A. 以太网交换机可以连接运行不同网络层协议的网络B. 从工作原理上讲,以太网交换机是一种多端口网桥C. 集线器是一种特殊的交换机D. 通过交换机连接的一组工作站形成一个冲突域39. 以太网协议可以采用非坚持型、坚持型和P坚持型三种监听算法。下面关于这三种算法的描述中,正确的是。A. 坚持型监听算法的冲突概率低,但可能引入过多的信道延迟B. 非坚持型监听算法的冲突概率低,但可能浪费信道带宽C. P坚持型监听算法实现简单,而且可以达到最好性能D. 非坚持型监听算法可以及时抢占信道,减少发送延迟40. IEEE 802.3以太网帧格式如图321所示,其中的“长度”字段的作用是。

图32140题图

A. 表示数据字段的长度B. 表示封装的上层协议的类型C. 表示整个帧的长度D. 既可以表示数据字段长度也可以表示上层协议的类型41. 下面列出的4种快速以太网物理层标准中,使用两对5类无屏蔽双绞线作为传输介质的是。A. 100BASEFXB. 100BASET4 C. 100BASETXD. 100BASET242. 以太网交换机的交换方式有三种,这三种交换方式不包括。A. 存储转发式交换B. IP交换C. 直通式交换D. 碎片过滤式交换43. 以太网介质访问控制策略可以采用不同的监听算法,其中一种是: “一旦介质空闲就发送数据,假如介质忙,继续监听,直到介质空闲后立即发送数据”,这种算法称为监听算法,该算法的主要特点是介质利用率和冲突概率都高。A. 1坚持型B. 非坚持型C. P坚持型D. O坚持型44. 采用CSMA/CD协议的基带总线,其段长为1000m,中间没有中继器,数据速率为10Mb/s,信号传播速度为200m/μs,为了保证在发送期间能够检测到冲突,则该网络上的最小帧长应为b。A. 50B. 100C. 150D. 20045. 以下属于万兆以太网物理层标准的是。A. IEEE 802.3uB. IEEE 802.3aC. IEEE 802.3eD. IEEE 802.3ae46. 下面的光纤以太网标准中,支持1000m以上传输距离的是。A. 1000BASEFXB. 1000BASECXC. 1000BASESXD. 1000BASELX 47. 在图322的网络配置中,总共有个广播域,个冲突域。

图32247题图

A. 2; 2B. 3; 6C. 2; 6D. 3; 548. 在下面关于VLAN的描述中,不正确的是。A. VLAN把交换机划分成多个逻辑上独立的交换机B. 主干链路(Trunk)可以提供多个VLAN之间通信的公共通道C. 由于包含多个交换机,所以VLAN扩大了冲突域D. 一个VLAN可以跨越多个交换机49. 以太网中如果发生介质访问冲突,按照二进制指数后退算法决定下一次重发的时间,使用二进制后退算法的理由是。A. 这种算法简单B. 这种算法执行速度快C. 这种算法考虑了网络负载对冲突的影响D. 这种算法与网络的规模大小无关50. 下面有关VLAN的语句中,正确的是。A. 虚拟局域网中继协议(VLAN Trunk Protocol,VTP)用于在路由器之间交换不同VLAN的信息B. 为了抑制广播风暴,不同的VLAN之间必须用网桥分隔C. 交换机的初始状态是工作在VTP服务器模式,这样可以把配置信息广播给其他交换机D. 一台计算机可以属于多个VLAN即它可以访问多个VLAN,也可以被多个VLAN访问51. 划分VLAN的方法有多种,这些方法中不包括。A. 根据端口划分B. 根据路由设备划分C. 根据MAC地址划分D. 根据IP地址划分52. 在千兆以太网物理层标准中,采用长波(1300nm)激光信号源的是。A. 1000BASESXB. 1000BASELXC. 1000BASECXD. 1000BASET53. 下面关于IEEE 802.1q协议的说明中正确的是。A. 这个协议在原来的以太网帧中增加了4B的帧标记字段B. 这个协议是IETF制定的C. 这个协议在以太网帧的头部增加了26B的帧标记字段D. 这个协议在帧尾部附加了4B的CRC校验码54. 可以转发不同VLAN之间的通信。A. 二层交换机B. 三层交换机C. 网络集线器D. 生成树网桥55. 快速以太网标准比原来的以太网标准的数据速率提高了10倍,这时它的网络跨距(最大段长)。A. 没有改变B. 变长了C. 缩短了D. 可以根据需要设定56. IEEE 802.3规定的最小帧长为64B,这个帧长是指。A. 从前导字段到校验和的字段B. 从目标地址到FCS的长度C. 从帧起始符到校验和的长度D. 数据字段的长度57. 千兆以太网标准IEEE 802.3z定义了一种帧突发方式,这种方式是指。A. 一个站可以突然发送一个帧B. 一个站可以不经过竞争就启动发送过程C. 一个站可以连续发送多个帧D. 一个站可以随机地发送紧急数据

计算机网络与通信——原理与实践 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:计算机网络与通信——原理与实践