IP 协议协议协议协议

IP 协议协议协议协议

ID:37658151

大小:398.32 KB

页数:29页

时间:2019-05-27

上传者:U-2595
IP 协议协议协议协议_第1页
IP 协议协议协议协议_第2页
IP 协议协议协议协议_第3页
IP 协议协议协议协议_第4页
IP 协议协议协议协议_第5页
资源描述:

《IP 协议协议协议协议》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛课程3IP协议 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛目录课程说明..............................................................1课程介绍..........................................................1课程目标..........................................................1相关资料..........................................................1第一节序言...........................................................11.1Internet的互连网协议IP............................................2第二节IP地址及其转换..................................................32.1IP地址的表示方法................................................32.2子网的划分.....................................................52.3地址的转换.....................................................7小结............................................................10习题............................................................10第三节IP数据报的格式.................................................113.1IP数据报首部的固定部分..........................................113.2IP首部的可变部分...............................................14小结............................................................16习题............................................................16第四节路由段与路由表.................................................174.1IP地址与物理地址...............................................184.2通过路由表进行选路..............................................19小结............................................................21习题............................................................21第五节Internet控制报文协议ICMP.........................................22小结............................................................25习题............................................................25习题答案.............................................................26缩略词表.............................................................27 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛课程说明课程介绍本课程介绍Internet协议中IP协议的相关概念原理主要包括IP地址及其转换IP数据报的格式路由技术及ICMP差错控制报文等内容课程目标完成本课程学习学员能够掌握VIP协议的功能VIP地址及IP数据报的格式VIP协议中的路由技术相关资料TCP/IPIllstrated,Volume1-TheProtocolsTCP/IPIllstrated,Volume1-TheImplementation1 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛第一节序言1.1Internet的互连网协议-IP全球INTERNET网的广泛应用使IP协议深入人心IP协议以其简单有效开放性成为事实上的工业标准IP协议使异种网互联方便可行尤其值得一提的是它对下层通信技术的巨大包容性IP协议作为通信子网的最高层提供无连接的数据报传输机制IP协议是点到点的核心问题是寻径它向上层提供统一的IP数据报使得各种物理帧的差异性对上层协议不复存在互连网协议IP是TCP/IP体系中两个最重要的协议之一与IP协议配套使用的还有三个协议地址转换协议ARPAddressResolutionProtocol反向地址转换协议RARPReverseAddressResolutionProtocolInternet控制报文协议ICMPInternetControlMessageProtcol图1-1画出了这三个协议和IP协议的关系在这一层中ARP和RARP画在最下面因为IP经常要使用着两个协议ICMP画在这一层的上部因为它要使用IP协议这三个协议将在后面陆续介绍顺便指出有时会听到一种不准确的说法“我们用TCP/IP协议进行网络互连”我们要请读者注意TCP是与互连网协议IP配套使用的一个运输协议TCP相当与OSI的运输层协议而不是一个互连网协议因此TCP和网络互连并没有直接的关系只不过是TCP与IP经常配合起来使用而已如图1所示Telnet,FTP...TCP,UDPICMPIPRARPARP图1IP及配套协议2 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛第第第二节第二节IP地址及其转换在TCP/IP体系中IP地址是一个很重要的概念一定要把它弄清楚2.1IP地址的表示方法我们把Internet看成为一个网络所谓IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit地址IP地址的结构使我们可以Internet上很方便地进行寻址这就是先按IP地址中的网络号码net-id把网络找到再按主机号码host-id把主机找到所以IP地址并不只是一个计算机的号码而是指出了连接到某个网络上的某个计算机IP地址有美国国防数据网DDN的网络信息中心NIC进行分配为了便于对IP地址进行管理同时还考虑到网络的差异很大有的网络拥有很多的主机而有的网络上的主机则很少因此Internet的IP地址就分成为五类即A类到E类这样IP地址图2由三个字段组成即类别字段又称为类别比特用来区分IP地址的类型网络号码字段net-id;主机号码字段host-idD类地址是一种组播地址主要是留给Internet体系结构委员会IAB(InternetArchitectureBoard)使用E类地址保留在今后使用目前大量IP地址仅A至C类三种3 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛012348162431A类0net-idhost-idB类10net-idhost-idC类110net-idhost-idD类1110组播地址E类11110保留为今后使用图2IP地址的五种类型net-id网络号码host-id主机号码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之用4 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛ó全1地址255.255.255.255这表示向我的网络上的所有主机广播原先是使用0.0.0.0这样我们就可得出表1所示的IP地址的使用范围表1IP地址的使用范围网络最大第一个可用的最后一个可用每个网络中的类别网络数网络号码的最大主机数网络号码A126112616.777.214B16.382128.1191.25465.534C2.097.15012.0.1223.255.254254IP地址有一些重要的特点1.IP地址有一些是一种非等级的地址结构这就是说和电话号码的结构不一样IP地址不能反映任何有关主机位置的地理信息2.当一个主机同时连接到两个网络上时作路由器用的主机即为这种情况该主机就必须同时具有两个相应的IP地址其网络号码net-id是不同的这种主机成为多地址主机multihomedhost.3.按照Internet的观点用转发器或网桥连接起来的若干个局域网仍为一个网络因此这些局域网都具有同样的网络号码net-id.4.在IP地址中所有分配到网络号码net-id的网络不管是小的局域网还是很大的广域网都是平等的图3画出了用路由器用有R字的圆圈符号表示和网桥用有B字方框符号表示连接起来的一个互连网图中的小圆圈表示需要有一个不同的IP地址可以看出一个计算机若要和网络号码不同的计算机通信就必须经过路由器2.2子网的划分IP地址的设计有不够合理的地方例如IP地址中的A至C类地址可供分配的网络号码超过211万个而这些网络上的主机号码的总数则超过37.2亿个初看起来似乎IP地址足够全世界来使用在70年代初期设计IP地址是就是这样认为的其实不然第一当初没有预计到微机会普及得如此之快各种局域网和局域网上的主机数目急剧增长第二IP地址在使用时有很大的浪费例如某个单位申请到了一个B类地址但该单位只有1万台主机5 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛于是在一个B类地址中的其余5万5千多个主机号码就白白地浪费了因为其他单位的主机无法使用这些号码如图3所示:::::RRR:BBBRRRBBBRRR:BBBBBBBBB::::图3什么地方需要一个IP地址因此目前正在研究如何将IP地址加以扩展[NETW93]但这非常复杂因为IP地址一旦改变在各种主机上运行的大量软件就必须修改这是一件耗费大量人力和财力的工作有人也提出采用OSI的20个字节的网络层地址方案读者应注意这一问题从1985年起为了使IP地址的使用更加灵活在IP地址的网络号码net-id而后面的主机号码host-id则是受本单位控制由本单位进行分配本单位所有的主机都使用同一个网络号码当一个单位的主机很多而且分布在很大的地理范围是往往需要用一些网桥而不是路由器因为路由器连接的主机具有不同的网络号码将这些主机互连起来网桥的缺点较多例如容易引起广播风暴同时当网络出现故障时也不太容易隔离和管理为了使本单位的各子网之间使用路由器来互连因而便于管理需要注意的是子网的划分纯属本单位内部的是在本单位以外是看不见这样的划分从外部看这个单位只有一个网络号码只有当外面的分组进入到本单位范围后本单位的路由器在根据子网号码进行选路最后找到目的主机若本单位按照主机所在的地理位置划分子网那么在管理方面就会方便得多6 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛这里应注意TCP/IP体系的子网subnet是本单位网络内的一个更小些的网络和前面讲的OSI体系中的子网subnetwork不同它们的英文名字不同但中文译名都是一样的图4说明是在划分子网时要用到的子网掩码subnetmask的意义图4a举了一个B类IP地址作为例子图4b表示将本地控制部分再增加一个子网字段子网号字段究竟选为多长由本单位根据情况确定TCP/IP体系规定用一个32bit的子网掩码来表示子网号字段的长度具体的做法是子网掩码由一连串的1和一连串的0组成1对应于网络号码和子网号码字段而0对应于主机号码字段图4c多划分出一个子网号码字段是要付出代价的例如对于图4的例子本来一个B类IP地址可以容纳65534个主机号码但划分出6bit长的子网字段后最多可有62个子网去掉全1和全0的子网号码每个子网有10bit的主机号码即每个子网最多可有1022个主机号码因此主机号码的总数是62*1022=63364个比不划分子网时要少了一些若一个单位不进行子网的划分则其子网掩码即为默认值此时子网掩码中1的长度就是网络号码的长度因此对于AB和C类IP地址其对应的子网掩码默认值分别为255.0.0.0,255.255.0.0和255.255.255.02.3地址的转换上面讲的IP地址还不能直接用来进行通信这是因为1.IP地址中的主机地址只是主机在网络层中的地址相当与前面讲过的NSAP若要将网络层中传送的数据报交给目的主机必须知道该主机的物理地址因此必须在IP地址和主机的物理地址之间进行转换2.用户平时不愿意使用难于记忆的主机号码而是愿意使用易于记忆的主机名字因此也需要在主机名字和IP地址之间进行转换在TCP/IP体系中都有这两种转换的机制对于较小的网络可以使用TCP/IP体系提供的叫做hosts的文件来进行从主机名字到IP地址的转换文件hosts上有许多主机名字到IP地址的映射供主叫主机使用7 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛本地分配B类地址net-idhost-id(a)子网号主网号增加子网Subnetnet-idhost-id号字段-id(b)子网掩码11111111111111111111110000000000(c)图4子网掩码的意义对于较大的网络则在网络中的几个地方放有域名系统DNSDomainNameSystem的名字服务器nameserver,上面分层次放有许多主机名字到IP地址转换的映射表主叫主机中的名字转换软件resolver自动找到DNS的nameserver来完成这种转换域名系统DNS属于应用层软件图5中设名字为host-a的主机要与名字为host-b的主机通信通过DNS从目的主机host-b得出其IP地址为209.0.0.6:net-id=209.0.0主机名host-aIP=209.0.0.5:host-b主机名目的主机名host-bDNSIP=209.0.0.6目的主机:网卡IP地址209.0.0608002B00EE0AARP目的主机物理地址08002B00EE0A图5主机名字主机物理地址与IP地址的转换IP地址到物理地址的转换由地址转换协议ARP来完成图5还表示出从IP地址209.0.0.6通过ARP得出了目的主机48bit的物理地址08002B00EE0A现在假8 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛设此主机连接在某个局域网上如网络是广域网则转换出主机在广域网上的物理地址由于IP地址有32bit,而局域网的物理地址即MAC地址是48bit因此它们之间不是一个简单的转换关系此外在一个网络上可能经常会有新的计算机假如近来或撤走一些计算机更换计算机的网卡也会使其物理地址改变可见在计算机中应当存放一个从IP地址到物理地址的转换表并且能够经常动态更新地址转换协议ARP很好地解决了这些问题每一个主机都有一个ARP高速缓存ARPcache里面有IP地址到物理地址的映射表这些都是该主机目前知道的一些地址当主机A欲向本局域网上的主机B发送一个IP数据报时就先在其ARP高速缓存中查看有无主机B的IP地址如有就可查出其对应的物理地址然后将该数据报发往此物理地址也有可能查不到主机B的IP地址的项目这可能是主机B才入网也可能是主机A刚刚加电其高速缓存还是空的在这种情况下主机A就自动运行ARP按以下步骤找出主机B的物理地址:1.ARP进程在本局域网上广播发送一个ARP请求分组上面有主机B的IP地址2.在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组3.主机B在ARP请求分住中见到自己的IP地址就向主机A发送一个ARP响应分组上面写入自己的物理映射4.主机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发送数据报时就更方便了在进行地址转换时有时还要用到反向地址转换协议RARPRARP使只知道自己物理地址的主机能够知道其IP地址这种主机往往是无盘工作站这种无盘工作站一般只要运行其ROM中的文件传送代码就可用下行装载方9 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛法从局域网上其他主机得到所需的操作系统和TCP/IP通信软件但这些软件中并没有IP地址无盘工作站要运行ROM中的RARP来获得其IP地址RARP的工作过程大致如下为了使RARP能工作在局域网上至少有一个主机要充当RARP服务器无盘工作站先向局域网发出RARP请求分组在格式上与ARP请求分组相似并在此分组中给出自己的物理地址RARP服务器有一个事先做好的从无盘工作站的物理地址到IP地址的映射表当收到RARP请求分组后RARP服务器就从这映射表查出该无盘工作站的IP地址然后写入RARP响音分组发回给无盘工作站无盘工作站用这样的方法获得自己的IP地址小结IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit地址IP地址的结构使我们可以Internet上很方便地进行寻址Internet的IP地址就分成为五类为了提高IP地址的利用率引进了子网的概念IP地址到物理地址的转换由地址转换协议ARP来完成习题2-1ABC类IP地址各自的地址范围是多少2-2为什么要划分子网2-3简述ARP的工作流程10 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛第三节IP数据报的格式在TCP/IP的标准中各种数据格式常常以32bit即4字节为单位来描述图6是IP数据报的格式01234567优先级DTRC未用比特04816192431版本首部长度服务类型总长度20个标识标志段偏移字节固定寿命协议首部检验和长度源站IP地址目的站IP地址长度长度可变的任选字段填充可变数据...图6IP数据报的格式从图6可看出一个IP数据报由首部和数据两部分组成首部的前一部分长度是固定的20个字节后面部分的长度则是可变长度下面介绍首部各字段的意义3.1IP数据报首部的固定部分1版本版本字段站4bit,指IP协议的版本通信双方使用的IP协议的版本必须一致目前使用的IP协议版本为42首部长度首部长度字段占4bit可表示的最大数值是15个单位一个单位为4字节因此IP的首部长度的最大值是60字节当IP分组的首部长度不是4字节的整数倍时必须利用最后一个填充字段加以填充这样数据部分永远在4字节的整数倍时开始这样在实现起来会比较方便首部长度限制为60字节的11 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛缺点是有时如采用源站选路时不够用但这样做的用意是要用户尽量减少额外的开销3服务类型服务类型字段共8bit长用来获得更好的服务其意义见图6的上面部分所示服务类型字段的前三个比特表示优先级它可使数据报具有8个优先级中的一个第4个比特是D比特表示要求有更低的时延第5个比特是T比特表示要求有更高的吞吐量第6个比特是R比特表示要求有更高的可靠性即在数据报传的过程中被结点交换机丢弃的概率要更小些第7个比特是C比特是新增加的表示要求选择价格更低廉的路由最后一个比特目前尚未使用4总长度总长度指首部和数据之和的长度单位为字节总长度字段为16bit因此数据报的最大长度为65535字节这在当前是够用的当很长的数据报要分段进行传送时总长度不是指未分段前的数据报长度而是指分段后每个段的首部长度与数据长度的总和5标识标识字段的意义和OSI的IPDU中的数据单元标识符的意义一样是为了使分段后的各数据报段最后能准确地重装成为原来的数据报请注意这里的标识并没有顺序号的意思因为IP是无连接服务数据报不存在按序接收的问题6标志标志字段占3bit目前只有前两个比特有意义标志字段中的最低位记为MFMoreFragmentMF=1即表示后面还有分段的数据报MF=0表示这已是若干数据报段中的最后一个标志字段中间的一位记为DFDon’tFragment只有当DF=0时才允许分段7段偏移段偏移字段的意义和OSI的IPDU中规定的相似只是表示的单位不同这里是以8个字节为偏移单位可见IP数据报的段偏移字段13bit长和OSI的IPDU的段偏移字段16bit长是相当的12 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛8寿命寿命字段记为TTLTimeToLive,其单位为秒寿命的建议值是32秒但也可设定为3-4秒或甚至255秒9协议协议字段占8bit它指出此数据携带的运输层数据是使用何种协议以便目的主机的IP层知道应将此数据报上交给哪个进程常用的一些协议和响应的协议字段值写在协议后面的括弧中是UDP17TCP6ICMP1GGP3EGP8IGP9OSPF89以及ISO的TP42910首部检验和此字段只检验数据报的首部不包括数据部分不见眼数据部分是因为数据报每经过一个结点结点处理机就要重新计算一下首部检验和一些字段如寿命标志段偏移等都可能发生变化如将数据部分一起检验计算的工作量就太大了11地址源站IP地址字段和目的站IP地址字段都各占4字节1复制到所有段0仅复制到第一段5bit1bit2bit复制任选类别任选编号0数据报或网络控制1保留2排错和测量3保留图7Option选项13 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛3.2IP首部的可变部分IP首部的可变部分就是一个任选字段任选字段用来支持排错测量以及安全等措施内容很丰富此字段的长度可变从一个字节到40个字节不等取决于所选择的项目某些任选项目只需要一个字节它只包括一个字节的任选代码图7画的是任选代码的格式还有些任选项目需要多个字节但其第一个字节的格式仍为图7所示的那样这些任选项一个个拼接起来中间不需要有分隔符最后用全0的填充字段补齐成为4字节的整数倍可以看出任选代码共有三个字段第一个字段是复制字段占1bit它的作用是控制网络中的路由器在将数据报进行分段时所作的选择当复制字段为1时必须将此任选字段复制到每一个数据报段而当复制字段为0时就只复制到第一个数据报段上第二个字段是任选类别字段占2bit但目前只有两种可供选用如图8任选类别意义0数据报或网络控制(主要是这一类)1保留今后使用2排错和测量,即Internet时间戳3保留今后使用图8任选类别及意义第三个字段是任选编号占5个字节它指出任选是做什么用的属于任选类别0的有下列一些任选编号任选编号为0指出这是任选项目中的最后一个任选编号为1无操作用于需要按每4个字节对齐之用和填充字段的功能是一样的以上两种都是只使用一个字节的任选代码下面的几种则要使用若干个字节任选编号为2为安全用的只用在美国国防系统来传送机密文件路由器在检测到这一安全任选项目时就要使该数据报不要离开安全的环境在商业上尚无此应用14 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛任选编号为7为记录路由用的其长度是可变的图9是记录路由的任选项目的格式08162431任选代码长度指针第一个IP地址第二个IP地址...图9记录路由的任选项目的格式这种数据报是用来监视和控制互连网中的路由器是如何转发数据报的源站发出一个空白的表让数据报所经过的个路由填上其IP地址以获得路由信息前三个字节是1.任选代码字段——其中的三个字段分别填入00和72.长度字段——填入此任选项目的长度包括这前三个字节3.指针字段——指出下一个可填入IP地址的空白位置的偏移量在这之后就是若干个4字节长的IP地址让各个路由器填入当一个路由器收到包含有记录路由任选项目的数据报时先检查指针所指的位置是否超过了表的长度如不超过则填入自己的IP地址并将指针值加4然后转发出去但如表已填满则不填入自己的IP地址而仅仅转发此数据报一般的计算机在受到这样的数据报是并不会理睬该数据报中所记录的路由因此源站必须和有关的站主机在协商好请目的主机在收到记录的路由信息后将路由信息提取出来并发回源站下面两任选项目都是关于源站选路的ó任选编号为3不严格的源站选路(loosesourcerouting)其长度是可变的ó任选编号为9严格的源站选路(strictsourcerouting)其长度也是可变的源站选路本来是源站将数据报传送的路由事先规定好严格的源站选路不允许改变源站规定好的路由但不严格的源站选路允许在数据报传送的过程中将路由表中源站已规定要经过的一些路由器改换成别的路由器15 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛源站选路任选项目的格式与图记录路由的相似前面也是三个固定的字节但任选代码字节中的三个字段应分别填入10和3不严格的源站选路以及10和9严格源站选路此外这三个字节后的IP地址表不是空的而是事先由源站写好的数据报按源站指定的路由传送当路由器收到此数据报后若指针已超过表的范围则转发此数据报不写任何数据若指针的指示是正确的则填入自己的IP地址(覆盖掉原来的IP地址)并按照表中指出的一下一个地址转发出去这里要注意一个路由器有两个或两个以上IP地址原来在这个任选项目路由表中写入的是路由器的入口IP地址而路由器写的IP地址则是路由器的出口IP地址在数据报中加入源站选路任选项目可以使网络的管理者了解沿网络中的某一条通路的通信状况是否正常一般的用户并不使用这一功能最后一个任选项目是Internet的时间戳ó任选编号为4作时间戳用其长度是可变的格式和图类似但一开始除了原来的任选代码字段(填入02和4)长度字段和指针字段这三个字节外再加上一个字节的溢出和标志两个字段标志字段区分几种情况(1)只写入时间戳2写入IP地址和时间戳3IP地址由源站规定好路由器只写入时间戳溢出字段写入一个数此数值即数据报所经过的路由器的最大数目考虑到太多的时间戳可能会写不下时间戳记录了路由器收到数据报的日期和时间占用了4个字节时间的单位是毫秒是从午夜算起的通用时间(UniversalTimer)也就是以前的格林尼治时间当网络中的主机的本地时间和时钟不一致时记录的时间戳会有一些误差时间戳可用来统计数据报经路由器产生的时延和时延的变化小结一个IP数据报由首部和数据两部分组成首部的前一部分长度是固定的20个字节后面部分的长度则是可变长度IP首部的可变部分就是一个任选字段任选字段用来支持排错测量以及安全等措施习题3-1IP数据头中那些域与数据报分组相关3-2请简述源路径选项16 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛第第第四节第四节路路路由段路由段由段与路由段与路与路由表与路由表在互连网中进行路由选择要使用路由器它平等地看待每一个网络不论是较大的广域网还是较小的局域网在路由器看来都只是一个网络因此在图中将每一个网络画成为一片云表示路由器产不知道在每一个网络中一个分组是如何选择具体的路由路由器只是根据所收到的数据报上的目的主机地址选择一个合适的路由器(通过某一个网络)将数据报传送到下一个路由器通路上最后的路由器负责将数据报送交目的主机路由器将分组在某一个网络中走过的通路从进入网络算起到离开网络为止从逻辑上看成是一个路由单位并将此路由单位称为一个路由段(hop)或简称为段例如在图10中主机A到主机C共经过了3个网络和2个路由器因此共经过3个路由器布从主机A到主机B则经过了5个网络和4个路由器即经过5个路由段由此可见若一结点通过一个网络与另一结点相连接则此二结点相隔一个路由段因而在互连网中是相邻的同理相邻的路由器是指这两个路由器都连接在同一个网络上一个路由器到本网络中的某个主机制路由段数算作零在图中用粗的箭头表示这些路由段至于每一具体路由段又由哪几条链路构成路由器并不关心:RRA路由段RRC:RB:图10路由段的概念在互连网的情况下只能计算各条通路所包含的路由段数由于网络大小可能相差很大而每个路由段的实际长度并不相同因此对不同的网络可以将其路由段乘以一个加权系数用加权后的路由段数来衡量通路的长短17 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛因此如果把互连网中的路由器看成是网络中的结点把互连网中的一个路由段看成是网络中的一条链路那么互连网中的路由选择就与简单网络中的路由选择相似了采用路由段数最小的路由有时也产不一定是理想的例如经过三个局域网路由段的路由可能比经过两个广域网络路由段的路由快得多4.1IP地址与物理地址下面通过一个最简单的例子IP地址和物理地址在选路过程中的作用设主机A要向主机B发送一个数据报两个主机分别连接在两个网络上这两个网络通过一个路由器相连主机A的IP层收到欲发送的数据报后就比较目的主机的源主机的网络号码是否相同这就是从数据报首部的IP地址中抽出网络号码net-id部分进行比较如相同则表明这两个主机在同一个网络内这样就只需要用目的主机的物理地址进行通信如果不知道目的主机的物理地址则可向ARP进行查询但当主机A和B的网络号码不一样时就表明它们连接在不同的网络上因此必须将数据报发给路由器进行转发源主机从配置中读出路由器的IP地址然后从ARP得到路由器的物理地址随后将数据报发送给这个路由器这里要强调指出在数据报的首部写上的源IP地址和目的IP地址是指正在通信的两个主机的IP地址路由器的IP地址并没有出现在数据报的首部中当然路由器的IP地址是很有用的但它是用来使源主机得知路由器的物理地址总之数据报在一个路由段上传送时要用物理地址才能找到路由器图11是上述概念的示意图这就是MAC地址设物理地址就是局域网的MAC地址用于主机到路由器之间的通信即在一个路由段上通信而18 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛IP地址则用于两个主机之间的通信并用来决定找哪一个路由器符号(1)到(8)表示数据报传送的先后顺序MCA:080000102172MAC:080000123456IP:142.1.0.8MAC:0800000021975IP:30.0.0.21MAC:080000109715问ARP30.0.0.1问ARP142.1.0.2141的物理地址的物理地址5ARP响应2ARP响应080000109715080000102172至从至从路63由080000109715080000123456:080000102172080000002197:30.0.0.1142.1.0.8B30.0.0.1142.1.0.8器AIP:142.1.0.21IP:30.0.0.217至从8至从080000123456080000109715080000102172080000002197142.1.0.830.0.0.1142.1.0.830.0.0.18图11两个主机通过路由进行通信我们应当注意到路由器由于连接在两个网络上因此具有两个IP地址和两个物理地址(MAC地址)主机A发送的数据报经过路由器后数据报中的两个IP地址都没有发生变化但数据帧中的MAC地址源地址和目的地址却都改变了最后发回来的信息是主机B向主机A的应答(7)和(8)上面的简单例子只有一个路由器在更加复杂的例子中两个通信的主机要经过多个网络和路由器这时通信的通路上紧后的路由器负责将数据报交付给目的主机4.2通过路由表进行选路当源主机发送数据报时IP层先检查目的主机IP地址中的网络号码如发现与源主机处在同一个网络内则不经过路由器只要按照目的主机的物理地址传送即可如目的主机不是和源主机在同一个网络中那么就查一下是否对此特定的目的主机规定了一个特定的路由如有则按此路由进行传送这种情况有时很有用因为在某些情况下需要对到达某一个目的主机的特定路由进行性能测试19 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛如不属于以上情况则应查找路由表路由表中写明找某某网络上的主机应通过路由器的哪个物理端口然后就可找到某某路由器再查找这个路由器的路由表或者不再经过别的路由器而只要在同一个网络中直接传送这个数据报为了不使路由表过于庞大可以在网络中设置一个默认路由器(defaultrouter)凡遇到在路由表中查不到要找的网络就将此数据报交给网络中的默认路由器默认路由器继续负责下一步的选路这对只用一个路由器与Internet相连的的小网特别方便因为只要不是发送给本网络的主机的数据报统统送交给默认路由器图12的例子说明其中一个路由器路由器80的路由表的主要内容这里有7个网络通过8个路由器互连在一起我们应注意到每一个路由器具有不止一个IP地址图中各网络中的数字是该网络的网络地址前面讲过主机号码为全零的IP地址就是网络地址路由器8由于与三个网络相连因此有三个IP地址和三个物理端口16.0.0.216.0.0.316.0.0.0路由器R8的路由表15.0.0.2R710.0.0.2R6目的主机从哪个路经过哪16.0.0.2所在网络由器转发个端口15.0.0.0R510.0.0.013.0.0.310.0.0.0直接213.0.0.2215.0.0.111.0.0.111.0.0.0直接13R8R213.0.0.012.0.0.011.0.0.2114.0.0.211.0.0.1113.0.0.413.0.0.0直接313.0.0.111.0.0.014.0.0.013.0.0.2314.0.0.0R315.0.0.010.0.0.2216.0.0.010.0.0.2212.0.0.2R111.0.0.214.0.0.1R412.0.0.012.0.0.312.0.0.1图12路由表举例各路由表的数据可以是人工输入也可能通过各种路由选择协议来生成20 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛小结在互连网中进行路由选择要使用路由器选择路由是IP协议的重要内容路由器只是根据所收到的数据报上的目的主机地址选择一个合适的路由器(通过某一个网络)将数据报传送到下一个路由器通路上最后的路由器负责将数据报送交目的主机路由选择主要通过路由表进行习题4-1路由器的IP地址有没有出现在数据报的首部中为什么4-2请简述源主机发送数据报的流程21 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛第五节Internet控制报文协议ICMPIP数据报的传送不保证不丢失但互连网层对数据报的传送还有一定的质量保证功能这就是使用Internet控制报文协议ICMP(InternetControlMessageProtocol)ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告但ICMP不是高层协议它仍是互连网层中的协议ICMP报文作为互连网层数据报的数据加上数据报的首部组成IP数据报发送出去ICMP报文的格式如图13所示ICMP报文数据报首部数据报数据IP数据报图13ICMP报文与IP数据报的关系081631类型代码检验和长度可变部分取决于ICMP的类型图14ICMP报文的格式ICMP报文的前四个字节是统一的格式共有三个字段但后面是和长度可变部分其长度取决于ICMP的类型ICMP报文的类型字段占一个字节类型字段的值与ICMP报文的类型关系如下类型字段的值ICMP报文的类型0Ech0(回送)回答3目的站不可达4源站抑制(SourceQuench)22 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛5改变路由(Redirect)8Echo请求11数据报的时间超过12数据报的参数有问题13时间戳(Timestamp)请求14时间戳回答17地址掩码(AddressMask)请求18地址掩码回答ICMP报文的代码字段也占有一个字节为的是进一步区分某种类型中的几种不同的情况后面的检验和占两个字节它检验整个ICMP报文数据报首部的检验和不检验数据报的内容因此不能保证ICMP报文是正确的ICMP报文的类型很多但可分为两种类型即ICMP差错报文和ICMP询问报文在ICMP差错报文中改变路由报文用得最多我们以图15为例来说明改变路由报文的用法B网2网1:R1R2网3C::A图15ICMP改变路由报文的使用举例从图15可看出主机A向主机B发送IP数据报应经过路由器R1而向主机C发送数据报则应经过路由R2现在假定主机A启动后其路由表中只有一个默认路由器R1当主机A向主机C发送数据报时数据报就被送到路由器R1从路由器R1的路由表可查出发往主机C的数据报应经过路由器R2于是数据报从路由器R1再转到路由器R2最后传到主机C显然这个路由不好应改变于是路由器R1向主机A发送一个ICMP改变路由报文指出此数据报应经过的下一个路由器R2的IP地址主机A根据收到的信息更新其路由23 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛表以后主机A再向主C发送数据报时根据路由表就知道应将数据报传到路由器R2而不再传到默认路由器R1了图16是ICMP改变路由报文的格式在第5-8字节了写入数据报应经过的路由器的IP地址再后面就是说明是哪一个数据报数据报的首部都要写入而数据部分则写入其前8个字节这里面有运输层数据单元首部的一些数据端口号有时要用到081631类型代码检验和路由器的IP地址原来的IP数据报首部原来的IP数据报数据的前面8个字节图16ICMP改变路由报文的格式当某个速率较高的源主机向另一个速率较慢的目的主机或路由器发送一连串的数据报时就有可能使速率较慢的目的主机产生拥塞因而不得不丢弃一些数据报通过高层协议源主机得知丢失了一些数据报就不断地重发这些数据报这就使得本来就已经拥塞的目的主机更加拥塞在这种情况下目的主机就要向源主机发送ICMP源站抑制报文使源站暂停发送数据报过一段时间再逐渐恢复正常下面介绍几个常用的ICMP询问报文óICMPEcho请求报文是由主机或路由器向一个特定的目的主机发出的询问收到此报文的机器必须给主机发送ICMPEcho回答报文这种询问报文用来测试目的站是否可达以及了解其有关状态在应用层有一个服务叫做PING(PacketInterNetGroper)用来测试两个主机之间的连通性PING使用了ICMPEcho请求与Echo回答报文óICMP时间戳请求报文是请某个主机或路由器回答当前的日期和时间在ICMP时间戳回答报文中有一个32bit的字段其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒时间戳请求与回答可用来进行时钟同步和测量时间óICMP地址掩码请求与回答可使主机向子网掩码服务器得到某个接口的地址掩码24 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛小结ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告但ICMP不是高层协议它仍是互连网层中的协议ICMP报文作为互连网层数据报的数据加上数据报的首部组成IP数据报发送出去ICMP报文的类型很多但可分为两种类型即ICMP差错报文和ICMP询问报文习题5-1为什么ICMP不作为高层协议5-2请简述Ping的流程25 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛习题答案2-1A类1-126B类128-191C类192-2232-2提高IP地址的利用率2-3详见第1课3节3-1ID,标志域Offset3-2详见正文4-1没有IP协议只是设法尽量将数据报向前传递而不关心之间经过的路由器4-2详见正文5-1因为ICMP只是辅助IP进行控制和差错通知的并不是作为一个独立的协议层5-2PING使用了ICMPEcho请求与Echo回答报文26 课程3IP协议http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛缩略词表ARPAddressResolutionProtocolIP地址->物理地址RARPReverseAddressResolutionProtocol物理地址->IP地址ICMPInternetControlMessageProtcol差错控制协议27

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