计算机网络要点(三)
网络层
网络层需要完成的任务之一就是使异构的网络实现互联。所谓网络互联是指将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(中间设备)相互连接起来,以构成更大的网络系统。
网络互联通常指用路由器进行网络互联和路由选择。路由器就是一台专用计算机,用于在互联网中进行路由选择。
路由器主要完成两个功能:
1)路由选择:按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由
2)分组转发:路由器根据转发表将用户的IP数据报从合适的端口转发出去
拥塞:在通信子网中,由于出现过量的分组而引起网络性能下降的现象
流量控制和拥塞控制的区别:流量控制往往是指控制发送端和接收端之间的点对点通信量,抑制发送方发送数据的速率,以便接收端来得及接收。而拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中的所有主机、路由器以及导致网络传输能力下降的所有因素。
-
路由算法
静态路由算法:由网络管理员手工配置路由信息
动态路由算法:路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的寻路效果
常见的动态路由算法可分为两类:- 距离-向量路由算法(RIP算法)
所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的节点。这种路由选择表包括:每条路径的目的地(另一结点)和路径的代价(距离)
这里距离是一个抽象的概念,可以是跳数:从源端口到目的端口所经过的路由个数 - 链路状态路由算法(OSPF算法)
要求每个参与该算法的结点都有完全的网络拓扑信息。它们执行两个任务:一是主动测试所有邻接结点的状态;二是定期地将链路状态传播给所有其他结点(路由结点)。一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上的其他所有结点,不仅仅是那些直接相连的结点。一旦链路状态发生了变化,结点对更新了的网络图利用Dijkstra单源最短路径算法重新计算路由。
两者比较:
距离向量路由算法中每个结点仅与它的直接邻居交谈,它为它的邻居提供了从自己到网络中所有其他结点的最低费用估计。链路状态算法中每个结点通过广播的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。 - 距离-向量路由算法(RIP算法)
-
层次路由
因特网将整个互联网划分为许多较小的自治系统(一个自治系统里面包含很多局域网),每个自治系统有权自主决定本系统内采用何种路由选择协议。同时也需要一种在两个自治系统之间通信的协议。- 一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),具体的有RIP和OSPF协议
- 自治系统之间的路由选择协议称为外部网关协议(EGP),具体的有BGP协议(边界网关协议,只力求找到一条能到达目的网络的较好的路由,而并非最佳路由,是应用层协议,基于TCP)
-
IPv4地址
连接在Internet中的每台主机都分配一个32比特的全球唯一标识符,即IP地址。
在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。路由器总是具有两个或以上的IP地址,路由器的每个端口都有一个不同网络号的IP地址。 -
网络地址转换(NAT)
通过将专用网络地址转换为公用地址,从而对外部隐藏了内部管理的IP地址,使得整个专用网只需一个全球IP地址就可以与因特网连通。
为了网络安全,划分了部分IP地址为私有IP地址,私有IP地址只用于LAN,不用于WAN,并且允许私有IP地址被LAN重复使用。在因特网中的所有路由器对目的地址是私有地址的数据报一律不进行转发,这种采用私有IP地址的互联网称为专用互联网或本地互联网。私有IP地址也称为可重用地址。
当使用本地地址的主机和外界通信时,NAT路由器使用NAT转发表将本地地址转换成全球地址,或将全球地址转换成本地地址,这样可以让多个私有IP地址映射到同一个全球IP地址。 -
划分子网
从主机号借用若干个比特作为子网号,当然主机号也就减少了相应的比特。IP地址=网络号+子网号+主机号- 子网掩码
为了告诉主机或路由器对一个A类,B类,C类网络进行了划分,使用子网掩码来表达对原网络中主机号的借位。子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个与IP地址相对应的长32bit的二进制串,它由一串1和一串0组成,1对应IP地址中的网络号和子网号,0对应主机号。计算机只需将IP地址和其对应的子网掩码逐位相与,就可得出相应子网的网络地址。 - 无分类域间路由选择(CIDR)
是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分,使用网络前缀的概念代替子网络的概念。IP地址=网络前缀+主机号
- 子网掩码
-
ARP协议
无论网络层使用什么协议,在实际链路上传送数据帧时,最终必须使用硬件地址。所以需要用地址解析协议来完成IP地址到MAC地址的映射。每个主机都设有一个ARP高速缓存,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称为ARP表
ARP协议由于看到了IP地址,所以工作在网络层;NAT协议由于看到了端口,所以工作在传输层。 -
DHCP协议
动态主机配置协议,常用于给主机动态地分配IP地址,它提供了即插即用联网机制,允许一台计算机加入新的网络和获取IP地址而不用手工参与。DHCP是应用层协议,基于UDP的。 -
ICMP协议
为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议来允许主机或路由器报告差错和异常情况。常见应用时ping(用来测试两个主机间的连通性)和traceroute(跟踪分组经过的路由),ping工作在应用层,但是使用的是网络层的ICMP协议。 -
IPv6
要解决IP地址耗尽的问题,措施有三种:①采用无类别编址CIDR,使IP地址的分配更合理 ②采用NAT方法节省全球IP地址 ③采用具有更大地址空间的IP协议IPv6,地址128位。
IPv4向IPv6过渡可以采用双协议栈和隧道技术:双协议栈是指一部分主机或路由器装有两个协议栈,通过其进行转换;隧道技术是将整个IPv6数据报封装到IPv4数据报的数据部分,这样使IPv6数据报可以在IPv4网络的隧道中传输。 -
组播
让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干台目标主机,并被它们正确接收。组播一定仅应用于UDP,它对于将报文同时送往多个接收者的应用十分重要,如视频会议。