当前位置:首页 » 网络连接 » 计算机网络数据报服务
扩展阅读
绍兴7寸工业平板电脑厂 2025-09-27 04:08:42
无线网络租约延长24小时 2025-09-27 00:35:51

计算机网络数据报服务

发布时间: 2023-05-22 02:24:09

1. 计算机网络技术

第一章 计算机网络概述
1.1 计算机网络的定义和发展历史
1.1.1 计算机网络的定义
计算机网络是现代通信技术与计算机技术相结合的产物,是在地理上分散的通过通信线路连接起来的计算机集合,这些计算机遵守共同的协议,依据协议的规定进行相互通信,实现网络各种资源的共享。
网络资源:所谓的网络资源包括硬件资源(如大容量磁盘、打印机等)、软件资源(如工具软件、应用软件等)和数据资源(如数据库文件和数据库等)。
计算机网络也可以简单地定义为一个互连的、自主的计算机集合。所谓互连是指相互连接在一起,所谓自主是指网络中的每台计算机都是相对独立的,可以独立工作。
1.1.2 计算机网络的发展历史
课后小结:
1. 计算机网络的定义.
2. 网络资源的分类.
课后作业:预习P2-P8.

第二讲
教学类型:理论课
教学课题:1.2~1.3
教学目标:1.了解计算机网络的功能和应用;2. 了解计算机网络的系统组成
教学重点、难点:计算机网络的功能和应用;网络的系统组成
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示

1.2 计算机网络的功能和应用
1. 计算机网络的功能
(1)实现计算机系统的资源共享
(2)实现数据信息的快速传递
(3)提高可靠性
(4)提供负载均衡与分布式处理能力
(5)集中管理
(6)综合信息服务
2.计算机网络的应用
计算机网络由于其强大的功能,已成为现代信息业的重要支柱,被广泛地应用于现代生活的各个领域,主要有:
(1)办公自动化
(2)管理信息系统
(3)过程控制
(4)互联网应用(如电子邮件、信息发布、电子商务、远程音频与视频应用)
1.3计算机网络的系统组成
1.3.1 网络节点和通信链路
从拓扑结构看,计算机网络就是由若干网络节点和连接这些网络节点的通信链路构成的。计算机网络中的节点又称网络单元,一般可分为三类:访问节点、转接节点和混合节点。
通信链路是指两个网络节点之间承载信息和数据的线路。链路可用各种传输介质实现,如双绞线、同轴电缆、光缆、卫星、微波等。
通信链路又分为物理链路和逻辑链路。
1.3.2 资源子网和通信子网
从逻辑功能上可把计算机网络分为两个子网:用户资源子网和通信子网。
资源子网包括各种计算机和相关的硬件、软件;
通信子网是连接这些计算机资源并提供通信服务的连接线路。正是在通信子网的支持下,用户才能利用网络上的各种资源,进行相互间的通信,实现计算机网络的功能。
通信子网有两种类型:
(1)公用型(如公用计算机互联网CHINANET)
(2)专用型(如各类银行网、证券网等)
1.3.3 网络硬件系统和网络软件系统
计算机网络系统是由计算机网络硬件系统和网络软件系统组成的。
网络硬件系统是指构成计算机网络的硬设备,包括各种计算机系统、终端及通信设备。
常见的网络硬件有:
(1)主机系统; (2)终端; (3)传输介质; (4)网卡;(5)集线器; (6)交换机; (7)路由器
网络软件主要包括网络通信协议、网络操作系统和各类网络应用系统。
(1)服务器操作系统
常见的有:Novell公司的NetWare、微软公司的 Windows NT Server及 Unix系列。
(2)工作站操作系统
常见的有: Windows 95、Windows 98及Windows 2000等。
(3)网络通信协议
(4)设备驱动程序
(5)网络管理系统软件
(6)网络安全软件
(7)网络应用软件
课后小结:
1. 计算机网络的功能和应用
2. 网络的系统组成
课后作业:预习P8-P10

第三讲
教学类型:理论课
教学课题:1.4计算机网络的分类
教学目标:1.掌握计算机网络的分类;2. 了解计算机网络的定义和发展;3. 了解计算机网络的功能和应用;4. 了解计算机网络的系统组成
教学重点、难点:掌握计算机网络的分类
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示
1.4 计算机网络的分类
1.4.1 按计算机网络覆盖范围分类
由于网络覆盖范围和计算机之间互连距离不同,所采用的网络结构和传输技术也不同,因而形成不同的计算机网络。
一般可以分为局域网(LAN)、城域网(MAN)、广域网(WAN)三类。
1.4.2按计算机网络拓扑结构分类
网络拓扑是指连接的形状,或者是网络在物理上的连通性。如果不考虑网络的的地理位置,而把连接在网络上的设备看作是一个节点,把连接计算机之间的通信线路看作一条链路,这样就可以抽象出网络的拓扑结构。
按计算机网络的拓扑结构可将网络分为:星型网、环型网、总线型网、树型网、网型网。
1.4.3 按网络的所有权划分
1.公用网
由电信部门组建,由政府和电信部门管理和控制的网络。
2.专用网
也称私用网,一般为某一单位或某一系统组建,该网一般不允许系统外的用户使用。
1.4.4 按照网络中计算机所处的地位划分
(1)对等局域网
(2)基于服务器的网络(也称为客户机/服务器网络)。
课后小结:
1. 计算机网络的定义;2. 计算机网络的功能和应用;3. 计算机网络的分类
课后作业:(P10)1 、4、5、6

第四讲
教学类型:理论课
教学课题:1.1计算机网络的定义和发展
教学目标:1. 了解数据通信的基本概念;2. 了解数据传输方式
教学重点、难点:数据传输方式
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示
教学内容与过程
导入:由现在的网络通讯中的一些普通关键词引入新课
讲授新课:(多媒体幻灯片演示或板书)
第二章 数据通信基础
2.1 数据通信的基本概念
2.1.1 信息和数据
1.信息
信息是对客观事物的反映,可以是对物质的形态、大小、结构、性能等全部或部分特性的描述,也可表示物质与外部的联系。信息有各种存在形式。
2.数据
信息可以用数字的形式来表示,数字化的信息称为数据。数据可以分成两类:模拟数据和数字数据。
2.1.2 信道和信道容量
1.信道
信道是传送信号的一条通道,可以分为物理信道和逻辑信道。
物理信道是指用来传送信号或数据的物理通路,由传输及其附属设备组成。
逻辑信道也是指传输信息的一条通路,但在信号的收、发节点之间并不一定存在与之对应的物理传输介质,而是在物理信道基础上,由节点设备内部的连接来实现。
2.信道的分类
信道按使用权限可分为专业信道和共用信道。
信道按传输介质可分为有线信道、无线信道和卫星信道。
信道按传输信号的种类可分为模拟信道和数字信道。
3.信道容量
信道容量是指信道传输信息的最大能力,通常用数据传输率来表示。即单位时间内传送的比特数越大,则信息的传输能力也就越大,表示信道容量大。
2.1.3 码元和码字
在数字传输中,有时把一个数字脉冲称为一个码元,是构成信息编码的最小单位。
计算机网络传送中的每一位二进制数字称为“码元”或“码位”,例如二进制数字10000001是由7个码元组成的序列,通常称为“码字”。
2.1.4 数据通信系统主要技术指标
1.比特率:比特率是一种数字信号的传输速率,它表示单位时间内所传送的二进制代码的有效位(bit)数,单位用比特每秒(bps)或千比特每秒(Kbps)表示。
2.波特率:波特率是一种调制速率,也称波形速率。在数据传输过程中,线路上每秒钟传送的波形个数就是波特率,其单位为波特(baud)。
3.误码率:误码率指信息传输的错误率,也称误码率,是数据通信系统在正常工作情况下,衡量传输可靠性的指标。
4.吞吐量:吞吐量是单位时间内整个网络能够处理的信息总量,单位是字节/秒或位/秒。在单信道总线型网络中,吞吐量=信道容量×传输效率。
5.通道的传播延迟:信号在信道中传播,从信源端到达信宿端需要一定的时间,这个时间叫做传播延迟(或时延)。
2.1.5 带宽与数据传输率
1.信道带宽
信道带宽是指信道所能传送的信号频率宽度,它的值为信道上可传送信号的最高频率减去最低频率之差。
带宽越大,所能达到的传输速率就越大,所以通道的带宽是衡量传输系统的一个重要指标。
2.数据传输率
数据传输率是指单位时间信道内传输的信息量,即比特率,单位为比特/秒。
一般来说,数据传输率的高低由传输每一位数据所占时间决定,如果每一位所占时间越小,则速率越高。
2.2 数据传输方式
2.2.1 数据通信系统模型
2.2.2 数据线路的通信方式
根据数据信息在传输线上的传送方向,数据通信方式有:
单工通信
半双工通信
双工通信
2.2.3 数据传输方式
数据传输方式依其数据在传输线原样不变地传输还是调制变样后再传输,可分为基带传输、频带传输和宽带传输等方式。
1.基带传输
2.频带传输
3.宽带传输
课后小结:
1. 什么是信息、数据?
2. 什么是信道?常用的信道分类有几种?
3. 什么是比特率?什么是波特率?
4. 什么是带宽、数据传输率与信道容量?
课后作业:(P20)二1、2、3、4、5、6

