为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第4章 网络层

2011-03-14 50页 ppt 8MB 29阅读

用户头像

is_047317

暂无简介

举报
第4章 网络层null本章重点与学习目标本章重点与学习目标掌握IP地址的相关概念; 掌握子网的概念与IP地址的分配方法; 掌握IP数据报的转发原理与传输过程; 掌握IPv6的基本知识。4.1 案例需求 4.1 案例需求 在第3章,鲁中学院校园网已经划分为若干个VLAN,这些VLAN之间如何通信? VLAN中计算机的IP地址应该如何分配? 校园网不能是一个孤立的网络,必须接入因特网,那么如何接入呢?4.2 网络层的任务4.2 网络层的任务第1章提到,网络层的任务是为数据在网络中选择一条合适的路径。 从始点到目的点选路策略? 为了便于选择路由...
第4章 网络层
null本章重点与学习目标本章重点与学习目标掌握IP地址的相关概念; 掌握子网的概念与IP地址的分配方法; 掌握IP数据报的转发原理与传输过程; 掌握IPv6的基本知识。4.1 案例需求 4.1 案例需求 在第3章,鲁中学院校园网已经划分为若干个VLAN,这些VLAN之间如何通信? VLAN中计算机的IP地址应该如何分配? 校园网不能是一个孤立的网络,必须接入因特网,那么如何接入呢?4.2 网络层的任务4.2 网络层的任务第1章提到,网络层的任务是为数据在网络中选择一条合适的路径。 从始点到目的点选路策略? 为了便于选择路由,做什么工作?计算机A到计算机B的路径由不同的链路组成 计算机A到计算机B的路径由不同的链路组成 链路的传输媒体可能不同,运行的数据链路层也可能不同。 利用数据链路层提供的服务,能使数据从一个结点传递到与其相邻的另一个结点; 利用网络层提供的服务,则能使数据从发送结点传递到最终的接收结点。以太网以太网广域网广域网无线链路null为数据在网络中选择一条合适的路径叫做选路(routing),routing也可以译为路由或路由选择。 能够在网络中进行路径选择的设备叫路由器。4.3 因特网的核心协议——IP协议4.3 因特网的核心协议——IP协议网络层协议有多种,目前使用最广泛的是IETF制定的网际协议(Internet Protocol,IP)。 在TCP/IP体系结构中, 有 很多协议,这些协议统称为TCP/IP协议族/簇。 TCP协议与IP协议的发明人是美国的Vinton G. Cerf与Robert E. Kahn。 1981年IETF发布了RFC 791,定义了IP协议的第4版,叫做IPv4,IPv4一直使用至今。 现在IPv4与IPv6并行, IPv4将会被IPv6取代。 IP特点IP特点IP的数据转发是典型的分组交换方式,IP的协议数据单元叫做IP数据报(datagram),每个IP数据报都带有接收方的地址,路由器根据这个地址转发IP数据报,各IP数据报可能通过不同的路径到达接收方。 IP是无连接的协议,IP数据报产生后立即发送,不需要首先与接收方建立连接。 IP协议又是一种尽力而为(best-effort)的协议。 因此IP是不保证可靠传输的协议,可靠传输的任务由运输层的TCP协议负责。4.3.1 IP地址 1.IP地址的格式与管理4.3.1 IP地址 1.IP地址的格式与管理IP协议要解决的第1个问题是如何在世界范围内标识一台计算机。 网络中的计算机应该有一个全球唯一的编号--IP地址。 数据链路层的物理地址不能使用? 1 可以改变物理地址; 2 某些点对点链路中根本没有物理地址。 有必要在网络层重新为计算机分配一个全球唯一、格式相同的地址。 IP协议中制定了这个地址的格式与分配,所以叫做IP地址(IP address)。IP地址IP地址IP地址长度是32位,4字节,IP地址共有232≈40亿个。 一般以点分十进制的形式书写IP地址,如210.44.176.1。 这种形式的IP地址分为4段,每段是一字节,因此每段一定在00000000~11111111之间,十进制就是0~255之间,这个范围之外的IP地址一定是错误的。特殊的IP地址特殊的IP地址范围为127.0.0.1~127.255.255.254的IP地址是一类特殊的IP地址,叫做环回地址(loopback address),它们都是指本计算机,其中第1个IP地址127.0.0.1最为常用。 在计算机A的浏览器地址栏上键入http://127.0.0.1,将会打开计算机A的主页,若在计算机B上输入同样的http://127.0.0.1,则会打开计算机B的主页。因特网管理机构因特网管理机构因特网的管理机构因特网协会下设一个部门,叫做因特网名称与号码分配公司(Internet Corporation for Assigned Names and Numbers,ICANN),它负责世界范围内IP地址的分配与管理工作。 ICANN预先把一些连续的IP地址分配给各个国家的因特网管理机构,一般用户去本国的因特网管理机构申请即可。 中国互联网络信息中心是我国的因特网管理机构。 连续的IP地址叫做IP地址块,大的单位可以一次申请一个地址块,再在内部自行分配。私有IP地址或专用IP地址私有IP地址或专用IP地址网络中的计算机有时并不连入因特网,无需用全球唯一IP。 IP协议规定一部分IP地址不需申请就可使用,但这些IP地址不能出现在因特网上,是私用的,这些私用的IP地址在不同的局域网内是可以可重复使用。 私有IP地址或专用IP地址(private IP address),分为4块: 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 169.254.0.0~169.254.255.255。 自动私有IP地址自动私有IP地址第4块169.254.0.0~169.254.255.255非常特殊,叫做自动私有IP地址,当一台计算机设置为使用DHCP协议自动获得IP地址的时候,在自动获得IP地址失败(如没有DHCP服务器)的情况下,计算机会自动为自己分配一个自动私有IP地址。 与私有地址对应,那些必须申请才能使用的IP地址叫做公有IP地址或公网IP地址(public IP address)。 现在公有IP地址严重不足,难以申请,很多单位内部网络都使用私有IP地址。 使用私有IP地址的计算机是不能直接连入因特网的,为了使这些计算机也能上网,利用NAT技术,使用私有IP地址的计算机就能连入因特网了。2.网络号、主机号与子网掩码2.网络号、主机号与子网掩码为指明计算机所在的网络,IP地址被设计为两部分:左边一部分指明该计算机所在的网络,叫做网络号,右边一部分指明该计算机,叫做主机号。 网络号因为在IP地址的前边,所以也叫做前缀(prefix)。 IP地址划分为网络号与主机号非常重要,无论是路由器,还是一般计算机都利用这一特性进行通信。IP地址分为网络号与主机号 特殊的IP地址特殊的IP地址有两类特殊的IP地址:主机号全为0与全为1的IP地址。 主机号全为0代表这个网络,叫做网络IP地址; 主机号全为1则是广播IP地址。 例如,某计算机具有IP地址1.1.1.1,如果左边3段是网络号,右边1段是主机号。 1.1.1.0就是这台计算机所在网络的IP地址, 1.1.1.255是广播IP地址,目的IP地址为1.1.1.255的IP数据报会被转发给这个网络内的所有计算机。 主机号全为0与全为1的IP地址因为有特殊的含义,所以不能再分配给计算机。特殊IP地址特殊IP地址IP地址分类IP地址分类IP地址被分为5类,其中A类、B类与C类网络号的长度分别是8位、16位与24位,相应的主机号就是24位、16位与8位。 D类用于多播,E类保留暂不分配。 这5类地址的起止范围各不相同,很容易分辨。 根据一个IP地址的类别,就可以知道它的网络号与主机号多长了。 目前大多数的A类IP地址已被美国抢先分去,我国分到的绝大多数都是C类IP地址。IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001类别位IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001A 类地址的网络号字段 net-id 为 1 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001A 类地址的主机号字段 host-id 为 3 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001B 类地址的网络号字段 net-id 为 2 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001B 类地址的主机号字段 host-id 为 2 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001C 类地址的网络号字段 net-id 为 3 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001C 类地址的主机号字段 host-id 为 1 字节IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001D 类地址是多播地址 IP 地址中的网络号字段和主机号字段 IP 地址中的网络号字段和主机号字段 net-id 24 bithost-id 24 bitnet-id 16 bitnet-id 8 bit0A 类地址host-id 16 bitB 类地址C 类地址011D 类地址1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001E 类地址保留为今后使用 5类IP地址5类IP地址这种划分方法的缺陷这种划分方法的缺陷一个A类地址网络可以拥有224-2=16 777 214台计算机, 一个B类地址网络可以拥有216-2=65 534台计算机, 一个C类地址网络只能拥有28-2=254台计算机, 为什么减2? 减2的原因是主机号全为0与全为1的IP地址不能分配给计算机。 这3种网络可以拥有的计算机数量差距过大,给IP地址的管理与分配带来很大困难,同时也造成了IP地址的大量浪费,很有必要灵活地划分网络号与主机号。无分类域间选路无分类域间选路现在使用的方案是无分类域间选路(Classless Inter-Domain Routing,CIDR),关于CIDR的多个RFC于1993年发布。 CIDR不再把IP地址分为A类、B类与C类,网络号与主机号的长度不再固定,可以自由划分,但D类IP地址与E类IP地址仍然有效。 这导致了一个新问题,对于一个IP地址,计算机与路由器必须知道它的网络号与主机号的长度才能正常工作。 CIDR使用子网掩码(subnet mask)来解决这个问题。子网掩码子网掩码子网掩码的长度也是32位,左边部分全是1,右边部分全是0,1的位数与网络号相同。 例如:子网掩码左边1的个数是23位,所以IP地址的网络号应该是23位,主机号则是9位。 一个IP地址总是与一个子网掩码配对出现,根据子网掩码就能确定网络号与主机号的长度了。null子网掩码的记法与IP地址一样,也是点分十进制的形式,图中的子网掩码记为255.555.254.0。 这种记法非常方便,只要把IP地址和子网掩码进行“与”运算,结果就是本网络的IP地址了。 在图中,IP地址与子网掩码与运算后,网络号被完整地保留下来,主机号则全部变成了0,这正是网络的IP地址。9个023个1常用的子网掩码如表常用的子网掩码如表用斜线隔开子网掩码的记法是直接用一个数字表示网络号的长度,这个数字与IP地址用斜线隔开. 如1.1.1.1/24、116.44.176.101/19等。 对于A类、B类与C类IP地址,相应的子网掩码分别是255.0.0.0( /8 )、255.255.0.0 ( /16 ) 、255.255.255.0 ( /24 )。4.3.2 IP数据报格式4.3.2 IP数据报格式IP协议的协议数据单元叫做IP数据报 。 图中每行长度32位,4字节。 IP数据报的固定首部长度20字节,还可以有不定长度的首部选项,其后是数据部分。IP数据报格式首部长度字段4位,首部中可以有一些不定长的选项字段。 该字段的表示范围是0~15,长度的单位是4字节,所以首部最长可以是4×15=60字节。 默认该字段就是5,首部长度就是4×5=20字节。首部长度字段4位,首部中可以有一些不定长的选项字段。 该字段的表示范围是0~15,长度的单位是4字节,所以首部最长可以是4×15=60字节。 默认该字段就是5,首部长度就是4×5=20字节。版本字段4位, IPv4是4, IPv6是6 ,null总长度字段16位,单位为字节。 该字段的表示范围是0~65 535,所以IP数据报最长可以是65 535字节(64KB)。 IP数据报极少超过1500B。区分服务字段8位,目前仍很少使用。null标识字段16位,是个序列号。 发送IP数据报时,下一个IP数据报的标识比前一个IP数据报的标识大1,到达最大值65 535后再从0开始,不断循环。 该字段主要用于IP数据报的分片与还原过程。标志字段3位,用于IP数据报的分片与还原过程。null片偏移字段13位,用于IP数据报的分片与还原过程。 当一个IP数据报过长,超过数据链路层帧的最大长度时,就必须分片。 接收方接收后,依靠标识、标志与片偏移这3个字段把分片的IP数据报还原。null生存时间(Time to Live,TTL)字段8位,防止出现故障时IP数据报无休止地在网络中循环。 路由器在转发一次后,就把TTL减1,减后值若为0,就丢弃这个IP数据报。 在不同操作系统实现的IP协议中,TTL具有不同的初值,Linux为64,Windows XP为128,UNIX则为最大值255。null协议(上层)字段8位,与以太网帧中的类型字段类似。 如果本字段的值是十进制的6,说明数据部分是TCP协议的协议数据单元,就把数据部分交给TCP协议实体; 如果本字段的值是十进制的17,说明是UDP协议的协议数据单元,就交给UDP协议实体。null首部检验和字段16位,用以检测首部在传输过程中是否出现差错。 为减轻路由器的负担,首部检验和不使用性能好但复杂的CRC,而是使用一种简单但检错能力不太强的方法。 null源IP地址字段32位,是发送计算机的IP地址。 有时源IP地址起到身份识别的作用,但是IP地址容易修改,可以冒充别的计算机,所以用源IP地址进行身份识别非常地不可靠。目的IP地址字段32位,是接收计算机的IP地址。 路由器根据目的IP地址转发IP数据报。null数据部分是运输层的协议数据单元,不过也可以装载其他类型的数据。RFC中定义了多个首部选项,这些选项可用可不用,实际上很少使用。 首部选项丰富了IP协议的功能,使得IP首部是变长,增加了路由器的负担。4.3.3 路由器与IP数据报转发4.3.3 路由器与IP数据报转发1.路由器的硬件结构 路由器(router)将网络(局域网或广域网) 连通 ,这种设备也叫网关(gateway)。 路由器的主要功能是转发IP数据报,经多个路由器的多次转发,最终把IP数据报从发送方传输到接收方。 路由器通常有2、4或8个接口,比交换机的接口少得多。 路由器的硬件结构分为输入输出接口、交换结构与选路(路由选择)处理器 3部分:典型的路由器的结构 典型的路由器的结构 路由 选择选路处理器路由选择协议路由表3输入端口3交换结构输入端口输出端口分组 转发转发表分组处理输出端口……11133122223——网络层 2——数据链路层 1——物理层1)输入输出接口1)输入输出接口路由器的同一接口(端口)既可输入数据,也可输出数据。 接口收到IP数据报后,根据其中的目的IP地址确定输出接口,然后把IP数据报从输出接口转发出去。 与交换机类似,路由器中也有一个转发表,叫做路由表,确定输出接口的办法就是查找路由表。 提高路由表的查找速率是一个非常重要的问题。 每个接口都有一定数量的内存,当IP数据报进入输入接口太快来不及转发,或者IP数据报到达输出接口太快来不及发送到线路上时,IP数据报就临时存放在内存中。 因为IP协议是不保证可靠传输的,所以IP数据报被丢弃后,IP协议不负责重新传输。2)交换结构2)交换结构交换结构位于路由器的中心,它把所有的接口连接在一起,IP数据报通过交换结构才能从输入接口到达输出接口。 3)选路处理器3)选路处理器选路指为IP数据报在网络中选择一条合适的路径, 根据路由表选择路径,有了路由表就可以据此转发IP数据报了。 路由表如何产生?两种 (1) 手工输入是一个办法,但是当网络规模很大时,这对管理员来说是一项不可能完成的任务。 (2) 同交换机中的转发表一样,路由器应该能够自动生成路 由表,选路处理器就负责这个任务,选路处理器 之间交换一些网络状况的信息,根据这些信息来生成路由表。null2.路由器转发IP数据报的过程 路由器工作在网络层,从一个接口收到数据后,路由器根据数据中的目的IP地址把数据转发到一个接口去。 图中的路由器有两个接口,电信号或光信号从接口1进入后,物理层实体把信号转换成0与1,数据链路层实体拆封帧得到IP数据报,IP协议实体根据IP数据报中的目的IP地址,把IP数据报转发到接口2去。 接口2工作过程与接口1相反。null路由器能够连接物理层与数据链路层都不相同的网络。 图中的接口1与接口2连接的链路可以是不同的传输媒体,数据链路层协议也可以不同,因此路由器的每个接口都要有各自的物理地址。 null路由器根据路由表转发IP数据报。 图中两台路由器A与B各有4个接口,连接了多个网络,假设网络1到网络4都有200台计算机,它们的网络IP地址分别是1.1.1.0/24、2.2.2.0/24、3.3.3.0/24、4.4.4.0/24。路由表路由表路由表有两列最基本的数据: 目的IP地址与接口。 null 路由表与交换机中的转发表有一个根本的不同是表的大小。 交换机用于局域网中,连接的计算机数量有限,转发表至多有数千行。 若每台计算机都要在路由表中占一行 ,路由表可能会有数十亿行。 如何解决这个难题? 路由表一般只网络的IP地址(当然记录某台计算机的IP地址还是允许的),还应记录网络IP地址的子网掩码,以搞清网络号的长度。 null这样改进后的路由表可能出现一种特殊情况:目的IP地址可能匹配路由表中的两行或更多行。 例如,某路由表中有这样两行数据:1.1.0.0/16转发到接口1,1.1.1.0/24转发到接口2,目的IP地址1.1.1.1与这两行都匹配,应该转发到哪? 这时应该使用最长前缀匹配规则(longest prefix matching rule),即采用网络号最长的那个匹配项,1.1.1.1应该与1.1.1.0/24匹配,转发到接口2。默认路由默认路由缩小路由表的另一个办法是增加一行默认路由,表 中最后一行就是默认路由。 它的含义是与现有行都不匹配的IP数据报都将转发到接口4去。3.路由器与交换机比较3.路由器与交换机比较除此之外,交换机不需设置就能工作,路由器必须经过复杂的设置后才能工作,而且同等价格条件下,路由器的速率比交换机慢得多,接口数也比交换机少得多。null三层交换机既有交换机的功能,又有路由器转发IP数据报的基本功能,但是缺少路由器的很多附加功能。 有些三层交换机的路由器功能默认是关闭的,必须由管理员启用,当路由器功能关闭时,三层交换机就相当于一台二层交换机。 看起来三层交换机似乎可以取代路由器,其实不然。 三层交换机仅有转发IP数据报的基本功能,而没有路由器中经常使用的很多附加功能,如NAT、VPN等功能,这些附加功能主要用于一个网络与另一个网络的交界处,在一个网络内部通常用不到。 所以在网络的内部可以选择三层交换机,在网络的交界处则选择路由器。 网络设备的选择 网络设备的选择 4.数据报网络与虚电路网络 4.数据报网络与虚电路网络 IP数据报的转发方式是典型的分组交换方式,采用这种交换方式的网络称为数据报(datagram)网络。 分组交换分成两种:数据报 和虚电路(virtual circuit)。 采用虚电路交换方式的网络称为虚电路网络。 虚电路中的报文仍被拆分成分组,这与数据报是一样的; 但虚电路是面向连接的,这与电路交换又是一样的。null在第一个数据分组发送之前,先发送一些控制分组,其目的是寻找一条合适的路径,这条路径就是虚电路。 所有数据分组都沿虚电路转发,寻找虚电路的过程就是建立连接的过程。 转发方式仍是存储转发,网络设备把数据分组存入内存,查看首部确定其虚电路,再转发出去。 数据分组发完后再发送控制分组以拆除这条虚电路,拆除虚电路的过程也就是拆除连接的过程。null因为所有数据分组都沿同一条虚电路转发,所以分组都会顺序到达,不会乱序,再加上面向连接的特点,虚电路与电路交换非常相似。 但本质上虚电路仍是分组交换,首先是因为报文要拆分为分组; 其次,一条虚电路与一条物理电路有着根本的区别:虚电路上没有分组传输时,可以传输其他用户的数据,而物理电路则不能。 虚电路的线路利用率与数据报相当,从根本上克服了电路交换的线路利用率低的缺点。 电路交换、数据报与虚电路的比较电路交换、数据报与虚电路的比较null电路交换有数据顺序到达等优点,把数据报与电路交换结合起来,就形成了虚电路。 但是虚电路中所有数据都沿同一路径转发,不够灵活,建立与拆除连接也非常复杂。 在计算机网络发展的早期,数据报网络与虚电路网络并存。 发展到现在,大多数虚电路网络都被淘汰,虚电路网络越来越少,现在覆盖全球的因特网是典型的数据报网络。4.4 子网与IP地址分配 4.4.1 子网的概念4.4 子网与IP地址分配 4.4.1 子网的概念按照IP协议的术语,用路由器分割的小型网络或VLAN叫做一个子网(subnet)。 经常把一个子网叫做一个网段,甚至在不引起歧义的情况下叫做一个网络。 路由器划分子网的情况,同样也适用于交换机VLAN划分的子网。null两台路由器A与B连接了子网1、子网2与子网3,每个子网都是一个广播域,M11、MA1等是以太网的物理地址。 注意路由器A与路由器B之间虽然没有任何计算机,但也构成了一个子网。 同一子网内的计算机通信时不经过路由器转发, 不同子网内的计算机通信时一定经过路由器转发。 null同一子网内计算机IP地址的网络号相同,网络号相同的计算机就组成了一个子网。 IP地址为1.1.1.1、1.1.1.2与1.1.1.3的3台计算机都属于子网1,子网1的IP地址则是1.1.1.0/24。 子网1的广播IP地址?能否到达其他子网的计算机? 1.1.1.255是子网1的广播IP地址 。null如果一台计算机IP地址的网络号与子网内其他计算机的不同,就不能与网内其他计算机通信。 如:子网3中的一台计算机的IP地址为4.4.4.1,与其他计算机IP地址的网络号不同,这台计算机就不能与其他计算机正常通信。 路由器A与B的每个接口的IP地址都不相同,而且路由器的网络号一定要与本子网的网络号相同 。 4.4.2 IP数据报的传输过程4.4.2 IP数据报的传输过程当给一台计算机配置IP协议属性时,在设置IP地址的同时,还要设置子网掩码与默认网关(default gateway)。 默认网关是一个路由器接口的IP地址,该计算机发往其所在子网以外的IP数据报都由默认网关转发。是否在同一子网判断是否在同一子网判断计算机1.1.1.1发送一个IP数据报前,首先要确定接收计算机与自己是否在同一子网内。 方法是把自己的IP地址与目的IP地址都与子网掩码进行“与”运算,得到网络IP地址,若网络IP地址相同则在同一子网内,若不同则不在同一子网内。 分两种情况 :1.发送计算机与接收计算机在同一子网内1.发送计算机与接收计算机在同一子网内计算机1.1.1.1向1.1.1.2发送一个IP数据报。1.1.1.1、1.1.1.2和子网掩码255.255.255.0与运算的结果都是1.1.1.0,这说明它们在同一个子网内。2.发送计算机与接收计算机不在同一子网内2.发送计算机与接收计算机不在同一子网内如,计算机1.1.1.1向3.3.3.1发送一个IP数据报。 1.1.1.1、3.3.3.1和子网掩码255.255.255.0与运算的结果不相同,前者是1.1.1.0,后者是3.3.3.0,这说明它们不在同一个子网内。 1.1.1.1先把IP数据报发给路由器A,路由器A再转发给路由器B,最后路由器B再转发给3.3.3.1,这中间经过了3个子网 。 IP数据报在传输过程中,源IP地址与目的IP地址始终不变,路由器就根据目的IP地址转发。null帧中的物理地址则不同,每经过一段链路就变化一次。 在子网1内,帧由1.1.1.1发往路由器A的接口1,因此源物理地址是1.1.1.1自己的物理地址,目的物理地址是路由器A接口1的物理地址; 在子网2内,帧由路由器A的接口2发往路由器B的接口1,因此源物理地址是路由器A的接口2,目的物理地址是路由器B的接口1; 在子网3内,帧由路由器B的接口2发往3.3.3.1,因此源物理地址是路由器B的接口2,目的物理地址是3.3.3.1的物理地址。nullnull物理地址是数据链路层的地址,不同链路上的物理地址自然不同。 本例中路由器连接的子网都是以太网,但实际上路由器可以连接不同数据链路层协议的子网,帧与物理地址的格式与意义都可以不同,在点对点链路上甚至可以没有物理地址。 IP地址错误设置IP地址错误设置把子网3中一台计算机的IP地址误设为4.4.4.1,它将无法收到其他计算机发送给自己的数据。 同一子网内的3.3.3.1计算机向4.4.4.1计算机发送数据时,认为4.4.4.1计算机与自己不在相同的子网,把帧发送给路由器B,而不会发送给4.4.4.1计算机; 不同子网的计算机向4.4.4.1发送数据时,根据路由表的记录,IP数据报会转发到网络4.4.4.0/24去,而不会转发到子网3。 路由器接口设错IP地址也是同样的情况。4.4.3 IP地址的分配方法4.4.3 IP地址的分配方法某单位从IP地址管理机构申请到一个IP地址块,这个地址块内所有IP地址的网络号都是相同的,这个地址块实际上就代表了一个子网,该单位可以在这个子网内再划分更小的子网。 假设这个地址块的网络IP地址是1.1.1.0/24(254个IP地址),分配IP地址时,这24位网络号不能改动。 打算划分为4个子网,考虑了将来的发展后,每个子网中计算机的最大数量分别是100、50、25、25,应该如何为这4个子网分配IP地址呢? 分配IP地址的关键是分配每个子网的网络IP地址。null 子网1计算机最多100台,主机号7位(网络号25位)就可以了,这是因为27-2=126, 后8位中的最高位0与原先的24位网络号组成子网1的网络号。 null 子网1计算机最多100台,主机号7位(网络号25位)就可以了,这是因为27-2=126, 后8位中的最高位0与原先的24位网络号组成子网1的网络号。 从后8位中取出10 与原网络号组成子网2的网络号, null 子网1计算机最多100台,主机号7位(网络号25位)就可以了,这是因为27-2=126, 后8位中的最高位0与原先的24位网络号组成子网1的网络号。 从后8位中取出10 与原网络号组成子网2的网络号, 取出110与原网络号组成子网3的网络号, null子网1计算机最多100台,主机号7位(网络号25位)就可以了,这是因为27-2=126, 后8位中的最高位0与原先的24位网络号组成子网1的网络号。 从后8位中取出10 与原网络号组成子网2的网络号, 取出110与原网络号组成子网3的网络号, 取出111与原网络号组成子网4的网络号。4.5 其他网络层协议 4.5.1 地址解析协议4.5 其他网络层协议 4.5.1 地址解析协议1.ARP工作原理 IP数据报放入帧中传输时,帧中的目的物理地址必须要填写,可是当我们在浏览器地址栏中键入http://210.44.176.198时, IP地址 与物理地址 如何转换? 发送计算机如何填写帧中的目的物理地址? 地址解析协议(Address Resolution Protocol,ARP),ARP利用目的IP地址,与子网内其他计算机交换信息,完成IP地址到物理地址的转换。null假设计算机A要与计算机B通信,但A只知道B的IP地址,必须利用ARP获得B的物理地址。 这个过程由计算机自动完成,不需用户参与。ARP工作原理 ARP工作原理 (1)计算机A广播ARP请求,即发送目的物理地址为FF-FF-FF-FF-FF-FF的广播帧。 ARP请求不封装在IP数据报中,主要是:“我的IP地址是1.1.1.1,物理地址是M1,我想知道IP地址为1.1.1.2的计算机的物理地址。”null(2)本子网内的计算机,包括计算机B、计算机C及路由器R都接收到这样的ARP请求。 计算机C与路由器R发现ARP请求中不是自己的IP地址,就不予理会; 计算机B发现是自己的IP地址,就向计算机A发送一个ARP响应。 计算机B ARP响应的主要内容是:“我的IP地址是1.1.1.2,物理地址是M2。”null(3)计算机A收到ARP响应,就知道了计算机B的物理地址,可以把IP数据报装入帧向其发送了。 为提高效率,计算机A还把IP地址与物理地址的这个对应关系记入内存(叫做ARP缓存),下次再向计算机B发送数据时直接使用即可。ARP缓存ARP缓存如果没有ARP缓存,每次都要广播ARP请求,增加了网络通信量。 每次广播ARP请求前,计算机总是先查询ARP缓存,查不到时再广播ARP请求。 在Windows XP中,利用arp命令的-a选项可以查看ARP缓存中的内容,也可以利用-s选项人工向ARP缓存中添加IP地址与物理地址的对应关系。 人工添加的对应关系称为静态的,利用ARP请求获得的对应关系则称为动态的。nullARP缓存中的动态数据必须有个有效期,通常为几分钟或几十分钟,有效期到了就删除相应数据,这是因为计算机有可能更改自己的物理地址。 例如,在计算机A的ARP缓存中,记录有计算机B的IP地址与物理地址的对应关系。 计算机B更换了网卡,物理地址自然变了,这时计算机A利用ARP缓存将找不到计算机B。 有效期到时计算机A删除了ARP缓存中计算机B的数据,再广播ARP请求,就又找到了计算机B。nullARP请求通过广播帧发送,只能在本子网内广播。 因此利用ARP只能得到子网内计算机的物理地址,得不到子网外计算机的物理地址,有必要得到子网外计算机的物理地址吗? 显然没有必要。 计算机A向子网外发送IP数据报时,只需要知道路由器R接口1的物理地址,把IP数据报发送给路由器R,再由路由器R向外转发,计算机A并不需要知道最终的目的计算机的物理地址。null最后的问题是计算机A怎样知道路由器R接口1的物理地址呢? 自然还是利用ARP。 在IP协议属性的设置中,已经设置好默认网关(即路由器R)的IP地址,利用ARP就能得到路由器R的物理地址,这与得到计算机B的物理地址是相同的。2.ARP欺骗攻击2.ARP欺骗攻击2007年以来,ARP欺骗病毒在全国各地大规模爆发,造成了巨大的损失。 ARP欺骗病毒的原理其实很简单:中病毒的计算机收到ARP请求后,发送虚假的ARP响应,接收计算机就会收到一真一假两个ARP响应。 接收计算机使用先到的ARP响应,对后到的不予理会,如果假ARP响应先到,接收计算机就会被欺骗。 4.5.2 网际控制消息协议4.5.2 网际控制消息协议IP是不保证可靠传输的协议,当IP数据报出现差错时,简单地丢弃它,并不重新传输。 只丢弃IP数据报 对改正差错于事无补, 应该报告这个差错。 网际控制消息协议(Internet Control Message Protocol,ICMP,也叫差错报告协议)就起到报告差错的作用。ICMP消息格式 ICMP消息格式 检验和字段长度2字节,用以检测整个ICMP消息是否出错。 IP数据报仅检测首部是否出错,不包括数据部分,所以ICMP有必要自己进行差错检测。 对不同的类型与代码字段,数据部分有不同的内容。ICMP消息 类别ICMP消息 类别ICMP消息分为差错报告与查询两大类别,具体类型由类型字段决定,代码字段则决定某类型下的一个子类型。 RFC 792定义了30多个ICMP消息类型 。ICMP消息类型(1)ICMP消息类型(1)1.主机不可达 当路由器无法把IP数据报转发到接收计算机时,就丢弃这个IP数据报,并向发送计算机报告主机不可达错误。 原因:目的IP地址错误,或者是路由器中的路由表错误。 2.协议不可达 接收计算机收到了IP数据报,但要根据IP数据报首部中的协议字段交付数据时,却没有相应的接收实体。 如:协议字段为6,说明数据要交给TCP实体,但因某种原因TCP实体没有运行,这时就发生协议不可达错误。 3.源站抑制 当路由器或计算机因网络拥塞而丢弃IP数据报时,除丢弃IP数据报外,还要向发送计算机报告这个错误,发送计算机就知道应该减慢发送速率。ICMP消息类型(1)ICMP消息类型(1)4.生存时间为0 当路由器把IP数据报首部中的生存时间(TTL)字段减为0时,就丢弃该IP数据报,同时向发送计算机报告这个错误。 5.错误的首部 当路由器发现IP数据报首部有错误时,就丢弃该IP数据报,同时向发送计算机报告这个错误。 6.回送请求与回送响应 一台计算机可向另一台计算机发送回送(echo)请求消息,回送请求消息中可有不定长度的任意数据。 接收计算机应该返回一个回送响应消息,其中的数据由回送请求消息中的数据原样复制而来。null ping程序就是利用了回送请求与回送响应这两个消息,ping程序可以测试两台计算机是否连通,如果连通那么往返时延大约是多少。 但是现在为安全计,很多路由器与防火墙都禁止ICMP消息通过,有时用ping程序发现两台计算机并不连通,但是其他程序却能通信。 例如,ping不通某个网站,但是却能够用浏览器打开它的网页。 并不是对所有差错都要发送ICMP差错消息。 例如,当一个装载ICMP差错消息的IP数据报发生差错时,就不应发送ICMP差错消息,因为这容易造成多次反复发送ICMP差错消息。4.5.3 多播与IGMP协议 1.多播的基本概念4.5.3 多播与IGMP协议 1.多播的基本概念IP数据报有单播(unicast)、广播(broadcast)与多播(multicast)3种传输方式。 单播的目的IP地址就是一般的IP地址;(任意两台计算机之间) 广播的目的IP地址是主机号全为1的IP地址;(网络内) 介于二者之间的称为多播,IP数据报由一个发送方传输到一部分计算机,这些计算机称为一个多播组。 可以同时建立多个多播组,以传输不同的数据。 多播组的规模越大,越能节省网络资源。 多播可以在不同网络中进行 D类IP地址作为该多播组的地址D类IP地址作为该多播组的地址建立一个多播组时,分配一个D类IP地址作为该多播组的地址,范围是224.0.0.0~239.255.255.255。 发往这个多播组的IP数据报中的目的IP地址就是这个D类IP地址,加入多播组的计算机仍具有自己的单播IP地址。 加入多播组的计算机有两个IP地址。 一个多播组必须要有路由器配合才能正常运行,多播数据的转发与单播数据有较大差异,路由器必须具有多播功能才能参与多播,现在的大多数路由器都已具有多播功能。null一个多播组建立后,任意一台计算机都可以加入或退出这个多播组,但在加入或退出时都要向多播路由器提出请求。 多播路由器记下哪些子网有属于这个多播组的计算机,以便向该子网转发多播IP数据报。 如果某个子网内的计算机都退出了多播组,就不再向该子网转发多播IP数据报。null当一个多播IP数据报到达一个子网的多播路由器(一般就是默认网关)时,多播IP数据报必须封装在以太网帧中,再发送给子网内属于这个多播组的计算机。 这些帧应该如何发送? 需要使用多播物理地址。 范围01-00-5E-00-00-00~01-00-5E-7F-FF-FF内的物理地址是多播物理地址,它的前25位是固定的,后23位可以自由使用,后23位由多播IP地址的后23位原样复制而来。null但是多播IP地址的前4位固定(1110),后28位可以自由使用,因此28位中的前5位不能复制到物理地址中去 。 这使得多播IP地址与多播物理地址不是一一对应的。 如多播IP地址224.128.64.32(1110000.1 0000000. 64.32) 与224.0 .64.32 (1110000.0 0000000. 64.32) 转换成的多播物理地址都是01-00-5E-00-40-20。null多播计算机的网卡根据多播IP地址确定多播物理地址,接收发给自己所在多播组的帧,丢弃发给其他多播组的帧。 由于多播IP地址与多播物理地址是多对一的关系,所以也有可能收到另一多播组的帧。 这就需要过滤接收到的多播IP数据报,把其中的目的IP地址与自己的多播IP地址比较,若不相同则说明数据不属于自己所在的多播组,丢弃即可。2.网际组管理协议2.网际组管理协议多播的过程非常复杂,需要两类协议才能运行。 第1类协议是计算机与多播路由器间的协议,依靠它多播路由器确定一个多播组内有哪些计算机; 第2类协议是多播路由器之间的协议,依靠它多播路由器才能高效地转发多播IP数据报。 第1类协议中现在最常用的是网际组管理协议(Internet Group Management Protocol,IGMP),第2类协议见下一节。 与ICMP类似,IGMP消息也封装在IP数据报中。 IGMP消息有好几种,不同的IGMP消息有不同的格式,具体格式略。4.5.4 选路协议4.5.4 选路协议1.路由器中的选路 网络层的任务是为数据从路由表中选择一条合适的路径,这叫做选路(routing)。 路由表如何产生? 管理员手工输入。 但对于因特网中的骨干路由器,管理员必须掌握整个因特网的IP地址情况,才能正确设置。 网络总是处于不断变化之中 。动静路由表动静路由表由管理员输入的路由表数据叫做静态路由,路由器自动生成的路由表数据叫做动态路由。 路由器要自动生成路由表,就必须先与网络中的其他路由器交换关于网络状况的数据,再处理这些数据,最后才能够生成路由表。 这就需要选路协议,选路协议规定了路由器间交换数据的格式与内容。 选路协议有很多种, 目的是选出最优的路径。 什么样的路径是最优的?最优的路径最优的路径从计算机X到计算机Y有很多路径。 假定经过路由器最少的路径是最优的,这样的路径是A→B→C→F与A→D→E→F。 不但要考虑经过路由器最少的问题,还应该考虑链路的速率、链路的拥塞程度、链路的稳定性、链路的收费等问题。 综合考虑这些问题,给每条链路确定一个费用(cost)值,费用值最低的路径就是最优的路径。 每条链路上的数字即为费用值,费用值最低的路径是A→D→E→C→F,费用值是2+1+2+1=6。 null理想情况下的费用值应该全面反映链路的状况,但实际上很难做到。 实用的选路协议一般只根据一个或几个因素来确定费用值,或者由管理员根据实际情况人工设定。null若全世界所有因特网中路由器 同时运行一个选路协议,相互之间频繁交换数据,会占用大量的网络带宽,同时每个路由器中建立完整的路由表也需要极长的时间。 为解决这个问题,因特网划分为很多个自治系统(Autonomous System,AS)。 AS内部运行一个选路协议,AS之间运行另一个选路协议。 AS内部运行的一类协议叫做内部网关协议; AS之间运行的一类协议叫做外部网关协议。 在我国,电信、联通等电信运营商一般把一个省或几个省的网络划分为一个AS。 1)选路信息协议1)选路信息协议选路信息协议(Routing Information Protocol,RIP)是一种内部网关协议,运行于AS内部,是最先得到广泛使用的选路协议。 RIP中所有链路的费用值都定为1,最优路径就是经过路由器最少的路径。 RIP最大的优点是简单,容易实现。 但RIP的缺点也很多,所有费用值都为1,未考虑速率等其他因素;RIP只能运行在小型的网络中;路由表更新需要较长的时间。 RIP适用于小型的、简单的网络。2)开放路径最短优先2)开放路径最短优先开放路径最短优先(Open Shortest Path First,OSPF)也是一种内部网关协议,是为克服RIP的缺点而设计的,由RFC 2328定义,IETF的RFC全部是开放的 。 不开放的协议通常由某厂家制定,并且保密,只能运行在该厂家自己的设备上。 OSPF克服了RIP的缺点,OSPF中链路的费用值由管理员人工设定,一般与数据传输速率成反比,如果一条10Gbps链路的费用值设为1,那么另一条100Mbps链路的费用值就应该设为100。 OSPF可以运行在大型的网络中。 OSPF鉴别收到的数据,确保都是真实的。 OSPF得到了广泛的应用。3)边界网关协议3)边界网关协议边界网关协议(Border Gateway Protocol,BGP)是一种外部网关协议,运行于AS之间。 BGP比RIP与OSPF都复杂得多。 同时BGP又比RIP与OSPF更重要,它把所有的AS连接在一起,因特网就是靠BGP才成为因特网的。 BGP规定每个AS要有一个全世界唯一的AS编号,就像IP地址一样,AS编号由ICANN分配。nullBGP要求每个AS都要选择一台路由器作为该AS的“BGP发言人”,一般情况下,BGP发言人是一个AS的出入口,进出AS的数据都从BGP发言人转发。 不同AS的BGP发言人之间交换选路信息,再根据交换的信息来生成路由表。 因为全世界AS的数量远远少于子网的数量,所以能够不很困难地生成路由表。 AS之间的选路比AS内部复杂得多,除技术问题外,还有很多非技术问题。4)多播选路协议4)多播选路协议计算机可以随时加入与退出多播组,这使得多播选路协议比普通的单播选路协议复杂得多。 多播路由器利用多播选路协议交换数据,不断更新多播路由表,与多播组内计算机的变化状况保持一致。null多播选路协议的主要思想是把多播组内的计算机组织成一棵树,让多播IP数据报沿这棵树流动。 如何生成这棵树,根据多播组内计算机的变化状况不断更新这棵树,是非常复杂的问题。 具体的多播选路协议有多种,如距离向量多播选路协议(Distance Vector Multicast Routing Protocol,DVMRP),OSPF经过扩展也可以支持多播,叫做MOSPF。 2.计算机中的选路2.计算机中的选路同路由器一样,计算机中也是有路由表。 只不过一般的计算机只有一块网卡,设置好IP地址、子网掩码、默认网关等属性,路由表就会自动生成。 在Windows XP中,IP协议属性对话框中设置的默认网关会自动成为路由表中的默认路由,默认网关与默认路由实际上是一回事。 对于有两块网卡的计算机,两块网卡共用一个路由表,这个路由表可能需要手动设置。null计算机A安装有两块网卡,网卡1连入子网1.1.1.0/24,子网1.1.1.0/24与子网3.3.3.0/24连接在一起;网卡2连入子网2.2.2.0/24。 每块网卡的IP地址应该设为它所在子网内的IP地址 。 计算机A的路由表需要手动设置,在Windows XP中,要手动设置路由表,只能在命令窗口中使用route命令设置。 计算机A中路由表中默认路由代表了发往因特网的数据。 4.5.5 移动IP4.5.5 移动IP移动IP(mobile IP)提供了在移动中不修改IP地址的方法. 需要指出的是,只要物理层、数据链路层与网络层支持移动性,运输层与应用层不需任何修改自然就能支持移动性。 如何实现在移动中不修改IP地址呢? 一个移动设备(如一台笔记本电脑或一个智能手机)所在的网络称为归属网络(home network),移动设备在其中的IP地址称为永久地址(permanent address),归属网络中执行移动管理功能的设备称为归属代理(home agent)。 移动设备移动到的新网络称为外部网络(foreign network),外部网络中执行移动管理功能的设备称为外部代理(foreign agent),外部代理为移动设备临时性地分配一个本子网内的IP地址,称为外部地址(foreign address)。 归属代理与外部代理通常是一台路由器,或服务器。null当一个移动设备进入一个新的外部网络时,它要向外部代理注册,以得到一个外部地址,当离开这个外部网络时,也要向外部代理注销。 外部代理在接受一个新的移动设备后,必须通知其归属代理,告知分配的外部地址,使归属代理能够随时掌握移动设备的位置。4.6 IPv6 4.6.1 IPv6的特点4.6 IPv6 4.6.1 IPv6的特点IP协议是因特网的核心协议。 IP地址有232≈40亿个,但现在可分配的IP地址非常少。 根据专家预计,到2012年前后全球将没有可分配的IP地址。 我国的IP地址更加缺乏,截至到2007年12月31日,中国大陆分得的IP地址为1.35亿个,仅占全球已分配地址的4.45%,不到美国的十分之一。 教育网在我国发展较早,相对公众网,IP地址还是较为充裕的。 1995年发布的RFC 1883定义了IPv6 。 同IPv4一样,IPv6仍是数据报交换方式的、无连接的、尽力而为的、不保证可靠传输的协议,但IPv6对IPv4做了重大改进:1.更长的IP地址1.更长的IP地址IPv6使用长度128位(16字节)的IP地址。 IPv6地址使用冒号十六进制记法,把地址分为8段,每段2字节,用十六进制表示,各段间用冒号分开。 如1234:0000:0000:0000:ABCD:5678:0000:0000。 现在分配的IPv6地址中有大量的0存在,为使地址更简洁,一个段中前面的0可以省略,如000F可以记为F;一个全为0的段也可以省略(
/
本文档为【第4章 网络层】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索