计算机网络原理——网络层主要内容Internet网络层概述IP协议IP协议概述IP数据报报头(固定部分和可选部分)和来自传输层的数据IP地址网络标识位和主机标识位构成存在一些特殊用途的IP地址子网和掩码划分子网,为了便于管理分区子网,使用掩码技术IP协议的主要功能无连接的数据报传输分段、传输、重组数据报路由路由表差错处理—ICMP协议差错报文控制报文ARP/RARP协议ARP协议MAC-IPRARP协议IP-MAC路由协议路由协议概述路由信息协议RIP基于距离矢量路由算法适用于小型网络开放最短路径优先OSPF基于链路状态路由算法采用了分级路由算法边界网关协议BGP自治系统之间交换路由信息必须考虑大量的策略路由网络层小结计算机网络原理——网络层INTERNET网络层概述在网络层,Internet可以看成是自治系统的集合,是由网络组成的网络。网络之间互联的纽带是IP(InternetProtocol)协议。计算机网络原理——网络层INTERNET网络层概述提供无连接的数据报传输机制设计思想为“尽力传送”不能保证传输的可靠性(有数据丢失,无差错恢复)纠错重传问题交由传输层来解决特点是快速、简单、效率高实现点到点的传输:网络层的对等实体间不存在任何中间设备。通信子网的最高层,对传输层提供统一格式的数据报,是异种网络互连的基础。...IP/ICMPEthernetFDDITokenRingPPP数据报计算机网络原理——网络层Internet网络层的通信方式单播通信(unicasting)一台主机将数据发送到另外一台主机上。源地址和目的地址都是IP地址。广播通信(broadcasting)一台主机将数据发送给同一个网络/子网中的所有主机。源地址为IP地址,目的地址为本网络/子网的广播地址。组播通信(multicasting)一台主机将数据发送给同组的主机。可以避免广播通信的广播风暴,减少网络通信流量。计算机网络原理——网络层Internt网络层主要协议Internet网络层存在两种类型的协议:RoutedProtocols和RoutingProtocols。RoutedProtocols的主要协议包括:IP(InternetProtocol):完成无连接的数据报传输和路由功能。ICMP(InternetControlMessageProtocol):用于网络层的差错与控制报文的传输。IGMP(InternetGroupManagementProtocol):用于将UDP数据报发送给同组主机。ARP/RARP(The(Reverse)AddressResolutionProtocol):用于网络层地址(IP地址)与数据链路层地址(MAC地址)之间的映射。RoutingProtocols包括:RIP(RoutingInformationProtocol):是“距离向量”协议族中最简单的一种。距离的衡量标准是到达目的地需要经过的中间结点的数目(Hop)。OSPF(OpenShortestPathFirst):是“链路状态协议”的一种,通过计算自己到自治系统中其他路由器的最短路径来路由。BGP(ExteriorGatewayProtocol):是自治系统间的路由协议,又称域间路由协议。计算机网络原理——网络层IP协议概述IP协议采用无连接的数据报机制,对数据进行“尽力传输”,即只负责将分组发送到目的主机,不管传输正确与否,不作验证,不发确认,也不保证分组的到达顺序。IP协议是点到点的,不可靠的。Internet的可靠性体现在传输层—TCP协议,所以Internet只提供可靠的端到端通信。IP协议的主要功能:无连接的数据报传输数据报路由(IP路由)差错检验—由ICMP协议完成实际上,任何IP协议模块,都必须提供ICMP实现。计算机网络原理——网络层IP协议主要内容IP协议概述IP数据报报头(20Bytes的固定部分和变长的可选部分)+TCP数据IP地址32bits的二进制地址,由网络标识位和主机标识位组成。子网和掩码为了便于管理,任何网络可以再划分成子网。子网对内部网络独立存在,对远程网络是透明的。IP协议的主要功能无连接的数据报传输分段,分段的传输和控制,分段重组数据报路由路由表和工作流程差错处理—ICMP协议计算机网络原理——网络层IP数据报IP数据报由报头和正文部分构成,正文部分就是来自传输层的数据。IP报头包括20个字节的固定部分和变长(最长40字节)的可选部分,从左到右传输。IP报头TCPSegmentIP数据报计算机网络原理——网络层IP报头Version:4bits(版本域)目前使用最广的v4,最新的版本是v6。IHL:4bits(IPHeaderLength)最小为5,最大为15,单位为32-bit。TypeofService:8bits(服务类型域)Bits0-2:Precedence,8种不同的优先级。Bit3:0=NormalDelay,1=LowDelayBit4:0=NormalThroughput,1=HighThroughputBit5:0=NormalRelibility,1=HighRelibilityBit6-7:ReservedforFutureUse目前,几乎所有路由器都忽略服务类型域。计算机网络原理——网络层IP报头Totallength:16bits(总长度域)包括报头和正文,最长为65535字节。Identification:16bits(标识域)用于让目的主机判断新来的分段属于那个分组,属于同一分组的分段具有同样的标识值。Flags:3bitsBit0:reserved,mustbezeroBit1:(DF)0=MayFragment,1=Don'tFragment.DF位置1,表示不允许路由器对该数据报分段,因为目的主机不能重组分段。这意味着该数据报可能需要绕过最优路径上的小分组网络,而选择次优路由。所有机器都能够接收小于等于576字节的分组/分段。Bit2:(MF)0=LastFragment,1=MoreFragments.除最后一个段外的所有段都要置MF位。计算机网络原理——网络层IP报头Fragmentoffset:3bits(段偏移量)此域的基本单位是8bytes。除最后段外的其他段的取值应是8字节的倍数。TimeToLive:8bits(生存期TTL)用于限制分组的生存周期,防止其在网络中无限制的转发。在实际实现中,分组/分段每经过一个路由器TTL减1,为0则丢弃,并给源主机发送一个告警分组。Protocol:8bits(协议域)上层使用哪种传输协议。如果传输层协议是TCP,取值为6;如果传输层协议是UDP,取值为17。计算机网络原理——网络层IP报头Headerchecksum:16bits(头部校验和)只对IP报头做校验。算法:报头的每16位求反,循环相加(进位加在末尾),后再求反。如果报头正确,结果应为零。按照经验,这个简单的算法是够用了,但也可以用CRC校验来代替。头部校验和在每个节点都需要重新计算。SourceAddress:32bits(源地址)发送主机的IP地址。DestinationAddress:32bits(目的地址)接收主机的IP地址。计算机网络原理——网络层IP报头Options:variable(选项)选项域便于为后续版本引进新信息,提供了可扩展能力。每种选项用一个字节标明选项类型,一个字节标明长度(可有可无),其余时若干数据字节。每种选项的总长度为4字节的倍数,不够则填充,最长为40字节。已经定义了五种选项,但是并不是所有的路由器都支持全部五种选项。计算机网络原理——网络层IP报头选项Security(安全性)说明信息的安全程度。实际上,所有路由器都忽略此选项。Strictsourcerouting(严格源路由)将从源到目的地的完整路径上所有的IP地址都记录下来。数据报必须严格地按照这条路径传送。当路由器崩溃时,该字段可用于发送紧急分组或测量时间。Loosesourcerouting(松散源路由)同样是一系列的IP地址,但只要求该数据报按照指定次序遍历所列的路由器,不是一条严格路径,可以穿越其它路由器。Recordroute(记录路由)另该数据报穿越的路由器将其IP地址加到选项域,但现在已经不够用了。Timestamp(时间戳)在记录路由的同时还记录一个32位的时间标记,用于路由算法的纠错。Back计算机网络原理——网络层IP地址为了实现Internet上不同计算机之间的通信,每台计算机都必须有一个不与其它计算机重复的地址,IP地址就是可以唯一标识主机的地址。IP地址是一个网络编码,它即可以是一个主机的地址,也可以是路由器一个端口的地址。即IP地址确定的是网络中的一个连接。IP地址是由网络信息中心分配的,目前共有三个这样的机构:负责美国及其它地区的INTERNIC负责欧洲地区的RIPE-NIC负责亚太地区的APNIC计算机网络原理——网络层IP地址的两种表示法IP地址是数字型的,32位(32bits),由4个8位的二进制数组成,之间用圆点隔开。由于二进制数不利于记忆,通常转换成十进制数表示(dotteddecimalnotation),其取值范围为0~255。两者之间的转换由计算机自动完成。十进制166.111.4.80=二进制10100110.01101111.00000100.01010000二进制10100110011011110000010001010000十进制166.111.4.80计算机网络原理——网络层IP地址的含义IP地址由两个部分组成:网络标识(netid)和主机标识(hostid)。网络标识用于区分不同的网络,主机标识用于区分同一个网络中的不同主机。IP地址被分成了A、B、C、D、E五类,每个类别的网络标识和主机标识各有规则。计算机网络原理——网络层不同类型的IP地址A类地址首位为0。全世界只有127个A类网络,每个A类网络最多可以拥有224个IP地址,适用于大型网络。B类地址前二位为10,具有B类地址特征的网络总数为214,每个网络中的IP地址可达到216。第一个8位组的取值范围为128~191。适用于中等规模的网络。C类地址前三位为110,具有C类地址特征的网络总数为221。每个网络中可拥有256个IP地址。C类地址适用于主机量较少的网络中。D类地址最高四位等于1110,标识组播通信地址,后28位用于区分不同的组播组。E类地址最高五位等于11110,此类地址作为未来地址而被保留。目前,具体的网络只能分配到A类、B类、C类地址中的一种。从第一个8位组得取值可以区分出IP地址的类型:A类地址:1~127B类地址:128~191C类地址:192~223D类地址:224~239E类地址:240~247计算机网络原理——网络层特殊用途的IP地址32位全零标识本机。网络标识位全部为零,标识本网络中的主机,这样可以使计算机在不知道网络地址而引用自己的网络。32位全壹的地址(255.255.255.255)作为在未知本网情况下用于内部网络广播地址。通常是一个局域网。网络地址:主机标识位全部为零的地址从不分配给单个主机,而是作为该网络本身的标识。例如:主机212.111.44.136所在网络的网络地址为212.111.44.0。广播地址:主机标识位全部为壹的地址从不分配给单个主机,而是作为该网络的广播地址。例如:主机212.111.44.136所在网络的网络地址为212.111.44.255。回送地址:A类地址127是一个保留地址,用于网络软件测试及本地进程间通信。目的地址为回送地址的分组