第五讲
教学类型:理论课
教学课题:2.2~2.4
教学目标:1.理解数据交换技术;2. 理解差错检验与校正技术
教学重点、难点:数据交换技术、差错检验与校正技术
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示
教学内容与过程:
导入:由现在的网络通讯中的一些普通关键词引入新课
讲授新课:(多媒体幻灯片演示或板书)
2.3 数据交换技术
通常使用四种交换技术:
电路交换
报文交换
分组交换
信元交换。
2.3.1 电路交换
电路交换(也称线路交换)
在电路交换方式中,通过网络节点(交换设备)在工作站之间建立专用的通信通道,即在两个工作站之间建立实际的物理连接。一旦通信线路建立,这对端点就独占该条物理通道,直至通信线路被取消。
电路交换的主要优点是实时性好,由于信道专用,通信速率较高;缺点是线路利用率低,不能连接不同类型的线路组成链路,通信的双方必须同时工作。
电路交换必定是面向连接的,电话系统就是这种方式。
电路交换的三个阶段:
电路建立阶段
数据传输阶段
拆除电路阶段
2.3.2 报文交换
报文是一个带有目的端信息和控制信息的数据包。报文交换采取的是“存储—转发”(Store-and-Forward)方式,不需要在通信的两个节点之间建立专用的物理线路。
报文交换的主要缺点是网络的延时较长且变化比较大,因而不宜用于实时通信或交互式的应用场合。
在 20 世纪 40 年代,电报通信也采用了基于存储转发原理的报文交换(message switching)。
报文交换的时延较长,从几分钟到几小时不等。现在,报文交换已经很少有人使用了。
2.3.3 分组交换
分组交换也称包交换,它是报文交换的一种改进,也属于存储-转发交换方式,但它不是以报文为单位,而是以长度受到限制的报文分组(Packet)为单位进行传输交换的。分组也叫做信息包,分组交换有时也称为包交换。
分组在网络中传输,还可以分为两种不同的方式:数据报和虚电路。
分组交换的优点
高效 动态分配传输带宽,对通信链路是逐段占用。
灵活 以分组为传送单位和查找路由。
迅速 必先建立连接就能向其他主机发送分组;充分使用链路的带宽
可靠 完善的网络协议;自适应的路由选择协议使网络有很好的生存性
2.3.4 信元交换技术
(ATM,Asynchronous Transfer Mode,异步传输模式)
ATM是一种面向连接的交换技术,它采用小的固定长度的信息交换单元(一个53Byte的信元),话音、视频和数据都可由信元的信息域传输。
它综合吸取了分组交换高效率和电路交换高速率的优点,针对分组交换速率低的弱点,利用电路交换完全与协议处理几乎无关的特点,通过高性能的硬件设备来提高处理速度,以实现高速化。
ATM是一种广域网主干线的较好选择。
2.4 差错检验与校正
数据传输中出现差错有多种原因,一般分成内部因素和外部因素。
内部因素有噪音脉冲、脉动噪音、衰减、延迟失真等。
外部因素有电磁干扰、太阳噪音、工业噪音等。
为了确保无差错地传输,必须具有检错和纠错的功能。常用的校验方式有奇偶校验和循环冗余码校验。
2.4.1 奇偶校验
采用奇偶校验时,若其中两位同时发生错误,则会发生没有检测出错误的情况。
2.4.2 循环冗余码校验。
这种编码对随机差错和突发差错均能以较低的冗余充进行严格的检查。
课后小结:
1. 数据通信的的一些基本知识
2. 三种交换方式的基本工作原理
3. 两种差错校验方法:奇偶校验和循环冗余校验
课后作业:(P20)二7、8、9

第六讲
教学类型:复习课
教学课题:第一章与第二章
教学目标:通过复习掌握第一、二章的重点
教学重点、难点:第一、二章的重点
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示
教学内容:第一、二章的内容

第七讲
教学类型:测验一

