华南理工大学《高级计算机网络》复习资料Word文件下载.docx
《华南理工大学《高级计算机网络》复习资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《华南理工大学《高级计算机网络》复习资料Word文件下载.docx(51页珍藏版)》请在冰豆网上搜索。
*主机用来将数据包发送给本身,不能分配给物理接口
*启用Ping命令,测试本地主机TCP/IP配置
【3.未指定地址】
地址:
/128
不能分配给接口,仅作为源地址
【4.唯一本地地址】
从FC00:
/7到FDFF:
/7
在一个站点内或有限站点数之间用作本地地址,在全局不具可路由性。
【6.可聚合全球单播地址】
前缀(FP)=001,第一组16进制数范围:
2000~3FFF
设计目标是聚合或汇总该地址以便产生有效路由基础结构
-ISP商分配的前缀:
/48
-Site拓扑:
由组织机构划分子网
-接口ID:
64(全1可以分配给主机,全0分配给路由)
●接口ID生成方法:
EUI-64、随机生成、手工设置
【特殊单播地址】
IPv6兼容地址:
0:
w.x.y.z或:
w.x.y.z(双协议栈)
IPv4映射地址:
FFFF:
w.x.y.z(IPv6网络中的IPv4节点表示)
【组播地址】
Flags:
用来表示permanent(0000)或临时组播组(0001)
Scope:
表示组播组的范围
GroupID:
组播组ID
例子:
FF02:
1:
链路范围所有节点组播地址
FF02:
2:
链路范围所有路由器组播地址
FF01:
1、FF01:
节点范围。
(高八位不是全1的,即为单播地址)
【被请求节点组播地址】
用于重复地址检测和获取邻居节点
前104位:
1:
FF/104
后24位:
单播地址的后24位
(凡是单播地址后24位相同的接口自动加入相应请求节点组播组)
【任播地址】
●目标地址为任播地址的数据报将发送给最近的一个接口
●适合于One-to-OneofMany的通讯场合
●从单播地址空间中分配,用于标识一组网络接口
●仅能做目标地址,且仅分配给路由器
【一台主机的多IPv6地址】
单播地址:
-每个接口的链路本地地址
-每个接口的单播地址(可以是一个站点本地地址和一个或多个可聚集全球地址)
-回环(loopback)接口的回环地址(:
1)
监听组播地址:
-节点本地范围内所有节点组播地址(FF01:
1);
-链路本地范围内所有节点组播地址(FF02:
-请求节点组播地址(如果主机的某个接口加入请求节点组);
-组播组组播地址(如果主机的某个接口加入任何组播组)
【各类地址的应用范围】
【IPv6子网规划】
●IPv4子网划分是管理地址稀缺性
●IPv6子网划分是根据路由器的数量及它们所支持的网络来构建寻址分层结构
(IPv6可以利用接口ID继续划分子网)
[Part2].IPv6地址配置
【配置方式】
手工配置
无状态地址自动配置(ND协议)
有状态地址自动配置(DHCPv6)
【手工配置】
【无状态地址自动配置(SLAAC)】
●无须任何配置即可和外界通信,真正的即插即用(没有维护网络地址信息的服务器)
●地址结构:
64位前缀,和路由器前缀一致;
64位EUI-64
●ND协议也即邻居发现协议,包括:
RouterSolicitationRouterAdvertisement、NeighborSolicitation、NeighborAdvertisement、Redirect(RS,RA,NS,NA,Redirect)
【SLAAC消息】
RouterSolicitation(RS):
主机向路由器发送请求报文,促使路由器发送Routeradvertisment消息(通过FF02:
2)地址
RouterAdvertisement(RA):
路由器向主机通告前缀等信息(通过FF02:
1地址)
*两者都为ICMP报文
【SLAAC三个机制】
路由器发现:
*主机选择默认网关
*主机发现前缀,生成前缀列表
*参数发现:
发现相关参数,如MTU,跳数限制、地址配置方式等
重复地址检测(DAD):
*是节点确定即将使用的地址是否在链路上唯一的过程
*所有单播地址,不管是自动配置还是手动配置,都必须要通过DAD
*DAD机制通过ND中的NS/NA两种消息实现:
1.节点发送NeighborSolicitation;
2.如果收到NeighborAdvertisment就证明地址重复
(a.接收者如果发现其中的Target域中的地址对它而言是tentative的,则放弃使用这个地址;
b.如果发现其中的Target域中的地址是一个它正在使用的地址,则发送NeighborAdvertisment消息);
3.尝试若干次发送请求,都没有收到邻居通告,即可启用该地址
前缀重新编址(Redirect):
1.允许网络从以前的前缀平稳地过渡到新的前缀,提供对用户透明的网络重新编址能力
2.在前缀重新编址时,路由器会继续通告当前前缀,只是优先时间和有效时间被减小到接近0,同时,路由器开始通告新的前缀,这样,链路中至少有两个前缀共存
3.节点收到这样的RA,会发现当前前缀的生命周期较短,停止使用;
同时开始用新的前缀配置接口,并进行DAD,通过后获得新地址使用
【SLAAC注意事项】
*为避免RS泛滥,节点启动时最多只能发送3个RS
*主机收到路由器的RA之后,自动设置默认路由器,建立
默认路由器列表、前缀列表及其它参数
*路由器会主动周期性地发送RA(默认值200秒)
*自动配置的IPv6地址在系统中有一个生存周期,跟优先
时间和有效时间有关:
(1)在PreferredLifetime周期内的前缀生成的地址,任何上层应用都可不受限制地使用;
(2)在超过PreferredLifetime但未超过ValidLifetime周期内的前缀生成的地址,正在使用该地址的上层应用可继续使用,但任何新的上层应用不能使用这个地址;
(3)在超过ValidLifetime周期内的前缀构造的地址,任何上层应用都不能使用该地址
其中,tentative地址为进行DAD之前的地址。
一个链路本地地址的优先时间和有效时间是无限的,永不超时。
【RA消息中的M、O】
M=0,O=0:
使用SLAAC(使用RA)
M=0,O=1:
使用无状态DHCP:
SLAAC和DHCPv6
(使用RA和DHCPv6服务器)
M=1,不含O:
使用有状态DHCPv6(使用DHCPv6服务器)
【前缀重新编址中的2个地址】
在转换期间,节点有两个单播地址使用:
-旧地址:
基于旧的前缀,用以维持以前已经建立的连接;
-新地址:
基于新的前缀,用来建立新的连接
当旧的前缀的有效时间递减为0时,旧的前缀完全废止,此时,RA中只包含新的前缀
【DHCP工作原理】
DHCP客户发送请求广播
DHCP服务器单播应答
DHCP客户接收应答,获取IP等信息
【DHCP运行方式】
(1)DHCP客户机在本地发送DHCPDISCOVER广播包;
(2)DHCP服务器单播发送携带租约信息的DHCPOFFER包;
(3)DHCP客户机确认租约信息并发送DHCPREQUEST广播包;
(4)DHCP服务器单播送回DHCPACK確认完成IP地址租用
【DHCP地址分配】
●自动分配-由DHCP分配一个永久的IP。
●手动分配-网络管理员预先安排分配,由DHCP转达。
●动态分配-由DHCP分配具有租约期的IP。
【有SLAAC为何需要DHCPv6】
●需要动态指定DNS服务时
●当不希望MAC地址成为IPv6地址的一部分时
●当需要良好的扩展性时
【DHCPv6特点】
1.使用UDP来交换报文,546/547
2.使用本地链路地址或其它机制获得的地址发送和接收DHCPv6报文
3.没有广播,客户机只需发送给链路范围组播地址(FF02:
2)
4.取消了DHCPv4中的Discover和Offer消息
【DHCPv6获取地址和参数的典型过程】
DHCP和SLAAC是无状态全局单播地址配置的2种方式。
[Part3].IPv6报文
【IPv4与IPv6报文】
IPv6扩展报头:
Pv6将一些IP层的可选功能实现在上层封装和基本IPv6基本头部之后的扩展头部中
主要的扩展报头:
逐跳选项、路由报头、分段报头、认证报头、封装安全有效载荷报头、目标选项
报文变化总结:
修正项
32位->
128位
TimetoLive(生存时间)->
HopLimit(跳数限制)
Protocol(协议)->
NextHeader(下一个头)
TypeofService(服务类型)->
TrafficClass(业务等级)
删掉的项
Fragmentationfields(分段偏移量)
IPoptions(标志、标识符)
HeaderChecksumeliminated(报头校验和)
HeaderLengthfield(报头长)
Lengthfield(数据总长度)
增加的项
FlowLabel(流标识)
【扩展报头顺序】
逐跳选项报头目标选项报头1(当存在路由报头时,用于中间目标)路由报头片段报头身份验证报头封装安全有效载荷报头目标选项报头2(用于最终目标)
【ICMPv4与ICMPv6】
●ICMPv6保留了ICMPv4的常用功能
-如回声请求、抑制消息、重定向、参数错误等
●还进行了很大的扩展(ARP、IGMP)
-邻居发现
-无状态地址配置
-路径MTU发现(PMTU)
【ICMPv6报文类型】
差错报文,通告IPv6分组传输中出现的错误:
-目标不可达、数据包超长、超时、参数问题
信息报文,提供诊断和附加的主机功能:
-MLD、ND(ARP,redirect…)、回声请求(128)和应答(129)
【ICMPv6报文格式】
差错报文:
Type=0×
×
=0~127
信息报文:
Type=1×
=128~255
【ICMPv6三个应用】
●Ping
●Tracert
-第一个请求:
HopLim=1
-第一跳路由器收到,发送超时消息
-得到第一跳路由器的信息
-第二个请求:
HopLim=2
-第二跳路由器收到,发送超时消息
-得到第二跳路由器的信息
-。
-直到目的地,目的机通常发送端口不可达报
●PMTU发现
*MTU:
最大传输单元(载重能力)
*IPv4网络可能由路由器承担分段;
易遭受分片型攻击
*IPv6规定分段不能由路由器承担,只能由发送方分段
*要求源节点,必须在发送数据前知道整个传送路径的最小MTU
PMTU发现原理(试探)
如,源机发送MTU=1500数据包,B返回超长消息,指定MTU=1400
【源和目的在同一链路的数据转发】
(路由:
为一个数据分组找到一根能够到达目的地的路径)
*类似于IPv4同一网段的数据路由
*通过地址前缀判断是否同一链路:
on-link
*发起地址解析(不同于v4的ARP)
-独立于媒体层、利用三层安全机制、改广播为组播,降低了骚扰范围
*由ND协议完成
【ND协议】
协议报文为ICMP报文,其中Type:
RS(133)、RA(134)、NS(135)、NA(136)、Redirect(137)
【IPv6地址解析】
(1)首先查找邻居缓存表,没有则进行地址解析(类似于ARP表)
(2)源主机发送组播NS报文,该报文的目的地址为目标IPv6地址所对应的请求节点组播地址(Solicited-node),在其中也包含了自己的链路层地址;
(3)目标主机收到NS报文后,就会了解到发送主机的IPv6地址和相应链路层地址;
(4)目标主机向源单播发送主机发送一个邻接点公告报文(NA),该报文中包含自己的链路层地址。
(单播)
【源和目的不在同一链路的数据转发】
主机发给哪个路由器?
(主机-路由器):
1.具有一个合法的IPv6地址
2.一条目的包含PC2,下一跳RT1的路由
路由器发给哪个路由器?
(路由器-路由器)
核心:
路由表(包括静态路由IPv4/6:
ip/ipv6route和动态路由)
【DestinationCache(目的缓存表)】
IPv6独有的一个数据结构,ShowDestinationCache
●初始时为空;
●某个地址在表中查不到时,改查路由表,做on-link判断:
-是on-link的,将目的地址本身加入DC表的nexthop域;
-是off-link的,将路由表中的下一跳加入DC的nexthop域。
【IPv4、IPv6共存技术】
双栈:
网络设备上运行IPv6/IPv4双协议栈
隧道:
IPv6网络上承载IPv4分组,或相反
翻译/转换:
地址、分组、端口的转换
【双栈技术】
●适用于混合环境
●基础设施设备,如路由器、交换机、公用服务器等,需要运行和支持双栈
●非基础设施设备:
单协议或双协议
(使用高优先级地址,IPv6失败再尝试IPv4)
【隧道技术】
●手动隧道:
事前配置
●自动隧道:
创建和拆除都依赖当前网络条件
-IPv6分组作为载荷搭载到IPv4分组中,在这种情形下,IPv4分组头部的protocol=41。
(v4转v6一样道理)
【翻译/转换技术】
●从IPv4转换到IPv6,或反过来,不仅发生在网络层,还有传输层和应用层。
●当双栈和隧道都无法使用的时候,才使用;
适用纯IPv4节点和纯IPv6节点间的通信
[Part4].IPv4回顾
【OSI、TCP/IP模型】
【地址分类】
【特殊IP地址】
32位全为0(0.0.0.0):
Cisco路由器指定的默认路由
32位全为1(255.255.255.255):
Flood(local)Broadcast
主机部分全为0(如172.16.0.0):
网络地址
主机部分全为1,(如172.16.255.255):
DirectBroadcast
127.0.0.0:
LookbackNetwork
127.0.0.1:
Lookbacktest
[Part5].路由及DV
【路由器的基本功能】
(网络层的主要功能:
最主要的功能是将分组从源机经选定的路由送到目的机。
这主要是路由器的功劳)
●收到数据报后路由器的工作步骤
(1)打开数据报,读取头部信息
(2)确定目标网络地址
(3)查找路由表,重新打包后转发到相应的接口
上面的步骤完成了路由器的基本功能:
路由选择:
转发表建立和维护的过程
-1个或更多的路由选择协议
-将路由信息注入到转发表中
转发(交换):
将分组从入口移到出口的过程,依据:
-转发表(路由表)
-分组中携带的信息
【分组转发(交换)技术】
●Sourcerouting(源路由)
-分组携带路径
●Tableofvirtualcircuits(虚电路)
-穿越网络建立链接及状态
-使用链接转发分组
●Tableofglobaladdresses(IP,数据报交换)
-路由器维持到目的地的下一条
-分组需要携带目的地地址
【源路由】
分组中列出整个路径,路由器处理的步骤:
(1)检查路径上的第一步
(2)从分组中剥离路径上的第一步
(3)将分组转发到剥离的那一步上
优点:
可以很简单和快速地完成转发
缺点:
报头可变、源必须知道和发现拓扑
应用:
Ad-hocnetworks(DSR)
【虚电路】
●连接建立过程
-处理连接请求
-每个路由器在本地链路上分配流ID
-为每个流创建入口-出口映射
●每个分组携带着链接ID
-源发送分组到第一跳,并携带链接ID
●路由器处理过程
-查找流ID
-用出口流ID置换分组中的流ID
-转发到出口
●优点
-更加有效的查找(simpletablelookup)
-链接建立的时候即可预留带宽
-易于硬件实现
●缺点
-链接建立时仍需路由
-错误恢复更复杂(重创链接)
●典型应用
-ATM–固定的信元
-MPLS–为IP网络设计的标签交换
【数据报交换】
路由器维持到目的地下一跳(维持路由表),分组需要携带目的地地址
-无状态:
无差错恢复
-每个路由器原则上要知道每个目的地,可导致超大路由表
-到同一目的地的分组选取同样的路径
【路由表】
含网络地址、接口、计量值(跳数)、网络掩码、网关等信息
【路由】
根据数据包目的ip地址(目的网络地址)决定下一跳如何转发
静态路由:
由网络管理员手工输入。
动态路由:
通过路由选择协议自动适应网络拓扑或流量变化。
【静态路由配置】
(1)确定目的网络的地址和掩码,确定下一跳地址或转发数据包的本地接口。
(2)进入全局配置模式。
(3)使用iproute命令添加路由。
(4)退出全局配置模式。
(5)使用copyrunning-configstartup-config将配置保存到nvram里面
第(3)步语法:
iprouteprefixmask{address|interface}[distance]
-使用接口,路由器知道从哪里转发出去,更高效
-使用地址需要第二次查找,以确定转发接口
【管理距离】
重要的管理距离:
0、1、110、120
●直连网络的管理距离为0
●静态路由的管理距离为1
●值越小,越可信、可靠,有多条路由选择时依据此选择
●出于备份目的的静态路由,只有当其它动态路由失效时才起作用,可以配置它的管理距离,让他高过动态协议相应的管理距离
【静态路由使用场合】
●拓扑长期不变,无须学习,可节约路由器学习维护开销
●存根网络(stub),可配置默认路由
-减小学习维护开销
-缩减路由表的规模
●避免错误地丢弃分组
【动态路由协议】
●内部网关协议
-路由信息协议(RIP)(典型DV协议)
-开放最短路径优先(OSPF)(典型的LS协议)
-内部网关路由协议(IGRP)
-增强内部网关路由协议(EIGRP)
●外部网关协议
-边界网关协议(BGP)
【DV工作原理】
●每个路由器维护两个向量Di和Si来表示该点到网上所有节点的路径距离及其下一个节点
●相邻路由器之间交换路径信息
●各节点根据路径信息更新路由表
dij=Min{dix+dxj,dij}(x∈邻居点)
【DV优缺点】
●优点:
-算法简单
●缺点:
-交换的路径信息量大
-路径信息传播慢,使得路径信息可能不一致。
-收敛速度慢,存在无穷计算问题。
-不适合大型网络
【RIP特点】
●RIP是一种距离矢量路由协议。
●RIP使用跳数作为路由选择的度量。
●当到达目的网络的跳数超过15跳,数据包将被丢掉。
●缺省地,RIP路由更新广播周期为30秒
【RIPv1报文格式】
Command:
报文类型,1为request,2为reponse
Version:
RIP版本号
AFI:
必须为2,表示为IP地址族
【RIPv2报文格式】
Routertag:
外部路由标记
【RIP缺点】
●超过15跳便无法到达
●协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性
●该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢
【DV存在的问题】
●表现
-路由环路(routingloop)
-计数到无穷问题
-收敛慢的问题
●原因:
相信错误信息导致
【DV上述问题解决办法】
●定义路径代价的最大值(Maximum)
-超过该值就认为不可达,扔弃
●提高收敛速度
水平分割(SplitHorizon)
当路由器从某个网络接口大宋RIP路由更新报文时,其中不能包含从该接口获取的路径信息。
毒性逆转(PoisonReverse)
与水平分割类似,区别在于,包含从该接口获取的路径信息,但是距离设为无穷
抑制定时器(Hold-DownTimers)
在某邻居节点发生故障时,启动抑制计时器,在计时期内:
-若节点down转为up,关闭计时器,保留原有信息。
-若收到另一邻居关于这个节点的信息,且比原路径短,则关闭计时器,更新信息。
-上述2种情况不发生,则更新路由为信宿不可达。
触发更新(TriggeredUpdates)
一旦发现某一些路由表项发生变化,就立即广播路由更新报文,而不必等待下一次刷新周期
【RIP运行机制】
●当路由器启动RIP后,以组播向邻居发送信息请求
●邻居收到请求信息,发送整个路由表作为响应;
●此后,周期性交互消息(路由表)
●路由器检测到路由变化时,组播更新消息给邻居
【DV特点】
●采用最短路径准则,计算D信宿(距离,下站);