❶ 计算机网络名词解释知识点简答题整理
基带传输:比特流直接向电缆发送,无需调制到不同频段;
基带信号:信源发出的没有经过调制的原始电信号;
URL :统一资源定位符,标识万维网上的各种文档,全网范围唯一;
传输时延:将分组的所有比特推向链路所需要的时间;
协议:协议是通信设备通信前约定好的必须遵守的规则与约定,包括语法、语义、定时等。
网络协议:对等层中对等实体间制定的规则和约定的集合;
MODEM :调制解调器;
起始(原始)服务器:对象最初存放并始终保持其拷贝的服务器;
计算机网络:是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并通过网络协议进行数据通信,实现资源共享的计算机集合;
解调:将模拟信号转换成数字信号;
多路复用:在一条传输链路上同时建立多条连接,分别传输数据;
默认路由器:与主机直接相连的一台路由器;
LAN :局域网,是一个地理范围小的计算机网络;
DNS :域名系统,完成主机名与 IP 地址的转换;
ATM :异步传输模式,是建立在电路交换和分组交换基础上的一种面向连接的快速分组交换技术;
Torrent :洪流,参与一个特定文件分发的所有对等方的集合;
Cookie :为了辨别用户、用于 session 跟踪等而储存在用户本地终端的数据;
SAP :服务访问点;
n PDU : PDU 为协议数据单元,指对等层之间的数据传输单位;第 n 层的协议数据单元;
PPP :点对点传输协议;
Web caching :网页缓存技术;
Web 缓存:代替起始服务器来满足 HTTP 请求的网络实体。
Proxy server :代理服务器;
Go-back-n :回退 n 流水线协议;允许发送方连续发送分组,无需等待确认,若出错,从出错的分组开始重发;接收方接收数据分组,若正确,发 ACK ,若出错,丢弃出错分组及其后面的分组,不发任何应答;
Packet switching :分组交换技术;
CDMA :码分多路复用技术;各站点使用不同的编码,然后可以混合发送,接收方可正确提取所需信息;
TDM :时分多路复用,将链路的传输时间划分为若干时隙,每个连接轮流使用不同时隙进行传输;
FDM :频分多路复用,将链路传输频段分成多个小的频段,分别用于不同连接信息的传送;
OSI :开放系统互连模型,是计算机广域网体系结构的国际标准,把网络分为 7 层;
CRC :循环冗余检测法,事先双方约定好生成多项式,发送节点在发送数据后附上冗余码,使得整个数据可以整除生成多项式,接收节点收到后,若能整除,则认为数据正确,否则,认为数据错误;
RIP :路由信息协议;
Socket (套接字):同一台主机内应用层和运输层的接口;
转发表:交换设备内,从入端口到出端口建立起来的对应表,主要用来转发数据帧或 IP 分组;
路由表:路由设备内,从源地址到目的地址建立起来的最佳路径表,主要用来转发 IP 分组;
存储转发:分组先接收存储后,再转发出去;
虚电路网络:能支持实现虚电路通信的网络;
数据报网络:能支持实现数据报通信的网络;
虚电路:源和目的主机之间建立的一条逻辑连接,创建这条逻辑连接时,将指派一个虚电路标识符 VC.ID ,相关设备为它运行中的连接维护状态信息;
毒性逆转技术: DV 算法中,解决计数到无穷的技术,即告知从相邻路由器获得最短路径信息的相邻路由器到目的网络的距离为无穷大;
加权公平排队 WFQ :排队策略为根据权值大小不同,将超出队列的数据包丢弃;
服务原语:服务的实现形式,在相邻层通过服务原语建立交互关系,完服务与被服务的过程;
透明传输:在无需用户干涉的情况下,可以传输任何数据的技术;
自治系统 AS :由一组通常在相同管理者控制下的路由器组成,在相同的 AS 中,路由器可全部选用同样的选路算法,且拥有相互之间的信息;
分组丢失:分组在传输过程中因为种种原因未能到达接收方的现象;
隧道技术:在链路层或网络层通过对等协议建立起来的逻辑通信信道;
移动接入:也称无线接入,是指那些常常是移动的端系统与网络的连接;
面向连接服务:客户机程序和服务器程序发送实际数据的分组前,要彼此发送控制分组建立连接;
无连接服务:客户机程序和服务器程序发送实际数据的分组前,无需彼此发送控制分组建立连接;
MAC 地址:网卡或网络设备端口的物理地址;
拥塞控制:当网络发生拥塞时,用响应的算法使网络恢复到正常工作的状态;
流量控制:控制发送方发送数据的速率,使收发双方协调一致;
Ad Hoc 网络:自主网络,无基站;
往返时延:发送方发送数据分组到收到接收方应答所需要的时间;
电路交换:通信节点之间采用面向连接方式,使用专用电路进行传输;
ADSL :异步数字用户专线,采用不对称的上行与下行传输速率,常用于用户宽带接入。
多播:组播,一对多通信;
路由器的组成包括:输入端口、输出端口、交换结构、选路处理器;
网络应用程序体系结构:客户机 / 服务器结构、对等共享、混合;
集线器是物理层设备,交换机是数据链路层设备,网卡是数据链路层设备,路由器是网络层设备;
双绞线连接设备的两种方法:直连线和交叉线,同种设备相连和计算机与路由器相连都使用交叉线;不同设备相连用直连线;
MAC 地址 6 字节, IPv4 地址 4 字节, IPv6 地址 16 字节;
有多种方法对载波波形进行调制,调频,调幅,调相;
IEEE802.3 以太网采用的多路访问协议是 CSMA/CD ;
自治系统 AS 内部的选路协议是 RIP 、 OSPF ;自治系统间的选路协议是 BGP ;
多路访问协议:分三大类:信道划分协议、随机访问协议、轮流协议;
信道划分协议包括:频分 FDM 、时分 TDM 、码分 CDMA ;
随机访问协议包括: ALOHA 、 CSMA 、 CSMA/CD(802.3) 、 CSMA/CA(802.11) ;
轮流协议包括:轮询协议、令牌传递协议
ISO 和 OSI 分别是什么单词的缩写,中文意思是什么?用自己的理解写出 OSI 分成哪七层?每层要解决的问题和主要功能是什么?
答:ISO:international standard organization 国际标准化组织;OSI:open system interconnection reference model 开放系统互连模型;
OSI分为 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;
层名称解决的问题主要功能
应用层实现特定应用选择特定协议;针对特定应用规定协议、时序、表示等,进行封装。在端系统中用软件来实现,如HTTP;
表示层压缩、加密等表示问题;规定数据的格式化表示,数据格式的转换等;
会话层会话关系建立,会话时序控制等问题;规定通信的时序;数据交换的定界、同步、建立检查点等;
传输层源端口到目的端口的传输问题;所有传输遗留问题:复用、流量、可靠;
网络层路由、拥塞控制等网络问题;IP寻址,拥塞控制;
数据链路层相邻节点无差错传输问题;实现检错与纠错,多路访问,寻址;
物理层物理上可达;定义机械特性,电气特性,功能特性等;
因特网协议栈分层模型及每层的功能。
分层的优点:使复杂系统简化,易于维护和更新;
分层的缺点:有些功能可能在不同层重复出现;
假设一个用户 ( 邮箱为: [email protected]) 使用 outlook 软件发送邮件到另一个用户 ( 邮箱为: [email protected]) ,且接收用户使用 IMAP 协议收取邮件,请给出此邮件的三个传输阶段,并给出每个阶段可能使用的应用层协议。
用户 [email protected] 使用outlook软件发送邮件到 163 邮件服务器
163邮件服务器将邮件发送给用户 [email protected] 的yahoo邮件服务器
用户 [email protected] 使用IMAP协议从yahoo邮件服务器上拉取邮件
第1、2阶段可以使用SMTP协议或者扩展的SMTP协议:MIME协议,第3阶段可以使用IMAP、POP3、HTTP协议
三次握手的目的是什么?为什么要三次(二次为什么不行)?
为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。
如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认。
选择性重传 (SR) 协议中发送方窗口和接收方窗口何时移动?分别如何移动?
发送方:当收到ACK确认分组后,若该分组的序号等于发送基序号时窗口发生移动;向前移动到未确认的最小序号的分组处;
接收方:当收到分组的序号等于接收基序号时窗口移动;窗口按交付的分组数量向前移动;
简述可靠传输协议 rdt1.0, rdt2.0, rdt2.1, rdt2.2 和 rdt3.0 在功能上的区别。
rdt1.0:经可靠信道上的可靠数据传输,数据传送不出错不丢失,不需要反馈。
rdt2.0(停等协议):比特差错信道上的可靠数据传输,认为信道传输的数据可能有比特差错,但不会丢包。接收方能进行差错检验,若数据出错,发送方接收到NAK之后进行重传。
rdt2.1:在rdt2.0的基础上增加了处理重复分组的功能,收到重复分组后,再次发送ACK;
rdt2.2:实现无NAK的可靠数据传输,接收方回发带确认号的ACK0/1,
收到出错分组时,不发NAK,发送接收到的上一个分组的ACK;
rdt3.0:实现了超时重发功能,由发送方检测丢包和恢复;
电路交换和虚电路交换的区别?哪些网络使用电路交换、报文交换、虚电路交换和数据报交换?请各举一个例子。
电路交换时整个物理线路由通讯双方独占;
虚电路交换是在电路交换的基础上增加了分组机制,在一条物理线路上虚拟出多条通讯线路。
电路交换:电话通信网
报文交换:公用电报网
虚电路交换:ATM
数据报交换:Internet
电路交换:面向连接,线路由通信双方独占;
虚电路交换:面向连接,分组交换,各分组走统一路径,非独占链路;
数据报交换:无连接,分组交换,各分组走不同路径;
交换机逆向扩散式路径学习法的基本原理:
交换表初始为空;
当收到一个帧的目的地址不在交换表中时,将该帧发送到所有其他接口(除接收接口),并在表中记录下发送节点的信息,包括源MAC地址、发送到的接口,当前时间;
如果每个节点都发送了一帧,每个节点的地址都会记录在表中;
收到一个目的地址在表中的帧,将该帧发送到对应的接口;
表自动更新:一段时间后,没有收到以表中某个地址为源地址的帧,从表中删除该地址;
非持久 HTTP 连接和持久 HTTP 连接的不同:
非持久HTTP连接:每个TCP连接只传输一个web对象,只传送一个请求/响应对,HTTP1.0使用;
持久HTTP连接:每个TCP连接可以传送多个web对象,传送多个请求/响应对,HTTP1.1使用;
Web 缓存的作用是什么?简述其工作过程:
作用:代理原始服务器满足HTTP请求的网络实体;
工作过程:
浏览器:与web缓存建立一个TCP连接,向缓存发送一个该对象的HTTP请求;
Web缓存:检查本地是否有该对象的拷贝;
若有,就用HTTP响应报文向浏览器转发该对象;
若没有,缓存与原始服务器建立TCP连接,向原始服务器发送一个该对象的HTTP请求,原始服务器收到请求后,用HTTP响应报文向web缓存发送该对象,web缓存收到响应,在本地存储一份,并通过HTTP响应报文向浏览器发送该对象;
简要说明无线网络为什么要用 CSMA/CA 而不用 CSMA/CD ?
无线网络用无线信号实施传输,现在的技术还无法检测冲突,因此无法使用带冲突检测的载波侦听多路访问协议CSMA/CD,而使用冲突避免的载波侦听多路访问协议CSMA/CA;
简述各种交换结构优缺点,并解释线头 HOL 阻塞现象。
内存交换结构:以内存为交换中心;
优点:实现简单,成本低;
缺点:不能并行,速度慢;
总线交换结构:以共享总线为交换中心;
优点:实现相对简单,成本低;
缺点:不能并行,速度慢,不过比memory快;
纵横制:以交叉阵列为交换中心;
优点:能并行,速度快,比memory和总线都快;
缺点:实现复杂,成本高;
线头HOL阻塞:输入队列中后面的分组被位于线头的一个分组阻塞(即使输出端口是空闲的),等待交换结构发送;
CSMA/CD 协议的中文全称,简述其工作原理。
带冲突检测的载波侦听多路访问协议;
在共享信道网络中,发送节点发送数据之前,先侦听链路是否空闲,若空闲,立即发送,否则随机推迟一段时间再侦听,在传输过程中,边传输边侦听,若发生冲突,以最快速度结束发送,并随机推迟一段时间再侦听;
奇偶校验、二维奇偶校验、 CRC 校验三者比较:
奇偶校验能检测出奇数个差错;
二维奇偶校验能够检测出两个比特的错误,能够纠正一个比特的差错;
CRC校验能检测小于等于r位的差错和任何奇数个差错;
GBN 方法和 SR 方法的差异:
GBN:一个定时器,超时,重发所有已发送未确认接收的分组,发送窗口不超过2的k次方-1,接收窗口大小为1,采用累计确认,接收方返回最后一个正确接受的分组的ACK;
SR:多个定时器,超时,只重发超时定时器对应的分组,发送窗口和接收窗口大小都不超过2的k-1次方,非累计确认,接收方收到当前窗口或前一窗口内正确分组时返回对应的ACK;
❷ 《计算机网络-自顶向下方法》第四章-网络层 要点
网络层的作用:实现主机到主机的通信服务,将分组从一台发送主机移动到一台接收主机。
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版
一、现在最主要的三种网络
电信网络(电话网)
有线电视网络
计算机网络 (发展最快,信息时代的核心技术)
二、internet 和 Internet
internet 是普通名词
泛指一般的互连网(互联网)
Internet 是专有名词,标准翻译是“因特网” 世界范围的互连网(互联网)
使用 TCP/IP 协议族
前身是美国的阿帕网 ARPANET
三、计算机网络的带宽
计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特。 描述带宽也常常把“比特/秒”省略。
例如,带宽是 10 M,实际上是 10 Mb/s。注意:这里的 M 是 106。
四、对宽带传输的错误概念
在网络中有两种不同的速率:
信号(即电磁波)在传输媒体上的传播速率(米/秒,或公里/秒)
计算机向网络发送比特的速率(比特/秒),也叫传输速率。 这两种速率的意义和单位完全不同。
宽带传输:计算机向网络发送比特的速率较高。 宽带线路:每秒有更多比特从计算机注入到线路。 宽带线路和窄带线路上比特的传播速率是一样的。
早期的计算机网络采用电路交换,新型的计算机网络采用分组交换的、基于存储转发的方式。 分组交换:
在发送端把要发送的报文分隔为较短的数据块
每个块增加带有控制信息的首部构成分组(包)
依次把各分组发送到接收端
接收端剥去首部,抽出数据部分,还原成报文
IP 网络的重要特点
每一个分组独立选择路由。
发往同一个目的地的分组,后发送的有可能先收到(即可能不按顺序接收)。 当网络中的通信量过大时,路由器就来不及处理分组,于是要丢弃一些分组。 因此, IP 网络不保证分组的可靠地交付。
IP 网络提供的服务被称为:
尽最大努力服务(best effort service) 五、最重要的两个协议:IP 和 TCP
TCP 协议保证了应用程序之间的可靠通信,IP 协议控制分组在因特网的传输,但因特网不保证可靠交付.
在 TCP/IP 的应用层协议使用的是客户服务器方式。
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
客户服务器方式所描述的是进程之间服务和被服务的关系。
当 A 进程需要 B 进程的服务时就主动呼叫 B 进程,在这种情况下,A 是客户而 B 是服务器。
可能在下一次通信中,B 需要 A 的服务,此时,B 是客户而 A 是服务器。
注意:
使用计算机的人是“用户”(user)而不是“客户”(client)。
客户和服务器都指的是进程,即计算机软件。
由于运行服务器进程的机器往往有许多特殊的要求,因此人们经常将主要运行服务器进程的
机器(硬件)不严格地称为服务器。
例如,“这台机器是服务器。” 意思是:“这台机器(硬件)主要是用来运行服务器进程(软件)。” 因此,服务器(server)一词有时指的是软件,但也有时指的是硬件。
六、总结
因特网(Internet)是世界范围的、互连起来的计算机网络,它使用 TCP/IP 协议族,并且它的前身是美 国阿帕网 ARPANET。
计算机网络的带宽是网络可通过的最高数据率。
因特网使用基于存储转发的分组交换,并使用 IP 协议传送 IP 分组。
路由器把许多网络互连起来,构成了互连网。路由器收到分组后,根据路由表查找出下一跳路由器的
地址,然后转发分组。
路由器根据与其他路由器交换的路由信息构造出自己的路由表。
IP 网络提供尽最大努力服务,不保证可靠交付。
TCP 协议保证计算机程序之间的、端到端的可靠交付。
在 TCP/IP 的应用层协议使用的是客户服务器方式。
客户和服务器都是进程(即软件)。客户是服务请求方,服务器是服务提供方。
服务器有时也指“运行服务器软件”的机器。
一、IP 网络是虚拟网络
IP 网络是虚拟的。在 IP 网络上传送的是 IP 数据报(IP 分组)。
实际上在网络链路上传送的是“帧”,使用的是帧的硬件地址(MAC 地址)。
地址解析协议 ARP 用来把 IP 地址(虚拟地址)转换为硬件地址(物理地址)。
二、IP 地址的表示方法
IP 地址的表示方法有两种:二进制和点分十进制。
IP 地址是 32 位二进制数字,为方便阅读和从键盘上输入,可把每 8 位二进制数字转换成一个十进制数字,并 用小数点隔开,这就是点分十进制。
三、因特网的域名
因特网的域名分为: 顶级域名 二级域名 三级域名
四级域名
四、域名服务器 DNS (Domain Name Server)
因特网中设有很多的域名服务器 DNS,用来把域名转换为 IP 地址。
五、电子邮件
发送邮件使用的协议——简单邮件传送协议 SMTP (Simple Mail Transfer Protocol) 接收邮件使用的协议——邮局协议版本 3 POP3 (Post Office Protocol version 3) 注:邮件的传送仍然要使用 IP 和 TCP 协议
六、统一资源定位符 URL (Uniform Resource Locator)
URL 用来标识万维网上的各种文档。
因特网上的每一个文档,在整个因特网的范围内具有惟一的标识符 URL。 URL 实际上就是文档在因特网中的地址。
七、超文本传送协议 HTTP (HyperText Transfer Protocol) 万维网客户程序与服务器程序之间的交互遵守超文本传送协议 HTTP。
八、结束语
IP 地址是 32 位二进制数字。为便于阅读和键入,也常使用点分十进制记法。 个人用户上网可向本地 ISP 租用临时的 IP 地址。
域名服务器 DNS 把计算机域名转换为计算机使用的 32 位二进制 IP 地址。 发送电子邮件使用 SMTP 协议,接收电子邮件使用 POP3 协议。
统一资源定位符 URL 惟一地确定了万维网上文档的地址。
超文本传送协议 HTTP 用于万维网浏览器程序和服务器程序的信息交互。
超文本标记语言 HTML 使万维网文档有了统一的格式。
IP 电话不使用 TCP 协议。利用 IP 电话网关使得在普通电话之间可以打 IP 电话。
一、因特网服务提供者 ISP (Internet Service Provider) 根据提供服务的覆盖面积大小以及所拥有的 IP 地址数目的不同,ISP 也分成为不同的层次。
二、两种通信方式
在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:C/S 方式 和 P2P 方式
(Peer-to-Peer,对等方式)。
三、因特网的核心部分
网络核心部分是因特网中最复杂的部分。
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其 他主机通信(即传送或接收各种形式的数据)。
因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。
在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通 常以相对较低速率的链路相连接。
主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用 来转发分组的,即进行分组交换的。
在网络核心部分起特殊作用的是路由器(router)。
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分
最重要的功能。
四、电路交换
电路交换必定是面向连接的。 电路交换的三个阶段:建立连接、通信、释放连接。
五、网络的分类
不同作用范围的网络
广域网 WAN (Wide Area Network)
局域网 LAN (Local Area Network)
城域网 MAN (Metropolitan Area Network)
个人区域网 PAN (Personal Area Network)
从网络的使用者进行分类
公用网 (public network)
专用网 (private network)
用来把用户接入到因特网的网络
接入网 AN (Access Network),它又称为本地接入网或居民接入网。
注:由 ISP 提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。
六、计算机网络的性能指标
速率
带宽
吞吐量
时延(delay 或 latency)
传输时延(发送时延) —— 从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完 毕所需的时间。
传播时延 —— 电磁波在信道中需要传播一定的距离而花费的时间。 注:信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。
处理时延 —— 交换结点为存储转发而进行一些必要的处理所花费的时间。
排队时延 —— 结点缓存队列中分组排队所经历的时延。 总时延 = 发送时延+传播时延+处理时延+处理时延
时延带宽积
利用率 —— 分为信道利用率和网络利用率。
信道利用率——某信道有百分之几的时间是被利用的(有数据通过)。 网络利用率——全网络的信道利用率的加权平均值。 注:信道利用率并非越高越好。
七、网络协议(network protocol) 简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。其组成要素有以下三点:
语法 语义 同步
数据与控制信息的结构或格式 。
需要发出何种控制信息,完成何种动作以及做出何种响应。 事件实现顺序的详细说明。
八、实体、协议、服务和服务访问点
实体(entity)——表示任何可发送或接收信息的硬件或软件进程。 协议——是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。 要实现本层协议,还需要使用下层所提供的服务。
本层的服务用户只能看见服务而无法看见下面的协议。
下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
九、TCP/IP 的体系结构
路由器在转发分组时最高只用到网络层,而没有使用运输层和应用层。
❹ 计算机网络基础知识
计算机网络基础知识
计算机网络它是这样定义的:存在着一个能为用户自动管理的网络操作系统。有它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。下面是我整理的计算机网络基础知识,希望大家认真阅读!
什么是计算机网络
计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
简单地说,计算机网络就是通过电缆、电话线或无线通讯将两台以上的计算机互连起来的集合。
计算机网络的发展经历了面向终端的单级计算机网络、计算机网络对计算机网络和开放式标准化计算机网络三个阶段。
计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是看不见的电磁波)以及相应的应用软件四部分。
计算机网络的主要功能
计算机网络的功能要目的是实现计算机之间的资源共享、网络通信和对计算机的集中管理。除此之外还有负荷均衡、分布处理和提高系统安全与可靠性等功能。
1、资源共享
(1)硬件资源:包括各种类型的计算机、大容量存储设备、计算机外部设备,如彩色打印机、静电绘图仪等。
(2)软件资源:包括各种应用软件、工具软件、系统开发所用的支撑软件、语言处理程序、数据库管理系统等。
(3)数据资源:包括数据库文件、数据库、办公文档资料、企业生产报表等。
(4)信道资源:通信信道可以理解为电信号的传输介质。通信信道的共享是计算机网络中最重要的`共享资源之一。
2、网络通信
通信通道可以传输各种类型的信息,包括数据信息和图形、图像、声音、视频流等各种多媒体信息。
3、分布处理
把要处理的任务分散到各个计算机上运行,而不是集中在一台大型计算机上。这样,不仅可以降低软件设计的复杂性,而且还可以大大提高工作效率和降低成本。
4、集中管理
计算机在没有联网的条件下,每台计算机都是一个“信息孤岛”。在管理这些计算机时,必须分别管理。而计算机联网后,可以在某个中心位置实现对整个网络的管理。如数据库情报检索系统、交通运输部门的定票系统、军事指挥系统等。
5、均衡负荷
当网络中某台计算机的任务负荷太重时,通过网络和应用程序的控制和管理,将作业分散到网络中的其它计算机中,由多台计算机共同完成。
计算机网络的特点
1、可靠性
在一个网络系统中,当一台计算机出现故障时,可立即由系统中的另一台计算机来代替其完成所承担的任务。同样,当网络的一条链路出了故障时可选择其它的通信链路进行连接。
2、高效性
计算机网络系统摆脱了中心计算机控制结构数据传输的局限性,并且信息传递迅速,系统实时性强。网络系统中各相连的计算机能够相互传送数据信息,使相距很远的用户之间能够即时、快速、高效、直接地交换数据。
3、独立性
网络系统中各相连的计算机是相对独立的,它们之间的关系是既互相联系,又相互独立。
4、扩充性
在计算机网络系统中,人们能够很方便、灵活地接入新的计算机,从而达到扩充网络系统功能的目的。
5、廉价性
计算机网络使微机用户也能够分享到大型机的功能特性,充分体现了网络系统的“群体”优势,能节省投资和降低成本。
6、分布性
计算机网络能将分布在不同地理位置的计算机进行互连,可将大型、复杂的综合性问题实行分布式处理。
7、易操作性
对计算机网络用户而言,掌握网络使用技术比掌握大型机使用技术简单,实用性也很强。
计算机网络的结构组成
一个完整的计算机网络系统是由网络硬件和网络软件所组成的。网络硬件是计算机网络系统的物理实现,网络软件是网络系统中的技术支持。两者相互作用,共同完成网络功能。
网络硬件:一般指网络的计算机、传输介质和网络连接设备等。
网络软件:一般指网络操作系统、网络通信协议等
网络硬件的组成
1、主计算机
在一般的局域网中,主机通常被称为服务器,是为客户提供各种服务的计算机,因此对其有一定的技术指标要求,特别是主、辅存储容量及其处理速度要求较高。根据服务器在网络中所提供的服务不同,可将其划分为文件服务器、打印服务器、通信服务器、域名服务器、数据库服务器等。
2、网络工作站
除服务器外,网络上的其余计算机主要是通过执行应用程序来完成工作任务的,我们把这种计算机称为网络工作站或网络客户机,它是网络数据主要的发生场所和使用场所,用户主要是通过使用工作站来利用网络资源并完成自己作业的。
3、网络终端
是用户访问网络的界面,它可以通过主机联入网内,也可以通过通信控制处理机联入网内。
4、通信处理机
一方面作为资源子网的主机、终端连接的接口,将主机和终端连入网内;另一方面它又作为通信子网中分组存储转发结点,完成分组的接收、校验、存储和转发等功能。
5、通信线路
通信线路(链路)是为通信处理机与通信处理机、通信处理机与主机之间提供通信信道。
6、信息变换设备
对信号进行变换,包括:调制解调器、无线通信接收和发送器、用于光纤通信的编码解码器等。
;❺ 计算机网络技术的基础知识
计算机网络技术的基础知识
什么是网络技术?我们将地理位置不同,具有独立功能的多个计算机系统,通过通信设备和线路互相连接起来,使用功能完整的网络软件来实现网络资源共享的大系统,称为计算机网络。下面跟我一起学习了解一些计算机网络技术的基础知识。
计算机网络是什么?
这是首先必须解决的一个问题,绝对是核心概念.我们讲的计算机网络,其实就是利用通讯设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件(即网络通信协议、信息交换方式及网络操作系统等)实现网络中资源共享和信息传递的系统。它的功能最主要的表现在两个方面:一是实现资源共享(包括硬件资源和软件资源的共享);二是在用户之间交换信息。计算机网络的作用是:不仅使分散在网络各处的计算机能共享网上的所有资源,并且为用户提供强有力的通信手段和尽可能完善的服务,从而极大的方便用户。从网管的角度来讲,说白了就是运用技术手段实现网络间的信息传递,同时为用户提供服务。
★计算机网络由哪几个部分组成?
计算机网络通常由三个部分组成,它们是资源子网、通信子网和通信协议.所谓通信子网就是计算机网络中负责数据通信的部分;资源子网是计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作;而通信双方必须共同遵守的规则和约定就称为通信协议,它的存在与否是计算机网络与一般计算机互连系统的根本区别。所以从这一点上来说,我们应该更能明白计算机网络为什么是计算机技术和通信技术发展的产物了。
★计算机网络的种类怎么划分?
现在最常见的划分方法是:按计算机网络覆盖的地理范围的大小,一般分为广域网(WAN)和局域网(LAN)(也有的划分再增加一个城域网(MAN))。顾名思义,所谓广域网无非就是地理上距离较远的网络连接形式,例如闻名的Internet网,Chinanet网就是典型的广域网。而一个局域网的范围通常不超过10公里,并且经常限于一个单一的建筑物或一组相距很近的建筑物.Novell网是目前最流行的.计算机局域网。
★计算机网络的体系结构是什么?
在计算机网络技术中,网络的体系结构指的是通信系统的整体设计,它的目的是为网络硬件、软件、协议、存取控制和拓扑提供标准.现在广泛采用的是开放系统互连OSI(Open SystemInterconnection)的参考模型,它是用物理层、数据链路层、网络层、传送层、对话层、表示层和应用层七个层次描述网络的结构.你应该注重的是,网络体系结构的优劣将直接影响总线、接口和网络的性能.而网络体系结构的要害要素恰恰就是协议和拓扑。目前最常见的网络体系结构有FDDI、以太网、令牌环网和快速以太网等。
★计算机网络的协议是什么?
刚才说过网络体系结构的要害要素之一就是网络协议。而所谓协议(Protocol)就是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述,它的作用和普通话的作用如出一辙。依据网络的不同通常使用Ethernet(以太网)、NetBEUI、IPX/SPX以及TCP/IP协议。Ethernet是总线型协议中最常见的网络低层协议,安装轻易且造价便宜;而NetBEUI可以说是专为小型局域网设计的网络协议。对那些无需跨经路由器与大型主机通信的小型局域网,安装NetBEUI协议就足够了,但假如需要路由到另外的局域网,就必须安装IPX/SPX或TCP/IP协议.前者几乎成了Novell网的代名词,而后者就被闻名的Internet网所采用.非凡是TCP/IP(传输控制协议/网间协议)就是开放系统互连协议中最早的协议之一,也是目前最完全和应用最广的协议,能实现各种不同计算机平台之间的连接、交流和通信。
;❻ 计算机网络自顶向下方法--网络层
R1. 我们回顾一下本书中使用的某些术语。前面讲过,运输层的分组名称是报文段,数据链路层的分组名字是帧。网络层的分组名字是什么?前面讲过,路由器和链路层交换机都称为分组交换机。路由器和链路层交换机间的根本区别是什么?回想我们对数据报网络和虚电路网络都使用术语路由器。
R2. 在数据报网络中,网络层最重要的两个功能是什么?在虚电路网络中,网络层的3个最重要的功能是什么?
R3. 路由选择和转发的区别是什么?
R4. 在数据报网络和虚电路网络中,路由器都使用转发表吗?如果是,描述用于这两类网络的转发表。
R5. 描述某些网络层能为单个分组提供的某些假想的服务。对于分组流进行相同的描述。因特网的网络层为你提供了这些假想服务吗?ATM的CBR服务模型提供了该假想服务吗?ATM的ABR服务模型提供类该假想服务吗?
R6. 列出某些得益于ATM的CBR服务模型的应用。
R7. 讨论为什么在高速路由器的每个输入端口都存储转发表的影子副本。
R8. 4.3节中讨论了3类交换结构。列出并简要讨论每一类交换结构。哪一种(如果有的话)能够跨越交换结构并行发送多个分组?
R9. 描述在输入端口会出现分组丢失的原因。描述在输入端口如何消除分组丢失(不使用无限大缓存区)。
R10. 描述在输出端口出现分组丢失的原因。通过增加交换结构速率,能够防止这种丢失吗?
R11. 什么是HOL阻塞?它出现在输入端口还是输出端口?
R12. 路由器有IP地址吗?如果有,有多少个?
R13. IP地址223.1.3.27的32比特二进制等价形式是什么?
R14. 考察使用DHCP获得它的IP地址,网络掩码,默认路由器和其本地DNS服务器的IP地址的主机。列出这些值。
R15. 假设在一个源主机和一个目的主机之间有3台路由器。不考虑分片,一个从源主机发送给目的主机的IP报文将通过多少个端口?为了将数据报从源移动到目的地需要检索多少个转发表?
R16. 假设某应用每20ms生成一个40字节的数据块,每块封装在一个TCP报文中,TCP报文再封装在一个IP数据报中。每个数据报的开销有多大?应用数据所占的百分比是多少?
R17. 假设主机A向主机B发送封装在一个IP数据报中的TCP报文段。当主机B接收到该数据报时,主机B中的网络层应该如何知道它应当将该报文段(即数据报的有效载荷)交给TCP而不是UDP或某个其他东西呢?
R18. 假定你购买了一个无线路由器并将其与电缆调制解调器相连,并且你的ISP动态地为你连接的设备(即你的无线路由器)分配一个IP地址。还假定你家有5台PC,均使用802.11以无线方式与该无线路由器相连。怎样为这5台PC分配IP地址?该无线路由器使用NAT吗?为什么?
R19. 比较IPv4和IPv6首部字段。它们有某些字段是相同的吗?
R20. 有人说当IPv6通过IPv4路由器建隧道时。IPv6将IPv4隧道作为链路层协议。你同意这种说法吗?为什么?
R21. 比较和对照链路状态和距离向量路由选择算法?
R22. 讨论因特网的等级制组织是怎样使得其能够扩展为数以百万计用户的。
R23. 每个自治系统使用相同的AS内部路由选路算法是必要的吗?为什么?
R24. 考虑图4-37。从D中的初始表开始,假设D收到来自A的下面的通告:
D中的表会改变吗?如果是,怎样变化?
R25. 比较RIP和OSPF使用的通告。
R26. 填空:RIP通告通常宣称到各目的地的跳数。另一方面,BGP则是通告到各目的地的_____?
R27. 为什么在因特网中用到了不同类型的AS间与AS内部选路协议?
R28. 为什么策略考虑对于AS内部协议(如OSPF和RIP)与对于AS间路由选择协议(如BGP)一样重要呢?
R29. 定义和对比下列术语:子网,前缀和BGP路由。
R30. BGP是怎样使用NEXT-HOP属性的?它是怎样使用AS-PATH属性的?
R31. 描述一个较高层ISP的网络管理员在配置BGP时是如何实现策略的。
TODO----HERE
4.6.32 通过多个单播实现广播抽象与通过支持广播的单个网络(路由器)实现广播抽象之间有什么重要区别吗?
答:N次单播效率低,需要知道接收者的地址,消耗大。但是使用广播的话可以通过洪泛方法发送消息。
4.6.33 对于我们学习的3种一般的广播通信方法(无控制洪泛,受控洪泛和生成树广播),下列说法正确吗?可以假定分组不会因缓存溢出而丢失,所有分组以它们发送的顺序交付给链路。
a.一个节点可能接收到同一个分组的多个拷贝。
b.一个节点可能跨越相同的出链路转发多个分组的拷贝。
答:无控制洪泛:a对,b对。受控洪泛:a对,b错。生成树广播:a错,b错。
4.6.34 当一台主机加入一个多播组时,它必须将其IP地址改变为它所加入的多播组的地址吗?
答:对错误。
4.6.35 IGMP和广域多播选路协议所起的作用是什么?
答:IGMP运行在一台主机与其直接相连的路由器之间。IGMP允许主机指定路由器要加入的组播网。然后由组播路由器与运行组播路由协议的其他组播路由器一起工作。
4.6.36 在多播选路场合中,一棵组共享的树与一颗基于源的树之间有什么区别?
答:一个组共享的树来为组中所有发送方分发流量,一个是为每个独立的发送方构建一颗特定源的选路树。
❼ 计算机网络-4-4-转发分组,构建子网和划分超网
上图是一个路由器怎么进行分组转发的例子:有四个A类网络通过三个路由器连接在一起,每一个网络上都可能会有成千上万台主机。若路由表指出每一台主机该进行怎样的转发。则要维护的路由表是非常的庞大。 如果路由表指定到某一个网络如何转发,则路由表中只有4行,每一行对应一个网络。 以路由器2的路由表为例:由于R2同时连接在网络2和网络3上,因此只要目标主机在网络2或者网络3上,都可以通过接口0或者1或者路由器R2直接交付(当然还有使用ARP协议找到这些主机相应的MAC地址)。若目标主机在网络1中,则下一跳路由器为R1,其IP地址为20.0.0.7。路由器R2和R1由于同时连接在网络2上,因此从路由器2把转发分组给R1是很容易的。 我们应当注意到:每一个路由器至少都要拥有两个不同的IP地址。 总之,在路由表中,对每一条路由最主要的是以下两条信息: (目的网络,下一跳地址) 我们根据目的网络地址来确定下一跳路由器,这样可以得到以下结论:
虽然互联网上所有的分组转发都是 基于目的主机所在的网络 ,但是在大多数情况下都允许这样的实例: 对特定的主机指明一个路由 ,这种路由叫 特定主机路由 。采用特定主机路由可以使网络人员方便管理控制网络和测试网络
路由器还可以采用 默认路由 以减少路由表所占用的空间和搜索路由表所使用的时间。
当路由器接收到一个待转发的数据报,在从路由表中得出下一跳路由器的IP地址后,不是把这个地址写入IP数据报,而是送交 数据链路层的网络接口软件 ,网络接口软件把负责下一跳的路由器IP地址转化为硬件地址(必须使用ARP),将硬件地址写入MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。由此可见,当发送一连串的数据报时,上述的这种查找路由表,用ARP得到硬件地址,把硬件地址写入MAC地址首部等过程,将不断地重复进行,造成了一定的开销。
根据以上几点,我们提出 分组转发算法:
这里我们需要强调一下,路由表并没有给分组指明某个网络的完整路径(即先经过哪一个路由器,然后再经过哪一个路由器,等等)。路由表指出,到达某个网络应该先到达某个路由器(下一条路由器),在到达下一跳路由器之后,再继续查找路由表,知道再下一步应当到达哪一个路由器。这样一步步的查找下去,直到最后到达目的网络。
为什么划分子网?
为解决上述问题,从1985年引出 子网络号字段 ,使得两级IP地址变为三级IP地址,这种做法叫做 划分子网(subnetting)【RFC950】 。
划分子网的基本思路:
划分子网的用例
如上图为某单位拥有一个B类IP地址,网络地址为145.13.0.0(网络号为145.13),凡是目的网络为145.13.x.x的数据报都会送到这个网络上路由器R1上。
现在把该网络划分为三个字网,这里假设子网络号占用8位,因此主机号就只剩下16-8=8位了,所划分的三个字网为145.13.3.0,145.13.7.0,145.3.21.0。路由器在接受到145.13.0.0上的路由器数据后,再根据数据报的目的地址把它转化到相应的子网。
总之,当没有划分子网的时候,IP地址是两节结构。划分子网后IP地址就变成了三级结构。划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。
假定有一个IP数据报(其目的地址为145.13.3.10)已经到达了路由器R1,那么这个路由器如何把它转发到子网145.13.3.0呢?
我们知道,从IP数据包报的首部无法看出源主机的目的主机所连接的网络是否进行了子网划分。这是因为32位IP地址本身以及数据报的首部没有包含任何关于子网划分的信息。因此必须另想办法,这就是使用 子网掩码 。
把三级IP地址的子网掩码和收到的目的地址的IP地址 逐位进行与(AND)运算,就可以立即得到网络地址,剩下的步骤就交给路由器处理分组。
使用子网掩码的好处是:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位 与(AND) 运算,就立即得出网络地址来,这样在路由器处理到来的分组时就可采取同样的做法。
在不划分子网时,为什么还要使用子网掩码?这就是为了更便于查找路由表。现在互联网规定:所有网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网路不划分子网,那么该网络的子网掩码就是用 默认的子网掩码 ,默认子网掩码中1的位置和IP地址中的网络号字段net-id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相"与",就应该能够得出该IP地址的网络地址来,这样做可以不用查找该地址的类别位就能够知道这是哪一类的IP地址。显然:
图4-21是这三类IP地址的网络地址和相应的默认子网掩码:
子网掩码是一个网络或者一个子网的重要属性 。在RFC950成为互联网标准后,路由器在和相邻路由器交换路由信息时,必须把自己所在的网络(或子网)的子网掩码告诉相邻路由器,在路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
例4-2:
已知IP地址是141.14.72.24,子网掩码是255.255.192.0,求网络地址:
解: 255.255.192.0的二进制:11111111 11111111 11000000 00000000
IP 141.14.72.24二进制: 11111111 11111111 01001000
00000000
将IP地址二进制与子网掩码二进制进行 与(AND)运算 为 ::11111111 11111111 11000000 00000000
即网络IP为:141.14.64.0
在划分子网的情况下,分组转发的算法必须作出改动。在使用子网划分后,路由表应该包含以下内容:
在划分子网的情况下,路由器转发分组的算法如下:
例4-4:
图4-24有三个字网,两个路由器,以及路由器R1的部分路由表。现在源主机H1向目的主机H2发送分组。试讨论R1收到H1向H2发送的分组后查路由表的过程。
解:
源主机H1向目标主机H2发送的分组的目的地址为128.30.33.138。
源主机H1把本子网的子网掩码255.255.255.128与H2的IP地址128.30.33.128相与得到128.30.33.128,它不等于H1的网络地址(128.30.33.0)。这说明主机H2与主机H1不在同一个网段上,因此H1不能把数据包直接交付给H2。必须交给子网上的默认路由R1,由R1转发。
路由表在接受到这个分组之后,就在其路由表中逐行匹配寻找。
首先看R1路由表的第一行:用这一行的子网掩码255.255.255.128与H2IP地址进行互与,得到128.30.33.128,然后和这一行用样的方法进行第二行,结果发现相与出来的结果和目的网络地址匹配,则说明这个网络(子网2)就是收到的分组所要寻找的目的网络。于是就不用继续找了。R1把分组从接口1直接交付给主机H2(他们都在一个子网上)。
在一个划分子网的网络中可使用几个不同的子网掩码。使用变长 子网掩码VLSM(Variable Length Subnet Mask) 可进一步提高IP地址资源的利用率。在VLSM的基础上又进一步研究出 无分类编制 方法。它的正式名字是无分类域间路由选择CIDR(Classless Inter-Domain Routing)。
CIDR 最主要的特点有两个:
CIDR还使用斜线记法,就是在IP地址后面加上斜线/,然后写上 网络前缀所占的位数 。例如IP地址为128.14.35.7/20是某CIDR地址快中的一个地址,其中前20位就是网络前缀,后面的14位是主机位。如图所示:
当然以上地址的主机号全为0和全为1的地址,一般并不使用,这个地址块共有2^12个地址,我们可以使用地址块中最小的地址和网络前缀来指明这个地址快。例如,上述的地址块可记为128.14.32.0/20。
为了更方便的进行路由选择,CIDR使用了32位的地址掩码(address mask)。地址掩码是由一串1和一串0组成, 而1的个数就是网络前缀的个数。 虽然CIDR不使用子网了,但是出于某些原因,CIDR使用的地址掩码也可以继续称为 子网掩码,斜线记法中,斜线后面的数字就是1的个数 。例如,/20地址快的地址掩码是 11111111 11111111 11110000 00000000 (20个连续的1)。 斜线记法中,斜线后面的数字就是地址掩码中1的个数。
斜线记法还有一个好处就是它除了可以表示一个IP地址外,还提供了一些其他重要的信息。我们举例说明如下:
例如,地址为192.199.170.82/27不仅表示IP地址是192.199.170.82,而且还表示这个地址快的网络前缀有27位(剩下的5位是主机号),因此这个地址快包含32个IP地址( =32)。通过见到那的计算还可以得出,这个地址块的最小地址是192.199.170.64,最大地址是192.199.170.95。具体的计算方法是这样的:找到地址掩码中1和0的交界处发生在地址中的哪一个字节,现在是第四个字节,因此只要把这一个字节的十进制82用二进制表示即可:82的二进制是01010010,取其前3位(这3位加上前3字节的24位就够成了27位),再把后面的5位都写成0,即01000000,等于十进制64,这样就找到了地址快的最小地址192.199.170.64,再把最后面5位都置为1,即01011111,等于十进制的95,这就找到了地址块中的最大地址192.199.170.95。
由于一个CICR地址块有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称之为 路由聚合(route aggregation) ,它使得路由表中的一个项目可以表示原来传统分类地址的很多个路由,路由聚合也称之为 构成超网(supernetting) ,路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
每一个CIDR地址块中的地址数一定是2的整数次幂,这就是 构建超网 的来源。
网络前缀越短 ,其地址块所包含的地址数就越多,而在三级结构的IP地址中,划分子网是使网络前缀变长。
在使用了CIDR时,由于采用网络前缀这种记法,IP地址由网络前缀和主机号这两部分组成,因此在路由表中的项目也要有相应的变化,这时,每个项目由 网络前缀 和 下一跳地址组成 , 但是在查找路由表时可能会得到不止一个匹配结果 ,这样就带来一个问题:我们应该从这些匹配结果中选择哪一条路由呢?
正确的答案是: 应但从匹配结果中选择具有最长网络前缀的路由 ,这就做 最长前缀匹配(long-prefix matching) ,这是因为网络前缀越长,说明其地址块越小因而路由就越具体,最长前缀匹配又称之为 最长匹配 或者 最佳匹配 。
使用CIDR后,由于要寻找最长前缀匹配,使路由表的查找过程变的十分复杂,当路由表的项目数很大的时候,怎样设法减少路由表的平均查找时间就成为了一个非常重要的问题,现在常用的是 二叉线索(binary trie) ,它是一种特殊结构的树,IP地址中从左到右的比特值决定了从根节点逐层向下层延伸的路径,二二叉线索中的各个路径就代表路由表中存放的各个地址。
图4-26用一个例子说明二叉树线索的结构,图中给出了5个IP地址。为了简化二叉线索的结构,可以先找出对应一与每一个IP地址的唯一前缀(unique prefix),所谓唯一前缀就是在表中所有的IP地址中,该前缀时唯一的,这样就可以用这些唯一前缀来构造二叉线索。在进行查找时,只要能够和唯一前缀匹配相匹配就可以了。
从二叉树的根节点自顶向下的深度最多有32层,每一层对应于IP地址中的一位。