第八讲
教学类型:理论课
教学课题:第三章 计算机网络技术基础
教学目标:1. 掌握几种常见网络拓扑结构的原理及其特点;2. 掌握ISO/OSI网络参考模型及各层的主要功能
教学重点、难点:1. 掌握几种常见网络拓扑结构的原理及其特点;2. 掌握ISO/OSI网络参考模型及各层的主要功能
教学方法:教师讲解、演示、学生认真学习并思考、记忆;教师讲授与学生理解协调并重的教学法
教学工具:多媒体幻灯片演示
教学内容与过程
导入:提问学生对OSI的七层模型和TCP/IP四层模型的理解。
引导学生总结重要原理并认真加以研究。
教师总结归纳本章重要原理的应用,进入教学课题。
讲授新课:(多媒体幻灯片演示或板书)
第三章 计算机网络技术基础
3.1 计算机网络的拓扑结构
3.1.1 什么是计算机网络的拓扑结构
网络拓扑是指网络连接的形状,或者是网络在物理上的连通性。
网络拓扑结构能够反映各类结构的基本特征,即不考虑网络节点的具体组成,也不管它们之间通信线路的具体类型,把网络节点画作“点”,把它们之间的通信线路画作“线”,这样画出的图形就是网络的拓扑结构图。
不同的拓扑结构其信道访问技术、网络性能、设备开销等各不相同,分别适应于不同场合。它影响着整个网络的设计、功能、可靠性和通信费用等方面,是研究计算机网络的主要环节之一。
计算机网络的拓扑结构主要是指通信子网的拓扑结构,常见的一般分为以下几种:
1.总线型;2.星型;3.环型;4.树型;5.网状型
3.1.2 总线型拓扑结构
总线结构中,各节点通过一个或多个通信线路与公共总线连接。总线型结构简单、扩展容易。网络中任何节点的故障都不会造成全网的故障,可靠性较高。
总线型结构是从多机系统的总线互联结构演变而来的,又可分为单总线结构和多总线结构,常用CSMA/CD和令牌总线访问控制方式。
总线型结构的缺点:
(1)故障诊断困难;(2)故障隔离困难;(3)中继器等配置;(4)实时性不强
3.1.3 星型拓扑结构
星型的中心节点是主节点,它接收各分散节点的信息再转发给相应节点,具有中继交换和数据处理功能。星型网的结构简单,建网容易,但可靠性差,中心节点是网络的瓶颈,一旦出现故障则全网瘫痪。
星型拓扑结构的访问采用集中式控制策略,采用星型拓扑的交换方式有电路交换和报文交换。
星型拓扑结构的优点:
(1)方便服务;(2)每个连接只接一个设备;(3)集中控制和便于故障诊断;(4)简单的访问协议
星型拓扑结构的缺点:
(1)电缆长度和安装;(2)扩展困难;(3)依赖于中央节点
3.1.4 环型拓扑结构
网络中节点计算机连成环型就成为环型网络。环路上,信息单向从一个节点传送到另一个节点,传送路径固定,没有路径选择问题。环型网络实现简单,适应传输信息量不大的场合。任何节点的故障均导致环路不能正常工作,可靠性较差。
环型网络常使用令牌环来决定哪个节点可以访问通信系统。
环型拓扑结构的优点:
(1)电缆长度短;(2)适用于光纤;(3)网络的实时性好
环型拓扑结构的缺点:
(1)网络扩展配置困难;(2)节点故障引起全网故障;(3)故障诊断困难;(4)拓扑结构影响访问协议
3.1.5 其他类型拓扑结构
1.树型拓扑结构
树型网络是分层结构,适用于分级管理和控制系统。网络中,除叶节点及其联机外,任一节点或联机的故障均只影响其所在支路网络的正常工作。
2.星型环型拓扑结构
3.1.6 拓扑结构的选择原则
拓扑结构的选择往往和传输介质的选择和介质访问控制方法的确定紧密相关。选择拓扑结构时,应该考虑的主要因素有以下几点:
(1)服务可靠性; (2)网络可扩充性; (3)组网费用高低(或性能价格比)。
3.2 ISO/OSI网络参考模型
建立分层结构的原因和意义:
建立计算机网络的根本目的是实现数据通信和资源共享,而通信则是实现所有网络功能的基础和关键。对于网络的广泛实施,国际标准化组织ISO(International Standard Organization),经过多年研究,在1983年提出了开放系统互联参考模型OSI/RM(Reference Model of Open System Interconnection),这是一个定义连接异种计算机的标准主体结构,给网络设计者提供了一个参考规范。
OSI参考模型的层次
OSI参考模型共有七层,由低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
1.OSI参考模型的特性
(1)是一种将异构系统互联的分层结构;
(2)提供了控制互联系统交互规则的标准骨架;
(3)定义了一种抽象结构,而并非具体实现的描述;
(4)不同系统上的相同层的实体称为同等层实体;
(5)同等层实体之间的通信由该层的协议管理;
(6)相邻层间的接口定义了原语操作和低层向上层提供的服务;
(7)所提供的公共服务是面向连接的或无连接的数据服务;
(8)直接的数据传送仅在最低层实现;
(9)每层完成所定义的功能,修改本层的功能并不影响其它层。
2.有关OSI参考模型的技术术语
在OSI参考模型中,每一层的真正功能是为其上一层提供服务。在对这些功能或服务过程以及协议的描述中,经常使用如下一些技术术语:
(1)数据单元
服务数据单元SDU(Service Data Unit)
协议数据单元PDU(Protocol Data Unit)
接口数据单元IDU(Interface Data Unit)
服务访问点SAP(Service Access Point)
服务原语(Primitive)
(2)面向连接和无连接的服务
下层能够向上层提供的服务有两种基本形式:面向连接和无连接的服务。
面向连接的服务是在数据传输之前先建立连接,主要过程是:建立连接、进行数据传送,拆除链路。面向连接的服务,又称为虚电路服务。
无连接服务没有建立和拆除链路的过程,一般也不采用可靠方式传送。不可靠(无确认)的无连接服务又称为数据报服务。
3.2.1 物理层
物理层是OSI模型的最低层,其任务是实现物理上互连系统间的信息传输。
1.物理层必须具备以下功能
(1)物理连接的建立、维持与释放;2)物理层服务数据单元传输;(3)物理层管理。
2.媒体和互联设备
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等;
通信用的互联设备如各种插头、插座等;局域网中的各种粗、细同轴电缆,T型接/插头,接收器,发送器,中继器等都属物理层的媒体和连接器。
3.2.2 数据链路层
数据链路可以粗略地理解为数据信道。数据链路层的任务是以物理层为基础,为网络层提供透明的、正确的和有效的传输线路,通过数据链路协议,实施对二进制数据正确、可靠的传输。
数据链路的建立、拆除、对数据的检错、纠错是数据链路层的基本任务。
1.链路层的主要功能
(1)链路管理;(2)帧的装配与分解;(3)帧的同步;(4)流量控制与顺序控制;(5)差错控制;(6)使接收端能区分数据和控制信息;(7)透明传输;(8)寻址
2.数据链路层的主要协议
(1)ISO1745-1975;(2)ISO3309-1984;(3)ISO7776
3.链路层产品
独立的链路产品中最常见的是网卡,网桥也是链路产品。
数据链路层将本质上不可靠的传输媒介变成可靠的传输通路提供给网络层。在IEEE802.3情况下,数据链路层分成两个子层:一个是逻辑链路控制,另一个是媒体访问控制。
3.2.3 网络层
网络层是通信子网与资源子网之间的接口,也是高、低层协议之间的接口层。网络层的主要功能是路由选择、流量控制、传输确认、中断、差错及故障的恢复等。当本地端与目的端不处于同一网络中,网络层将处理这些差异。
1.网络层的主要功能
(1)建立和拆除网络连接;
(2)分段和组块;
(3)有序传输和流量控制;
(4)网络连接多路复用;
(5)路由选择和中继;
(6)差错的检测和恢复;
(7)服务选择
2.网络层提供的服务
OSI/RM中规定,网络层中提供无连接和面向连接两种类型的服务,也称为数据报服务和虚电路服务。
3.路由选择
3.2.4 传输层
传输层是资源子网与通信子网的接口和桥梁。传输层下面三层(属于通信子网)面向数据通信,上面三层(属于资源子网)面向数据处理。因此,传输层位于高层和低层中间,起承上启下的作用。它屏蔽了通信子网中的细节,实现通信子网中端到端的透明传输,完成资源子网中两节点间的逻辑通信。它是负责数据传输的最高一层,也是整个七层协议中最重要和最复杂的一层。
1.传输层的特性
(1)连接与传输;(2)传输层服务
2.传输层的主要功能
3.传输层协议
3.2.5 会话层
会话层、表示层和应用层一起构成OSI/RM的高层,会话层位于OSI模型面向信息处理的高三层中的最下层,它利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信,属于进程间通信的范畴。
会话层还对会话活动提供组织和同步所必须的手段,对数据传输提供控制和管理。
1.会话层的主要功能;
(1)提供远程会话地址;
(2)会话建立后的管理;
(3)提供把报文分组重新组成报文的功能
2.会话层提供的服务
(1)会话连接的建立和拆除;
(2)与会话管理有关的服务;
(3)隔离;
(4)出错和恢复控制
3.2.6 表示层
表示层为应用层服务,该服务层处理的是通信双方之间的数据表示问题。为使通信的双方能互相理解所传送信息的含义,表示层就需要把发送方具有的内部格式编码为适于传输的比特流,接收方再将其译码为所需要的表示形式。
数据传送包括语义和语法两个方面的问题。OSI模型中,有关语义的处理由应用层负责,表示层仅完成语法的处理。
1.表示层的主要功能
(1)语法转换;(2)传送语法的选择;(3)常规功能
2.表示层提供的服务
(1)数据转换和格式转换;
(2)语法选择;
(3)数据加密与解密;
(4)文本压缩
3.2.7 应用层
OSI的7层协议从功能划分来看,下面6层主要解决支持网络服务功能所需要的通信和表示问题,应用层则提供完成特定网络功能服务所需要的各种应用协议。
应用层是OSI的最高层,直接面向用户,是计算机网络与最终用户的接口。负责两个应用进程(应用程序或操作员)之间的通信,为网络用户之间的通信提供专用程序。
课后小结:
1.计算机网络的拓扑结构的分类
2.OSI参考模型的层次
课后作业:预习P37~P39

第九讲
教学类型:理论课
教学课题:3.3~3.4
教学目标:
1. 掌握共享介质方式的CSMA/CD和令牌传递两种数据传输控制方式的基本原理
2. 了解几种常见的网络类型
教学重点、难点:理解数据传输控制方式
教学方法:教师讲解、演示、提问;
教学工具:多媒体幻灯片演示
教学内容与过程
导入:提问学生对OSI的七层模型和TCP/IP四层模型的理解。
引导学生总结重要原理并认真加以研究。
教师总结归纳本章重要原理的应用,进入教学课题。
讲授新课:(多媒体幻灯片演示或板书
3.3 数据传输控制方式
数据和信息在网络中是通过信道进行传输的,由于各计算机共享网络公共信道,因此如何进行信道分配,避免或解决通道争用就成为重要的问题,就要求网络必须具备网络的访问控制功能。介质访问控制(MAC)方法是在局域网中对数据传输介质进行访问管理的方法。
3.3.1 具有冲突检测的载波侦听多路访问
冲突检测/载波侦听(CSMA/CD法)
CSMA/CD是基于IEEE802.3标准的以太网中采用的MAC方法,也称为“先听后发、边发边听”。它的工作方式是要传输数据的节点先对通道进行侦听,以确定通道中是否有别的站在传输数据,若信道空闲,该节点就可以占用通道进行传输,反之,该节点将按一定算法等待一段时间后再试,并且在发送过程中进行冲突检测,一旦有冲突立即停止发送。通常采用的算法有三种:非坚持CSMA、1-坚持CSMA、P-坚持CSMA。
目前,常见的局域网,一般都是采用CSMA/CD访问控制方法的逻辑总线型网络。用户只要使用Ethernet网卡,就具备此种功能。

2. 计算机网络-网络层-IPv6数据报格式

IPv6:解决IP地址耗尽的根本措施就是采用具有更大地址空间的新版本的IP,即IPv6。

IPv6仍支持无连接的传送,但将协议数据单元PDU称为分组,而不是Pv4的数据报。IPv6所引进的主要变化如下:

(1)更大的地址空间,Pv6把地址从Pv4的32位增大到4倍,即增大到128位,使地址空间增大了2^96倍,这样大的地址空间在可预见的将来是不会用完的。

(2)扩展的地址层次结构。IPv6由于地址空间很大,因此可以划分为更多的层次。

(3)灵活的首部格式。IPv6数据报的首部和Pv4的并不兼容。IPv6定义了许多可选的扩展首部,不仅可提供比Pv4更多的功能,而且还可提高路由器的处理效率,这是因为路由器对扩展首部不进行处理(除逐跳扩展首部外)。

(4)改进的选顶。Pv6允许数据报包含有选项的控制信县,因而可以包含一些新的选项。但IPv6的首部长度是固定的,其选项放在有效载荷中。IPv4所规定的选项放在首部的可变部分。

(5)允许协议继续扩充。这一点很重要,因为技术总是在不断地发展(如网络硬件的更新)而新的应用也还会出现。但我们知道,IP4的功能是固定不变的。

(6)支持即插即用(即自动配置),因此IPv6不需要使用DHCP。

(7)支持资源的预分配。Pv6支持实时视像等要求保证一定的带宽和时延的应用。

(8)IPv6首部改为8字节对齐(即首部长度必须是8字节的整数倍)。原来的IPv4首部是4字节对齐。

IPv6数据报由两大部分组成,即基本首部(base header)和后而的有效载荷(payload) ,有效载荷也称为净负荷。有效我荷允许有零个或多个扩展首部(extension header),再后面是数据部分(图4-46)。

IPv6各个字段:

(1)版本(version)占4位。它指明了协议的版本,对IPv6该字段是6。

(2)通信量类(traffic class)占8位。这是为了区分不同的IPv6数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。

(3)流标号(flow labe)占20位。IPv6的一个新的机制是支持资源预分配,并且允许路由器把每一个数据报与一个给定的资源分配相联系。IPv6提出流(flow)的抽象概念。所谓“流”就是互联网络上从特定源点到特定终点(单播或多播)的一系列数据报(如实时音频或视频传输),而在这个“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号小因此,流标号对实时音烦/视频数据的传送特别有用。对于传统的电子郎件或非实时数据,标号则没有用处,把它置为0即可。

(4)有效载荷长度(payload length)占16位。它指明IPv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内)。这个字段的最大值是64KB(65535字节).

