路由交换面试宝典:从TCP三次握手到BGP选路规则

路由交换面试宝典:从TCP三次握手到BGP选路规则 1. TCP三次握手与四次挥手网络工程师必须掌握的基石TCP三次握手和四次挥手是网络工程师面试中最常被问到的技术点之一也是理解网络通信基础的关键。让我们用一个生活中的例子来理解这个过程想象你要给朋友打电话首先你需要拨号第一次握手朋友接起电话说喂第二次握手然后你回应是我第三次握手——这样通话就正式开始了。TCP三次握手的过程与此类似第一次握手客户端发送SYN1的报文seqx进入SYN_SENT状态 第二次握手服务端回复SYN1ACK1seqyackx1进入SYN_RCVD状态 第三次握手客户端发送ACK1seqx1acky1双方进入ESTABLISHED状态为什么需要三次而不是两次这确保了双方都具备发送和接收能力。第一次握手证明客户端能发送第二次证明服务端能收发第三次证明客户端能接收。缺少任何一次都可能导致连接问题。四次挥手的过程则更为复杂 第一次挥手主动方发送FIN1sequ进入FIN_WAIT_1状态 第二次挥手被动方回复ACK1acku1进入CLOSE_WAIT状态 第三次挥手被动方发送FIN1ACK1seqwacku1进入LAST_ACK状态 第四次挥手主动方回复ACK1sequ1ackw1进入TIME_WAIT状态为什么断开需要四次因为TCP是全双工的每个方向需要单独关闭。被动方在收到FIN后可能还有数据要发送所以先发ACK确认等数据发完再发自己的FIN。2. TCP与UDP传输层的双生子TCP和UDP是传输层的两大协议它们的区别体现在多个方面可靠性TCP提供可靠传输通过确认重传、序列号、流量控制等机制确保数据准确送达UDP则是尽力而为不保证送达适合实时性要求高于准确性的场景连接性TCP是面向连接的需要三次握手建立连接UDP无连接直接发送数据报传输效率TCP头部至少20字节包含大量控制信息UDP头部仅8字节开销小使用场景TCP适用于网页浏览(HTTP)、文件传输(FTP)、邮件(SMTP)等UDP适用于视频会议、在线游戏、DNS查询等实际项目中我曾遇到视频会议系统卡顿的问题。将部分控制信令从TCP改为UDP后延迟显著降低这就是理解了协议特性带来的优化。3. OSPF深度解析链路状态协议的精髓OSPF(Open Shortest Path First)是典型的链路状态路由协议与距离矢量协议如RIP相比有显著优势区域划分 OSPF通过划分区域实现层次化设计减少LSA泛洪范围。骨干区域(Area 0)必须存在其他非骨干区域必须直接连接骨干区域。这种设计限制LSA传播范围减少路由表大小提高网络稳定性LSA类型Router LSA描述路由器链路状态Network LSA由DR生成描述多路访问网络Summary LSAABR生成描述区域间路由ASBR Summary LSA指向ASBR的路由External LSA描述AS外部路由邻居建立过程Down状态初始状态Init状态收到Hello但未看到自己RID2-Way状态双向通信建立ExStart状态主从关系选举Exchange状态DBD交换Loading状态请求缺失的LSAFull状态邻接关系建立在配置OSPF时我曾遇到邻居无法建立的问题最终发现是接口MTU不匹配导致的。这个经验告诉我协议状态机是排查问题的重要依据。4. BGP选路规则互联网路由的核心逻辑BGP(Border Gateway Protocol)是自治系统间路由的事实标准其选路规则复杂但严谨优选权重值高的路径(Cisco私有)优选本地优先级(LOCAL_PREF)高的路径优选本机始发的路径优选AS_PATH短的路径优选ORIGIN类型好的路径(IGPEGPIncomplete)优选MED值小的路径优选EBGP路径而非IBGP路径优选IGP下一跳最近的路径优选最老的路由(稳定性考虑)优选Router ID小的路径优选邻居地址小的路径BGP防环机制AS_PATH属性收到包含本AS号的路由则丢弃IBGP水平分割从IBGP邻居学到的路由不传给其他IBGP邻居在实际网络设计中我们经常通过调整LOCAL_PREF和MED来影响选路。例如将主链路的LOCAL_PREF设为200备份链路设为150实现主备自动切换。5. 常见网络问题排查思路网络工程师不仅需要理解协议原理更要具备实际问题解决能力。以下是几个典型问题的排查思路DHCP问题检查客户端是否发送了Discover检查服务器是否回复了Offer检查中继代理配置是否正确检查地址池是否耗尽检查VLAN配置是否正确VLAN间通信故障检查三层设备是否配置了VLAN接口检查Trunk链路是否允许相关VLAN通过检查路由表是否有相应路由检查ACL是否阻止了通信OSPF邻居问题检查物理连接和IP连通性检查区域ID是否匹配检查认证配置检查Hello/Dead时间间隔检查网络类型是否一致检查MTU是否匹配记得一次客户报障说部分区域网络不通最终发现是某台交换机配置了OSPF但未正确宣告网络导致路由黑洞。这个案例教会我网络问题往往出在最基础的配置上。6. 交换技术进阶从STP到VXLAN生成树协议(STP)是防止二层环路的经典方案但也有其局限性STP的不足收敛速度慢(30-50秒)链路利用率低(阻塞端口不转发流量)所有VLAN共用一棵树改进方案RSTP将收敛时间缩短到1-2秒MSTP实现多实例生成树不同VLAN可走不同路径链路聚合将多条物理链路逻辑上合并提高带宽VXLAN构建大二层网络彻底摆脱生成树限制在数据中心网络中我们逐步用VXLAN替代了传统的STP。VXLAN通过24位的VNI标识支持1600万隔离的网络段完美解决了VLAN ID不足的问题。7. 网络安全基础ARP与DHCP防护网络工程师必须重视安全问题以下是两个常见威胁的防护措施ARP欺骗防护静态ARP绑定手动配置IP-MAC映射动态ARP检测(DAI)校验ARP报文合法性ARP限速防止ARP泛洪攻击DHCP安全DHCP Snooping建立合法DHCP服务器绑定表信任端口配置只允许信任端口发送DHCP响应IP源防护防止IP地址欺骗在一次安全审计中我们发现内网存在大量ARP欺骗攻击。部署DAI后不仅解决了安全问题还意外发现了几个私自接入的非法设备这体现了安全措施的多重价值。8. 网络冗余设计从设备到协议的多层保护高可用性是现代网络的核心要求冗余设计包括多个层面设备冗余双电源、双引擎堆叠/集群技术链路冗余链路聚合(EtherChannel)多路径路由网关冗余VRRP/HSRP多宿主BGP协议冗余BFD快速检测多协议路由备份在某金融项目中我们采用VRRPBFD链路聚合的组合方案实现了99.999%的可用性。当主链路故障时切换时间控制在200ms内完全满足业务需求。