导图社区 计算机网络学习导图
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,实现资源共享和信息传递的计算机系统。本图讲述了计算机网络的概述、组成、体系结构、应用层、传输层、计算机网络分类等内容。
编辑于2021-09-20 04:32:32计算机网络
本书学习层次
应用层
网络应用模型
客户/服务器模型(C/S模型)
概要
在客户/服务器(Client/Server, C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。
工作流程
1)服务器处于接收请求的状态。 '
2)客户机发出服务请求,并等待接收结果。
3)服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。
主要特征
客户是服务请求方,服务器是服务提供方。
主要特点
1)网络中各计算机的地位不平等,服务器以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其他受限的网络活动。整个网络的管理工作由少数服务器担当,故网络的管理非常集中和方便。
2)客户机相互之间不直接通信。例如,在Web应用中两个浏览器并不直接通信。
3)可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限。
常见的模型应用
Web
文件传送协议(FTP)
简单文件传送协议(TFTP)
远程登陆(TELNET)
电子邮件(SMTP)
P2P模型
概要
在C/S模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。
P2P模型的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的。
在P2P模型中,各计算机没有固定的客户和服务器划分。相反,任意一对计算机称为对等方(Peer),直接相互通信。
实际上,P2P模型从本质上来看仍然使用客户/服务器方式,毎个结 点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。
与C/S模型相比的优点
1)减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率(例如,播放流媒体时对服务器的压力过大,而通过P2P模型,可以利用大量的客户机来提供服务)。
2)多个客户机之间可以直接共享文档。
3)可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
4)网络健壮性强,单个结点的失效不会影响其他部分的结点。
缺点
在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。
当前较流行的P2P应用
PPlive
Bittorrent
电驴等。。。
域名系统(DNS)
概述
主域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址。相对于IP地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。
值得注意的是,DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口。
DNS的层次结构
从概念上可将DNS分为三部分
层次域名空间
相关概念
因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)
域(Domain)是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。
每个域名都由标号序列组成,而各标号之间用点隔开。
域名中的标号
1)标号中的英文不区分大小写。
2)标号中除连字符(-)外不能使用其他的标点符号。
3)每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。
4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边。
域名空间的树状结构
顶级域名的分类
国家顶级域名nTLD
国家和某些地区的域名,如“.cn”表示中国。
通用顶级域名gTLD
常见的有“.com” (公司)、“.net”(网络服务机构)、“.org”(非营利性组织)和“.gov”(美国政府部门)等。
基础结构域名
这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。
域名服务器
概述
域名到IP地址的解析是由运行在域名服务器上的程序完成的
区的概念
一个服务器所负责管辖的(或有权限的)范围称为区,各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
职责
毎个域名服务器不但能够进行一些域名到IP地址的解析,而且还必 须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器。
分类
根域名服务器
根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。
根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。
因特网上有13个根域名服务器,尽管我们将这13个根域名服务器中的每个都视为单个服务器,但每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性,
需要注意的是,根域名服务器用来管辖顶级域(如.com),通常它并不直接把待査询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。
顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)。
授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记。
为了更加可靠地工作,一台主机最好至少有两个授权域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。授权域名服务器总能将其管辖的主机名转换为该主机的IP地址。
本地域名服务器
毎个因特网服务提供者(ISP),或一所大学,甚至一 所大学中的各个系,都可以拥有一个本地域名服务器。
当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。
解析器
域名解析
概念
域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS 请求报文,以UDP数据报方式发往本地域名服务器。
域名解析方式
递归查询
该方法给根域名服务造成的负载过大,所以在实 际中几乎不使用。
递归与迭代相结合的查询
两部分
(1)主机向本地域名服务器的查询采用的是递归查询
也就是说,如果本地主机所询问的本地域名服务器不知道被査询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的査询。在这种情况下,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的[见图中的步骤③〜⑥]。在步骤⑦中,本地域名服务器从根域名服务器得到了所需的IP地址,最后在步骤⑧中,本地域名服务器把查询结果告诉主机rn.xyz.com。
(2)本地域名服务器向根域名服务器的查询采用迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:"你下一步应当向哪个顶级域名服务器进行查询”。然后让本地域名服务器向这个顶级域名服务器进行后续的杳询,如图所示。同样,顶级域名服务器收到查询报文后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应向哪个权限域名服务器查询。最后,知道所要解析的域名的IP地址后,把这个结果返冋给发起查询的主机。
域名解析过程例子
①客户机向其本地域名服务器发出DNS请求报文。
②本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返冋给本地域名服务器。
④本地域名服务器向顶级域名服务器dns.com发出解析请求报文。
⑤顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,故将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。
⑥本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。
⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。
⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。
高速缓存
为了提高DNS的查询效率,并减少因特网上的DNS查洵报文数量,在域名服务器中广泛地使用了高速缓存。当一个DNS服务器接收到DNS査询结果时,它能将该DNS信息缓存在高速缓存中。这样,当另一个相同的域名査询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问。因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段吋间后丢弃高速缓存中的信息。
重要协议
文件传输协议(FTP)
概述
文件传输协议(FTP)是因特网上使用得最广泛的文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。它屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件。
FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务。
一个FTP服务器进程可同时为多个客户进程提供服务。
功能
①提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
②以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
③以匿名FTP的方式提供公用文件共享的能力。
FTP服务器进程组成
主进程
负责接收新的请求
若干从属进程
负责处理单个请求
工作步骤
①打开熟知端口21(控制端口),使客户进程能够连接上。
②等待客户进程发连接请求。
③启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
④回到等待状态,继续接收其他客户进程的请求。
控制连接与数据连接
概述
FTP在工作时使用两个并行的TCP连接: 一个是控制连接(端口号21), —个是数据连接(端口号20)。使用两个不同的端口号可使协议更加简单和更容易实现。
控制连接
服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送。FTP客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。在传输文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。
数据连接
服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建“数据传送进程”和“数据连接”。数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
知识点
因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(Out-of-band)传送的。使用FTP吋,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器。网络文件系统(NFS)允许进程打开一个远程文件,并在该文件的某个特定位置开始读写数据。这样,NFS可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
电子邮件
概述
电子邮件是一种异步通信方式,通信吋不需要双方同时在场。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的邮件服务器进行读取。
组成构件
用户代理(UA,User Agent)
用户与电子邮件系统的接口。
用户代理使用户能够通过一个很友好的接口发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能。
通常情况下,用户代理就是一个运行在PC上的程序,常见的有Outlook, Foxmail和Thunderbird等。
邮件服务器
组成电子邮件系统的核心。
邮件服务器的功能是发送和接收邮件,同时还要向信人报告邮件传送的情况(己交付、被拒绝、丢失等)
邮件服务器采用客户/服务器方式工作,但它能够同吋充当客户和服务器。
电子邮件协议
邮件发送协议
用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,通常使用的是SMTP
邮件读取协议
用于用户代理从邮件服务器读取邮件,如POP3
协议详解
简单邮件传输协议(SMTP)
概述
SMTP是一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息。
由于SMTP使用客户/服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。
SMTP用的是TCP连接,端口号为25。
通信的三个阶段
连接建立
发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接。连接建立后,接收方SMTP服务器发出220 Service ready (服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。
SMTP不使用中间邮件服务器。TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,而不管它们相隔多远,接收方的邮件服务器因故障暂时不能建立连接时,发送方的邮件服务器只能等待一段时间后再次尝试连接。
邮件传送
连接建立后,就可开始传送邮件。邮件的传送从MAIL命令开始,MAIL命令后面有发件人的地址。如MAIL FROM: <hoopdog@hust.edu.cn>。若SMTP服务器已准备好接收邮件,则回答250 OK。接着SMTP客户端发送一个或多个RCPT (收件人recipient的缩写)命令,格式为RCPT TO:<收件人地址>,每发送一个RCPT命令,都应有相应的信息从SMTP服务器返回,如250 OK或 550 No such user here (无此用户)。
RCPT命令的作用是,先弄清接收方系统是否己做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。
获得OK的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容。正常情况下,SMTP 服务器回复信息是 354 Start mail input; end with <CRLF>.<CRLF>。<CRLF>表示回车换行。 此时SMTP客户端就可开始传送邮件内容,并用<CRLF>.<CRLF> (两个回车,中间一个点)表示邮件内容的结束。
连接释放
邮件发送完毕后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是221 (服务关闭),表示SMTP同意释放TCP连接。邮件传送的全部过程就此结束。
邮局协议(POP3)
概述
邮局协议(POP)是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3。
POP3采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用 户代理向邮件服务器发出请求,"拉”取用户邮箱中的邮件。
POP也使用客户/服务器的工作方式,在传输层使用TCP,端U号为110。
在接收方计算机中的用户代理必须运行POP客户程序,而在接收方的邮件服务器上则运行POP服务器程序。
两种工作方式
下载并保留
用户从邮件服务器上读取邮件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件
下载并删除
邮件一旦被读取,就被从邮件服务器上删除,用户不能再次从服务器上 读取。
网际报文存取协议(IMAP)
比POP复杂得多,目前还只是因特网的建议标准。
详解请看书《TCP/IP协议族》
注意
SMTP采用的是“推”(Push)的通信方式,即在用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时,SMTP客户端主动将邮件“推”送到SMTP服务器端。
POP3采用的是“拉”(Pull)的通信方式,即用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。
电子邮件的收发过程
①发信人调用用户代理来撰写和编辑要发送的邮件。用户代理用SMTP把邮件传送给发送方邮件服务器。
②发送方邮件服务器将邮件放入邮件缓存队列中,等待发送。
③运行在发送方邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接。
④TCP连接建立后,SMTP客户进程开始向远程SMTP服务器进程发送邮件。当所有待发送邮件发完后,SMTP就关闭所建立的TCP连接。
⑤运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时进行读取。
⑥收信人打算收信时,调用用户代理,使用POP3 (或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。
电子邮件格式与MIME
电子邮件格式
组成
信封
内容
首部
RFC 822规定了邮件的首部格式
邮件内容的首部包含一些首部行,每个首部行由一个关键字后跟冒号再后跟值组成。有些关键字是必需的,有些则是可选的。最重要的关键字是To:和Subject:。
To:
To是必需的关键字,后面填入一个或多个收件人的电子邮件地址。
Subject:
Subject是可选关键字,是邮件的主题,反映了邮件的主要内容
From:
必填的关键字,通常由邮件系统自动填入
主体
邮件的主体部分让用户自由撰写。用户写好首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上,用户不需要亲自填写信封上的信息。
例子
多用途网际邮件扩充MIME
概述
由于SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了多用途网络邮件扩充(Multipurpose Internet Mail Extensions,MIME)。
MIME并未改动SMTP或取代它。MIME的意图是继续使用目前的格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。也就是说,MIME邮件可在现有的电子邮件程序和协议下传送。
SMTP与MIME的关系
三部分内容
①5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、内容传送编码和内容类型。
②定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
③定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
基于万维网的电子邮件
随着万维网的流行,目前出现了很多基于万维网的电子邮件,如Hotmail、Gmail等。这种电子邮件的特点是,用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP,而仅在不同邮件服务器之间传送邮件吋才使用SMTP。
万维网(WorldWideWeb, WWW)
概述
万维网(WWW)是一个资料空间,在这个空间中:一样有用的事物称为一样“资源”,并由一个全域“统一资源定位符"(URL)标识。这些资源通过超文本传输协议(HTTP)传送给使用者,而后者通过单击链接来获取资源。
万维网使用链接的方法能让用户非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。超文本标记语言(HyperText Markup Language, HTML)使得万维网页面的设计者可以很方便地用一个超链接从本页面的某处链接到因特网上的任何一个万维网页面,并能够在自己的计算机屏幕上显示这些页面。
万维网以客户/服务器方式工作。
浏览器是在用户计算机上的万维网客户程序,而万维网文档 所驻留的计算机则运行服务器程序,这台计算机称万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的文档。
工作流程
1)Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求。
2)Web服务器把URL转换为文件路径,并返回信息给Web浏览器。
3)通信完成,关闭连接。
万维网是无数个网络站点和网页的集合,它们在一起构成了因特网最主要的部分(因特网也包括电子邮件、Nsenet和新闻组)。
内核部分由三个标准构成
1)统一资源定位符(URL)
概述
负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。
URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁表示。URL相当于一个文件名在网络范围的扩展。
一般形式
<协议>://<主机>:<端口>/<路径>。
常见的<协议>有http、ftp等;
<主机>是存放资源的主机在因特网中的域名,也可以是IP地址;
<端口>和<路径>有时可以省略
在URL中不区分大小写。
2)超文本传输协议(HTTP)
概述
一个应用层协议,它使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
从层次的角度看,HTTP是面向事务的应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
操作过程
概述
从协议执行过程来说,浏览器要访问WWW服务器时,首先要完成对WWW服务器的域名解析。一旦获得了服务器的IP地址,浏览器就通过TCP向服务器发送连接建立请求。
过程
万维网的大致工作过程如图所示。每 个万维网站点都有一个服务器进程,它不断地监 听TCP的端口 80 (默认),当监听到连接请求后 便与浏览器建立连接。TCP连接建立后,浏览器 就向服务器发送请求获取某个Web页面的 HTTP请求。服务器收到HTTP请求后,将构建 所请求Web页的必需信息,并通过HTTP响应 返回给浏览器。浏览器再将信息进行解释,然后 将Web页显示给用户。最后,TCP连接释放。
HTTP
在浏览器和服务器之间的请求与响应的交互,必须遵循规定的格式和规则,这些格式和规则就是HTTP
HTTP有两类报文:请求报文(从Web客户端向Web服务器发送服务请求)和响应报文(从Web服务器对Web客户端请求的回答)。
例子
用户单击鼠标后所发生的事件按顺序如下(以访问清华大学的网站为例):
1) 浏览器分析链接指向页面的 URL (http://www.tsinghua.edu.cn /chn/index.htm)«
2) 浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址。
3) 域名系统DNS解析出清华大学服务器的IP地址。
4) 浏览器与该服务器建立TCP连接(默认端口号为80)。
5) 浏览器发出 HTTP 请求:GET/chn/index.htm。
6) 服务器通过HTTP响应把文件index.htm发送给浏览器。
7) TCP连接释放。
8) 浏览器解释文件index.htm,并将Web页显示给用户。
特点
HTTP是无状态的。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同。因为服务器并不记得曾经访问过的这个客户,也不记得为该客户曾经服务过多少次。
cookie
在实际应用中,通常使用Cookie加数据库的方式来跟踪用户的活动(如记录用户最近浏览的商品等)。
Cookie是一个存储在用户主机中的文本文件,里面含有一串“识别码”,如“123456”,用于Web服务识别用户。Web服务器根据Cookie就能从数据库中査询到该用户的活动记录,进而执行一些个性化的工作,如根据用户之前浏览过的商品向其推荐新产品等。
HTTP采用TCP作为运输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输过程中被丢弃后又怎样被重传。但是,HTTP本身是无连接的(请读者务必注意),也就是说,虽然HTTP使用了 TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
HTTP既可以使用非持久连接,也可以使用持久连接(HTTP/1.1支持)。
非持久连接
对于非持久连接,每个网页元索对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接,如图所示(第三次握手的报文段中梢带了客户对万维网文档的请求)。
也就是说,请求一个万维网文档所需的时间是该文档的传输吋间(与文档大小成正比)加上两倍往返时间RTT(一个RTT用于TCP连接,另一个RTT用于请求和接收文档)。
持久连接
所谓持久连接,是指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文,如图所示。
分类
非流水线方式
对于非流水线方式,客户在收到前一个响应后才能发出下一个请求。
流水线方式
客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个地连续发出对各个引用对象的请求。如果所有的请求和响应都是连续发送的,那么所有引用的对象共计经历1个RTT延迟,而不是像非流水线方式那样,每个引用都必须有1个RTT延迟。
HTTP报文格式
概述
HTTP是面向文本的(Text-Oriented),因此报文中的每个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。
两类报文
请求报文
从客户向服务器发送的请求报文
响应报文
从服务器到客户的回答
3)超文本标记语言(HTML)
一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述。
传输层
概述
传输层是整个网络体系结构屮的关键层次。要求掌握传输层在计算机网络中的地位、功能、工作方式及原理等,掌握UDP及TCP (如首部格式、可靠传输、流量控制、拥塞控制、连接管理等)。其中,TCP报文分析、流量控制与拥塞控制机制,出选择题、综合题的概率均较大,因此要将其工作原理透彻掌握,以便能在具体的题目中灵活运用。
从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
传输层位于网络层之上,它为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供主机之间的逻辑通信。显然,即使网络层协议不可靠(网络层协议使分组丢失、混乱和重复),传输层同样能为应用程序提供可靠的服务。
功能
提供进程之间的逻辑通信
传输层提供应用进程之间的逻辑通信(即端到端的通信)
复用和分用
复用
复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据
分用
分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
差错检测
检测首部和数据部分
提供两种不同的传输协议
即面向连接的TCP和无连接的UDP。而网络层无法同时实现两种协议(即在网络层要么只提供面向连接的服务,如虚电路;要么只提供无连接服务,如数据报,而不可能在网络层同时存在这两种方式)。
服务
无连接服务
无连接服务是指两个实体之间的通信不需要先建立好连接,需要通信时,直接将信息发送到“网络”中,让该信息的传递在网上尽力而为地往目的地传送。
无连接的用户数据报协议(UDP)
面向连接的服务
面向连接服务就是在通信双方进行通信之前,必须先建立连接,在通信过程中,整个连接的情况一直被实时地监控和管理。通信结束后,应该释放这个连接。
面向连接的传输控制协议(TCP)
寻址与端口
端口
功能
端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
端口是传输层服务访问点(TSAP)
它在传输层的作用类似于IP地址在网络层的作用或MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程。
端口号
概述
应用进程通过端口号进行标识,端口号长度为16bit,能够表示65536 (2^16)个不同的端口号。
分类(根据端口号范围)
服务端使用的端口号
熟知端口号
数值为0〜1023,IANA (互联网地址指派机构)把这些端口号指派给了 TCP/IP最重要的一些应用程序,让所有的用户都知道。
常用的熟知端口号
登记端口号
数值为1024〜49151。它是供没有熟知端口号的应用程序使用的,使用这类端口号必须在IANA登记,以防止重复。
客户端使用的端口号
数值为49152〜65535。由于这类端口号仅在客户进程运行时才动 态选择,因此又称短暂端口号(也称临时端口)。通信结束后,刚用过的客户端口号就不复存在,从而这个端口号就可供其他客户进程使用。
套接字
概述
在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区分一台主机中的不同应用进程。在网络中采用发送方和接收方的套接字(Socket)组合来识别端点,所谓套接字,实际上是一个通信端点,即: 套接字=(主机IP地址,端口号)
作用
它唯一地标识网络中的一台主机和其上的一个应用(进程)。
协议
UDP协议
概述
UDP只是做了传输协议能够做的最少工作,它仅在IP的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测。
优点
1)UDP无须建立连接。
2)无连接状态
3)分组首部开销小。
4)应用层能更好地控制要发送的数据和发送时间。
相关要点
UDP常用于一次性传输较少数据的网络应用,如DNS、SNMP等,因为对于这些应用,若采用TCP,则将为连接创建、维护和拆除带来不小的开销。
UDP也常用于多媒体应用(如IP电话、实时视频会议、流媒体等),显然,可靠数据传输对这些应用来说并不是最重要的,但TCP的拥塞控制会导致数据出现较大的延迟,这是它们不可容忍的。
UDP提供尽最大努力的交付,即不保证可靠交付,但这并不意味着应用对数据的要求是不可靠的,因此所有维护传输可靠性的工作需要用户在应用层来完成。应用实体可以根据应用的需求来灵活设计自己的可靠性机制。
UDP是面向报文的。发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层,既不合并,也不拆分,而是保留这些报文的边界;接收方UDP对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,一次交付一个完整的报文。因此报文不可分割,是UDP数据报处理的最小单位。
UDP数据报
首部
首部格式
源端口号
2B,在需要对方回信时选用,不需要时可用全0。
目的端口号
终点交付报文时必须使用到
UDP长度
UDP数据报的长度(包括首部和数据),其最小值是8 (仅有首部)。
检验和
检测UDP数据报在传输中是否有错。有错就丢弃。该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0。
用户数据
过程
当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程,如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),那么就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方。
校验和
概述
在计算校验和时,耍在UDP数据报之前增加12B的伪首部,伪首部并不是UDP的真正首部。只是在计算校验和时,临时添加在UDP数据报的前面,得到一个临吋的UDP数据报。校验和就是按照这个临时的UDP数据报计算的。
计算方法
发送方首先把全零放入校验和字段并添加伪首部,然后把UDP数据报视为许多16位的字连接起来。若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾增加一个全零字节(但此字节不发送)。接下来按二进制反码计算出这些16位字的和,并将此和的二进制反码写入校验和字段。接收方把收到的UDP数据报加上伪首部(如果不为偶数个字节,那么还需要补上全零字节)后,按二进制反码计算出这些16位字的和。当无差错时其结果应全为1,否则表明有差错出现,接收方就应该丢弃这个UDP数据报。
注意
校验时,若UDP数据报部分的长度不是偶数个字节,则需填入一个全0字节,但是此字节和伪首部一样,是不发送的。
如果UDP校验和校验出UDP数据报是错误的,那么可以丢弃,也可以交付给上层,但是需要附上错误报告,即告诉上层这是错误的数据报。
通过伪首部,不仅可以检查源端口号,目的端口号和UDP用户数据报的数据部分,还可以检查IP数据报的源IP地址和目的地址
TCP协议
概述
TCP是在不可靠的IP层之上实现的可靠的数据传输协议,它主要解决传输的可靠、有序、无丢失和不重复问题。
特点
1)TCP是面向连接的传输层协议
2)每条TCP连接只能有两个端点,每条TCP连接只能是点对点的(一对一)。
3)TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序。
4)TCP提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
发送缓存用来暂时存放以下数据:
①发送应用程序传送给发送方TCP准备发送的数据
②TCP已发送但尚未收到确认的数据
接收缓存用来暂时存放以下数据:
①按序到达但尚未被接收应用程序读取的数据
②不按序到达的数据
5)TCP是面向字节流的,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅视为一连串的无结构的字节流。
TCP报文段
首部
源端口
端口是运输层与应用层的服务接口,运输层的复用和 分用功能都要通过端口实现。
目的端口
同上
序号
TCP是面向字节流的(即TCP传送时是逐个字节传送的),所以TCP连接传送的数据流中的每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
确认号
占4B,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移
占4位,这里不是IP数据报分片的那个数据偏移,而是表示首部长度,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
保留
占6位,保留为今后使用,但目前应置为0,该字段可以忽略不计。
六位控制字段
紧急位URG
URG= 1吋,表明紧急指针字段有效。它告诉系统报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。但URG需要和紧急指针配套使用,即数据从第一个字节到紧急指针所指字节就是紧急数据。
确认位ACK
只有当ACK= 1时确认号字段才有效。当ACK = 0时,确认号无效。 TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。
推送位PSH
接收TCP收到PSH = 1的报文段,就尽快地交付给接收应用进程, 而不再等到整个缓存都填满后再向上交付。
复位位RST
RST= 1时,表明TCP连接中出现严重差错(如主机崩溃或其他原 因),必须释放连接,然后再重新建立运输连接。
同步位SYN
SYN = 1表示这是一个连接请求或连接接收报文。当SYN = 1, ACK = 0吋,表明这是一个连接请求报文,对方若同意建立连接,则在响应报文中使用SYN = 1,ACK = 1。即SYN = 1表示这是一个连接请求或连接接收报文。
终止位FIN
用来释放一个连接,FIN= 1表明此报文段的发送方的数据已发送 完毕,并要求释放传输连接。
窗口
占2B,它指出现在允许对方发送的数据量,接收方的数据缓存空间是有限的,故用窗口值作为接收方让发送方设置其发送窗口的依据,单位为字节。
校验和
占2B。校验和字段检验的范围包括首部和数据两部分。在计算校验和时,和UDP 一样,要在TCP报文段的前面加上12B的伪首部(只需将UDP伪首部的第4个字段,即协议字段的17改成6,其他的和UDP —样)。
紧急指针
占16位,指出在本报文段中紧急数据共有多少字节(紧急数据放在本 报文段数据的最前面)
选项
长度可变。TCP最初只规定了一种选项,即最大报文段长度(MSS)。MSS是TCP报文段中的数据字段的最大长度。
填充
这是为了使整个首部长度是4B的整数倍
数据部分
连接管理
概述
TCP是面向连接的协议,因此每个TCP连接都有三个阶段:连接建立、数据传送和连接释放。TCP连接的管理就是使运输连接的建立和释放都能正常进行。
要解决三个问题
1)要使每一方都能够确知对方的存在。
2)要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项、时间戳选项及服务质量等)。
3)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。
套接字(socket)
TCP把连接作为最基本的抽象,每条TCP连接有两个端点,TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口,TCP连接的端口称为套接字(socket)或插口。端口拼接到IP地址即构成套接字。
每条TCP连接唯一地被通信两端的两个端点(即两个套接字)确定。
三个阶段
连接建立
三次握手
步骤
第一步:客户机的TCP首先向服务器的TCP发送一个连接请求报文段。这个特殊的报文段中不含应用层数据,其首部中的SYN标志位被置为1。另外,客户机会随机选择一个起始序号seq=x(连接请求报文不携带数据,但要消耗一个序号)。
第二步:服务器的TCP收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认报文段中,SYN和ACK位都被置为1,确认号字段的值为x+1,并且服务器随机产生起始序号seq (确认报文不携带数据,但也要消耗一个序号)确汄报文段同样不包含应用层数据。
第三步:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。这个报文段的ACK标志位被置1,序号字段为x+1,确认号字段ack=y+l。该报文段可以携带数据,若不携带数据则不消耗序号。
总结
SYN = 1,seq =x。
SYN = 1,ACK = 1,seq =y,ack = x + 1。
ACK = 1,seq = x + 1,ack = y + 1。
数据传送
成功进行以上三步后,就建立了 TCP连接,接下来就可以传送应用层数据。TCP提供的是全双工通信,因此通信双方的应用进程在任何时候都能发送数据。
连接释放
四次握手
步骤
第一步:客户机打算关闭连接时.向其TCP发送一个连接释放报文段,并停止发送数据,主动关闭TCP连接,该报文段的FIN标志位被置1,seq = u,它等于前面己传送过的数据的最后一个字节的序号加1 (FIN报文段即使不携带数据,也要消耗一个序号)。TCP是全双工的,即可以想象为一条TCP连接上有两条数据通路。发送FIN报文时,发送FIN的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。
第二步:服务器收到连接释放报文段后即发出确汄,确认号是ack = u+ 1,而这个报文段自己的序号是v,等于它前面己传送过的数据的最后一个字节的序号加1。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。
第三步:若服务器己经没有要向客户机发送的数据,就通知TCP释放连接,此时其发出FIN = 1的连接释放报文段。
第四步:客户机收到连接释放报文段后,必须发出确认。在确认报文段中,ACK字段被置为1,确认号ack = w+l,序号seq = u+lo此时TCP连接还未释放,必须经过时间等待计时器设置的时间2MSL后,A才进入连接关闭状态。
总结
FIN = 1, seq=u。
ACK.= 1,seq = v,ack = u+ 1 。
FIN = 1, ACK = 1, seq =w,ack = u + 1。
ACK = 1,seq = u+ 1,ack = w + 1 。
可靠传输
概述
TCP的任务是在IP层不可靠的、尽力而为服务的基础上建立一种可靠数据传输服务,TCP提供的可靠数据传输服务保证接收方进程从缓存区读出的字节流与发送方发出的字节流完全一样。
实现机制
序号
TCP首部的序号字段用来保证数据能有序提交给应用层,TCP把数据视为一个无结构但有序的字节流,序号建立在传送的字节流之上,而不建立在报文段之上。
TCP连接传送的数据流中的每个字节都编上一个序号。序号字段的值是指本报文段所发送的数据的第一个字节的序号。
确认
TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号
TCP默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节。
重传
有两种事件会导致TCP对报文段进行重传:超时和冗余ACK
超时
子主题 1
冗余ACK(冗余确认)
TCP规定当发送方收到对同一个报文段的3个冗余ACK时,就可以认为跟在这个被确认报文段之后的报文段已经丢失。此时执行重传
流量控制
概述
TCP提供流量控制服务来消除发送方使接收方缓存区溢出的可能性,因此可以说流量控制是一个速度匹配服务(匹配发送方的发送速率与接收方的读取速率)
基本原理
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,这称为接收窗口 rwnd,即调整TCP报文段首部中的“窗口”字段值,来限制发送方向网络注入报文的速率。同时,发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为拥塞窗口 cwnd,其大小与网络的带宽和时延密切相关。
拥塞控制
概述
所谓拥塞控制,是指防止过多的数据注入网络,以使网络中的路由器或链路不致过载。出现拥塞时,端点并不了解到拥塞发生的细节,对通信连接的端点来说,拥塞往往表现为通信时延的增加。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。
拥塞控制与流量控制的区别
拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,即接收端控制发送端,它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。
发送方
发送方在确定发送报文段的速率吋,既要根据接收方的接收能力,又要从全局考虑不要使网络发生拥塞。因此,TCP协议要求发送方维护两个窗口:
1)接收窗口rwnd,接收方根据目前接收缓存大小所许诺的最新窗口值,反映接收方的容量。由接收方根据其放在TCP报文的首部的窗口字段通知发送方。
2)拥塞窗口cwnd,发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络的当前容量。只要网络未出现拥塞,拥塞窗口就再増大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入网络的分组数。
发送方维护拥塞窗口算法
慢开始和拥塞避免
慢开始算法
在TCP刚刚连接好并开始发送TCP报文段时,先令拥塞窗口 cwnd = 1,即一个最大报文段长度MSS。每收到一个对新报文段的确认后,将cwnd加1,即增大一个MSS。用这样的方法逐步増大发送方的拥塞窗口 cwnd,可使分组注入网络的速率更加合理。
使用慢开始算法后,每经过一个传输轮次(即往返时延RTT),拥塞窗口 cwnd就会加倍,即cwnd的大小指数式増长。这样,慢开始一直把拥塞窗口 cwnd增大到一个规定的慢开始门限ssthresh(阈值),然后改用拥塞避免算法。
拥塞避免算法
发送端的拥塞窗口 cwnd毎经过一个往返时延RTT就增加一个MSS 的大小,而不是加倍,使cwnd按线性规律缓慢増长(即加法增大),而当出现一次超时(网络拥塞)时,则令慢开始门限ssthresh等于当前cwnd的一半(即乘法减小)。
归纳
根据cwnd的大小执行不同的算法,可归纳如下:
•当cwnd < ssthresh时,使用慢开始算法。
•当cwnd > ssthresh时,停止使用慢开始算法而改用拥塞避免算法。
•当cwnd = ssthresh时,既可使用慢开始算法,又可使用拥塞避免算法(通常做法)。
慢开始和拥塞避免的实现过程
网络拥塞处理
网络出现拥塞吋,无论是在慢开始阶段还是在拥塞避免阶段,只要发送方检测到超时事件的发生(未按吋收到确认,重传计吋器超时),就要把慢开始门限ssthresh设置为出现拥塞时的发送方的cwnd值的一半(但不能小于2)。然后把拥塞窗口 cwnd重新设置为1,执行慢开始算法。这样做的目的是迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完。
快重传和快恢复
快重传
当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时。
快恢复
发送端收到连续三个冗余ACK (即重复确认)时,执行“乘法减小”算法,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd的一半。与慢开始(慢开始算法将拥塞窗口 cwnd设置为1)的不同之处是,它把cwnd的值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法増大”),使拥塞窗口缓慢地线性增大。
网络层
功能
异构网络互连
概念
是指将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统。
中间设备
1)物理层中继系统:中继器,集线器(Hub)。
2)数据链路层中继系统:网桥或交换机。
3)网络层中继系统:路由器。
4)网络层以上的中继系统:网关。
路由与转发
路由选择
根据特定的路由选择协议构造出路由表,同时经常或定期地和相 邻路由器交换路由信息而不断地更新和维护路由表。
分组转发
指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
拥塞控制
概念
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。
判断进入拥塞状态的方法
观察网络的吞吐量 与网络负载的关系
如果随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,那么网络就可能已进入“轻度拥塞”状态
如果网络的吞吐量随着网络负载的增大而下降,那么网络就可能已进入拥塞状态
如果网络的负载继续增大,而网络的吞吐量下降到零,那么网络就可能已进入死锁状态
方法
开环控制
在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产 生拥塞。这是一种静态的预防方法。一旦整个系统启动并运行,中途就不再需要修改。 开环控制手段包括确定何时可接收新流量、何时可丢弃分组及丢弃哪些分组,确定何种 调度决策等。所有这些手段的共性是,在做决定时不考虑当前网络的状态。
闭环控制
事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检测哪里发生了拥塞,然后将拥塞信息传到合适的地方,以便调整网络系统的运行,并解决出现的问题。闭环控制是基于反馈环路的概念,是一种动态的方法。
路由算法
静态路由算法(非自适应路由算法)
概述
指由网络管理员手工配置的路由信息,当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。
优缺点
优点
简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好,故 仍广泛用于高度安全的军事系统和较小的商业网络。
缺点
大型和复杂的网络环境通常不宜采用静态路由
网络管理员难以全面地了解整个网络的拓扑结构
当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要 大范围地调整,这一工作的难度和复杂程度非常高。
动态路由算法(自适应路由算法)
概述
指路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,以随时获得最优的寻路效果。
优缺点
优点
改善网络的性能并有助于流量控制
缺点
算法复杂,会增加网络的负担,有时因对动态变化的反应太快而引起振荡,或反应太 慢而影响网络路由的一致性
分类
距离向量路由算法
概述
所有结点都定期地将它们的整个路由选择表传送给所有与之直接相 邻的结点
路由表
每条路径的目的地(另一结点)
路径的代价(也称距离)
更新路由表
所有结点都必须参与距离向量交换,以保证路由的有效性和一致性,也就是说,所有的结点都监听从其他结点传来的路由选择更新信息,并在下列情况下更新它们的路由选择表
被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由。
发来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离(较小的代价)。此种情况下,就用经过发送路由信息的结点的新路由替换路由表中到达那个目的地的现有路由。
实质
距离-向量路由算法的实质是,迭代计算一条路由中的站段数或延迟时间,从而得到到达一个目标的最短(最小代价)通路。它要求每个结点在每次更新时都将它的全部路由表发送给所有相邻的结点。显然,更新报文的大小与通信子网的结点个数成正比,大的通信子网将导致很大的更新报文。由于更新报文发给直接邻接的结点,所以所有结点都将参加路由选择信息交换。基于这些原因,在通信子网上传送的路由选择信息的数量很容易变得非常大。
链路状态路由算法
概述
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息
任务
第一,主动测试所有邻接结点的状态。两个共享一条链接的结点是相邻结点,它们连接 到同一条链路,或者连接到同一广播型物理网络
第二,定期地将链路状态传播给所有其他结点(或称路由结点)
要点
在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上的所有其他结点,而不是仅送给那些直接相连的结点。每个结点都用这种方式从网上所有其他的结点接收包含直接链路状态的路由选择信息。
每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网络拓扑和状态“视野图”,一旦链路状态发生变化,结点就对更新的网络图利用Dijsktra最短路径算法重新计算路由,从单一的源出发计算到达所有目的结点的最短路径。
特征
1)向本自治系统中所有路由器发送信息,这里使用的方法是泛洪法,即路由器通过所有端口向所有相邻的路由器发送信息。而每个相邻路由器又将此信息发往其所有相邻路由器(但不再发送给刚刚发来信息的那个路由器)。
2)发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”,是指说明本路由器与哪些路由器相邻及该链路的“度量”。对于OSPF算法,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。
3)只有当链路状态发生变化时,路由器才向所有路由器发送此消息。
主要优点
每个路由结点都使用同样的原始状态数据独立地计算路 径,而不依赖中间结点的计算
链路状态报文不加改变地传播,故采用该算法易于査找故障
当一个结点从所有其他结点接收到报文时,它可以在本地立即计算正确的通路,保证一步汇聚
由于链路状态报文仅运载来自单个结点关于直接链路的信息,其大小与网络中的路由结点数 目无关,因此链路状态算法比距离-向最算法有更好的规模可伸展性
比较
在距离-向量路由算法中,每个结点仅与它的直接邻居交谈,它为它的邻居提供从自己到网络中所有其他结点的最低费用估计。在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。
层次路由
概述
当网络规模扩大时,路由器的路由表成比例地增大,这不仅会消耗越来越多的路由器缓冲区空间,而且需要用更多CPU时间来扫描路由表,用更多的带宽来交换路由状态信息。因此路由选择必须按照层次的方式进行。
分类
一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择,具体的协议有RIP和OSPF
自治系统之间所使用的路由选择协议称为外部网关协议(EGP),也称域间路由选择,用 在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最 优的路径。具体的协议有BGP。
IPv4
概述
IPv4即现在普遍使用的IP (版本4)。IP定义数据传送的基本单元——IP分组及其确切的数据格式。IP也包括一套规则,指明分组如何处理、错误怎样控制。特别是IP还包含非可靠投递的思想,以及与此关联的分组路由选择的思想。
分组格式
首部
格式
版本
IP版本,目前广泛使用的版本号为4
首部长度
占四位,以4B为单位,最大值为60B,最常用的首部长度是20B,此时不使用任何选项
区分服务
占8位,了解,这一字段的指派还未完成。
总长度
占十六位,指首部和数据之和的长度,单位为1B,因此数据报的最大长度=65535B,以太网帧的最大传输单元(MTU)为1500B,因此当一个IP数据报封装成帧时,一定不能超过下层数据链路层的MTU值。
标识
占十六位,他是一个计数器,每产生一个数据报就加1,并赋值给标识字段,但他并不是序号(因为IP是无连接服务),当一个数据报的长度超过网络的MTU时,必须分片,此时每个数据报都复制一次标识号,以便能正确封装成原来的数据报
标志
占三位,最低位为MF,MF=1,表示还有分片,MF=0,表示是最后一个分片;中间位为DF,只有当DF=0时,才允许分片。
片偏移
占13位。它指出较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位,即每个分片的长度一定是8B (64位)的整数倍。
生存时间TTL
占8位。数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。路由器在转发分组前,先把TTL减1。若TTL被减为0,则该分组必须丢弃。
协议
占8位。指出此分组携带的数据使用何种协议,即分组的数据部分应交给哪个传输层协议
首部检验和
占16位。IP数据报的首部校验和只校验分组的首部,而不校验数据部分。
源地址字段
占4B,标识发送方的IP地址。
目的地址字段
占4B,标识接收方的IP地址。
可选字段
长度可变,占0~40B
填充
使数据报为B的整数倍
数据部分
IP数据报分片
标识
标志
片偏移
网络层转发分组流程
1)从数据报的首部提取目的主机的IP地址得出目的网络地址为N。
2)若网络N与此路由器直接相连,则把数据报直接交付给目的主机D,这称为路由器的直 接交付:否则是间接交付,执行步骤3)。
3)若路由表中有目的地址为D的特定主机路由(对特定的目的主机指明一个特定的路由,通常是为了控制或测试网络,或出于安全考虑才采用的),则把数据报传送给路由表中所指明的下一跳路由器;否则,执行步骤4)
4)若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器:否则,执行步骤5)
5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器:否则,执行步骤6)
6)报告转发分组出错。
IPv4地址
概述
连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符,即IP地址。
传统IP地址分类
常见特殊的地址
主机号全为0,表示本网络本身
主机号全为1,表示本网络的广播地址
127.0.0.0:保留为环路自检,此地址表示任意主机本身,目的地址为环回地址的IP数据报不会出现在任何网络上。
32位全为0:表示本网络上的本主机。
32位全位1:表示整个TVP/IP网络的广播地址。又称受限广播地址。
主要特点
1)毎个1P地址都由网络号和主机号两部分组成,因此IP地址是一种分等级的地址结构。
2)IP地址是标志一台主机(或路由器)和一条链路的接口,当一台主机同时连接到两个网络时,该主机就必须同时具有两个相应的IP地址,每个IP地址的网络号必须与所在网络的网络号相同,且这两个IP地址的网络号是不同的。因此IP网络上的一个路由器必然至少应具有两个IP地址(路由器每个端口必须至少分配一个1P地址)。
3)用转发器或桥接器(网桥等)连接的若干LAN仍然是同一个网络(同一个广播域),因 此该LAN中所有主机的IP地址的网络号必须相同,但主机号必须不同。
4)在IP地址中,所有分配到网络号的网络(无论是LAN还是WAN)都是平等的。
5)在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。路由器总是具有两个或两个以上的IP地址,路由器的每个端口都有一个不同网络号的IP地址。
IP地址与硬件地址
NAT(网络地址转换)
概述
网络地址转换(NAT)是指通过将专用网络地址(如Intranet)转换为公用地址(如Internet),从而对外隐藏内部管理的IP地址。
私有IP地址(可重用地址)
为了网络安全,划出了部分IP地址为私有IP地址。私有IP地址只用于LAN,不用于WAN连接(因此私有IP地址不能直接用于Internet,必须通过网关利用NAT把私有IP地址转换为Internet中合法的全球IP地址后才能用于Internet),并且允许私有IP地址被LAN重复使用。这有效地解决了 IP地址不足的问题。
专用互联网或本地互联网
在因特网中的所有路由器,对目的地址是私有地址的数据报一律不进行转发。这种采用私有 IP地址的互联网络称为专用互联网或本地互联网。
子网
子网划分
两级IP地址的缺点
IP地址空间的利用率有时很低;给每个物理网络分配一个网络号会使 路由表变得太大而使网络性能变坏
两级的IP地址不够灵活
概述
在IP地址中又増加了一个“子网号字段”,使两级IP地址变成了三级IP地址。这种做法称为子网划分。
基本思路
子网划分纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络
从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特。三级IP地 址的结构如下:IP地址={<网络号>,<子网号>,<主机号>}
凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号, 先找到连接到本单位网络上的路由器。然后该路由器在收到IP数据报后,按目的网络号 和子网号找到目的子网。最后把IP数据报直接交付给目的主机。
注意
1 )划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。因 此,从一个IP地址本身或IP数据报的首部,无法判断源主机或目的主机所连接的网络是 否进行了子网划分。
2)RFC 950规定,对分类的IPv4地址进行子网划分时,子网号不能为全1或全0,但随着 CIDR的广泛使用,现在全1和全0的子网号也可使用,但一定要谨慎使用,要弄清你的 路由器所用的路由选择软件是否支持全0或全1的子网号。
3)不论是分类的IPv4地址还是CIDR,其子网中的主机号为全0或全1的地址都不能被指派.子网中主机号全0的地址为子网的网络号,主机号全1的地址为子网的广播地址。
子网掩码
概述
为了告诉主机或路由器对一个A类、B类、C类网络进行了子网划分,使用子网掩码来表达 对原网络中主机号的借位。
计算机只需将IP地址和其对应的子网掩码逐位“与”(逻辑AND运算),就可得出相应子网的网络地址。
在使用子网掩码的情况下
1)一台主机在设置IP地址信息的同时,必须设置子网掩码。
2)同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码。
3)路由器的路由表中,所包含信息的主要内容必须有目的网络地址、子网掩码、下一跳地址。
使用子网掩码时路由器的分组转发算法
1)从收到的分组的首部提取目的IP地址,记为D。
2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与",看结果是否和相应的网络地址匹配。若匹配,则将分组直接交付,否则间接交付,执行步骤3)。
3)若路由表中有目的地址为D的特定主机路由,则将分组传送给路由表中所指明的下一跳路由器;否则,执行4)。
4)对路由表中的每一行(目的网络地址、子网掩码、下一跳地址)中的子网掩码和D逐位相“与”,其结果为N,若N与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器:否则,执行步骤5)。
5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行步骤6)。
6)报告转发分组出错。
无分类编址(CIDR)
概述
无分类域间路由选择是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分, 并且可以在软件的支持下实现超网构造的一种IP地址的划分方法。
主要特点
1)消除了传统A、B、C类地址及划分子网的概念,因而可以更有效地分配IPv4的地址空间。CIDR使用“网络前缀”的概念代替网络的概念。因此,P地址的无分类两级编址为:IP = {<网络前缀>,<主机号>}
2) CIDR还使用“斜线记法”(或称CIDR记法),即IP地址/网络前缀所占比特数。其中,网络前缀所占比特数对应于网络号的部分,等效于子网掩码中连续1的部分。
3) 将网络前缀都相同的连续IP地址组成“CIDR地址块”,一个CIDR地址块可以表示很多 地址,这种地址的聚合称为路由聚合,或称构成超网。路由聚合使得路由表中的一个项 目可以表示多个原来传统分类地址的路由,有利于减少路由器之间的路由选择信息的交 换,从而提高网络性能。
优点
CIDR的优点在于网络前缀长度的灵活性。由于上层网络的前缀长度较短,因此相应的路由 表的项目较少。而内部又可采用延长网络前缀的方法来灵活地划分子网。
最长前缀匹配(最佳匹配)
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。此时,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体。
CIDR查找路由表的方法
为了更加有效地查找最长前缀匹配,通常将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的数据结构就是二叉线索。
协议
地址解析协议ARP
概述
无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所 以需要一种方法来完成IP地址到MAC地址的映射,这就是地址解析协议
每台主机都设有一个ARP高速缓存,用来存放本局域网上各主机和路由器的IP 地址到MAC地址的映射表,称ARP表。
使用ARP协议来动态维护此ARP表
工作原理
ARP工作在网络层,其工作原理如下:主机A欲向本局域网上的某台主机B发送IP数据报时,先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。如果没有,那么就通过使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组,使同一个局域网里的所有主机收到ARP请求。主机B收到该ARP请求后,向主机A发出响应ARP分组,分组中包含主机B的IP与MAC地址的映射关系,主机A在收到后将此映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧。ARP由于“看到了 ” IP地址,所以它工作在网络层,而NAT路由器由于“看到了”端口,所以它工作在传输层。
ARP四种典型情况总结
1〉发送方是主机时,要把IP数据报发送到本网络上的另一台主机。这时用ARP找到目的主 机的硬件地址。
2>发送方是主机时,要把IP数据报发送到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成,
3)发送方是路由器时,要把IP数据报转发到本网络上的一台主机。这时用ARP找到目的主机的硬件地址。
4)发送方是路由器时,要把IP数据报转发到另一个网络上的一台主机。这时用ARP找到本 网络上的一个路由器的硬件地址,剩下的工作由找到的这个路由器完成。
动态主机配置协议DHCP
概述
常用于给主机动态地分配IP地址,它提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
工作原理
使用客户/服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中査找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。
DHCP服务器聚合DHCP客户端的交换过程
1)DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,服务器获得 —个IP地址。
2)DHCP服务器收到“DHCP发现”消息后,向网络中广播“DHCP提供”消息,其中包括提供DHCP客户机的IP地址和相关配置信息。
3)DHCP客户机收到“DHCP提供”消息,如果接收DHCP服务器所提供的相关参数,那 么通过广播“DHCP请求”消息向DHCP服务器请求提供IP地址。
4)DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机。
知识点
DHCP允许网络上配置多台DHCP服务器,当DHCP客户机发出DHCP请求时,有可能收 到多个应答消息。这时,DHCP客户机只会挑选其中的一个,通常挑选最先到达的。
DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时 间内使用这个分配到的IP地址。DHCP称这段时间为租用期。租用期的数值应由DHCP服务器 自己决定,DHCP客户也可在自己发送的报文中提出对租用期的要求。
DHCP是应用层协议,因为它是通过客户/服务器方式工作的,DHCP客户端向DHCP服务器请求服务。读者在后面的学习中会了解到,应用层协议有两种工作方式:客户/服务器方式和P2P方式,而其他层次的协议是没有这两种工作方式的。
DHCP的客户端和服务器端需要通过广播方式来进行交互,原因是在DHCP执行期间,客户端和服务器端都没有标识自己身份的IP地址,因此不可能通过单播的形式进行交互。采用UDP而不采用TCP的原因也很明显:TCP需要建立连接,如果连对方的IP地址都不知道,那么更不可能通过双方的套接字建立连接。
网际控制报文协议ICMP
概述
为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议来让主机或路由器报告差错和异常情况。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP是IP层协议。
种类
ICMP差错报告报文
概述
用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况。
报文格式
了解(<TCP/IP协议族>)
类型
1)终点不可达。当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。
2)源点抑制。当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
3)时间超过。当路由器收到生存吋间(TTL)为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把己收到的数据报片都丢弃,并向源点发送时间超过报文。
4)参数问題。当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
5)改变路由(重定向)。路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
不发送ICMP差错报告报文的几种情况
1)对ICMP差错报告报文不再发送ICMP差错报告报文。
2)对第一个分片的数据报片的所有后续数据报片都不发送1CMP差错报告报文。
3)对具有组播地址的数据报都不发送ICMP差错报告报文。
4)对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
ICMP询问报文
概述
查询报文是成对出现的,他帮助主机或网络管理员从一个路由器或另一个主机得到特定的信息。还能对某些网络问题进行诊断
类型
回送请求和回答报文
发现网络问题,确定两系统能否通信,测试某主机的可达性,验证某个节点是否工作正常。
时间戳请求和回答报文
确定IP数据报在两个机器之间往返的所需的往返时间,也可用作两个机器中时钟的同步。
地址掩码请求和回答报文
路由器询问和通告报文
应用
ICMP排错工具
分组网间探测PING
测试两个主机主机之间的连通性。
Traceroute
可以用来跟踪分组经过的路由
因特网组管理协议(IGMP)
IPv6
解决地址耗尽问题的措施
①采用无类别编址CIDR,使IP地址的分配更加合理
②采用网络地址转换(NAT)方法以节省全球IP地址
③采用具有更大地址空间的新版本的IPv6
主要特点
1)更大的地址空间。IPv6将地址从IPv4的32位增大到了 128位。IPv6的字节数(16B)是 IPv4字节数(4B)的平方。
2)扩展的地址层次结构。
3)灵活的首部格式。
4)改进的选项。
5)允许协议继续扩充。
6)支持即插即用(即自动配置)。
7)支持资源的预分配。
8)IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不能分片,所以从一般意义上说,IPv6不允许分片(不允许类似IPv4在路由分片)。
9)IPv6首部长度必须是8B的整数倍,而IPv4首部是4B的整数倍。
10)增大了安全性。身份验证和保密功能是IPv6的关键特征。
满足预定目标
1)首先也是最重要的,IPv6有比IPv4长得多的地址。IPv6的地址用16个字节表示,地址 空间是IPv4的2^(128-32) = 2^(96)倍,从长远来看,这些地址是绝对够用的。
2)简化了 IP分组头,它包含8个域(IPv4是12个域)。这一改变使得路由器能够更快地处 理分组,从而可以改善吞吐率。
3)更好地支持选项。这一改变对新的分组首部很重要,因为一些从前必要的段现在变成了可选段。此外,表示选项的方式的改变还能加快分组的处理速度。
IPv6地址
地址类型
1)单播。单播就是传统的点对点通信。
2)多播。多播是一点对多点的通信,分组被交付到一组计算机的每台计算机。
3)任播。这是IPv6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一台计算机,通常是距离最近的一台计算机。
地址表示
十六进制冒号记法
128位划分为8段,每段2字节,即IPv6地址共包括32个十六进制数,每4个数字用冒号分隔
短缩形式
一些段开始的一些零可忽略,而末尾的零不能忽略
若有连续几个段为零,则可移去这些零并用两个冒号替代
CIDR记法
采用/n
地址空间指派
了解(<TCP/IP协议族>)
分组格式
基本首部
版本
4位,IP版本号
优先级
8位,定义发生拥塞时的分组优先级
流标号
20位,对特殊的数据流提供特殊的处理
有效载荷长度
16位,定义IP数据报除基本首部外的总长度
下一个首部
8位,类似于IPv4中的协议字段
跳数限制
8位,类似于IPv4中的TTL生存时间字段
源地址
16B
目的地址
16B
扩展地址+上层的数据分组
从IPv4过渡到IPv6
双协议栈
是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,即一个IPv4和一个IPv6,通过双协议栈进行转换
隧道技术
将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在 IPv4网络的隧道中传输
首部转换
路由协议
自治系统
概述
单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。
路由选择
域内路由选择
概述
自治系统内部的路由选择称为域内路由选择
协议
内部网关协议IGP
路由信息协议RIP
概述
RIP是一种分布式的基于距离向量的路由选择协议,其最大优点就是简单。
规定
1)网络中的每个路由器都要维护从它自身到其他每个目的网络的距离记录(因此这是一组距离,称为距离向量)
2)距离也称跳数,规定从一个路由器到直接连接网络的距离(跳数)为1,而每经过一个路由器,距离(跳数)加1。
3)RIP认为好的路由就是它通过的路由器的数目少,即优先选择跳数少的路径。
4)RIP允许一条路径最多只能包含15个路由器(即最多允许15跳)。因此距离等于16时,它表示网络不可达。可见RIP只适用于小型互联网。距离向量路由可能会出现环路的情况,规定路径上的最高跳数的目的是为了防止数据报不断循环在环路上,减少网络拥塞的可能性。
5)RIP默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息,以便自 动建立并维护路由表(动态维护)。
6)在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同。但在 新的RIP2中,支持变长子网掩码和CIDR
特点
1)仅和相邻路由器交换信息。
2)路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表。
3)按固定的时间间隔交换路由信息,如每隔30秒。
原理过程
RIP通过距离向量算法来完成路由表的更新。最初,每个路由器只知道与自己直接相连的网络。通过每30秒的RIP广播,相邻两个路由器相互将自己的路由表发给对方。于是经过第一次RIP广播,每个路由器就知道了与自己相邻的路由器的路由表(即知道了距离自己跳数为1的网络的路由)。同理,经过第二次R1P广播,每个路由器就知道了距离自己跳数为2的网络的路由……,因此经过若干RIP广播后,所有路由器都最终知道了整个IP网络的路由表,称为RIP协议最终是收敛的。通过RIP收敛后,每个路由器到每个目标网络的路由都是距离最短的(即跳数最少,最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
距离向量算法
每个路由表项目都有三个关键数据: <目的网络N,距离d,下一跳路由器X>。
对于每个相邻路由器发送过来的RIP报文,执行如下步骤:
1)对地址为X的相邻路由器发来的RIP报, 先修改此报文中的所有项目,并把所有"距离”字段的值加1。
2)对修改后的RIP报文中的每个项目,执行如下步骤:
①当原来的路由表中没有目的网络N时,把该项目添加到路由表中。
②当原来的路由表中有目的网络N,且下一跳路由器的地址是X时,则用收到的项目替换原路由表中的项目。
③当原来的路由表中有目的网络N且下一跳路由器的地址不是X时,如果收到的项目中的距离小于路由表中的距离,那么就用收到的项目替换原路由表中的项目;否则什么也不做。
3)如果180秒(RIP默认超时时间为180秒)还没有收到相邻路由器的更新路由表,那么把 此相邻路由器记为不可达路由器,即把距离设置为16 (距离为16表示不可达)。
4)返回。
优缺点
优点
实现简单、开销小、收敛过程较快
缺点
1)RIP限制了网络的规模,它能使用的最大距离为15 (16表示不可达)。
2)路由器之间交换的是路由器中的完整路由表,因此网络规模越大,开销也越大。
3)网络出现故障时,会出现慢收敛现象(即需要较长时间才能将此信息传送到所有路由器),俗称“坏消息传得慢”,使更新过程的收敛时间长。
开放最短路径优先协议OSPF
概述
开放最短路径优先(OSPF)协议是使用分布式链路状态路由算法的典型代表,也是内部网关协议(IGP)的一种。
与RIP协议的区别
1)OSPF向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法。而RIP仅向自己相邻的几个路由器发送信息。
2)发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”说明本路由器和哪些路由器相邻及该链路的“度量”(或代价)。而在RIP中,发送的信息是本路由器所知道的全部信息,即整个路由表。
3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快,不会出现RIP “坏消息传得慢”的问题。而在RIP中,不管网络拓扑是否发生变化,路由器之间都会定期交换路由表的信息。
4)OSPF是网络层协议,它不使用UDP或TCP,而直接用IP数据报传送(其IP数据报首部的协议字段为89)。而RIP是应用层协议,它在传输层使用UDP。
特点
1)OSPF对不同的链路可根据IP分组的不同服务类型(TOS)而设置成不同的代价。因此,OSPF对于不同类型的业务可计算出不同的路由,十分灵活。
2)如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这称为多路径间的负载平衡。
3)所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息。
4)支持可变长度的子网划分和无分类编址CIDR。
5)每个链路状态都带上一个32位的序号,序号越大,状态就越新。
基本工作原理
由于各路由器之间频繁地交换链路状态信息,因此所有路由器最终都能建立一个链路状态数据库。这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(称为链路状态数据库的同步),然后,每个路由器根据这个全网拓扑结构图,使用Dijkstra最短路径算法计算从自己到各目的网络的最优路径,以此构造自己的路由表。此后,当链路状态发生变化吋,每个路由器 重新计算到各目的网络的最优路径,构造新的路由表。
分组类型
1)问候分组,用来发现和维持邻站的可达性。
2)数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
3)链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。
4)链路状态更新分组,用洪泛法对全网更新链路状态。
5)链路状态确认分组,对链路更新分组的确认。
外部网关协议EGP
边界网关协议BGP
概念
边界网关协议是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议。边界网关协议常用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址及到达每个路由器的路径的跳数。
采用BGP的原因
1)因特网的规模太大,使得自治系统之间路由选择非常困难。
2)对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。
3)自治系统之间的路由选择必须考虑有关策略。
知识点
边界网关协议(BGP)只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非寻找一条最佳路由。
BGP采用的是路径向量路由选择协议,它与距离向量协议和链路状态 协议有很大的区别。
BGP是应用层协议,它是基于TCP的。
工作原理
每个自治系统的管理员要选择至少一个路由器(可以有多个)作为该自治系统的“BGP发言人”。一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接(可见BGP报文是通过TCP传送的,也就是说BGP报文是TCP报文的数据部分),然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。当所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可找出到达各个自治系统的较好路由。
特点
1)BGP交换路由信息的结点数量级是自治系统的数量级,要比这些自治系统中的网络数少很多。
2)每个自治系统中BGP发言人(或边界路由器)的数量是很少的,这样就使得自治系统之间的路由选择不致过分复杂。
3)BGP支持C1DR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
4)在BGP刚运行时,BGP的邻站交换整个BGP路由表,但以后只需在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
报文
1)打开(Open)报文。用来与相邻的另一个BGP发言人建立关系。
2)更新(Update)报文。用來发送某一路由的信息,以及列出要撤销的多条路由。
3)保活(Keepalive)报文。用来确认打开报文并周期性地证实邻站关系。
4)通知(Notification)报文。用来发送检测到的差错。
三种协议的比较
域间路由选择
自治系统之间的路由选择称为域间路由选择
IP组播
概述
为了能够支持像视频点播和视频会议这样的多媒体应用,网络必须实施某种有效的组播机制。使用多个单播传送来仿真组播总是可能的,但这会引起主机上大量的处理开销和网络上太多的交通量。人们所需要的组播机制是让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收。
组播一定仅应用于UDP,它对将报文同时送往多个接收者的应用来说非常重要。而TCP是一个面向连接的协议,它意味着分别运行于两台主机(由IP地址来确定)内的两个进程(由端口号来确定)之间存在一条连接,所以是一对一地发送。
缘由
有的应用程序要把一个分组发送给多个目的地主机。不是让源主机给每个目的地主机都发送一个单独的分组,而是让源主机把单个分组发送给一个组播地址,该组播地址标识一组地址。网络(如因特网)把这个分组的副本投递给该组中的每台主机。主机可以选择加入或离开一个组,因此一台主机可以同时属于多个组。
实现
主机使用IGMP (因特网组管理协议)的协议加入组播组。它们使用该协议通知本地网络上的路由器关于要接收发送给某个组播组的分组的愿望。通过扩展路由器的路由选择和转发功能,可以在许多路由器互联的支持硬件组播的网络上面实现因特网组播。
组播地址
概述
IP组播使用D类地址格式。D类地址的前四位是1110,因此D类地址范围是224.0.0.0-239.255.255.255。毎个D类IP地址标志一个组播组。
组播数据报和一般的IP数据报的分別是,前者使用D类IP地址作为目的地址,并且首部中的协议字段值是2,表明使用IGMP。
注意
1)组播数据报也是“尽最大努力交付”,不提供可靠交付。
2)组播地址只能用于目的地址,而不能用于源地址,
3)对组播数据报不产生ICMP差错报文,因此,若在P1NG命令后面键入组播地址,将永远不会收到响应。
4)并非所有的D类地址都可作为组播地址。
IGMP协议与组播路由算法
概述
要使路由器知道组播组成员的信息,需要利用因特网组管理协议IGMP。连接到局域网上的组播路由器还必须和因特网上的其他组播路由器协同工作,以便把组播数据报用最小代价传送给所有组成员,这就需要使用组播路由选择协议。
IGMP并不是在因特网范围内对所有组播组成员进行管理的协议。IGMP不知道IP组播组包含的成员数,也不知道这些成员分布在哪些网络上。IGMP让连接到本地局域网上的组播路由器知道本局域网上是否有主机参加或退出了某个组播组。
IGMP工作阶段
第一阶段:当某台主机加入新的组播组时,该主机应向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器。
第二阶段:因为组成员关系是动态的,本地组播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的组播路由器。
相关知识
在许多由路由器互联的支持硬件多点传送的网络上实现因特网组播时,主要有种路由算法,第一种是基于链路状态的路由选择;第二种是基于距离-向量的路由选择:第三种可以建立在任何路由器协议之上,因此称为协议无关的组播(PIM)。
移动IP
概念
支持移动性的因特网体系结构与协议共称为移动IP,它是为了满足移动结点(计算机、服务器、网段等)在移动中保持其连接性而设计的。更确切地说,移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变。
目标
把分组自动地投递给移动结点
一个移动结点是把其连接点从一个网络或子网改变到另一个网络或子网的主机。使用移动IP一个移动结点可以在不改变其IP地址的情况下改变其驻留位置。
定义的功能实体
移动结点
具有永久IP地址的结点
归属代理(本地代理)
在一个网络环境中,一个移动结点的永久“居所”被称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体称为归属代理(本地代理),它根据移动用户的转交地址,采用隧道技术转交移动结点的数据包。
外部代理
在外部网络中帮助移动结点完成移动管理功能的实体称为外部代理。
通信过程
概述
在移动IP中,每个移动结点都有一个唯一的本地地址,当移动结点移动时,它的本地地址是不变的,在本地网络链路上每个本地结点还必须有一个本地代理来为它维护当前的位置信息,这就需要引入转交地址。当移动结点连接到外地网络链路上时,转交地址就用来标识移动结点现在所处的位置,以便进行路由选择。移动结点的本地地址与当前转交地址的联合称为移动绑定或简称绑定。当移动结点得到一个新的转交地址时,通过绑定向本地代理进行注册,以便让本地代理即时了解移动结点的当前位置。
移动IP为移动主机设置了两个IP地址,即主地址和辅地址(转交地址)。移动主机在本地网时,使用的是主地址。当移动到另一个网络时,需要获得一个临时的辅地址,但此时主地址仍然不变,从外网移回本地网时,辅地址改变或撤销,而主地址仍然保持不变。
基本通信流程
1)移动结点在本地网时,按传统的TCP/IP方式进行通信(在本地网中有固有的地址)。
2)移动结点漫游到一个外地网络时,仍然使用固定的IP地址进行通信。为了能够收到通信对端发给它的IP分组,移动结点需要向本地代理注册当前的位置地址,这个位置地址就是转交地址(它可以是外部代理的地址或动态配置的一个地址)。
3)本地代理接收来自转交地址的注册后,会构建一条通向转交地址的隧道,将截获的发给移动结点的IP分组通过隧道送到转交地址处。
4)在转交地址处解除隧道封装,恢复原始的IP分组,最后送到移动结点,这样移动结点在外网就能够收到这些发送给它的IP分组。
5)移动结点在外网通过外网的路由器或外部代理向通信对端发送IP数据包。
6)移动结点来到另一个外网时,只需向本地代理更新注册的转交地址,就可继续通信。
7)移动结点回到本地网时,移动结点向本地代理注销转交地址,这时移动结点又将使用传统的TCP/IP方式进行通信。
网络层设备
路由器
概念
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。在多个逻辑网络(即多个广播域)互联时必须使用路由器。路由器也可以作为最基础的包过滤防火墙应用
交付方式
直接交付
如果源主机和目标主机在同一个网络上,那么直接交付而无须通过路由器。
间接交付
如果源主机和目标主机不在同一个网络上,那么路由器按照转发表(路由表)指出的路由将数据报转发给下一个路由器,这称为间接交付。
体系结构
结构上看,路由器由路由选择和分组转发两部分构成,而从模型的角度看,路由器是网络层设备,它实现了网络模型的下三层,即物理层、数据链路层和网络层。
路由选择部分
路由选择部分也称控制部分,其核心构件是路由选择处理机。路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和其他相邻路由器交换路由信息而不断更新和维护路由表。
分组转发部分
交换结构
交换结构是路由器的关键部件,它根据转发表对分组进行处理,将某个输入端口进入 的分组从一个合适的输出端口转发出去。
有三种常用的交换方法:通过存储器进行交换、通过总 线进行交换和通过互联网络进行交换。
交换结构本身就是一个网络。
一组输入端口
输入端口在从物理层接收到的比特流中提取出链路层帧,进而从帧中提取出网络层数据报
一组输出端口
输出端口则执行恰好相反的操作
功能
分组转发
处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等
路由计算
通过和其他路由器进行基于路由协议的交互,完成路由表的计算。
路由表与转发表
路由表
概述
路由表是根据路由选择算法得出的,主要用途是路由选择。
组成
目的IP地址
子网掩码
下一跳IP地址
接口
例子
转发表
概述
转发表是从路由表得出的,其表项和路由表项有直接的对应关系。但转发表的格式和路由表的格式不同,其结构应使查找过程最优化(而路由表则需对网络拓扑变化的计算最优化)。为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同“下一跳”的项目,并将默认路由设得比其他项目的优先级低
组成
转发表中含有一个分组将要发往的目的地址,以及分组的下一跳(即下一步接收者的目的地址,实际为MAC地址)。
注意
在讨论路由选择的原理时,往往不去区分转发表和路由表的区別,但要注意路由表不 等于转发表。分组的实际转发是靠直接查找转发表,而不是直接查找路由表。
转发和路由选择的区别
“转发”是路由器根据转发表把收到的IP数据报从合适的端口转发出去,它仅涉及一个路由器。而“路由选择”则涉及很多路由器,路由表是许多路由器协同工作的结果。这些路由器按照复杂的路由算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由,并由此构造出整个路由表。
与网桥的区别
网桥与高层协议无关,而路由器是面向协议的,它依据网络地址进行操作,并进行路径选择、分段、帧格式转换、对数据报的生存时间和流量进行控制等。现今的路由器一般都提供多种协议的支持,包括OSI、TCP/IP、IPX等。
小结及疑难点
“尽最大努力交付”的含义有哪些
数据链路层
功能
为网络层提供服务
无确认的无连接服务
适用于实时通信或误码率较低的通信信道,如以太网。
有确认的无连接服务
适用于误码率较高的通信信道,如无线通信。
有确认的面向连接的服务
适用于通信要求(可靠性、实时性)较高的场合。
组帧
两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传输。
主要问题
帧定界
将一段数据的前后分别添加首部和尾部,就构成了帧,首部和尾部中含有许多控制信息,他们的一个重要作用就是确定帧的界限。
帧同步
接收方应能从接收到的二进制比特流中,区分出帧的起始与终止。
透明传输
如果在数据中恰好出现了与帧定界符相同的比特组合,就讲述用透明传输,来解决此问题,即不管所传输的是什么样的比特组合,都将能在链路上传输。
实现方法
字符计数法
字符计数法是指在帧头部使用一个计数字段来标明帧内字符数。目的结点的数据链路层收到字节计数值吋,就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段提供的字节数包含自身所占用的一个字节)。
字符填充的首尾定界符法
字符填充法使用一些特定的字符来定界-帧的开始(DLE STX)与结束(DLE ETX)。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可以在特殊字符前面填充一个转义字符(DLE)来加以区分(注意,转义字符是ASCII码中的控制字符,是一个字符,而非"D”“L”“E”三个字符的组合),以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是数据信息,而不是控制信息。
比特填充的首尾标志法
比特填充法允许数据帧包含任意个数的比特,也允许毎个字符的编码包含任意个数的比特。它使用一个特定的比特模式,即01111110来标志一帧的开始和结束。为了不使信息位中出现的比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位中遇到5个连续的“1”吋,将自动在其后插入一个“0”;而接收方做该过程的逆操作,即每收到5个连续的“1”时,自动刪除后面紧跟的“0”,以恢复原信息。
违规编码法
在物理层进行比特编码时.通常采用违规编码法。例如,曼彻斯特编码方法将数据比特“1”编码成“高-低”电平对,将数据比特“0”编码成“低-髙”电平对,而“高-髙”电平对和“低-低”电平对在数据比特中是违规的(即没有采用)可以借用这些违规编码序列来定界帧的起始和终止。
差错控制
检错编码
奇偶校验码
奇校验码
加上一个校验元后,使码长为n的码字中1的个数为奇数
偶校验码
加上一个校验元后,使码长为n的码字中1的个数为偶数
CRC循环冗余码
原理
在发送端,先把数据划分为组(即:一帧)。假定每组 k 个比特。
在每组后面,添加供差错检测用的 n 位冗余码一起发送。即:实际发送长度为:k+n 比特。
发送前双方协商n+1位的除数P,方便接收方收到后校验。
给K比特的数据添加除数减一个0(P-1)作为被除数,与第三步确定的除数做“模2除法”。得出的余数即FCS校验序列,它的位数也必须是(P-1)。
将FCS校验序列添加至K个比特位的后面发送出去。
接收方对接收到的每一帧进行校验,若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
检验和
纠错编码
汉明码
原理
在新的编码的2^(k-1)(k >= 0)位上填入0(即校验位)
把新的编码的其余位把源码按原顺序填入
校验位的编码方式为:第k位校验码从则从新的编码的第2^(k - 1)位开始,每计算2^(k - 1)位的异或,跳2^(k - 1)位,再计算下一组2^(k - 1)位的异或,填入2^(k - 1)位,比如:
第1位校验码位于新的编码的第1位(2 ^(1-1) == 1)(汉明码从1位开始),计算1,3,5,7,9,11,13,15,…位的异或,填入新的编码的第1位。
第2位校验码位于新的编码的第2位(2 ^(2-1) == 2),计算2,3,6,7,10,11,14,15,…位的异或,填入新的编码的第2位。
第3位校验码位于新的编码的第4位(2 ^(3-1) == 4),计算4,5,6,7,12,13,14,15,20,21,22,23,…位的异或,填入新的编码的第4位。
第4位校验码位于新的编码的第8位(2 ^(4-1) == 8),计算8-15,24-31,40-47,…位的异或,填入新的编码的第8位。
第5位校验码位于新的编码的第16位(2 ^(5-1) == 16),计算16-31,48-63,80-95,…位的异或,填入新的编码的第16位。
知识点
海明码“纠错"d位,需要码距为2d+1的编码方案;“检错” d位,则只需码距为d+1.
链路管理
流量控制与可靠传输机制
可靠传输机制
确认
确认是一种无数据的控制帧,使得接收方可以让发送发知道哪些内容被正确接收。
为了提供传输效率,将确认帧捎带在一个回复帧中,称为捎带确认。
超时重传
是指发送方在发送某个数据帧后就开启一个计时器,在一定吋间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
自动重传请求(ARQ)
概念
通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。
分类
停止-等待ARQ
后退N帧ARQ
选择重传ARQ
流量控制
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。
基本方法
停止-等待协议(SW)
原理
源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。
差错类型
数据帧丢失
到达目的站的帧可能已遭破坏
经差错检验技术验出后,简单将该帧丢弃,为应对这种情况,源站装备了计时器。在一个帧发送之后,源站等待确认,超时重发,知道正确接收。
数据帧正确而确认帧被破坏
接收方已收到正确的数据帧,但发送发收不到确认帧,因此发送方会重传已经被接受的数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传该帧对应的确认帧。
缺点
信道利用率很低
滑动窗口
流量控制原理
接收窗口
接收方也维持一组连续的允许接收帧的序号,称为接收窗口
为了控制可以接收哪些数据帧和不可以接收哪些帧,在接收方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
发送窗口
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口
发送窗口用来对发送方进行流量控制,而发送窗口的大小代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。
重要特性
1、只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动。
2、从滑动窗口的概念看,停止-等待协议、后退N帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别:
停止-等待协议:发送窗口大小=1.接收窗口大小=1.
后退况帧协议:发送窗口大小>1,接收窗口大小=1。
选择重传协议:发送窗口大小>1,接收窗口大小>1。
3、接收窗口的大小为1吋,可保证帧的有序接收。
4、数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(注意与第5章传输层的滑动窗口协议的区别)。
协议
后退N帧协议(GBN)
原理
在后退N帧式ARQ中,发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了 N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N个帧。换句话说,接收方只允许按顺序接收帧。
要点
发送方
窗口限制
后退N帧协议的接收窗口为1,可以保证按序接收数据帧。若采用n个比特对帧编号,则其发送窗口的尺寸应满足1≥Wt≤2”-1,若发送窗口的尺寸大于2”-1,则会造成接收方无分辨新帧和旧帧
发送方必须相应的三件事
1、上层的调用
上层要发送数据时,发送方必须检查发送窗口是否已满,若未满,则产生一个帧将其发送;若果已满,发送方只需将数据返回给上层,暗示上层发送窗口已满,上层等一会儿再发送。(实际上发送方可以缓存这些数据,窗口不满时再发送数据)
3、超时事件
定时器用于恢复数据或确认帧的丢失,如果出现超时,发送方重传所有已发送但未被确认的帧。
2、收到了一个ack
GBN协议中,对n号帧的确认采用累计确认的方式,表明接收方已经收到n号帧和他之前的全部帧。
接收方要做的事
如果正确收到n帧,并且按序,那么接收方为n帧发送一个ack,并将该帧中的数据部分交付给上层
其余情况都丢弃帧,并未最近按序接收的帧重新发送ack,接收方无需缓存任何失序帧。
优点
一方面因连续发送数据帧而提髙了信道的利用率
缺点
另一方面在重传时又必须把原来已传送正确的数据帧进行重传(仅因这些数据帧的前面有一个数据帧出了错),这种做法又使传送效率降低。
由此可见,若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止-等待协议。
选择重传协议(SR)
原理
为进一步提髙信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。
要点
发送方
窗口限制
选择重传协议的接收窗口尺寸和发送窗口尺寸都大于1,一次可以发送或接收多个帧。若采用n比特对帧编号,为了保证接收方向前移动窗口后,新窗口序号与旧窗口序号没有重叠部分,需要满足条件:接收窗口+发送窗口 ≤2"。假定仍然采用累计确认的方法,并且接收窗口显然不应超过发送窗口 (否则无意义),那么接收窗口尺寸不应超过序号范围的一半,即接收窗口为最大值时,Wtmax=Wrmax=n^(n-1),需要提醒读者的是,一般情况下,在 SR协议中,接收窗口的大小和发送窗口的大小是相同的,
发送方必须相应的三件事
1、上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧,否则就像GBN一样,要么缓存,要么返回给上层。
2、收到了一个ack
如果收到ack,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界,(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
3、超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
接收方
来者不拒(窗口内的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧(收谁确认谁),直到所有帧(即序号更小的帧)皆被收到为止,这是才将一批帧按序交付给上层,然后向前移动滑动窗口。
如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ack。其他情况就忽略该帧。
介质访问控制
静态划分信道
信道划分
频分多路复用FDM
频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。在实际应用中,为了防止子信道之间的千扰,相邻信道之间需要加入"保护频带"
优点:充分利用了传输介质的带宽,系统效率较高;技术娴熟,实现也较容易
时分多路复用TDM
时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用。这样,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个信号
波分多路复用WDM
波分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出來。由于光波处于频谱的高频段,有很髙的带宽,因而可以实现多路的波分复用
码分多路复用CDM
码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间
码分多路复用技术具有频谱利用率髙、抗干扰能力强、保密性强、语音质量好等优点,还可以减少投资和降低运行成本,主要用于无线通信系统,特别是移动通信系统。
动态分配信道
随机访问
原理
在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。
协议
随机接入系统协议(ALOHA协议)
纯ALOHA
基本思想
当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功。
工作原理
文字描述
当站1发送帧1时,其他站都未发送数据,所以站1的发送必定是成功的。但随后站2和站N-1发送的帧2和帧3在时间上重叠了一些(即发生了碰撞)。碰撞的结果是,碰撞双方(有时也可能是多方)所发送的数据出现了差错,因而都须进行重传。但是发生碰撞的各站并不能马上进行重传,因为这样做必然会继续发生碰撞。纯ALOHA系统采用的重传策略是让各站等待一段随机的时间,然后再进行重传。若再次发生碰撞,则需要再等待一段随机的时间,直到重传成功为止。图中其余一些帧的发送情况是帧4发送成功,而帧5和帧6发生碰撞。
吞吐量
纯ALOHA网络的吞吐量S与网络负载G的关系是S=Ge^(2G)
缺点
网络吞吐量很低
时隙ALOHA
基本思想
吋隙ALOHA协议把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提髙了信道的利用率。
工作原理
文字描述
时隙的长度T0使得每个帧正好在一个时隙内发送完毕。每个帧在到达后,一般都要在缓存中等待一段小于T0的时间,然后才能发送出去。在一个时隙内有两个或两个以上的帧到达时,在下一个时隙将产生碰撞。碰撞后重传的策略与纯ALOHA的情况是相似的。
吞吐量
时隙ALOHA的吞吐量S与网络负载G的关系是S= Ge^(-G)
载波侦听多路访问协议(CSMA协议)
基本思想
若每个站点在发送前都先侦听一下共用信道,发现信道空闲后再发送,那将会大大减小冲突的可能,从而提高信道的利用率。
CSMA协议是在ALOHA协议基础上提出的一种改进协议,它与ALOHA协议的主要区别是多了一个载波侦听装罝。
协议
1-坚持CSMA
基本思想
一个结点要发送数据吋,首先侦听信道;如果信道空闲,那么立即发送数据;如果信道忙,那么等待,同时继续侦听直至信道空闲;如果发生冲突,那么随机等待一段时间后,再重新幵始侦听信道。
含义
侦听到信道忙后,继续坚持侦听信道:侦听到信道空闲后,发送帧的概率为1,即立刻发送数据。
问题
传播延迟对1-坚持CSMA协议的性能影响较大。结点A开始发送数据时,结点B也正好有数据要发送,但这时结点A发出数据的信号还未到达结点B,结点B侦听到信道空闲,于是立即发送数据,结果必然导致冲突。即使不考虑延迟,1-坚持CSMA协议也可能产生冲突。例如,结点A正在发送数据时,结点B和C也准备发送数据,侦听到信道忙,于是坚持侦听,结果当结点A一发送完毕,结点B和C就会立即发送数据,同样导致冲突。
非坚持CSMA
基本思想
一个结点要发送数据吋,首先侦听信道:如果信道空闲,那么立即发送数据;如果信道忙,那么放弃侦听,等待一个随机的时间后再重复上述过程。
问题
非坚持CSMA协议在侦听到信道忙后就放弃侦听,因此降低了多个结点等待信道空闲后同时发送数据导致冲突的概率.但也会増加数据在网络中的平均延迟。
p-坚持CSMA
基本思想
一个结点要发送数据时,首先帧听信道;如果信道忙,那么等待下一个时隙再帧听;如果信道空闲,那么以概率p发送数据,以率1-p推迟到下一个时隙:如果在下一个时隙信道仍然空闲,那么仍以概率p发送数据,以概率1-p推迟到下一个时隙;这个过程一直持续到数据发送成功或因其他结点发送数据而检测到信道忙为止,若是后者,则等待一个随机的时间后重新开始帧听。
分析
检测到信道空闲时,以概率p发送数据,以概率1-p推迟到下一个时隙,其目的是降低1-坚持CSMA协议中多个结点检测到信道空闲后同时发送数据的冲突概率。
采用坚持“帧听”的目的是,试图克服非坚持CSMA协议中由于随机等待而造成的延迟时间较长的缺点
三种类型比较
载波侦听多路访问/碰撞检测协议(CSMA/CD协议)
工作流程
概括
先听后发,边听边发,冲突停发,随机重发
详细
1、适配器从其父结点获得一个网络层数据报,准备一个以太网帧,并把该帧放到适配器缓冲区中。
2、如果适配器侦听到信道空闲,那么它开始传输该帧。如果适配器侦听到信道忙,那么它将等待直至侦听到没有信号能量,然后开始传输该帧。
3、在传输过程中,适配器检测来自其他适配器的信号能量。如果这个适配器传输了整个帧,而没有检测到来自其他适配器的信号能量,那么这个适配器完成该帧的传输。否则,适配器就须停止传输它的帧,取而代之传输一个48比特的拥塞信号。
4、在中止(即传输拥塞信号)后,适配器采用截断二进制指数退避算法等待一段随机时间后返回到步骤2
问题
总线的传播时延对CSMA/CD的影响很大
争用期
站A在发送帧后至多经过时间2t就能知道所发送的帧是否发生碰撞因此把以太网端到端往返时间2t称为争用期〔又称冲突窗口或碰撞窗口)
最小帧长
定义
为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输时延至少要两倍于信号在总线中的传播时延,所以CSMA/CD总线网中的所有数据帧都必须要大于一个最小帧长。
计算公式
最小帧长=总线传播时延×数据传输率×2
二进制指数退避算法
算法精髓
1、确定基本退避时间,一般取两倍的总线端到端传播时延2t,即争用期。
2、定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10 。
3、从离散的整数集合[0,1,2,3.....,2^(k-1)]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2rt。
4、当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
优点
使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(这也称动态退避),因而能降低发生碰撞的概率,有利于整个系统的稳定。
载波侦听多路访问/碰撞避免协议(CSMA/CA协议)
实现碰撞避免的机制
预约信道
发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,以便让其他站点在这段时间内不发送数据,从而避免碰撞。
ACK帧
所有站点在正确接收到发给自己的数据帧(除广播帧和组播帧)后,都需要向发送方发回一个ACK帧,如果接收失败,那么不采取任何行动。发送方在发送完一个数据帧后,在规定的时间内如果未收到ACK帧,那么认为发送失败,此时进行该数据帧的重发,直到收到ACK帧或达到规定重发次数为止。
RTS/CTS帧
可选的碰撞避免机制,主要用于解决无线网中的“隐蔽站”问题。
CSMA/CD与CSMA/CA协议的区别
1、CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。
2、传输介质不同。CSMA/CD用于总线式以太网,CSMA/CA用于无线局域网802.11a/b/g/n等。
3、检测方式不同。CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式。
4、在本结点处有(无)冲突,并不一定意味着在接收结点处就有(无)冲突。
轮询访问
令牌传递协议
基本思想
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中。
工作流程
在令牌传递协议中,一个令牌在各结点间以某个固定次序交换。令牌是由一组特殊的比特组合而成的帧。当环上的一个站希望传送帧时,必须等待令牌。一旦收到令牌,站点便可启动发送帧。帧中包括目的站的地址,以标识哪个站应接收此帧。帧在环上传送时,不管该帧是否是发给本站点的,所有站点都进行转发,直到该帧回到它的始发站,并由该始发站撤销该帧。帧的目的站除转发帧外,应针对该帧维持一个副本,并通过在帧的尾部设置“响应比特”来指示已收到此副本。站点在发送完一帧后,应释放令牌,以便让其他站使用。
要点
当计算机都不需要发送数据时,令牌就在环形网上游荡,而需要发送数据的计算机只有在拿到该令牌后才能发送数据帧,因此不会发送冲突(因为令牌只有一个)。
在令牌传递网络中,传输介质的物理拓扑不必是一个环,但是为了把对介质访问的许可从一个设备传递到另一个设备,令牌在设备间的传递通路逻辑上必须是一个环。
轮询介质访问控制非常适合负载很高的广播信道。
轮询介质访问控制既不共享时间,也不共享空间,它实际上是在随机介质访问控制的基础上,限定了有权力发送数据的结点只能有一个。
即使是广播信道也可通过介质访问控制机制使广播信道逻辑上变为点对点的信道,所以说数据链路层研究的是“点到点”之间的通信。
局域网
定义
局域网(LAN)是指在一个较小的地理范围(如一所学校)内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。
特点
1)为一个单位所拥有,且地理范围和站点数目均有限。
2)所有站点共享较高的总带宽(即较髙的数据传输率)。
3)较低的时延和较低的误码率。
4)各站为平等关系而非主从关系。
5)能进行广播和组播。
局域网的特由三个要素决定
拓扑结构
星形结构
环形结构
总线形结构
星形和总线形结合的复合型结构
传输介质
局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质。
介质访问控制
局域网的介质访问控制方法主要有CSMA/CD,令牌总线和令牌环
三种特殊的局域网拓扑实现
以太网(目前使用范围较广的局域网):逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构。
令牌环(Token Ring, IEEE 802.5):逻辑拓扑是环形结构,物理拓扑是星形结构。
FDDI (光纤分布数字接口,IEEE 802.8)。逻辑拓扑是环形结构,物理拓扑是双环结构。
拓展
IEEE 802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层
逻辑链路控制(LLC)子层
LLC子层与传输媒体无关,它向网络层提供无确认无连接、面向连 接、带确汄无连接、髙速传送4种不同的连接服务类型。
媒体接入控制(MAC)子层
与接入传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错检测、透明传输。
相关标准
以太网与 IEEE 802.3
概念
IEEE 802.3标准是一种基带总线形的局域网标准,它描述物理层和数据链路层的MAC子层的实现方法。
以太网
拓扑结构
逻辑上采用总线形
介质访问控制
CSMA/CD协议
简化通信的措施
采用无连接的工作方式:不对发送的数据帧编号,也不要求接收方发送确认,即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成。
传输介质
粗缆、细缆、双绞线、光纤
各种传输介质的适用情况
网卡
概念
计算机与外界局域网的连接是通过主机箱内插入的一块网络接口板【又称网络适配器或网络接口卡(NIC)】实现的。网卡上装有处理器和存储器,是工作在数据链路层的网路组件。
功能
实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能等。
相关知识
全世界的每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址,这个地址用于控制主机在网络上的数据通信。数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址。另外,网卡控制着主机对介质的访问,因此网卡也工作在物理层,因为它只关注比特,而不关注任何地址信息和高层协议信息。
MAC帧
概念
每块网络适配器(网卡)都有一个地址,称为MAC地址,也称物理地址;MAC地址长6字节,一般由连字符(或冒号)分隔的6个十六进制数表示,如02-60-8c-e4-bl-21。高24位为厂商代码,低24位为厂商自行分配的网卡序列号。
两种标准
DIX Ethernet V2标准
帧格式
前导码
使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步:第二个字段是帧开始定界符,表示后面的信息就是MAC帧。
地址
通常使用6字节(48bit)地址(MAC地址)。
类型
2B,指出数据域中携带的数据应交给哪个协议实体处理。
数据
46-1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充(0~46字节)。
填充
0〜46字节,当帧长太短时填充帧,使之达到64字节的最小长度。
校验码
4字节,校验范围从H的地址段到数据段的末尾,算法采用32位循环冗余码(CRC),不但需要检验MAC帧的数据部分,还要检验目的地址、源地址和类型字段,但不校验前导码。
IEEE802.3标准
与DIX 以太网协议的不同
1)帧起始标志:与802.4和802.5兼容。
2)长度域:替代了 DIX帧中的类型域,指出数据域的长度。
高速以太网
定义
速率达到或超过100Mb/s的以太网称为高速以太网
分类
(1)100BASE-T 以太网
100BASE-T以太网是在双绞线上传送100Mb/s基带信号的星形拓扑结构以太网,它使用CSMA/CD协议。这种以太网既支持全双工方式,又支持半双工方式,可在全双工方式下工作而无冲突发生。因此,在全双工方式下不使用CSMA/CD协议。
MAC帧格式仍然是802.3标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m。帧间时间间隔从原来的9.6ps改为现在的0.96ps。
(2)吉比特以太网
吉比特以太网又称千兆以太网,允许在1Gb/s下用全双工和半双工两种方式工作。使用802.3协议规定的帧格式,在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议),与10BASE-T和100BASE-T技术向后兼容。
(3)10吉比特以太网
10吉比特以太网与10Mb/s、100Mb/s 和1Gb/s 以太网的帧格式完全相同。10吉比特以太网还保留了 802.3标准规定的以太网最小和最大帧汝,便于升级。10吉比特以太网不再使用铜线而只使用光纤作为传输媒体。10吉比特以太网只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD 协议。
无线局域网与IEEE 802.11
概念
IEEE 802.15是无线局域网的一系列协议标准,包括802.11a和802.11b等,它们制定了 MAC层协议,运行在多个物理层标准上。除基本的协调访问问题外,标准还进行错误控制(以克服通道固有的不可靠性)、适宜的寻址和关联规程(以处理站的可携带性和移动性)、互联过程(以扩展无线站的通信范围),并且允许用户在移动的同吋进行通信。
介质访问控制
CSMA/CA协议
分类
固定基础设施无线局域网
无固定基础设施的无线局域网自组织网络
广域网
基本概念
广域网通常是指覆盖范围很广(远超一个城市的范围)的长距离网络。广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,它可以长达几千千米的光缆线路,也可以是长达几万千米的点对点卫星链路,因此广域网首要考虑的问题是通信容量必须足够大,以便支持日益增长的通信量。
广域网数据链路层控制协议
PPP协议
概念
使用串行线路通信的面向字节的协议,该协议应用在直接连 接两个结点的链路上。
目的
主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。
背景
SLIP主要完成数据报的传送,但没有寻址、数据检验、分组类型识别和数据压缩等功能,只能传送IP分组。如果上层不是IP协议,那么无法传输,并且此协议对一些高层应用也不支持,但实现比较简单。为了改进SLIP的缺点,于是制定了点对点协议(PPP)。
组成部分
1)链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。
2)网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
3)—个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元(MTU)的限制。
帧格式
标志字段(F)
7E(01111110),前后各占1个字节
地址字段(A)
规定为0xFF
控制字段(C)
规定为0x03
协议段
占2字节,在HDLC中没有该字段,它是说明信息段中运载的是什么种类的分组。以比特0开始的是诸如IP、IPX和AppleTalk这样的网络层协议;以比特1开始的被用来协商其他协议,包括LCP及每个支持的网络层协议的一个不同的NCP。
信息段
信息段的长度是可变的,大于等于0且小于等于1500B.为了实现透明传输,当信息段中出现和标志字段一样的比特组合时,必须采用一些措施来改进
帧检验序列(FCS)
占2字节,即循环冗余码检验中的冗余码。检验区包括地址字段、控制字段、协议字段和信息字段,
状态
当线路处于静止状态时,不存在物理层连接。当线路检测到载波信号时,建立物理连接,线路变为建立状态,此时,LCP开始选项商定,商定成功后就进入身份验证状态。双发身份验证通过后,进入网络状态。这时,采用NCP配置络层,配置成功后,进入打开状态,然后就可进行数据传输。当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。
注意要点
1 )PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验)。它是不可靠的传输协议,因此也不使用序号和确认机制。
2)它仅支持点对点的链路通信,不支持多点线路。
3)PPP只支持全双工链路.
4)PPP的两端可以运行不同的网络层协议,但仍然可使用同一个PPP进行通信.
5)PPP是面向字节的,当信息字段出现和标志字段一致的比特组合时,PPP有两种不同的处理方法:若PPP用在异步线路(默认),则采用字节填充法;若PPP用在SONET/SDH等同步线路,则协议规定采用硬件来完成比特填充(和HDLC的做法一样).
髙级数据链路控制协议(HDLC协议)
基本概念
ISO制定的面向比特的数据链路层协议。
数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
全双工通信,有较高的数据链路传输效率;
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性髙;
传输控制功能与处理功能分离,具有较大的灵活性。
站类型
主站
主站负责控制链路的操作,主站发出的帧称为命令帧。
从站
从站受控于主站,按主站的命令进行操作,发出的帧称为响应帧。
复合站
既具有主站的功能,又具有从站的功能,可以发出命令帧和响应帧。
适用于链路的两种基本配置
平衡配置
平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许。
非平衡配置
非平衡配置的特点是由一个主站控制整个链路的工作。
数据操作方式
正常响应方式
这是一种非平衡结构操作方式,即主站向从站传输数据,从站响应传输,但从站只有在收到主站的许可后,才可进行响应。
异步平衡方式
这是一种平衡结构操作方式。在这种方式中,每个复合站都可以进行对另一站的数据传输。
异步响应方式
这是一种非平衡结构操作方式。在这种方式中,从站即使未受到主站的允许,也可进行传输。
HDLC帧
标志字段(F)
为01111110,在接收端只要找到标志字段就可确定一个帧的位置。HDLC协议采用比特填充的首尾标志法实现透明传输。在发送端,当一串比特流数据中有5个连续的1时,就立即在其后填入一个0。接收帧时,先找到F字段以确定帧的边界,接着对比特流进行扫描。每当发现5个连续的1时,就将其后的一个0刪除,以还原成原来的比特流。
地址字段(A)
共8位,在使用非平衡方式传送数据时,站地址字段总是写入从站的地址:在使用平衡方式传送数据时,站地址字段填入的是应答站的地址,
控制字段(C)
是最复杂的字段,根据其第1位或第1、2位的取值,可将HDLC帧划为三类
信息帧(I)
第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认。
监督帧(S)
第1、2位分别为1、0,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
无编号帧(U)
第1、2位均为1,用于提供对链路的建立、拆除等多种控制功能。
信息字段
同PPP帧
帧检验序列(FCS)
同PPP帧
两协议不同点
1)PPP协议是面向字节的,HDLC协议是面向比特的。
2)PPP帧比HDLC帧多一个2字节的协议字段。当协议字段值为0x0021时,表示信息字段是IP数据报。
3)PPP协议不使用序号和确认机制,只保证无差错接收(通过硬件进行CRC检验),而端到端差错检测由高层协议负责。HDLC协议的信息帧使用了编号和确认机制,能够提供可靠传输。
广域网与局域网的区别
设备
网桥
概念
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段。
基本原理
网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检査数据帧中的地址,如果是网络2的地址,那么就转发给网络2;如果是网络1的地址,那么就将其丢弃,因为源站和目的站处在同一个网段,目的站能够直接收到这个帧而不需要借助网桥转发。
基本特点
①网桥必须具备寻址和路径选择能力,以确定帧的传输方向
②从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧
③网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换。
④网桥对接收到的帧不做任何修改,或只对帧的封装格式做很少的修改
⑤网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另一种协议的信息部分封装在帧中
⑥网桥应有足够大的缓冲空间,因为在短时间内帧的到达速率可能高于转发速率
分类
透明网桥(选择的不是最佳路由)
工作方式
透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。到达帧的路由选择过程取决于源LAN和目的LAN。
①如果源LAN和目的LAN相同,那么丢弃该帧
②如果源LAN和目的LAN不同,那么转发该帧
③如果目的LAN未知,那么扩散该帧。
工作流程
当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。该算法的基本思想是:若从站A发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向一定可把一个帧传送到站A。所以网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中的一个项目(源地址、进入的接口和时间)。在建立转发表时,把帧首部中的源地址写在“地址”一栏的下面。在转发帧时,则根据收到的帧首部中的目的地址来转发。这时就把在“地址”栏下面己经记下的源地址当作目的地址,而把记下的进入端口当作转发端口。网桥就是在这样的转发过程中逐渐将其转发表建立起来的。
为了避免转发的帧在网络中不断地“兜圈子”,透明网桥使用了一种生成树算法(无环),以确保每个源到每个目的地只有唯一的路径。生成树使得整个扩展局域网在逻辑上形成树形结构,所以工作时逻辑上没有环路,但生成树一般不是最佳路由。
源路由网桥(选择的是最佳路由)
基本概念
在源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发。
工作流程
源路由网桥对主机是不透明的,主机必须知道网桥的标识及连接到哪个网段上。路由选择由发送帧的源站负责,那么源站如何知道应当选择什么样的路由呢?为了找到最佳的路由,源站以广播方式向目的站发送一个发现帧(Discovery Frame)作为探测之用。源路由的生成过程是:在未知路径前,源站要先发送一个发现帧:途中的每个网桥都转发此帧,最终该发现帧可能从多个途径到达目的站;目的站也将一一发送应答帧;每个应答帧将通过原路径返回,途经的网桥把自己的标志记录在应答帧中:源站选择出一个最佳路由,以后,凡从这个源站向该目的站发送的帧的首部,都必须携带这一路由信息。
发送帧还可以帮助源站确定整个网络可以通过的帧的最大长度。由于发现帧的数指数式增加,可能会使网络严重拥塞。
比较
使用源路由网桥可以利用最佳路由。若在两个以太网之间使用并联的源路由网桥,则还可使通信量较平均地分配给每个网桥。采用透明网桥时,只能使用生成树.而使用生成树一般并不能保证所用的路由是最佳的,也不能在不同的链路中进行负载均衡,
注意:透明网桥和源路由网桥中提到的最佳路由并不是经过路由器最少的路由,而可以是发送帧往返时间最短的路由,这样才能真正地进行负载平衡,因为往返时间长说明中间某个路由器可能超载了,所以不走这条路,换个往返时间短的路走。
优缺点
优点
①能过滤通信量
②扩大了物理范围
③可使用不同的物理层
④可互联不同类型的局域网
⑤提高了可靠性
⑥性能得到改善
缺点
①增大了时延
②MAC子层没有流量控制功能
③不同MAC子层的网段桥接在一起时,需要进行帧格式的转换
④网桥只适合于用户数不多和通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴。
交换机
概念
桥接器的主要限制是在任一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。
从本质上说,以太网交换机是一个多端口的网桥,它工作在数据链路层。
优点
交换机能经济地将网络分成小的冲突域,为每个工作站提供更髙的带宽。
以太网交换机对工作站是透明的,因此管理开销低廉,简化了网络结点的增加、移动和网络变化的操作。
利用以太网交换机还可以方便地实现虚拟局域网(VLAN), VLAN不仅可以隔离冲突域,而且可以隔离广播域。
原理
它检测从以太端口来的数据帧的源和目的地的MAC (介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在査找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
特点
1)以太网交换机的每个端口都直接与单台主机相连,并且一般都工作在全双工方式。
2)以太网交换机能同时连通许多对端口,使毎对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
3)以太网交换机也是一种即插即用设备(和透明网桥一样),其内部的帧的转发表也是通过自学习算法自动地逐渐建立起来的。
4)以太网交换机由于使用了专用的交换结构芯片,因此交换速率较高。
5)以太网交换机独占传输媒体的带宽。
交换模式
直通式
直通式交换机只检查帧的的地址,这使得帧在接收后几乎能马上被传出去。这种方式速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换。
存储转发式
存储转发式交换机先将接收到的帧缓存到髙速缓存器中,并检査数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去。如果发现帧有错,那么就将其丢弃。存储转发式的优点是可靠性髙,并能支持不同速率端口间的转换,缺点是延迟较大。
相同点
按MAC地址转发
都能隔离冲突域,但不能隔离广播域
物理层
通信基础
基本概念
数据
传输方式
并行传输
串行传输
信号
码元
信源
信道
通信方式
单工通信
只有一个方向的通信而没有反方向的交互,仅需要一条信道。
半双工通信
通信的双方都可以接受或发送消息,但任何一方都不能同时接收或发送消息,此时需要两条信道。
全双工通信
通信双方可以同时发送或接受消息,此时需要两条信道。
信宿
速率
速率也称数据率,指的是数据的传输速率,表示单位时间内传输的数据量。
码元传输速率
又称码元速率,波形速率等,表示单位时间数字通信系统传输的码元个数,单位:波特(Baud)
信息传输速率
又称信息速率,比特率等,他表示单位时间内数字通信系统传输的二进制码元个数。单位:比特/秒(b/s)
波特
带宽
两个重要定理
奈奎斯特定理(奈氏准则)
理想低通信道下的极限数据传输率=2W*log[2] V 单位b/s
结论
1)在任何信道中,码元传输的速率是有上限的。若传输速率超过此上限,就会出现严重的码间串扰问题(指在接收端收到的信号波形失去了码元之间的淸晰界限),使得接收端不可能完全正确识别码元。
2)信道的频带越宽(即通过的信号高频分量越多),就可用更高的速率进行码元的有效传输。
3)奈氏准则给出了码元传输速率的限制,但未对信息传输速率给出限制,即未对一个码元可以对应多少个二进制位给出限制。
香农定理
信道的极限数据传输率=Wlog[2](1+S/N) 单位b/s
结论
1)信道的带宽或信道中的信噪比越大,信息的极限传输速率越髙。
2)对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的。
3)只要信息的传输速率低于信道的极限传输速率,就能找到某种方法来实现无差错的传输。
4)香农定理得出的是极限信息传输速率,实际信道能达到的传输速率要比它低不少。
编码与调制
数字数据编码为数字信号
非归零编码NRZ
非归零编码(NRZ)用两个电压来代表两个二进制数字,如用低电平表示0,用高电平表示1,或者相反。这种编码虽然容易实现,但没有检错功能,而且也无法判断一个码元的开始和结束,以至于收发双方难以保持同步。
曼彻斯特编码
曼彻斯特编码(Manchester Encoding)将一个码元分成两个相等的间隔,前一个间隔为高电平而后一个间隔为低电平表示码元1;码元0的表示方法则正好相反。当然,也可采用相反的规定。该编码的特点是,在每个码元的中间出现电平跳变,位中间的跳变既作为时钟信号(可用于同步),又作为数据信号,但它所占的频带宽度是原始基带宽度的两倍。以太网使用的编码方式就是曼彻斯特编码。
差分曼彻斯特编码
差分曼彻斯特编码常用于局域网传输,其规则是:若码元为1.则前半个码元的电平与上一码元的后半个码元的电平相同;若码为0,则情形相反。该编码的特点是,在每个码元的中间都有一次电平的跳转,可以实现自同步,且抗干扰性较好。
4B/5B编码
将欲发送数据流的每4位作为一组,然后按照4B/5B编码规则将其转换成相应的5位码。5位码共32种组合,但只采用其中的16种对应16种不同的4位码,其他的16种作为控制码(帧的开始和结束、线路的状态信息等)或保留。
数字数据调制为模拟信号
基本调制方法
幅移键控ASK
频移键控FSK
相移键控PSK
正交振幅调制QAM
模拟数据编码为数字信号
脉码调制PCM
采样
量化
编码
模拟数据调制为模拟信号
频分复用技术FDM
传输方式
传输介质
双绞线
屏蔽双绞线STP
非屏蔽双绞线UTP
同轴电缆
50Ω同轴电缆(基带同轴电缆)
主要用于传送基带数字信号,在局域网中广泛运用。
75Ω同轴电缆(宽带同轴电缆)
主要用于传送宽带信号,主要用于有线电视系统。
光纤
单模光纤
光源为激光二极管,适合远距离传输
多模光纤
光源为发光二极管,适用于近距离传输
无线传输介质
无线电波
有较强的穿透能力,传输距离远 被广泛用于通信领域。
微波
红外线
激光
卫星通信
物理层设备
接口特性
机械特性
主要定义物理连接的边界点,即接插装置。规定物理连接时所采用的规格、引线数目、引脚数量和排列情况等。
电气特性
规定传输二进制位时,线路上信号的电压高低、阻抗匹配、传输速率、和距离限制等。
功能特性
指明某一条线路上出现的某一电平表示何种意义,接口部件的信号线的用途等。
规程特性
主要定义各条物理线路的工作规程和时序关系等。
常见接口标准
EIA RS-232-C、ADSL、SONET/SDH等
设备
中继器
功能
主要功能是将信号整形并放大再转发出去,以消除信号经过一长段电缆后,因噪声或其他原因而造成的失真和衰减,使信号的波形和强度达到所需要的要求,进而扩大网络传输的距离。
原理
信号再生(而非简单地将衰减的信号放大)。
集线器Hub
功能
当Hub工作时,一个端口接收到数据信号后,由于信号在从端口到Hub的传输过程中已有衰减,所以Hub便将该信号进行整形放大,使之再生(恢复)到发送时的状态,紧接着转发到其他所有(除输入端口外)处于工作状态的端口。
信号整形放大和转发
计算机网络的标准化工作及相关组织
标准化工作
因特网草案
建议标准
草案标准
因特网标准
主要的标准化组织
国际标准化组织ISO
国际电信联盟ITU
国际电气电子工程师协会IEEE
性能指标
带宽
表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据率”的同义语。
单位比特/秒(b/s)
时延
是指数据(一个报文或分组)从网络(或链路)从一端传送到另一端所需要的总时间。
发送时延
结点将分组的所有比特推向传输链路所需的时间,即从发送分组的第一个比特到该分组的最后一个比特发送完毕所需要的时间。
计算公式:发送时延=分组长度/信道宽度
传播时延
电磁波在信道中传播一定距离需要花费的时间。
计算公式:传播时延=信道长度/传播速率
处理时延
数据在交换结点为存储转发而进行的一些必要的处理所话费的时间。
排队时延
分组在进入路由器后要先在输入队列中进行排队等待处理。
时延带宽积
发送端连续发送数据且发送的第一个比特即将到达终点时,发送端已经发出的比特数。
计算公式:时延带宽积=传播时延×信道带宽
往返时延(RTT)
指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。
吞吐量
单位时间内通过某个网络(或信道、端口等)的数据量。
速率
网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率,单位b/s。
分类
分布范围
广域网(WAN)
城域网(MAN)
局域网(LAN)
个人区域网(PAN)
传输技术
是否采用分组转发与路由选择机制是区分二者的重要区别
广播式网络
点对点网络
拓扑结构
星形网络
每个终端或计算机都以单独的线路与中央设备相连。
优点:便于集中控制和管理原因:端用户之间的通信必须经过中央设备。
缺点:成本高,中心结点对故障敏感。
总线型网络
用单根传输线将计算机连接起来
优点:建网容易、增减结点方便、节省线路。
缺点:重负载时通信效率不高,总线任意一处对故障敏感。
环形网络
所有计算机接口设备连接成一个环。
网状形网络
一般情况下,每个结点至少有两条路径与其他结点相连。多用在广域网中。
优点:可靠性高。
缺点:控制复杂、线路成本高。
使用者
公用网
专用网
交换技术
电路交换网络
概述
在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。因此,电路交换技术分为三个阶段:连接建立、数据传输和连接释放。
优点
1)通信时延小。由于通信线路为通信双方用户专用,数据直达,因此传输数据的时延非常小。当传输的数据量较大时,这一优点非常明显。
2)有序传输。双方通信时按发送顺序传送数据,不存在失序问题。
4)适用范围广,电路交换既适用于传输模拟信号,又适用于传输数字信号。
5)实时性强,通信双方之间的物理通路一旦建立,双方就可以随时通信。
6)控制简单。电路交换的交换设备(交换机等)及控制均较简单。
缺点
1)建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长。
2)线路独占,使用效率低。电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
3)灵活性差。只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。
4)难以规格化。电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
报文交换网络
概述
数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文交换在交换结点采用的 是存储转发的传输方式。
优点
1)无须建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接吋延,用户可以随时发送报文。
2)动态分配线路。当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去。
3)提高线路可靠性。如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性。
4)提高线路利用率。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道,因而大大提髙了通信线路的利用率。
5)提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
缺点
1)由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收 报文、检验正确性、排队、发送时间等)。
2)报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间。
分组交换网络
概述
同报文交换一样,分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。网络结点根据控制信息把分组送到下一结点,下一结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。
优点
1)无建立时延。不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延, 用户可随时发送分组。
2)线路利用率高。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
3)简化了存储管理(相对于报文交换)。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
4)加速传输。分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也必然少得多。
5)减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
缺点
1)存在传输时延,尽管分组交换比报文交换的传输时延少,但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
2)需要传输额外的信息量。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量増大了 5%〜10%,—定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延増加。
3)当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,因此很麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
分类
(无连接的)数据报
概述
作为通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有编号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU),中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组,不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。
原理
数据报方式转发分组
1)主机A先将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组。
2)然后查找自己的转发表。由于不同时刻的网络状态不同,因此转发表的内容可能不完全相同,所以有的分组转发给交换结点C,有的分组转发给交换结点D。
3)网络中的其他结点收到分组后,类似地转发分组,直到分组最终到达主机B。
特点
1)发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。
2)网络尽最大努力交付,传输不保证可靠性.所以可能丢失;为每个分组独立地选择路由,转发的路径可能不同,因而分组不一定按序到达目的结点。
3)发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。
4)分组在交换结点存储转发吋,需要排队等候处理,这会带来一定的时延。通过交换结点的通信量较大或网络发生拥塞时,这种吋延会大大增加,交换结点还可根据情况丢弃部分分组。
5)网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,
6)存储转发的延时一般较小,提髙了网络的吞吐量。
7)收发双方不独占某一链路,资源利用率较髙。
(面向连接)虚电路
概述
虚电路方式试图将数据报方式与电路交换方式结合起来,充分发挥两种方法的优点,以达到 最佳的数据交换效果。在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路, 并且连接一旦建立,就固定了虚电路所对应的物理路径。与电路交换类似,整个通信过程分为三 个阶段:虚电路建立、数据传输与虚电路释放。 在虚电路方式中,端系统毎次建立虚电路吋,选择一个未用过的虚电路号分配给该虚电路, 以区别于本系统中的其他虚电路。在传送数据吋,每个数据分组不仅要有分组号、校验和等控制 信息,还要有它要通过的虚电路号,以区别于其他虚电路的分组。在虚电路网络中的每个结点 上都维持一张虚电路表,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链 路上的虚电路号、前一结点和下一结点的标识。数据的传输是双向进行的,上述信息是在虚电路 的建立过程中确定的。
原理
1)为进行数据传输,主机A与主机B之间先建立一条逻辑通路,主机A发出一个特殊的“呼叫请求”分组,该分组通过中间结点送往主机B,若主机B同意连接,则发送“呼叫应答”分组予以确认。
2)虚电路建立后,主机A就可向主机B发送数据分组。当然,主机B也可在该虚电路上向 主机A发送数据。
3)传送结束后主机A通过发送“释放请求”分组来拆除虚电路,逐段断开整个连接。
特点
1)虚电路通信链路的建立和拆除需要吋间开销,对交互式应用和小量的短分组情况显得很 浪费,但对长时间、频繁的数据交换效率较高。
2)虚电路的路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
3)虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个 数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
4)虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时, 所有经过该结点或该链路的虚电路将遭到破坏。
5)分组首部并不包含目的地址,而包含虚电路标识符,相对数据报方式开销小。
二者比较
传输介质
有线网络
双绞线网络、同轴电缆网络等
无线网络
蓝牙、微波、无线电等
3)没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。
功能
数据通信
资源共享
分布式处理
提高可靠性
负载均衡
体系结构
分层的基本原则
各层都实现一种相对独立的功能,降低大系统的复杂度。
各层之间界面自然清晰,易于理解,相互交流尽可能少。
各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
保持下层对上层的的独立性,上层单向使用下层提供的服务。
整个分层结构应能促进标准化工作。
层次结构
相关内容
实体:指任何可发送或接收信息的硬件或软件进程。
不同机器上的同一层成为对等层
同一层的实体称为对等实体
每一层有自己传送的数据单元,其名称、大小、含义也各有不同。
在计算加网络的各个层次中,每个报文分为两部分。
协议数据单元PDU
服务数据单元SDU
协议控制信息PCI
具体含义
第n层的实体不仅要使用n-1层的服务来实现自身的功能,还要向n+1层提供本层的服务,该服务是第n层及其以下各层提供的服务的总和。
最底层只提供服务,是整个层次结构的基础;中间各层即是下一层服务的使用者又是上一层服务的提供者。最高层面向用户提供服务。
上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务:下一层所提供的服务对所提供服务实现细节对上一层透明。
两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就将信息传送到对方。
计算机网络相关概念
协议
控制两个对等实体进行通讯的规则的集合,是水平的。
语法
规定传输数据的格式。
语义
规定所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答。
同步
规定执行操作的条件、时序关系等,即事件实现顺序的详细说明。
接口
同一节点内相邻两层之间交换信息的连接点,是一个系统内部的规定。
服务
下层为紧邻的上提供的功能调用,是垂直的。
分类
面向连接服务与无连接服务
可靠服务和不可靠服务
有应答服务和无应答服务
参考模型
ISO/OSI参考模型
应用层
用户与网络的界面
典型协议
FTP、SMTP、HTTP等
表示层
任务功能
主要负责在两个通信系统中交换信息的表示方式。
数据压缩、加密和解密
会话层
概述
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务为表示层实体或用户进程建立连接并在连接上有序地传输数据,也称建立同步(SYN)。
任务功能
负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。
会话层可以使用校验点使通信会话在通信失效时从检验点继续恢复通信,实现数据同步。
传输层
传输单位
报文段
任务
负责主机中两个进程之间的通信。
功能
为端到端的连接提供可靠的传输服务,并提供流量控制、差错控制、服务质量、数据传输管理等服务。
复用、分用
典型协议
UDP、TCP
网络层
传输单位
数据报
任务
把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网络上的不同主机提供通信服务。
功能
路由选择、流量控制、拥塞控制、差错控制、网际互联等
典型协议
IP、IPX、ICMP、IGMP、ARP、RARP、OSPF等
数据链路层
传输单位
帧
任务
将网络层传来的IP数据包组装车成帧。
功能
成帧、差错控制、流量控制、传输管理
典型协议
SDLC、HDLC、PPP、帧中继等
物理层
传输单位
比特
任务
透明的传输比特流
功能
在物理媒体上为数据端设备透明的传输原始比特流。
研究内容
通信链路与通信节点的连接需要一些电路接口,物理层规定了这些接口的一些参数,如机械性形状和尺寸、交换电路的数量和排列方式等。
通信链路上传输信号的意义和电气特征。
TCP/IP 参考模型
应用层
包含OSI参考模型所有高层协议
传输层
与OSI参考模型中的传输层非常相似
网际层
与OSI参考模型中的网络层非常相似
网络接口层
作用
主要作用是从主机或节点接收IP分组,并把它们发送到指定的物理网络上。
物理网络
各种类型的局域网,如令牌环网、以太网、令牌总线网等
电话网、SDH、X.25、帧中继和ATM等公共数据网络。
OSI参考模型与TCP/IP参考模型比较
相似
1、采取分层的结构体系,将庞大且复杂的问题划分为若干较容易处理的、范围较小的问题,且分层的功能大体相似。
2、都是基于独立的协议栈。
3、都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。
差别
1、OSI参考模型精确定义了服务、协议、接口概念,符合面向对象程序设计思想,而TCP/IP模型则无明确区分。
2、OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。TCP/IP参考模型则正好相反,首先出现的是协议,因此不会出现协议不能匹配模型的情况,但不适用于其他非TCP.IP协议栈。
3、TCP/IP将网际协议IP单独作为一层,而OSI参考模型在网络层下划分出一个子层来完成类似于IP的功能。
4、OSI参考模型在网络层支持面向连接和无连接的通信,但在传输层仅有面向连接的通信。而TCP/IP认为可靠性端到端的问题,因此它在网络层仅有一种无连接的通信模式,但传输层支持面向连接和无连接两种模式。
组成
从组成部分
硬件
主机(端系统)
通信链路(双绞线、光纤等)
交换设备(路由器、交换机等)
通信处理机(网卡等)
软件
实现资源共享的软件及方便用户使用的各种工具软件等
协议
计算机网络的核心
从工作方式
边缘部分
所有连接到因特网上的主机组成,主要用来通信。
核心部分
大量的网络和连接这些网络的路由器组成
从功能组成
通信子网
各种传输介质、通信设备、和相应的网络协议组成,使网络具有数据传输、交换、控制和存储功能。
资源子网
实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务
概述
广义观点
资源共享观点
用户透明性观点