(5)下一个首部(next header)占8位。它相当于IPv4的协议字段或可选字段。

    ① 当Pv6数据报没有扩展首部时,下一个首部字段的作用和Pv4的协议字段一样,它的值指出了基本首部后面的数据应交付P层上面的哪一个高层协议(例如:6或17分别表示应交付运输层TCP或UDP)。

    ② 当出现扩展首部时, 下一个首部字段的值就标识后面第一个扩展首部的类型 。

(6)跳数限制(hop limit)占8位。用来防止数据报在网络中无限期地存在。源点在每

个数据报发出时即设定某个跳数限制(最大为255跳)。每个路由器在转发数据报时,要先

把跳数限制字段中的值减1。当跳数限制的值为零时,就要把这个数据报丢弃。

(7)源地址占128位。是数据报的发送端的IP地址。

(8)目的地址占128位。是数据报的接收端的IP地址。

扩展首部

IP4的数据报如果在其首部中使用了选项,那么沿着数据报传送的路径上的每一个路由器都必须对这些选项一一进行检查,这就降低了路由器处理数据报的速度。然而实际上很多的选项在途中的路由器上是不需要检查的(因为不需要使用这些选项的信息)。IPv6把原来IPv4首部中选项的功能都放在扩展首部中,并把扩展首部留给路径两端的源点和终点的主机来处理,而数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部),这样就大大提高了路由器的处理效率。

在RFC2460中定义了以下六种扩展首部:(1)逐跳选项:(2)路由选择:(3)分片:(4)鉴别:(5)封装安全有效载荷:(6)目的站选项。

每一个扩展首部都由若干个字段组成,它们的长度也各不同。但所有扩展首部的第一个字段都是8位的“下一个首部”字段,此字段的值指出了在该扩展首部后面的字段是什么。当使用多个扩展首部时,应按以上的先后顺序出现。高层首部总是放在最后面。

3. 计算机网络(5)| 运输层

从通信和处理信息的角度看,运输层是向它上面的应用层提供通信服务的,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两台主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。

运输层的两个主要协议 TCP/IP 都是互联网的正式标准,即:
(1)用户数据报协议UDP
(2)传输控制协议TCP

TCP则是面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或者多播服务。由于TCP要提供可靠的面向连接的运输服务,因此需要增加很多的开销。

TCP/IP的运输层用一个16位端口号来标志一个端口。端口号只有本地意义。它是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。

运输层的端口号分为以下两类:
(1)服务器端使用的端口号: 它主要分为系统端口号0~1023和登记端口号1024~49151。

(2)客户端使用的端口号: 49152~65535,这类端口号仅在客户端进程运行时才动态选择。当服务器收到客户端进程的报文时,就知道客户端进程的端口号。因而可以把数据发送给客户进程。

用户数据报协议相比于IP的数据报服务就是只增加了复用、分用和差错检测功能。UDP的主要特点是:
(1)UDP是无连接的, 发送数据之前不需要建立连接,因此减少开销和发送数据之前的时延。
(2)UDP使用尽最大努力交付, 即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
(3)UDP是面向报文的。 发送方的UDP对应用交下来的报文,添加首部后就向下交付给IP层。不对报文做任何处理,因此当报文过长时,IP层可能需要进行分片处理。
(4)UDP没有拥塞控制, 网络出现的拥塞不会使源主机的发送速率减低。
(5)UDP支持一对一、一对多、多对一和多对多的交互通信。
(6)UDP的首部开销小, 只有8个字节。

UDP有两个字段:数据字段和首部字段。先介绍首部字段,它是由4个字段组成的,每个字段只有2个字节,总共有8个字节。各个字段的意义如下:
(1)源端口: 源端口号。在需要对方回信时选用。不需要时可用全0。
(2)目的端口: 目的端口号。在这终点交付报文时必须使用。
(3)长度: UDP用户数据报的长度,其最小值是8(只有首部)。
(4)检验和: 检测UDP用户数据报在传输中是否有错,有错则丢弃。

当在传送用户数据报时,如果接收方UDP发现收到的报文中目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。

TCP的主要特点如下:
(1)TCP是面向连接的运输层协议。 应用程序在使用TCP协议之前,必须先建立TCP连接。传送数据完毕后,必须释放TCP连接。
(2)每一条TCP连接只能有两个端点。 每一条TCP连接只能是点对点的。
(3)TCP提供可靠交付的服务。 通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。
(4)TCP提供全双工通信。 TCP允许通信双方的应用进程在任何时候都能发送数据。
(5)面向字节流。 TCP中的流指的是流入到进程或进程流出的字节序列。虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成一连串的无结构的字节流。TCP不保证发送方发送的数据块和接收方接收的数据块一致,但保证程序接收到的字节流和程序发送的字节流一致。

TCP连接的端点叫做套接字或者插口。套接字是指将端口号拼接到IP地址之后,即:

每一条TCP连接唯一的被通信两端的两个端点所确定。即:

如图所示,A发送分组M1,发送完毕就暂停发送,等待B的确认,B收到了M1就向A发死你确认。A在收到了对M1的确认之后,就再发送下一个分组M2,以此类推。

如图所示,当B接收M1时检测出了差错,就丢弃M1,其他什么也不做。而A只要超过了一段时间没有收到确认,就会认为刚才发送的分组丢失了,因而重传前面发送过的分组,这就叫做超时重传,而实现超时重传则需要A为每一个已发送的分组都设置一个超时计时器。
需要注意以下三点:
(1)A在发送完一个分组后,必须暂时保留已发送的分组的副本。
(2)分组和确认分组必须编号,这样才能明确哪一个发出的分组收到了确认。
(3)超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长。

如图所示,B所发送的对M1确认丢失了,A在设定的超时重传时间内没有收到确认,所以无法知道自己发送的分组是怎样出错的,所以会重传M1,而当B又收到了重传的分组M1,这时应该采取两个行动:
(1)丢弃这个重复分组M1。
(2)向A发送确认。

还有一种情况就是在传输过程中没有出现差错,但B对分组M1的确认迟到了,而A会收到重复的确认,A收下后就会丢弃,B仍然会收到重复的M1,并且同样要丢弃重复的M1,并且重传确认分组。

停止等待协议的优点是简单,缺点则是信道的利用率太低。我们用TD表示A发送分组需要的时间,TA表示B发送确认分组需要的时间,RTT为往返时间,则:

为了提高传输的效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输的方式。即不必每发完一个分组就停下来等待对方的确认,这样就可以使信道上一直有数据在不间断的传送。

如图表示的是发送方维持的发送窗口,它指的是位于发送窗口内的5个分组都可以连续发送出去而不需要等待对方的确认。同时连续ARP协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

对于接收方采用的则是累计确认的方式,即接收方不必对收到的分组逐个发送确认。而是在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示:到这个分组为止的所有分组都已正确收到了。这种方式的优点是:容易实现,即使确认丢失也不必重传(意思是发送方不必重传)。但缺点是不能向发送方反映出接收方已经正确收到的所有分组信息。

TCP虽然是面向字节流的,但传送TCP的数据单元却是报文段。一个TCP报文段可以分为首部和数据两部分。

为了后面讲述的方便,我们假设数据传输只在一个方向进行,即A发送数据,B给出确认。

TCP的滑动窗口是以字节为单位的。如图所示,现在假定A收到了B发来的确认报文段,其中的窗口是20字节,而确认号是31,根据这2个数据,A就构造出自己的发送窗口。

发送窗口表示:在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。发送窗口后面的部分表示已发送且已经收到了确认。而发送窗口前沿的部分表示不允许发送的。

现在假定A发送了序号为31~41的数据。这时发送窗口位置并未改变但是发送窗口内靠后面有11个字节表示已发送但是未收到确认。而发送窗口内靠前面的9个字节时允许发送但未发送的。如图所示:

而对于B,它的接收窗口大小是20,在接收窗口外面到30号位置的数据是接收并确认的,因此可以丢弃。在下图中,B收到了32和33的数据,但它们不是按序到达的,因为并没有收到31号数据。B只能对按序达收到的数据中的最高序号给出确认,因此B发送的确认报文字段的确认号依然是31号。

