第十一章三层交换与TCPIP

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第十一章三层交换与TCP/IP协议目标:了解IP的基本概念。了解IP地址的转换方式。了解IP寻址原理及路由原理了解三层交换原理。全球INTERNET网的广泛应用使IP协议深入人心。IP协议以其简单、有效、开放性成为事实上的工业标准。IP协议使异种网互联方便可行,尤其值得一提的是它对下层通信技术的巨大包容性。IP协议作为通信子网的最高层,提供无连接的数据报传输机制。IP协议是点到点的,核心问题是寻径。它向上层提供统一的IP数据报,使得各种物理帧的差异性对上层协议不复存在。互连网协议IP是TCP/IP体系中两个最重要的协议之一。与IP协议配套使用的还有三个协议:地址转换协议ARP(AddressResolutionProtocol)反向地址转换协议RARP(ReverseAddressResolutionProtocol)Internet控制报文协议ICMP(InternetControlMessageProtcol)图1IP及其相关协议w上图画出了这三个协议和IP协议的关系。在这一层中,ARP和RARP画在最下面,因为IP经常要使用着两个协议。ICMP画在这一层的上部,因为它要使用IP协议。这三个协议将在后面陆续介绍。一、IP地址的表示方法我们把Internet看成为一个网络。所谓IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit地址。IP地址的结构使我们可以Internet上很方便地进行寻址,这就是:先按IP地址中的网络号码net-id把网络找到,再按主机号码host-id把主机找到。所以IP地址并不只是一个计算机的号码,而是指出了连接到某个网络上的某个计算机。IP地址有美国国防数据网DDN的网络信息中心NIC进行分配。为了便于对IP地址进行管理,同时还考虑到网络的差异很大,有的网络拥有很多的主机,而有的网络上的主机则很少。因此Internet的IP地址就分成为五类,即A类到E类。这样,IP地址由三个字段组成,即:类别字段(又称为类别比特),用来区分IP地址的类型;网络号码字段net-id;主机号码字段host-id。D类地址是一种组播地址,主要是留给Internet体系结构委员会IAB(InternetArchitectureBoard)使用。E类地址保留在今后使用。目前大量IP地址仅A至C类三种。ͼ1IP地址及分类A类IP地址的网络号码数不多。目前几乎没有多余的可供分配。现在能够申请到的IP地址只有B类和C类两种。当某个单位向IAB申请到IP地址时,实际上只是拿到了一个网络号码net-id。具体的各个主机号码host-id则由该单位自行分配,只要做到在该单位管辖的范围内无重复的主机号码即可。为方便起见,一般将32bit的IP地址中的每8个比特用它的等效十进制数字表示,并且在这些数字之间加上一个点。例如,有下面这样的IP地址:10000000000010110000001100011111这是一个B类IP地址,可记为128.11.3.31,这显然更方便得多。在使用IP地址时,还要知道下列地址是保留作为特殊用途的,一般不使用。全0的网络号码,这表示“本网络”或“我不知道号码的这个网络”。全1的网络号码。全0的主机号码,这表示该IP地址就是网络的地址。全1的主机号码,表示广播地址,即对该网络上所有的主机进行广播。全0的IP地址,即0.0.0.0。网络号码为127.X.X.X.,这里X.X.X为任何数。这样的网络号码用作本地软件回送测试(Loopbacktest)之用。全1地址255.255.255.255,这表示“向我的网络上的所有主机广播”。原先是使用0.0.0.0。这样,我们就可得出下表所示的IP地址的使用范围。±í1IP地址的使用范围网络类别最大网络数第一个可用的网络号码最后一个可用的网络号码每个网络中的最大主机数A126112616.777.214B16.382128.1191.25465.534C2.097.15012.0.1223.255.254254IP地址有一些重要的特点。IP地址有一些是一种非等级的地址结构。这就是说,和电话号码的结构不一样,IP地址不能反映任何有关主机位置的地理信息。当一个主机同时连接到两个网络上时(作路由器用的主机即为这种情况),该主机就必须同时具有两个相应的IP地址,其网络号码net-id是不同的,这种主机成为多地址主机(multihomedhost).按照Internet的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号码net-id.在IP地址中,所有分配到网络号码net-id的网络(不管是小的局域网还是很大的广域网)都是平等的。二、子网的划分IP地址的设计有不够合理的地方。例如,IP地址中的A至C类地址,可供分配的网络号码超过211万个,而这些网络上的主机号码的总数则超过37.2亿个,初看起来,似乎IP地址足够全世界来使用,(在70年代初期设计IP地址是就是这样认为的)。其实不然。第一,当初没有预计到微机会普及得如此之快。各种局域网和局域网上的主机数目急剧增长。第二,IP地址在使用时有很大的浪费。例如:某个单位申请到了一个B类地址。但该单位只有1万台主机。于是,在一个B类地址中的其余5万5千多个主机号码就白白地浪费了。因为其他单位的主机无法使用这些号码。因此,目前正在研究如何将IP地址加以扩展[NETW93],但这非常复杂。因为IP地址一旦改变,在各种主机上运行的大量软件就必须修改。这是一件耗费大量人力和财力的工作。有人也提出采用OSI的20个字节的网络层地址方案。读者应注意这一问题。从1985年起,为了使IP地址的使用更加灵活,在IP地址的网络号码net-id,而后面的主机号码host-id则是受本单位控制,由本单位进行分配。本单位所有的主机都使用同一个网络号码。当一个单位的主机很多而且分布在很大的地理范围是,往往需要用一些网桥(而不是路由器,因为路由器连接的主机具有不同的网络号码)将这些主机互连起来。网桥的缺点较多。例如容易引起广播风暴,同时当网络出现故障时也不太容易隔离和管理。为了使本单位的各子网之间使用路由器来互连,因而便于管理。需要注意的是,子网的划分纯属本单位内部的是,在本单位以外是看不见这样的划分。从外部看,这个单位只有一个网络号码。只有当外面的分组进入到本单位范围后,本单位的路由器在根据子网号码进行选路,最后找到目的主机。若本单位按照主机所在的地理位置划分子网,那么在管理方面就会方便得多。下图说明是在划分子网时要用到的子网掩码(subnetmask)的意义。(a)举了一个B类IP地址作为例子。(b)表示将本地控制部分再增加一个子网字段,子网号字段究竟选为多长,由本单位根据情况确定。TCP/IP体系规定用一个32bit的子网掩码来表示子网号字段的长度。具体的做法是:子网掩码由一连串的“1”和一连串的“0”组成。“1”对应于网络号码和子网号码字段,而“0”对应于主机号码字段(c)多划分出一个子网号码字段是要付出代价的。例如,对于上述的例子,本来一个B类IP地址可以容纳65534个主机号码。但划分出6bit长的子网字段后,最多可有62个子网(去掉全1和全0的子网号码)。每个子网有10bit的主机号码,即每个子网最多可有1022个主机号码。因此主机号码的总数是62*1022=63364个。比不划分子网时要少了一些。若一个单位不进行子网的划分,则其子网掩码即为默认值,此时子网掩码中“1”的长度就是网络号码的长度。因此,对于A,B和C类IP地址,其对应的子网掩码默认值分别为255.0.0.0,255.255.0.0和255.255.255.0。ͼ1子网与子网掩码三、地址的转换ͼ1主机名字、主机物理地址与IP地址的转换上面讲的IP地址还不能直接用来进行通信。这是因为:IP地址中的主机地址只是主机在网络层中的地址,相当与前面讲过的NSAP。若要将网络层中传送的数据报交给目的主机,必须知道该主机的物理地址。因此必须在IP地址和主机的物理地址之间进行转换。用户平时不愿意使用难于记忆的主机号码,而是愿意使用易于记忆的主机名字。因此也需要在主机名字和IP地址之间进行转换。在TCP/IP体系中都有这两种转换的机制。对于较小的网络,可以使用TCP/IP体系提供的叫做hosts的文件来进行从主机名字到IP地址的转换。文件hosts上有许多主机名字到IP地址的映射,供主叫主机使用。对于较大的网络,则在网络中的几个地方放有域名系统DNS(DomainNameSystem)的名字服务器nameserver,上面分层次放有许多主机名字到IP地址转换的映射表。主叫主机中的名字转换软件resolver自动找到DNS的nameserver来完成这种转换。域名系统DNS属于应用层软件。图11中设名字为host-a的主机要与名字为host-b的主机通信,通过DNS从目的主机host-b得出其IP地址为209.0.0.6。IP地址到物理地址的转换由地址转换协议ARP来完成。图5还表示出从IP地址209.0.0.6通过ARP得出了目的主机48bit的物理地址08002B00EE0A。由于IP地址有32bit,而局域网的物理地址(即MAC地址)是48bit,因此它们之间不是一个简单的转换关系。此外,在一个网络上可能经常会有新的计算机假如近来,或撤走一些计算机。更换计算机的网卡也会使其物理地址改变。可见在计算机中应当存放一个从IP地址到物理地址的转换表,并且能够经常动态更新。地址转换协议ARP很好地解决了这些问题。每一个主机都有一个ARP高速缓存(ARPcache),里面有IP地址到物理地址的映射表,这些都是该主机目前知道的一些地址。当主机A欲向本局域网上的主机B发送一个IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的物理地址,然后将该数据报发往此物理地址。也有可能查不到主机B的IP地址的项目。这可能是主机B才入网,也可能是主机A刚刚加电,其高速缓存还是空的。在这种情况下,主机A就自动运行ARP,按以下步骤找出主机B的物理地址。ARP进程在本局域网上广播发送一个ARP请求分组,上面有主机B的IP地址。在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。主机B在ARP请求分住中见到自己的IP地址,就向主机A发送一个ARP响应分组,上面写入自己的物理映射。主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到物理地址的映射。在很多情况下,当主机A向主机B发送数据报时,很可能以后不久主机B还要向主机A发送数据报,因而主机B也可能要向主机A发送ARP请求分组。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到物理地址的映射写入ARP请求分组。当主机B收到主机A的ARP请求分组时,主机B就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向主机A发送数据报时就更方便了。在进行地址转换时,有时还要用到反向地址转换协议RARP。RARP使只知道自己物理地址的主机能够知道其IP地址。这种主机往往是无盘工作站。这种无盘工作站一般只要运行其ROM中的文件传送代码,就可用下行装载方法,从局域网上其他主机得到所需的操作系统和TCP/IP通信软件,但这些软件中并没有IP地址。无盘工作站要运行ROM中的RARP来获得其IP地址。RARP的工作过程大致如下:为了使RARP能工作,在局域网上至少有一个主机要充当RARP服务器,无盘工作站先向局域网发出RARP请求分组(在格式上与ARP请求分组相似),并在此分组中给出自己的物理地址。RARP服务器有一个事先做好的从无盘工作站的物理地址到IP地址的映射表,当收到RARP请求分组后,RARP服务器就从这映射表查出该无盘工作站的IP地址。然后写入RARP响音分组,发回给无盘工作站。无盘工作站用这样的方法获得自己的IP地址。四、IP数据报的格式在TCP/IP的标准中,各种数据格式常常以32bit(即4字节)

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功