网络技术问答.docx
- 文档编号:6655314
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:22
- 大小:727.50KB
网络技术问答.docx
《网络技术问答.docx》由会员分享,可在线阅读,更多相关《网络技术问答.docx(22页珍藏版)》请在冰豆网上搜索。
网络技术问答
stp如何避免环路?
SpanningTreeProtocol(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生,这样当你有环的时候他只是宕掉某个端口,而不是整个交换机全部宕掉.当环路消失时,断开的接口被激活,恢复通信,起备份线路的作用.
STP的基本思想就是生成“一棵树,”,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。
由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。
当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
Stp&rstp端口角色、状态?
状态
Stp
Rstp
学习mac?
禁用
丢
N
阻塞
丢
N
监听
丢
N
学习
学习
Y
转发
转发
Y
角色
Rstp
Stp
根端口
根端口
指定端口
指定端口
代替/备份端口
阻塞端口
禁用端口
根网桥的选举?
最小的网桥id即bridgeid拥有者成为根网桥
网桥id由8个字节组成其中包括2个字节的优先级和6个字节的mac地址cisco的默认优先级是32768十六进制为0x9000范围是0到65535
选举的步骤,
1假定自己是根网桥,发送出bpdu
2每个接收到该bpdu的交换机分析该bpdu报文并比较网桥id网桥小的成为根网桥。
在比较优先级时如果相等则比较mac地址
3经过一段时间,生成树的收敛,所有交换机都同意某交换机成为根网桥。
4若有新的交换机加入到top中来,首先他会通告自己为跟桥,其他交换机比较后将他当作根网桥记录下来。
根端口的竞选?
1确定根交换机
2最低的到达根网桥的路径开销cost
3最低的网桥id
4最低的端口id
指定端口的竞选?
1最低的到达根网桥的路径开销cost
[开销是从根桥计算的,根桥从其接口上通告BPDU时,BPDU中的默认开销是0。
与其相连的交换机受到此BPDU时,它以BPDU入站端口的开销作为增量。
如果此端口是一个快速以太网端口,则开销是0(到跟交换机的开销)+19(此交换机的端口成本)=19。
此交换机向其后的交换机通告BPDU时将在通告中包括已更新的开销。
也就是说是在BPDU进入端口时开销增加而不是离开时增加。
]
2最低的网桥id
3最低的端口id
Bpdu结构?
协议id-16bit
版本-8bit
Bpud类型(配置/TCN)-8
标记
根网桥id(优先级2B,mac6B)
根路径成本-4B
发送网桥id
端口id-2B
报文老化时间
信息寿命
根hello时间
转发延迟
STP在交换机之间运行,交换配置信息,就是靠BPDU实现的。
BPDU每隔2秒,以Multicast的方式发送,在designateport上被发送。
通过BPDU信息的交换,我们能够:
1、为整个STP网络找到一个rootswitch,也叫rootbridge
2、为每个网段选举一个designateswitch,或者说designatebridge
3、通过设置某些端口为backup状态,来打破环路
正常情况下,交换机只会从它的RootPort上接收configurationBPDU包,但是绝不会主动发送configurationBPDU包给rootbridge。
这里就需要提到第二种类型的BPDU包了,也就是TopologyChangeNotification(TCN)BPDU。
这样,当一台交换机检测到拓扑变化后,它就可以发送TCN给rootbridge,注意TCN是通过rootport向rootbridge方向发出的.
当交换机从它的designateport接收到TCN类BPDU时,它必须为其做转发,从它自已的rootport上发送出去TCN类型的BPDU包,这样一级一级地传到rootbridge后,TCN的任务才算完成.
在以上的过程中,无论是哪台交换机从它的designateport上收到了TCN类型的BPDU包,它都必须给一个回复,必须从designateport上发出TCA位被置1的normalconfigurationBPDU包,注意,这里是正常的configurationBPDU包.它的TCA位被置1,表明是要给TCN以回复的,但它跟TCN不是一类型的包.
那么当TCN传遍全网,直至到达ROOTBRIDGE后,rootbridge也要做出一种回应,它会发出一个正常的configurationBPDU包,当然会有一些不同,就是包内的TC字段会被置1,TC即topologychange,表示发现拓扑变化.这个包会被所有交换机转发,同样的TC位会置1,直至传遍全网,所有交换机都得知拓扑变化为止.
路由器、(2层3层)交换机区别?
第一、路由器的数据转发是采用逐包转发方式,即每个数据包都单独的查找路由表然后进行转发。
而三层交换机多是采用流式转发方式,只对每个数据流中的第一个数据包进行路由表查找,后续的数据包按照第一个包的转发路径直接转发。
第二、路由器的数据转发是基于软件实现的。
三层交换机的数据转发是基于硬件实现的。
基于以上两点原因三层交换机的数据包转发速率要比路由器快。
通常在内部网络中需要进行数据路由的时候我们可以选择使用三层交换机而获得更好的性能。
但在广域网的互联中我们仍然是采用传统的路由器来完成数据的路由,以获得更完善的功能和多协议的支持。
这两个如果在实现vlan间互通,是没区别的,我也经常在考虑这个问题。
但是如果一个网络没有路由器,仅靠一个三层交换机恐怕是支撑不住的,三层交换虽具有转发功能,但是转发能力却是有限的,毕竟它是依靠端口转发而不是ip转发。
路由器支持的协议,rip,ospf,bgp,vrrp等,而三层交换机据我所知,ei增强版好像只支持静态rip,ospf,至于路由器所支持的bgp,vrrp,虽然咱不常用,但用的时候,是一个三层交换机无法代替的
站在三层交换机的角度来说,它具有二层功能和基本的三层路由功能。
它可以划分vlan,隔离技术,访问控制策略,此时,它和路由器相比,二层功能是路由器多无法比拟的。
Ospf如何避免环路?
OSPF区域内就是靠链路状态数据库,区域间防环,是靠传递各类LSA使用的逻辑上的水平分割算法,还有针对LSA的校验与判断其新旧的手段其实也是起到防环的目的。
OSPF(OpenShortestPathFirst开放式最短路径优先)是一个内部网关协议(InteriorGatewayProtocol,简称IGP),用于在单一自治系统(autonomoussystem,AS)内决策路由。
是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。
著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。
OSPFv2是由RFC2328定义的,OSPFv3是由RFC5340定义的。
与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
OSPF路由协议不存在路由环路的概念。
因为ospf路由器之间传送的不是直接的路由信息而是链路状态信息(LSA),每个路由器维护一个链路状态数据库。
OSPF路由器通过链路状态数据库计算出一条以自己为根的最短路径优先树。
在一个ospf区域内各路由器的链路状态数据库是一致的。
所以不会产生环路。
Rip如何避免环路?
路由毒化
水平分割
毒性逆转
定义最大跳数:
16
抑制时间,和路由毒化结合使用
(1)触发更新
若网络中没有变化,则按通常的30秒间隔发送更新信息。
但若有变化,路由器就立即发送其新的路由表。
触发更新可提高稳定性。
每一个路由器在收到有变化的更新信息时就立即发出新的信息,这比平均的15秒要少得多。
虽然触发更新可大大地改进路由选择,但它不能解决所有的路由选择问题。
例如,用这种方法不能处理路由器出故障的问题。
(2)水平分割
水平分割(splithorizons):
接口不回送收到了路由更新信息。
因为这是已经知道了的信息,因而是不需要的。
水平分割可明显地提高稳定性。
(3)毒性逆转
毒性逆转(poisonreverse)是水平分割的一种变型。
但是,接口回送收到的路由信息,并将其度量置为16。
(4)抑制计时(holddowntimer)
一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。
如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。
这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。
(5)路由毒化:
在发往其他路由跟新中将路由标记为不可达(metric=16)。
接到此条路由的都会删除原有的路有条目。
Bgp如何防止环路?
BGP的防环机制主要有2条:
第一是AS内部防环:
通过IBGP水平分割来实现的,IBGP水平分割的基本思想是不把从IBGP邻居学到的路由传递给其他IBGP邻居
第二是AS间的防环:
通过属性AS-PATH来实现,基本思想是:
如果某台BGP路由器从其外部对等体收到某条路由的AS_PATH中包含有自己的AS号那么该路由器就知道出现了环路,因而丢弃该路由
至于楼上说的BGP同步,我觉的并不是用来防止环路,BGP同步主要是为了避免不必要的路由黑洞,
同步的定义:
学习来自IBGP邻居的路由在进入IGP路由表或被宣告给EBGP对等体之前,必须首先通过IGP来知晓该路由。
IBGP、EBGP、IGP、BGP区别?
在自治系统内部使用IGP路由协议(代表是ospf(企业网),isis(大网中),rip已经淘汰,eigrp为思科公司私有协议,bgp是目前唯一的egp,也就是边界网络协议),
在不同自治系统之间使用BGP路由协议(严格来讲BGP不是路由协议,分EBGP和IBGP).
EBGP在不同的AS之间提供路由的传递以及路由的控制。
EBGP与IBGP的区别:
1、路由环路的避免措施不一样,IBGP强制规定ibgpspeaker不允许把从一个ibgp邻居学习到的前缀传递给其它ibgp邻居,因此IBGP要求逻辑全连接。
EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。
2、使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。
3、IBGP有同步的要求,而EBGP没有同步的要求
4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。
为什么要有IBGP?
1、IGP处理路由的条目有限,而目前internet上核心路由器的路由表已经超过10万条。
假如没有IBGP,那么这些路由只能采取重分发的方式直接导入到IGP中,这样做的缺点很明显:
第一,IGP协议本身无法处理这样大的路由数量;
第二,如果非要让IGP来处理,那么根据IGP的处理原则,假如这10万路由中任何一条路由发生变化,那么运行IGP的路由器就不得不重新计算路由,更为严重的是,假如其中某一条路由出现路由抖动的情况,例如端口反复UP/DOWN,这会导致所有的IGP路由器每时每刻都不得不把10万条路由重新计算一遍,这种计算量对于绝大多数路由器来说是无法负担的。
另外对于运行RIPV1的路由器来说,10万条路由的定期更新,这根本就是无法接受的事情,除去带宽占用率不谈,我想,也只有少量高端的GSR以及TSR能够有这样的性能吧。
例如:
AS100----AS200---AS300,假定AS100/200/300各有100台路由器,而AS100中有1W条路由要传递要AS300中,而AS200的路由器不需要学习AS100的路由。
如果没有IBGP的话,那么这1W条路由都必须被重分发到AS200的IGP中去,这样的话,相当于AS200中所有的100台路由器都增加了1W条路由。
如果利用IBGP的话,那么AS200中只有运行IBGP的路由器会学习到这1W条路由,其它运行IGP的路由器都不会学习到这1W条路由。
并且由于BGP的路由控制能力大大强于IGP的路由控制能力,因此运行IBGP的路由器比运行IGP的路由器能更好的对这1W条路由做一些路由策略的处理,从而保证整个AS内部的路由器学习到的路由数目可以控制在可接受的范围之内。
2、路由环路的问题。
BGP是靠路由属性来防止路由环路的,例如AS_PATH属性,假如说没有IBGP协议,那么当所有BGP路由重分发到IGP中后,路由属性必然丢失,这就破坏了BGP的路由环路防止机制,产生了路由环路的隐患。
Ospfstub&nssa?
stub区域不能存在外部路由,stub区域引入的路由也不能发布出去
完全stub区域在stub区域的基础上过滤了3类lsa,连区域间的路由都省去了,只靠一条默认路由和骨干区域互通
nssa区域是在stub区域上改造的折中方案,最大的区别就是存在asbr,能将nssa中引入的路由发布到别的区域
STUB区域的意义禁止4,5类的LSA进入该区域,允许1,2,3类进入,它自己不允许引入外部路由。
NSSA区域就是nosostub,就是没那么严格的stub,区别在于自己可以引入外部路由并发送出去,但还是不接收别的区域过来的外部路由;
STUB和NSSA前面加个完全,就说明连其他区域过来的3类LSA都不要了,那怎么到其他区域呢,就是靠这个区域内的ABR来发送缺省路由给区域内的路由器。
关于ospf的stub:
OSPFStub是一个末梢区域,当一个OSPF区域处于整个自治系统边界时,而又不含其他路由协议,这时就可以配置OSPFStub区域。
当配置OSPFStub区域后,Stub区域中的路由器会增加一条至ABR的默认路由条目,当在ABR上配置了完全末梢区域后(totallystub),末梢区域的其他路由器的路由条目除了直连的路由条目外,只有一条到达ABR的路由条目默认路由,不会学习其他区域的路由条目,到其他区域的数据包通过ABR转发。
这样减少了末梢区域其他路由器的路由条目,提高路由器的性能,由于stub区域不能传递5类LSA的,意思就是区域外的ASE路由(自治系统外的路由)无法传递到stub内部,区域内的ASE路由无法传递,也不能被其他区域所学习。
但是在一个网络中所有的路由器上都配置OSPF,而不使用静态路由或者其他路由协议的情况几乎是不存在的。
比如用户拨号上网时使用的接入服务器就需要连接路由器上因特网,但通常接入服务器上并不支持(也不需要)OSPF协议,而是通过配置静态路由实现路由功能。
很多时候ISP为了保密或易于管理的需要,在连接用户侧的路由器时使用静态路由。
——这儿就是说STUB区域的适用条件是很少的,可以说不不存在的。
关于NSSA:
所以为了弥补缺陷,从而产生NSSA区域,NSSA区域不允许5类LSA在区域内传递,但是允许7类LSA在区域类传递,7类LSA是nssa引入ASE路由而产生的,而7类LSA在ABR上会转换成5类LSA传递到其他区域,这就取消了STUB关于ASE的双向传播的限制(区域外的进不来,区域里的也出不去),改为单向限制(区域外的进不来,区域里的能出去)。
Ospflsa?
1、路由器LSA(RouterLSA)由区域内所有路由器产生,并且只能在本个区域内泛洪广播。
这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。
LSA传播范围:
本域内传递,不穿越ABR(边界路由器)LSA通告路由器:
本路由器的RouterIDLSA链路状态ID:
本路由器的RouterIDLSA包含的内容:
本路由器的直连邻居,以及直连接口的信息2、网络LSA(NetworkLSA)由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。
网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。
LSA传播范围:
本域(存在以太网络连接的域)内传递,不穿越ABR(边界路由器)LSA通告路由器:
DR的RouterIDLSA链路状态ID:
DR的接口IPLSA包含的内容:
MA网络中的路由器以及本网的掩码信息和DR路由器本身的RouterID
3、网络汇总LSA(NetworksummaryLSA)由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。
在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。
如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。
LSA传播范围:
域间路由,能泛洪到整个AS中,始发路由器除外。
LSA通告路由器:
ABR的RouterID(经过一个ABR,就会改为这个ABR的RouterID)LSA链路状态ID:
网络号LSA包含的内容:
本区域中的路由信息,包括网络号和掩码4、ASBR汇总LSA(ASBRsummaryLSA)也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。
LSA传播范围:
泛洪到整个AS中,(把ASBR的RouterID传播到其他区域,让其他区域的路由器得知ASBR的位置。
)LSA通告路由器:
ABR的RouterID(经过一个ABR,就会改为这个ABR的RouterID)LSA链路状态ID:
ASBR的RouterIDLSA包含的内容:
本区域中的路由信息,包括网络号和掩码注意:
在ASBR直连的区域内,不会产生4类的LSA,因为ASBR会发出1类的LSA,其中会指明自己是ASBR。
5、自治系统外部LSA(AutonomoussystemexternalLSA)由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。
自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。
LSA传播范围:
域外路由,不属于某个区域,一个LSA即是一条路由信息LSA通告路由器:
ASBR的RouterID,通告路由器不会发生改变LSA链路状态ID:
网络号LSA包含的内容:
将外部自治系统传递进来,包含着域外的路由信息6、组成员LSA(GroupmembershipLSA)*目前不支持组播OSPF(MOSPF协议)7、NSSA外部LSA(NSSAExternalLSA)由ASBR产生,几乎和LSA5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。
在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA5报文,但是NSSA中不能有LSA5报文,所有ASBR产生LSA7报文,发给本区域的路由器。
Osi7层tcp/Ip4层?
Tcp&udp?
首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系。
TCP/IP协议是一个协议簇。
里面包括很多协议的。
UDP只是其中的一个。
之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。
TCP/IP协议集包括应用层,传输层,网络层,网络访问层。
(对比osi7层)
(arp、rarp网络层协议,工作内容属于数链层)
2、网络互连层
为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。
因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。
网络互连层定义了分组格式和协议,即IP协议(InternetProtocol)。
网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。
除此之外,网络互连层还需要完成拥塞控制的功能。
3、传输层
在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。
在传输层定义了两种服务质量不同的协议。
即:
传输控制协议TCP(transmissioncontrolprotocol)和用户数据报协议UDP(userdatagramprotocol)。
TCP协议是一个面向连接的、可靠的协议。
它将一台主机发出的字节流无差错地发往互联网上的其他主机。
在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。
在接收端,它负责把收到的报文进行重组后递交给上层。
TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。
UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。
Data->字节流->报文段(分组)->帧
mtu是最大的TCP/IP传输单元(MaximumTransmissionUnit,MTU)
是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。
在TCP/IP协议中,将要传输的数据分成较小的组进行传输,每个组的大小为576字节。
Windows默认的字节为1500,这是以太网的分组标准。
ADSL使用的PPPoE略小于这个数值,一般为1492。
而某些网站采用的MaxMTU大于1492,所以,可能导致某些网页不能访问。
修改Windows默认的MaxMTU可以解决这个问题。
不论是PC机上安装的PPPoE软件或者是内置在Modem的PPPoE软件,在使用中都有可能遇到这个问题。
如果使用路由器出现此种情况,请在防火墙配置=>基本设定里,将MTU改为手工,设置为1492即可.那如何确定路由器从ISP获得的MTU为1500.
Ip、tcp、udp、数据链路层报文格式?
Tcp/ip报文
Ip报文头
●总长度字段:
占16比特。
指明整个数据报的长度(以字节为单位)。
最大长度为65535字节。
●标志字段:
占16比特。
用来唯一地标识主机发送的每一份数据报。
通常每发一份报文,它的值会加1。
●标志位字段:
占3比特。
标志一份数据报是否要求分段。
●段偏移字段:
占13比特。
如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。
●生存期(TTL:
TimetoLive)字段:
占8比特。
用来设置数据报最多可以经过的路由器数。
由发送数据的源主机设置,通常为32、64、128等。
每经过一个路由器,其值减1,直到0时该数据报被丢弃。
●协议字段:
占8比特。
指明IP层所封装的上层协议类型,如ICMP
(1)、IGMP
(2)、TCP(6)、UDP(17)等。
●头部校验和字段:
占16比特。
内容是根据IP头部计算得到的校验和码。
计算方法是:
对头部中每个16比特进行二进制反码求和。
(和ICMP、IGMP、TCP、UDP不同,IP不对头部后的数据进行校验)。
●源IP地址、目标IP地址字段:
各占32比特。
用来标明发送IP数据报文的源主机地址和接收IP报文的目标主机地址。
●可选项字段:
占32比特。
用来定义一些任选项:
如记录路径、时间戳等。
这些选项很少被使用,同时并不是所有主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络技术 问答