现在假定B收到了序号为31的数据,并把31~33的数据交付主机,然后B删除这些数据。接着把窗口向前移动3个序号,同时给a发送确认,其中的窗口值仍为20,但确认号变为34。表明B已经收到序号33为止的数据。

因为TCP的发送方在规定的时间内没有收到确认就要重传已经发送的报文段,但是重传时间的选择却TCP最复杂的问题之一。为此TCP采用了一种自适应算法,它记录了一个报文段发出的时间以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTT,同时TCP保留了RTT的加权平均往返时间RTTs。而RTTD是RTT的偏差加权平均值,它与RTTs和新的RTT样本之差有关。

超时重传时间的算法如下:
第一次测量时,加权平均往返时间取往返时间RTT,以后每次测量到一个新的RTT,按以下公式计算:

第一次测量时,RTT偏差的加权平均等于RTT的一半,以后的测里中,按以下公式计算:

综上超时重传时间RTO计算如下:

若收到的报文无差错,只是未按序号,使用选择确认SACK可是让发送方发送那些未收到的数据,而不重复发送已经收到的那些数据。如果要使用选择确认SACK,那么在建立TCP连接时,就要在TCP首部的选项中加上“允许SACK”的选项,并且双方必须都事先商量好。

流量控制就是指让发送方的发送速率不要太快,要让接收方来得及接收。而利用滑动窗口机制就可以很方便的在TCP连接上实现对发送方的流量控制。

如上图所示,接收方B进行了三次流量控制。第一次把窗口减小到rwnd=300,第二次又减到rwnd=100,最后是rwnd=0,即不允许发送方再发送数据了。

但是我们应该考虑一种情况,就是当接收方B的存储已满时,会向发送方发送零窗口的报文段,接着B的存储又有了一些空间,B再向A发送一个不为零的窗口值,但这个报文丢失了,结果就是双方一直等待下去。所以为了解决这个问题,TCP为每一个连接设有一个持续计时器。只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器,当计时器到期后,就发送一个探测段文段,而对方就在确认这个探测段时给出了现在的窗口值。如果窗口仍然是0,那么收到这个报文段的一方就重新设置持续计时器,反之则死锁的僵局就可以打破了。

应用程序把数据传送到TCP的发送缓存后,TCP在何时发送这些数据?,在TCP的实现中广泛使用了Nagle算法。具体算法如下:
(1)若发送应用进程要把数据逐个字节地送到TCP的发送缓存,则发送方就把第一个数据字节先发出去,把后面到达的数据字节都缓存起来。
(2)方发送方收到对第一个数据字节的确认后,再把发送缓存中的所有数据组装成一个报文发送出去,同时继续对后续到来的数据进行缓存。
(3)只有收到对前一个报文段的确认后才继续发送下一个报文段。

当数据到达快而网络速度慢时,这种方法可以明显减少网络带宽。Nagle还规定:当到达的数据达到窗口的一半或最大报文长度时就立即发送一个报文。

但还还需要考虑一个叫做糊涂综合征的问题,具体内容是若接收方的缓存已满,应用进程每次只从缓存中取1个字节,然后向发送方确认,并把窗口设为1个字节(缓存只空了1个字节的空间),接着发送方发来1个字节,接收方发回确认,仍然将窗口设为1,这样进行下去,网络的利用率很低。

为了解决这个问题,可以让接收方等待一段时间,使得或者缓存已有足够的空间或者等到接收缓存已有一半的空闲空间。此时,接收方就发出确认报文,并向发送方通知当前窗口的大小。

拥塞 是指在某一段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏的情况。而所谓的 拥塞控制 就是防止过多的数据注入到网络当中,这样可以使网络中的路由器或者链路不致过载,它是一个全局性的过程,涉及到所有的主机和路由器,而流量控制往往是指点对点通信量的控制。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。

TCP进行拥塞控制的算法有4种:慢开始、拥塞避免、快重传和快恢复。下面在讨论这些算法时我们假定:
(1)数据是单方向传送的,对方只传送确认报文。
(2)接收方总是有足够大的缓存空间。

发送方维持一个拥塞窗口的状态变量,其大小取决于拥塞程度,并且动态变化。发送方让自己的发送窗口小于拥塞窗口(如果考虑接收方的接收能力的话,发送窗口可能小于拥塞窗口)。发送方控制拥塞窗口的原则是:只要网络没有拥塞,拥塞窗口就再增大一点,以便把更多的分组发送出去,只要出现拥塞,就减小拥塞窗口,以减少注入到网络的分组数。

下面会从“慢开始算法”讲起来讨论拥塞窗口的大小如何变化的。

慢开始的算法思路是:当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入到网络中,就有可能引起网络拥塞。因此会采用由小逐渐增大发送窗口。即在通常开始发送报文时,先将拥塞窗口cwnd的值设为一个最大报文段MSS的数值,而在每收到一个新的报文段确认后,把拥塞窗口增加至多一个MSS的数值。

如上图所示,开始时cwnd=1,发送方发送一个M1,接收方收到M1发送确认,发送方收到一个确认后将cwnd加1,此时cwnd=2,因此发送方发送M2和M3两个报文段,接收方收到后返回两个确认,因此cwnd增加两次,此时cwnd=4,接着发送方发送M4~M7四个报文段。依次类推。因此使用慢开始算法后,每经过一个传输轮次,拥塞窗口就加倍。

但是为了防止拥塞窗口cwnd增加过大导致网络拥塞,需要设置一个慢开始门限ssthresh,慢开始门限用法如下:
当cwnd<ssthresh时,使用上述的慢开始算法。
当cwnd>ssthresh时,停止使用慢开始算法,使用拥塞避免算法。
当cwnd=ssthresh时,既可以使用慢开始算法,也可以使用拥塞避免算法。
这里的拥塞避免算法是指让拥塞窗口缓慢的增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是像慢开始阶段那样加倍增长。

需要注意的是无论在慢开始阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞(根据是没有按时收到确认),立即把慢开始门限ssthresh设为出现拥塞时的发送窗口的一半。然后发送窗口cwnd重新设为1,执行慢开始算法。目的是迅速减少主机发送到网络分组的分组数。

快重传算法要求接收方每收到一个失序的报文段后就立即发送重复确认,如下图接收了M1和M2后,又接收到一个M4,M4属于失序报文,则发送对M2的重复确认。发送方只要连续收到三次确认重复就立即重传对方未收到的报文段M3。

与快重传算法配合的还有快恢复算法,过程如下:
(1)当发送方连续收到三个重复确认时,就把慢开始门限ssthresh减半,这是为了防止网络拥塞,接着并不执行慢开始算法。
(2)由于上图这种情况很可能不是因为网络拥塞引起的,因此这里不执行慢开始算法(即不把拥塞窗口cwnd设为1,这样速度太慢),而是把cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法。

TCP的运输连接有是三个阶段:连接建立、数据传送和连接释放。在TCP的连接过程中要解决以下三个问题:
(1)要使每一方能够确知对方的存在。
(2)要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量)。
(3)能够对运输实体资源进行分配。

TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换3个TCP报文段。如图是三报文握手建立的连接过程:

A最后还要发送一次确认的原因是为了防止已经失效的连接请求报文段突然又传送到了B,因而产生错误。试想一种情况:如果只有第一次和第二次握手,第二次B向A发送的确认丢失了,此时B进入了连接建立状态,A没有收到确认,过一段时间后会再次向B发送连接请求,B收到后又会再次建立连接,白白浪费B的资源。

A在TIME-WAIT状态等待2MSL(MSL,最长报文段寿命),主要是因为以下两点考虑:首先是为了保证A发送的最后一个ACK报文段能够到达B,因为这个ACK报文段可能丢失,此时B会重传连接释放报文,如果A已经关闭,则无法收到这个报文。其次,当A在发送完最后一个ACK报文段后,再经过时间2MSL,就可以使本连接持续时间内产生的所有报文段都从网络中消失。这样,下一个新连接中不会出现这种旧的连接请求报文段。

在图中每一个方框即TCP可能具有的状态。每个方框中的大写英文字符串时TCP标准所使用的的TCP连接状态名。状态之间的箭头表示可能发生的状态变迁。箭头旁边的字表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作,在图中粗实线箭头表示对客户进程的正常变迁,粗虚线箭头表示对服务器进程的正常变迁,细线箭头表示异常变迁。

4. 计算机网络体系分为哪四层

1.、应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等.

2.、传输层

传输层对应于OSI参考模型的传输层,为应用灶拍游层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).

TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务.

3.、网际互联层

网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。

该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文贺哗协议(ICMP)。

IP协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。

4.、网络接入层(即主机-网络层)

网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。

(4)计算机网络数据报服务扩展阅读:

OSI将计算机网络体系结构(architecture)划分为以下七层:

物理层: 将数据转换为可通过物理介质传送的电子信号相当于邮局中的搬运工人。

数据链路层: 决定访问网络介质的方式。

在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。

网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。

传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。

会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。

表示层: 协商数据交换格式 相当公司中简报老板、替老板写信的助理。

应用层: 用户的应用程序和网络之间的接口老板。

5. 计算机网络——网络层数据报服务与虚电路服务。求以下两幅图的详解

