《计算机网络第五章.docx》由会员分享,可在线阅读,更多相关《计算机网络第五章.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 网络层5.1 网络层设计问题网络层任务:存储转发数据包交换,向传输层提供服务。围绕这一任务,在设计网络层时,Internet社团与电话公司为代表的社团展开了争论,Internet社团认为:网络应该是不可靠的,错误控制与流量控制均应该由主机完成,电话公司阵营任务:网络应该是可靠的,面向连接的服务。无连接服务的实现:IP(internet Protocol)是整个Internet的基础,每个数据包携带一个目标的IP地址,路由器使用该地址来单独转发每一个数据包。 面向连接服务的实现:存在一个重要过程标签交换(label switching)。例子:多协议标签交换(MPLS, Multi Pr
2、otocol Label Switching),主要用于Internet的ISP网络,MPLS往往对客户是隐藏的,ISP用它来为超大流量建立长期的连接。注:没有绝对一说,中庸之道是很有道理的,什么东东都会有用武之地,不要那么极端嘛!5.2 路由算法路由算法是网络层的重中之重,(在书中的第一部分就说了,本章关注的就是算法,所以我还买了一本算法导论),它是网络层软件的一部分,它负责确定一个入境数据包应该被发到哪个输出线路上,因此路由和转发这是两个功能。路由算法必须满足的特性:正确性,简单性,鲁棒性,稳定性,公平性和有效性!(这里面存在相互矛盾的目标)。算法分类:(1)非自适应性算法(nonadap
3、tive algorithm),也称静态路由(static routing),适应于路由选择非常清楚的场合。(2)自适应性算法(adaptive algorithm),也称动态路由(dynamic routing)。下面的路由算法均是基于拓扑水平结构进行路由决策的。最短路算法:这里涉及到每一条边的权重,这个衡量的因素很多,包括:跳数,物理距离,距离,带宽,平均流量,通信成本,平均延迟等。在一个图中,计算两个节点之间的最短路径算法,非常著名的便是Dijkstra算法,码农都知道这个东东,直接上代码:泛洪算法(Flooding)主要用于广播和无线路由算法。距离矢量路由算法(Distance vec
4、tor routing)虽然动态路由算法更加复杂,但是这些算法能在当前网络拓扑中找到最短路径,因此更加有效。距离矢量路由算法(Distance vector routing)工作过程:每个路由器维护一张表,列出当前已知到每个目的的最短距离以及使用的链路,这些表通过邻居之间的相互交换信息而不断更新,最终每个 路由器都了解到到达每个路由器的最佳链路。重大缺陷:无穷计算问题(counting-to-infinity)这一缺陷体现在,对好消息反应非常迅速,但是对坏消息反应异常迟缓。用下图作以解释:链路状态路由(link state routing)由于上述算法的巨大BUG,1979年起,ARPANET
5、正式改用链路状态路由算法。这一算法的变种:IS-IS或者OSPF已经成为应用最为广泛的路由算法。实质:算法将完整的拓扑结构发给了每一个路由器,然后每个路由器运行Dijkstra算法就可以找出本地到每一个其他路由器的最短路径。整个算法技巧性最强的部分在于分发链路状态包。广播路由(Broadcasting routing)改进方案多目标路由(Multi destination routing):确定必要的线路(只要一条线路是到达至少一个目标的最佳路径,那么它就是必要的),但是BUG在于,它要求源端知道全部的目标地址。逆向路径转发(reverse path forwarding):当一个广播数据包到
6、达一个路由器时,路由器检查它到来的那条线路是否正是通常用来给广播源发送数据包用的那条线路。组播(multicasting)路由&选播(Anycast)路由移动主机路由这部分内容比较有意思,打算详述,稍后补上。自组织网络(Ad hoc)路由在此最流行的按需距离矢量(AODV,Ad hoc On demand Distance Vector),包括路由发现也是按需发现的。AODV算法到达请求的目标后,构造一个ROUTE REPLY包,在一个大型网络中,会产生很多广播包,可以使用IP包的TTL字段限制广播的范围。5.3 拥塞控制算法网络层和传输层共同承担着处理拥塞(Congestion)的责任。控制
7、拥塞的最有效方法就是减少传输层注入网络的负载。拥塞控制的途径根据时间尺度划分如下:这一部分很容易理解。5.4 服务质量流量整形(traffic shaping):调节进入网络的数据流的平均速率和突发性所采用的技术。服务等级约定(SLA,service level agreement)。流量监管(traffic policing)。漏洞和令牌桶:漏桶算法(leaky bucket algorithm),令牌桶算法(token bucket algorithm)。漏桶和令牌桶限制了一个流的长期速率,但是允许短期突发某个最高调节长度,下图。5.5 网络互联当不同质的网络(包括PAN,LAN,MAN和
8、WAM等)连接在一起形成的网络互联(Internetwork)或者简单的互联网(Internet)。“I”大写,表示互连!何以连接网络一个例子说明一切,源主机在802.11网络上,要给以太网上的目标机器发送数据包。隧道技术(tunneling):通过这种技术,从一个多协议路由器到另一个多协议路由器的整个行程就像是单条链路上的一跳。这一技术广泛的应用于因使用其他网络而被隔离的主机和网络。结果生成的网络就是所谓的覆盖(overlay)网络,缺点在于无法到达隧道之下的网络的主机。=变成了虚拟专用网络(VPN,Virtual Private Networks),VPN就是一个提供安全措施的简单覆盖网络
9、。互联网路由:内部网络协议(interior gateway protocol)外部网关协议(exterior gateway protocol)自治系统(AS,Autonomous System) 路由策略(routing policy)数据包分段:有一个整体的认识。5.6 Internet上的网络层本章的又一个大重点! 设计网络层的十条原则(从最重要到最不重要):举一反三的干活保证工作!保持简单!明确选择!模块开发!期望异构性避免静态选项和参数寻找好的而不是最完美的设计严格发送,宽容接收考虑可扩展性考虑性能和成本IPv4协议全部都很重要! 待我日后详细补上!IPv4协议头IP地址 前缀 子网CIDR-无类域间路由(Classless Inter-Domain Routing)(路由聚合(route aggregation),超网(supernet)NAT-网络地址转换以太网地址与IP地址?IPv6协议此时源地址和目标地址均是16字节,IPv6地址的表示方法。另外,校验和字段(Checksum)被去掉了。Internet控制协议知道ICMP ARP DHCP用处。OSPF BGP 我会单独分出详细的一文来阐述。今日事,今日毕!今日目标完成!明天第六章走起。
限制150内