计算机网络原理与技术第四章网络层与路由技术计算机网络原理与技术第2页,共85页第4章网络层与路由技术网络层需要解决的问题是确定IP分组从源地址到目标地址是如何路由的。小型网络的路由选择很简单,所以网络层功能很弱。在大型网络中,IP分组需要跨越若干个网络才能到达目标地址,其中的种种问题需要由网络层来解决。计算机网络原理与技术第3页,共85页4.1IP协议工作原理4.1.1网络层的功能与主要协议1.网络层的主要功能网络层的主要功能是把IP分组从一个网络传送到另一个网络。为了达到这个目的,网络层必须屏蔽各种不同网络类型之间的差异,采用统一的数据格式和统一的网络地址,使IP分组在网络之间实现寻址和转发。计算机网络原理与技术第4页,共85页4.1.1网络层的功能与主要协议2.网络层的主要协议网络层主要有以下协议:IP(网际协议)、路由选择协议(如RIP、OSPF)、ICMP(因特网控制报文协议)、ARP(地址解析协议)和IGMP(因特网组管理协议)等。计算机网络原理与技术第5页,共85页4.1.2IP分组格式IP分组由报头和数据两部分组成。报头中前一部分是固定长度的20个字节,后一部分的长度是可变的可选部分。计算机网络原理与技术第6页,共85页4.1.3最大数据传输单元长度物理层一般要限制每次发送数据帧的最大长度。任何时候IP层接收到一份要发送的IP分组时,它要判断向本地哪个接口发送数据(选路),并查询该接口,获得MTU(最大数据传输单元)长度。IP协议把MTU与IP分组长度进行比较,如果IP分组太大,则需要进行分片。分片可以发生在原始发送端的主机上,也可以发生在中间路由器上。计算机网络原理与技术第7页,共85页4.1.4IP分组的路由路由器在结构上可分为路由选择和分组转发两大部分。路由选择部分也称为控制部分,核心部件是路由表和路由选择处理机。分组转发由三部分组成:交换部件、一组输入端口和一组输出端口。在讨论路由选择原理时,往往不区分转发表和路由表的区别,而是笼统地使用路由表这一名词。计算机网络原理与技术第8页,共85页4.1.4IP分组的路由网络层处理IP分组的主要步骤是路由选择和地址转换,路由算法的基本流程如下:(1)从IP分组的头部提取目标站的IP地址D,从中得到目标站的网络号N。(2)若网络号N与此路由器直接相连,则通过该网络将IP分组交付给目标主机(其中包括将目标主机的IP地址D转换为具体的物理地址,将IP分组封装为MAC帧);否则,执行(3)。计算机网络原理与技术第9页,共85页4.1.4IP分组的路由路由算法的基本流程如下:(3)若路由表中有目标地址为D的主机路由,则将IP分组传输给路由表所指明的下一站路由器;否则执行(4)。(4)若路由表中有到达网络号N的路由,则将IP分组传送给路由表指出的下一站路由器;否则执行(5)。(5)若路由表中有子网掩码,就要针对每一个路由,用子网掩码和目标主机的IP地址D进行“与”运算,得到结果M。若M等于目标主机的网络号N,则将IP分组传输给路由表指明的下一站路由器;否则执行(6)。计算机网络原理与技术第10页,共85页4.1.4IP分组的路由路由算法的基本流程如下:(6)若路由表中有一个默认的路由,则将IP分组传输给路由表中所指明的默认路由器;否则执行(7)。(7)报告路由选择出错信息。计算机网络原理与技术第11页,共85页4.1.5ARP协议工作原理ARP(地址解析协议)协议主要解决网络层地址(IP地址)与数据链路层地址(MAC地址)的映射问题。ARP只能用于具有广播能力的网络。由于IP地址是主机在网络层中的地址,如果要将网络层中传输的IP分组交给目标主机,还需要传输到链路层后,转换成MAC帧后才能发送到网络中。而MAC帧要同时使用源主机MAC地址和目标主机MAC地址。因此必须在IP地址和主机的硬件地址之间进行转换,ARP地址解析协议就是为此目的而设计的。计算机网络原理与技术第12页,共85页4.1.5ARP协议工作原理ARP工作过程如下:路由器在内部建立一个ARP表,表中存放主机的IP地址和MAC地址。如果目标主机与源主机在同一个子网内,路由器就在ARP表中查找目标主机的IP地址,否则用默认网关的IP地址在ARP表中查找。如果没有找到,路由器则发送广播包,目标主机收到后给出应答,这时ARP表中就会增加一个新的表项。由于网络中的主机经常发生变化(如重启、开机等),所以ARP表要及时刷新。每个主机启动时,都会广播它的IP地址和MAC地址。计算机网络原理与技术第13页,共85页4.1.6ICMP协议工作原理ICMP(因特网控制报文协议)主要用来报告IP分组在传输中的出错和测试信息,以及主机探测、路由维护、路由选择、流量控制等。ICMP报文需要封装在IP分组中进行传输。ICMP报文有两种类型,即ICMP差错报告报文和ICMP询问报文。计算机网络原理与技术第14页,共85页4.1.6ICMP协议工作原理ICMP报文最常见的内容是“目的地无法到达”和“回声”消息。计算机网络原理与技术第15页,共85页4.1.7IGMP协议工作原理IGMP(因特网组管理协议)是一个组播协议。与单播相比,组播可大大节约网络资源。IGMP有三个版本,IGMP1、IGMP2和IGMP3,目前应用最多的是版本2。计算机网络原理与技术第16页,共85页IGMP协议工作过程(1)当主机加入一个新的主机组时,它发送一个IGMP报文给全部主机组,宣布此成员关系。本地组播路由器接收到这个报文后,向Internet上的其他组播路由器传播这个信息,并建立必要的路由。与此同时,在加入组播的主机上,将主机IP组地址映射为MAC地址,并设置地址过滤器。计算机网络原理与技术第17页,共85页IGMP协议工作过程(2)为了处理动态的成员关系,本地组播路由器周期性的轮询本地网络上的主机,以便确定主机组内有哪些主机。这个轮询过程是通过发送IGMP报文来实现的,这个报文发送给全部主机组,且报文的TTL(生存时间)值设为1,以确保报文不会传送到本地网络以外。收到报文的组成员会发送响应报文。如果所有的组成员同时响应的话,就可能造成网络阻塞。因此IGMP协议采用了随机延时的方法来避免这种情况,保证在同一时刻,每个组中只有一个成员在发送响应报文。计算机网络原理与技术第18页,共85页4.2IP地址分类与子网化技术4.2.1IP地址分类1.IP地址格式在IPv4中,IP地址由4个8位二进制数组成,为了方便记忆,用点号每8位进行分割,然后每段用十进制数表示,这称为IP地址的点分十进制。计算机网络原理与技术第19页,共85页4.2.1IP地址分类2.网络标识和主机标识IP地址需要使用一部分来标识网络,剩下的部分标识网络中的主机。IP地址中用来标识设备所在网络的部分称为网络ID(网络号),标识网络设备的部分称为主机ID(主机号),这些ID包含在同一个IP地址之中。网络ID中的位数决定了可能的网络数量,而主机ID中的位数决定了某个网络中主机的最大数量。计算机网络原理与技术第20页,共85页4.2.1IP地址分类3.地址类型IP地址分为A、B、C、D、E五类,其中A、B、C类地址是主类地址,D类为组播地址,E类保留给将来使用。计算机网络原理与技术第21页,共85页4.2.1IP地址分类4.IP地址的规划与分配IP地址的规划一般按以下步骤进行:首先分析网络规模,包括相对独立的网段数量和每个网段中可能拥有的最大主机数。其次,确定使用公用地址还是私有地址,并根据网络规模确定所需要的网络号类别,若采用公有地址还需要向网络信息中心(NIC)提出申请并获得地址使用权。最后,根据可用的地址资源进行主机IP地址的分配。计算机网络原理与技术第22页,共85页4.2.1IP地址分类4.IP地址的规划与分配IP地址可以采用静态分配和动态分配两种方式。静态分配是由网络管理员为用户指定一个固定不变的IP地址,并由用户手工在主机上进行配置。动态分配通过服务器或路由器提供的动态主机控制协议(DHCP)来实现,用户无需设置。无论使用哪种地址分配方法,都不允许任何两个接口拥有相同的IP地址,否则将导致地址冲突。计算机网络原理与技术第23页,共85页4.2.2特殊IP地址1.公网地址与私网地址RFC1918标准规定了两类IP地址:一种是因特网上使用的IP地址,称为公网地址或外网地址,这类地址不允许出现重复,企业使用这类IP地址时必须向NIC申请。另外一类IP地址允许在不同企业内部网中重复使用(注意,同一局域网内IP地址不能重复),无须向NIC申请。但是这类IP地址不能在因特网上使用,这类IP地址称为私网地址或内网地址。计算机网络原理与技术第24页,共85页4.2.2特殊IP地址2.特殊IP地址网络号或主机号的比特位为全0或全1的地址有特殊的意义,它们不能分配给主机使用。全1的意义为“全部”,全0的意义为“这个”,这些特殊的地址如表所示。网络ID主机ID说明案例全0全0本主机,只能用于源地址0.0.0.0全1全1本网段广播地址,路由器不转发255.255.255.255全0全1本网段的广播地址0.0.255.255全1全0本网络掩码255.255.0.0全0主机ID本网段的某个主机0.0.96.33网络ID全0标识一个网络,常用在路由表中96.33.0.0网络ID全1从一个网络向另一个网络广播96.33.255.255127非全0的任意值本机测试回送地址(loopback)127.0.0.1计算机网络原理与技术第25页,共85页4.2.2特殊IP地址3.路由器地址路由器需要有自己的IP地址,与网络号和广播地址不同,路由器地址没有严格的规定,习惯上把网络号后的第一个地址用做路由器地址。例如,在202.66.21.0的C类网络中,习惯上把紧随其后的202.66.21.1保留做路由器地址。当网络中没有路由器时,路由器地址可以分配给其他计算机使用。计算机网络原理与技术第26页,共85页4.2.3有类子网划分技术1.网络的子网化子网划分是网络管理员将一个给定的网络分为若干个更小的部分,这些更小的部分被称为子网。子网划分的方法是用主机地址的一部分作为子网号。网络管理员需要从原有IP地址的主机位中借出连续的若干高位作为子网络标识。计算机网络原理与技术第27页,共85页4.2.3有类子网划分技术2.子网掩码子网掩码是说明子网与主机关系的一种特殊IP地址。子网掩码必须与IP地址成对使用;子网掩码的值高位连续为1时,对应的IP地址值为子网号;子网掩码值连续为0时,对应的IP地址值为主机号。子网掩码单独使用时没有任何意义。计算机网络原理与技术第28页,共85页4.2.3有类子网划分技术3.子网的划分方法在划分子网之前,应当先分析网络目前的需求和将来的扩展,子网划分步骤如下:第一步:确定网络中物理网段的数量,以及每个物理网段上主机的数量。第二步:计算需要的掩码二进制位数。第三步:计算子网掩码值。第四步:计算子网主机地址范围。计算机网络原理与技术第29页,共85页4.2.3有类子网划分技术4.子网划分中应当注意的问题划分了子网时,最好保留一个路由器地址。因为子网之间的通信需要使用路由器。子网划分的目的并不是解决IP地址不够用的问题,因为使用子网划分反而会使IP地址减少。子网划分主要解决网络号不够用的问题。由以上计算可知,子网划分方法复杂,划分的子网号也不便于记忆,不利于进行网络管理。况且,目前企业申请到一个或数个网络号的情况也非常少。因此,对于大多数企业和个人,内部局域网一般使用C类或B类私有地址,这样进行网络管理更为简单可靠,而外部网络的互连往往采用NAT(网络地址转换)技术。计算机网络原理与技术第30页,共85页4.2.3有类子网划分技术5.默认网关地址默认网关地址是本地子网中路由器的IP地址。当发送数据的计算机发现目标地址不在本地子网内时,就将数据发送给默认网关,而不是直接向目的计算机发送。计算机网络原理与技术第31页,共85页4.2.4CIDR无类子网划分技术1.CIDR的基本原理CIDR取消了地址的分