数据报服务是把数据拆分成单个的报文,每个数据报传输的路径都是随机的,所有报文到达目的主机后再拼装成完整的数据,UDP协议应该就是一种数据报服务。

虚电路服务是在两个需要通信的主机之间建立一条虚拟路径,每个数据报都沿固定的路由传播,TCP协议应该就是一种虚电路服务。
以上纯属个人理解,有表达不正确的地方请见谅。

6. 《计算机网络-自顶向下方法》第四章-网络层 要点

网络层的作用:实现主机到主机的通信服务,将分组从一台发送主机移动到一台接收主机。

1、转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。
2、路由选择涉及一个网络的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的地结点所采用的路径。计算这些路径的算法称为路由选择算法。

每台路由器都有一张转发表,路由器通过检查到达分组首部字段的值来转发分组,然后使用该值在该路由器的转发表中索引查找。路由选择算法决定了插入路由器转发表中的值。

路由选择算法可能是集中式的,或者是分布式的。但在这两种情况下,都是路由器接收路由选择协议报文,该信息被用于配置其转发表。

网络层也能在两台主机之间提供无连接服务或连接服务。同在运输层的面向连接服务和无连接服务类似,连接服务需要握手步骤,无连接服务不需要握手。但它们之间也有差异:
1、 在网络层中,这些服务是由网络层向运输层提供的主机到主机的服务。在运输层中,这些服务则是运输层向应用层提供的进程到进程的服务。
2、 在网络层提供无连接服务的计算机网络称为数据报网络;在网络层提供连接服务的计算机网络称为虚电路网络。
3、 在运输层实现面向连接的服务与在网络层实现连接服务是根本不同的。运输层面向连接服务是在位于网络边缘的端系统中实现的;网络层连接服务除了在端系统中,也在位于网络核心的路由器中实现。(原因很简单:端系统和路由器都有网络层)

虚电路网络和数据报网络是计算机网络的两种基本类型。在作出转发决定时,它们使用了非常不同的信息。

IP地址有32比特,如果路由器转发表采用“蛮力实现”将对每个可能的目的地址有一个表项。因为有超过40亿个可能的地址,这种选择完全不可能(即使用二分查找也十分慢)。
我们转发表的表项可以设计为几个表项,每个表项匹配一定范围的目的地址,比如有四个表项

(你可能也会考虑到,IP地址有32比特,如果每个路由器设计为只有2个表项,那么也只需要有32个路由器就可以唯一确定这40亿个地址中的一个。)

最长前缀匹配规则,是在转发表中寻找最长的匹配项,并向与最长前缀匹配相关联的链路接口转发分组。这种规则是为了与因特网的编址规则相适应。

1、输入端口
“使用转发表查找输出端口”是输入端口最重要的操作(当然还有其他一些操作)。输入端口执行完这些所需的操作后,就把该分组发送进入交换结构。如果来自其他输入端口的分组当前正在使用交换结构,一个分组可能会在进入交换结构时被暂时阻塞,在输入端口处排队,并等待稍后被及时调度以通过交换结构。
2、交换结构
交换结构的三种实现方式

3、输出端口
分组调度程序 处理在输出端口中排队的分组
4、路由选择处理器

</br>

</br>

IP协议版本4,简称为IPv4;IP协议版本6,简称为IPv6。

如上图所示,网络层有三个主要的组件
1、IP协议
2、路由选择协议
3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议)

</br>

不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。例如,以太网帧能够承载不超过1500字节的数据,而某些广域网链路的帧可承载不超过576字节的数据。

一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit, MTU)

所以链路层协议的MTU严格限制着IP数据报的长度。这也还不是主要的问题,问题在于发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的MTU。

举个例子:假定从某条链路收到一个IP数据报,通过检查转发表确定出链路,并且该出链路的MTU比该IP数据报的长度要小。那么如何将这个过大的IP分组压缩进链路层帧的有效载荷字段呢?

解决办法是,将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报;然后向输出链路上发送这些帧。每个这些较小的数据报都被称为片(fragment)。

路由器完成分片任务。同时,为了使得网络内核保持简单,IPv4设计者把数据报的重组工作放到端系统中,而非放到网络路由器中。

前提:一个4000字节的数据报(20字节IP首部加上3980字节IP有效载荷)到达一台路由器,且必须被转发到一条MTU为1500字节的链路上。假定初始数据报贴上的标识号为777。

这意味着初始数据报中3980字节数据必须被分配到3个独立的片(其中的每个片也是一个IP数据报)

IP分片:

IP地址有32比特,分为网络号和主机号。
IP地址的网络部分(即网络号)被限制为长度为8、16或24比特,这是一种称为分类编址的编址方案。具有8、16和24比特子网地址的子网分别被称为A、B和C类网络。

但是它在支持数量迅速增加的具有小规模或中等规模子网的组织方面出现了问题。一个C类(/24)子网仅能容纳多大2^8 - 2 = 254台主机(2^8 = 256, 其中的两个地址预留用于特殊用途),这对许多组织来说太小了。然而一个B类(/16)子网可支持多达65534台主机,又太大了。这导致B类地址空间的迅速损耗以及所分配的地址空间的利用率低。

广播地址255.255.255.255。当一台主机发出一个目的地址为255.255.255.255的数据报时,该报文会交付给同一个网络中的所有主机。

某组织一旦获得了一块地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址。既可手工配置IP地址,也可以使用动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)自动配置。DHCP还允许一台主机得知其他信息,如它的子网掩码、它的第一跳路由器地址(常称为默认网关)与它的本地DNS服务器的地址。

由于DHCP具有能将主机连接进一个网络相关方面的自动能力,它又被称为即插即用协议。

DHCP是客户-服务器协议。客户通常是新达到的主机,它要活的包括自身使用的IP地址在内的网络配置信息。在最简单的场合下,每个子网将具有一台DHCP服务器。如果在某子网中没有服务器,则需要一个DHCP中继代理(通常是一台路由器),这个代理知道用于该网络的DHCP服务器的地址。

DHCP协议工作的4个步骤:

网络地址转换(Network Address Translation, NAT)

ICMP通常被认为是IP的一部分,但从体系结构上将它是位于IP之上的,因为ICMP报文是承载在IP分组中的。即ICMP报文是作为IP有效载荷承载的,就像TCP与UDP报文段作为IP有效载荷被承载那样。

众所周知的ping程序发送一个ICMP类型8编码0的报文到指定主机。看到该回显请求,目的主机发回一个类型0编码0的ICMP回显回答。大多数TCP/IP实现直接在操作系统中支持ping服务器,即该服务器不是一个进程。

新型IPv6系统可做成向后兼容,即能发送、路由和接收IPv4数据报,要使得已部署的IPv4系统能够处理IPv6数据报,最直接的方式是采用一种双栈方法。

1、链路状态(Link State, LS)算法:属于全局式路由选择算法,这种算法必须知道网络中每条链路的费用。费用可理解为链路的物理长度、链路速度,或与该链路相关的金融上的费用。链路状态算法采用的是Dijkstra算法。

2、距离向量(Distance-Vector, DV)算法:属于迭代的、异步的和分布式的路由选择算法。
“迭代的”,是因为此过程一直要持续到邻居之间无更多信息要交换为止。
“异步的”,是因为它不要求所有结点相互之间步伐一致地操作。
“分布式的”,是因为每个结点都要从一个或多个直接相连邻居接收某些信息,执行计算,然后将其计算结果分发给邻居。
DV算法的方程:

其中,dx(y)表示从结点x到结点y的最低费用路径的费用,c(x, v)是结点x到结点v的费用,结点v指的是所有x的相连结点,所以x的所有相连结点都会用minv方程计算。

(N是结点(路由器)的集合,E是边(链路)的集合)

为了减少公共因特网的路由选择计算的复杂性以及方便企业管理网络,我们将路由器组织进自治系统。

在相同AS中的路由器全都运行同样的路由选择算法,且拥有彼此的信息。在一个自治系统内运行的路由选择算法叫做自治系统内部路由选择协议。

当然,将AS彼此互联是必需的,因此在一个AS内的一台或多台路由器将有另外的任务,即负责向在本AS之外的目的地转发分组。这些路由器被称为网关路由器。

分为自治系统内部的路由选择和自治系统间的路由选择

1、因特网中自治系统内部的路由选择:路由选择信息协议(Routing Information Protocol, RIP)
2、因特网中自治系统内部的路由选择:开放最短路优先(Open Shortest Path First, OSPF)
3、自治系统间的路由选择:边界网关协议(Broder Gateway Protocol, BGP)

为什么要使用不同的AS间和AS内部路由选择协议?

实现广播的方法
1、无控制洪泛。该方法要求源结点向它的所有邻居发送分组的副本。当某结点接收了一个广播分组时,它复制该分组并向它的所有邻居(除了从其接收该分组的那个邻居)转发之。
致命缺点: 广播风暴 ,如果图具有圈,那么每个广播分组的一个或多个分组副本将无休止地循环。
2、受控洪泛。用于避免广播风暴,关键在于正确选择何时洪泛分组,何时不洪泛分组。受控洪泛有两种方法:序号控制洪泛、反向路径转发(Reverse Path Forwarding, RPF)
3、生成树广播。虽然序号控制洪泛和RPF能避免广播风暴,但是它们不能完全避免冗余广播分组的传输。

多播:将分组从一个或多个发送方交付到一组接收方

每台主机有一个唯一的IP单播地址,该单播地址完全独立于它所参与的多播组的地址。

因特网网络层多播由两个互补组件组成:因特网组管理协议(Internet Group Management Protocol, IGMP)和多播路由选择协议

IGMP只有三种报文类型:membership_query报文,membership_report报文,leave_group报文。

与ICMP类似,IGMP报文也是承载在一个IP数据报中。

因特网中使用的多播路由选择
1、距离向量多播路由选择协议
2、协议无关的多播路由选择协议

7. 计算机网络中什么是数据报什么是虚电路

数据报

Data gram
通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系。

虚电路
开放分类: 网络、协议、电信、交换分组

虚电路 Virtual Circuit

虚电路是在分组交换散列中枝网络上的两个或多个端点站点间的链路。它为两个端点间提供临时或专用面向连接的会话。它的固有特点是,有一条通过多路径网络的预定路径。提前定义好一条路径,可以改进性能,并且消陆碰除了帧和分组对头的需求,从而增加了吞吐率。从技术上看,可以通过分组交换网络的物理路径进行改变,以避免拥早培谈挤和失效线路,但是两个端系统要保持一条连接,并根据需要改变路径描述。图V-2示意了局域网用户和远程地点之间的虚电路。注意,这个虚电路如何为用户A跨越这个局域网连接、网桥/路由器间的多路复用链路、分组交换网络以及穿越分组交换网络的链路。

8. 计算机网络的应用层有什么功能

计算机网络的应用层的功能有:

1、运输访问和管理

文件运输与远程文件访问是任何计算机网络最常用的两种应用。文件运输与远程访问所使用的技术是类似的

2、电子邮件

电子邮件与通用文件运输的另一个差别是,邮件文电是最高度结构化的文本。在许多系统中,每个文电除了它的内容外,还有大量的附加信息域,这些信息域包括发送方名和地址、接收方名和地址、投寄的日期和时刻、接收复写副本的人员表、失效日期、重要性等级、安全许可性以及其它许多附加信息。

3、虚拟终端

它实际上只是代有实际终端的抽象状态的一种抽象数据结构。这种抽象数据结构可由键盘和计算机两者操作,并把数据结构的当前状态反映在显示器上。

4、其它功能

(1)目录服务:它类似于电子电话本,提供了在网络上找人或查到可用服务地址的方法。

(2)远程作业录入:允许在一台计算机上工作的用户把作业提交到另一台计算机上去执行。

(3)图形:具有发送如工程图在远地显示和标绘的功能。

(4)信息通信:用于家庭或办公室的公用信息服务。例如智能用户电报、电视图文等。

(8)计算机网络数据报服务扩展阅读:

计算机网络各层的作用:

1、实体层(物理层)

物理层说白了就是那些连线,光纤、双绞线之类的。

2、链接层(数据链路层)

也是计算机网络的低层,他的作用就是将网络层交下来的数据封装成帧交给物理层,以及将从物理层接收的帧解析出数据交给网络层。(ps:数据在物理层一般叫帧,在网络层交IP数据报或者包)。像适配器、转发器、集线器、网桥、交换机都被归在链接层。

3、网络层

网络层的作用是向上层提供简单灵活的、无连接的、尽最大努力交付的数据报服务,它不提供服务质量的承诺,它是为主机间提供逻辑通信。这里涉及到地址解析,路由等内容。常见的路由器可以归为网络层。

4、运输层

运输层是为应用进程之间提供端到端的逻辑通信。传说中的TCP三次握手、四次握手就发生在这里。这里需要重点关注。

5、应用层

域名解析、HTTP、电子邮件等等都是应用层的范畴。应用层的协议比较多。

9. 计算机网络第四章(网络层)

4.1、网络层概述

简介

网络层的主要任务是 实现网络互连 ,进而 实现数据包在各网络之间的传输

这些异构型网络N1~N7如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可

但是如果要将这些异构型网络互连起来,形成一个更大的互联网,就需要实现网络层设备路由器

有时为了简单起见,可以不用画出这些网络,图中N1~N7,而将他们看做是一条链路即可

要实现网络层任务,需要解决一下主要问题:

网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)

在数据链路层那课讲过的可靠传输,详情可以看那边的笔记:网络层对以下的 分组丢失 、 分组失序 、 分组重复 的传输错误采取措施,使得接收方能正确接受发送方发送的数据,就是 可靠传输 ,反之,如果什么措施也不采取,则是 不可靠传输

网络层寻址问题

路由选择问题

路由器收到数据后,是依据什么来决定将数据包从自己的哪个接口转发出去?

依据数据包的目的地址和路由器中的路由表

但在实际当中,路由器是怎样知道这些路由记录?

由用户或网络管理员进行人工配置,这种方法只适用于规模较小且网络拓扑不改变的小型互联网

另一种是实现各种路由选择协议,由路由器执行路由选择协议中所规定的路由选择算法,而自动得出路由表中的路有记录,这种方法更适合规模较大且网络拓扑经常改变的大型互联网

补充 网络层(网际层) 除了 IP协议 外,还有之前介绍过的 地址解析协议ARP ,还有 网际控制报文协议ICMP , 网际组管理协议IGMP

总结

4.2、网络层提供的两种服务

在计算机网络领域,网络层应该向运输层提供怎样的服务(“ 面向连接 ”还是“ 无连接 ”)曾引起了长期的争论。

争论焦点的实质就是: 在计算机通信中,可靠交付应当由谁来负责 ?是 网络 还是 端系统 ?

面向连接的虚电路服务

一种观点:让网络负责可靠交付

这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用 面向连接 的通信方式。

通信之前先建立 虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源。

如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。

发送方 发送给 接收方 的所有分组都沿着同一条虚电路传送

虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。

请注意,电路交换的电话通信是先建立了一条真正的连接。

因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样

无连接的数据报服务

另一种观点:网络提供数据报服务

互联网的先驱者提出了一种崭新的网络设计思路。

网络层向上只提供简单灵活的、 无连接的 、 尽最大努力交付 的 数据报服务 。

网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。

网络层不提供服务质量的承诺 。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。

发送方 发送给 接收方 的分组可能沿着不同路径传送

尽最大努力交付

如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的 主机中的运输层负责可靠交付(包括差错处理、流量控制等) 。

采用这种设计思路的好处是 :网络的造价大大降低,运行方式灵活,能够适应多种应用。

互连网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。

虚电路服务与数据报服务的对比

对比的方面 虚电路服务 数据报服务

思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证

连接的建立 必须有 不需要

终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址

分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发

当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化

分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序

端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责

4.3、IPv4

概述

分类编制的IPv4地址

简介

每一类地址都由两个固定长度的字段组成,其中一个字段是 网络号 net-id ,它标志主机(或路由器)所连接到的网络,而另一个字段则是 主机号 host-id ,它标志该主机(或路由器)。

主机号在它前面的网络号所指明的网络范围内必须是唯一的。

由此可见, 一个 IP 地址在整个互联网范围内是唯一的 。

A类地址

B类地址

C类地址

练习

总结

IP 地址的指派范围

一般不使用的特殊的 IP 地址

IP 地址的一些重要特点

(1) IP 地址是一种分等级的地址结构 。分两个等级的好处是:

第一 ,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。

第二 ,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。

(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口 。

当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为 多归属主机 (multihomed host)。

由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此 一个路由器至少应当有两个不同的 IP 地址 。

(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络 ,因此这些局域网都具有同样的网络号 net-id。

(4) 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。

划分子网的IPv4地址

为什么要划分子网

在 ARPANET 的早期,IP 地址的设计确实不够合理:

IP 地址空间的利用率有时很低。

给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。

两级的 IP 地址不够灵活。

如果想要将原来的网络划分成三个独立的网路

所以是否可以从主机号部分借用一部分作为子网号

但是如果未在图中标记子网号部分,那么我们和计算机又如何知道分类地址中主机号有多少比特被用作子网号了呢?

所以就有了划分子网的工具: 子网掩码

从 1985 年起在 IP 地址中又增加了一个“ 子网号字段 ”,使两级的 IP 地址变成为 三级的 IP 地址 。

这种做法叫做 划分子网 (subnetting) 。

划分子网已成为互联网的正式标准协议。

如何划分子网

基本思路

划分子网纯属一个 单位内部的事情 。单位对外仍然表现为没有划分子网的网络。

从主机号 借用 若干个位作为 子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的 目的网络号 net-id,先找到连接在本单位网络上的路由器。

然后 此路由器 在收到 IP 数据报后,再按 目的网络号 net-id 和 子网号 subnet-id 找到目的子网。

最后就将 IP 数据报直接交付目的主机。

划分为三个子网后对外仍是一个网络

优点

1.  减少了 IP 地址的浪费        2.  使网络的组织更加灵活        3.  更便于维护和管理

划分子网纯属一个单位内部的事情,对外部网络透明 ,对外仍然表现为没有划分子网的一个网络。

子网掩码

(IP 地址) AND (子网掩码) = 网络地址 重要,下面很多相关知识都会用到

举例

例子1

例子2

默认子网掩码

总结

子网掩码是一个网络或一个子网的重要属性。

路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。

若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码。

无分类编址的IPv4地址

为什么使用无分类编址

无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

CIDR 最主要的特点

CIDR使用各种长度的“ 网络前缀 ”(network-prefix)来代替分类地址中的网络号和子网号。

IP 地址从三级编址(使用子网掩码)又回到了两级编址 。

如何使用无分类编址

举例

路由聚合(构造超网)

总结

IPv4地址的应用规划

给定一个IPv4地址快,如何将其划分成几个更小的地址块,并将这些地址块分配给互联网中不同网络,进而可以给各网络中的主机和路由器接口分配IPv4地址

定长的子网掩码FLSM(Fixed Length Subnet Mask)

划分子网的IPv4就是定长的子网掩码

举例

通过上面步骤分析,就可以从子网1 ~ 8中任选5个分配给左图中的N1 ~ N5

采用定长的子网掩码划分,只能划分出2^n个子网,其中n是从主机号部分借用的用来作为子网号的比特数量,每个子网所分配的IP地址数量相同

但是也因为每个子网所分配的IP地址数量相同,不够灵活,容易造成IP地址的浪费

变长的子网掩码VLSM(Variable Length Subnet Mask)

无分类编址的IPv4就是变长的子网掩码

举例

4.4、IP数据报的发送和转发过程

举例

源主机如何知道目的主机是否与自己在同一个网络中,是直接交付,还是间接交付?

可以通过 目的地址IP 和 源地址的子网掩码 进行 逻辑与运算 得到 目的网络地址

如果 目的网络地址 和 源网络地址 相同 ,就是 在同一个网络 中,属于 直接交付

如果 目的网络地址 和 源网络地址 不相同 ,就 不在同一个网络 中,属于 间接交付 ,传输给主机所在网络的 默认网关 (路由器——下图会讲解),由默认网关帮忙转发

主机C如何知道路由器R的存在?

用户为了让本网络中的主机能和其他网络中的主机进行通信,就必须给其指定本网络的一个路由器的接口,由该路由器帮忙进行转发,所指定的路由器,也被称为 默认网关

例如。路由器的接口0的IP地址192.168.0.128做为左边网络的默认网关

主机A会将该IP数据报传输给自己的默认网关,也就是图中所示的路由器接口0

路由器收到IP数据报后如何转发?

检查IP数据报首部是否出错:

若出错,则直接丢弃该IP数据报并通告源主机

若没有出错,则进行转发

根据IP数据报的目的地址在路由表中查找匹配的条目:

若找到匹配的条目,则转发给条目中指示的吓一跳

若找不到,则丢弃该数据报并通告源主机

假设IP数据报首部没有出错,路由器取出IP数据报首部各地址字段的值

接下来路由器对该IP数据报进行查表转发

逐条检查路由条目,将目的地址与路由条目中的地址掩码进行逻辑与运算得到目的网络地址,然后与路由条目中的目的网络进行比较,如果相同,则这条路由条目就是匹配的路由条目,按照它的下一条指示,图中所示的也就是接口1转发该IP数据报

路由器是隔离广播域的

4.5、静态路由配置及其可能产生的路由环路问题

概念

多种情况举例

静态路由配置

举例

默认路由

举例

默认路由可以被所有网络匹配,但路由匹配有优先级,默认路由是优先级最低的

特定主机路由

举例

有时候,我们可以给路由器添加针对某个主机的特定主机路由条目

一般用于网络管理人员对网络的管理和测试

多条路由可选,匹配路由最具体的

静态路由配置错误导致路由环路

举例

假设将R2的路由表中第三条目录配置错了下一跳

这导致R2和R3之间产生了路由环路

聚合了不存在的网络而导致路由环路

举例

正常情况

错误情况

解决方法

黑洞路由的下一跳为null0,这是路由器内部的虚拟接口,IP数据报进入它后就被丢弃

网络故障而导致路由环路

举例

解决方法

添加故障的网络为黑洞路由

假设。一段时间后故障网络恢复了

R1又自动地得出了其接口0的直连网络的路由条目

针对该网络的黑洞网络会自动失效

如果又故障

则生效该网络的黑洞网络

总结

4.6、路由选择协议

概述

因特网所采用的路由选择协议的主要特点

因特网采用分层次的路由选择协议

自治系统 AS :在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。

自治系统之间的路由选择简称为域间路由选择,自治系统内部的路由选择简称为域内路由选择

域间路由选择使用外部网关协议EGP这个类别的路由选择协议

域内路由选择使用内部网关协议IGP这个类别的路由选择协议

网关协议 的名称可称为 路由协议

常见的路由选择协议

10. 计算机网络-运输层-用户数据报协议UDP

用户数据报协议UDP只在IP的数据报服务之上增加的功能:复用和分用的功能以及差错检测的功能。

UDP的主要特点是:

(1) UDP是无连接的 ,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可释放),因此了开销和发送数据之前的时延。

(2) UDP使用尽最大努力交付 ,即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有许多参数)。

(3) UDP是面向报文的 。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文,如图5-4所示。在接收方的UDP,对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程。也就是说,UDP一次交付一个完整的报文。因此,应用程序必须选择合适大小的报文,若报文太长,UDP把它交给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率。反之,若报文太短,UDP把它交给IP层后,会使IP数据报的首部的相对长度太大,这也降低了IP层的效率。

(4)UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很多的实时应用(如P电话、实时祝频会议等)要求源主机以恒定的速率发递数据,并且允许在网铬发生拥塞时丢失一些数据,但却不允许数据有太大的时延。UDP正好适合这种要求。

(5)UDP支持一对一、一对多、多对一和多对多的交互通信.

(6)UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

(7)网络环境差的情况下,丢包严重。

虽然某些实时应用需要使用没有拥塞控制的UDP,但当很多的源主机同时都向网络发送高速率的实时视领流时,网铬就有可能发生拥塞。结果大家都无法正常接收。因此,不使用拥塞控制功能的UDP有可能会引起网络产生严重的拥塞问题。

还有一些使用UDP的实时应用,需要对UDP的不可靠的传输进行适当的改进,以减少数据的丢失。在这种情况下,应用进程本身可以在不影响应用的实时性的前提下,增加一些提高可靠性的措施,如采用前向纠错或重传己丢失的报文。

用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节(图5-5),由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:

(1)源端口   源端口号。在需要对方回信时选用。不需要时可用全0。

(2)目的端口   目的端口号。这在终点交付报文时必须使用。

(3)长度    UDP用户数据报的长度,其最小值是8(仅有首部)。

(4)检验和    检测UDP用户数据报在传输中是否有错。有错就丢弃。

伪首部的第3字段是全零;第4字段是P首部中的协议字段的值,对于 UDP协议字段值为17 ;第5字段是UDP用户数据报的长度。当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交最后的终点一应用进程。

如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由 网际控制报文协议ICMP发送“端口不可达”差错报文 给发送方。“ICMP的应用”中的traceroute时,就是让发送的UDP用户数据报故意使用一个非法的UDP端口,结果ICMP就返回“端口不可达”差错报文,因而达到了测试的目的。

请注意,虽然在UDP之间的通信要用到其端口号,但由于UDP的通信是无连接的,因此不需要使用套接字(TCP之间的通信必须要在两个套接字之间建立连接)。

UDP用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。所谓“伪首部”是因为这种伪首部并不是UDP用户数据报真正的首部。只是在计算检验和时,临时添加在UDP用户数据报前面,得到一个临时的UDP用户数据报。检验和就是按照这个临时的UDP用户数据报来计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算检验和。

UDP计算检验和的方法 和计算IP数据报首部检验和的方法相似。但不同的是:IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起都检验。 在发送方 ,首先是先把全零放入检验和字段。再把伪首部以及UDP用户数据报看成是由许多16位的字串接起来的。若UDP用户数据报的数据部分不是偶数个字节,则要填入一个全零字节(但此字节不发送)。然后按二进制反码计算出这些16位字的和。将此和的二进制反码写入检验和字段后,就发送这样的UDP用户数据报。 在接收方 ,把收到的UDP用户数据报连同伪首部(以及可能的填充全零字节)一起,转为8位数二进制,然后按二进制反码求这些16位字的和。当无差错时其结果应为全1。否则就表明有差错出现,接收方就应丢弃这个UDP用户数据报(也可以上交给应用层,但附上出现了差错的警告)。 检验和 ,既检查了UDP用户数据报的源端口号和目的端口号以及UDP用户数据报的数据部分,又检查了IP数据报的源P地址和目的地址。

这里假定用户数据报的长度是15字节,因此要添加一个全0的字节。这种简单的差错检验方法的检错能力并不强,但它的好处是简单,处理起来较快。