您好,欢迎访问三七文档
TCP/IP入门(2)什么是虚拟网络互连?所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的(比如局域网有的采用的是以太网,有的采用令牌环网),但是我们利用IP协议就可以使这些性能各异的网络从用户角度来看好像是一个统一的网络(在网络的上层,我们看不到各网络具体的异构网络细节)。使用IP协议的虚拟互连网络可简称为IP网。好处是:当互联网上的处于不同网络的主机之间进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节(如具体的编址方案,路由选择协议等).IP报文各个字段说明版本IP协议版本号,IPv4此字段值为4,IPv6此字段值为6首部长度取值范围5(0101)~15(1111),单位为4字节,包括固定部分和可选部分,因此首部最长为60字节,最短为20字节(不包括选项和填充部分);服务类型长度为8位(由于该字段一直弃而不用,因此不用考虑)总长度该字段长度为16位,以字节为单位,总长度包含IP的头部和数据部分,IP数据报最大长度为65535字节,但是注意最大不要超过MTU的长度标识16位长度,唯一标识一个数据报,可以将之当成一个计数器,每发送一个数据包,则该值加1,如果数据报分片,则每个分片的标识都一样,各个分片共享一个标识号标志3位标志中第一位不使用,第二位为DF(Don`tFragment不分片),如果该位为1,并且传输的数据报超过最大传输单元(MTU),则该数据报会被丢弃,并发送一个ICMP差错报文;第三位MF(MoreFragment更多分片),表示是否有更多的分片,如果该位为1,则说明后续还有分片,最后一片MF为0片偏移用以指出该分段的第一个数据字节在原始数据报中的偏移位置(以8字节为单位),IP分片后每一个分组都具有自己的首部,而且标志位相同,但是片偏移值不同,通过片偏移值接收端可以重新组装IP包生存时间(TTL)表示数据报最多可经过的路由器的数量.取值0~255,每经过一个路由器,TTL值减1,为0时被丢弃,并发送ICMP报文通知源主机,TTL可以避免数据报在路由器之间不断循环(Tranceroute程序的实现原理)协议类型指明IP层上承载的是哪个高级协议,在分用的过程中,协议栈知道该交给上层的哪个协议处理,如1为ICMP,2为IGMP,6为TCP,17为UDP等.头部校验和保证数据报头部的数据完整性,但校验不包括数据部分。这样做的目的有二:一是所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此IP数据报没有必要再对其所承载的数据部分进行校验。二是每经过一个路由器,IP数据报的头部要发生改变(如TTL),而数据部分不变,这样只对发生改变的头部进行校验,显然不会浪费太多的时间。为了减少计算时间,一般不用CRC校验码,而是采用更简单的网际校验和(InternetChecksum)。选项与填充增加首部的可变部分是为了增加IP数据报的功能,如支持排错,测量以及安全等,选项长度从1到40字节不等,取决于所选择的项目(选项为4字节整数倍,否则用0填充);但这样就增加了每一个路由器处理数据的开销,实际上这些选项很少被使用,很多路由器都并不考虑IP首部的选项字段;IP地址分类IP地址的编址方法,共经历了三个历史阶段。这三个阶段是:1)分类的IP地址。这是最基本的编址方法;2)划分子网。这是对最基本的编址方法的改进;3)构成超网。这是比较新的无分类编址方法,提出后很快得到推广,并沿用至今;分类的IP地址:A)为了适应不同网络规模的需求,将IP地址进行分类,不同类型IP地址拥有的主机数不一样。两级的IP地址可以记为:IP地址::={网络号,主机号}B)特殊地址对于因特网IP地址中有特定的专用地址,不作分配(但他们还是IP地址):(1)主机地址全为0不论哪类网络,主机地址全为0表示指向本网,常用在路由表中。(2)主机地址全为1主机地址全为1表示广播地址,向特定的所在网上所有主机发送数据报。(3)32位全为1若IP地址4字节32比特全为1,表示仅在本网内进行广播发送(见Arp协议)。(4)网络为127TCP/IP协议规定网络号127不可用于任何网络。其中有一个特别地址:127.0.0.1称之为还回地址(loop-back);C)使用范围:网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数A2^7-21126(127不可用)2^24-2B2^14-1128.1191.2552^16-2C2^21-1192.0.1223.255.2552^8-2D)IP地址的重要特点1)IP地址是一种分等级的地址结构。分两个等级的好处是:a.IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了IP地址的管理。b.路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。2)实际上IP地址是标志一个主机/路由器和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个IP地址,其网络号net-id必须是不同的;由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。3)用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。4)所有分配到net-id的网络,无论是范围很小的局域网,还是覆盖很大地理范围的广域网,都是平等的。分组转发算法(1)从数据报的首部提取目的站的IP地址D,得出目的网络地址为N。(2)若网络N与此路由器直接相连,则直接将数据报直接交付给目的站D;否则是间接交付,执行(3)。(3)若路由表中有目的地址为D的特定主机路由,则将数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。(4)若路由表中有到达网络N的路由,则将数据报传送给路由表指明的下一跳路由器;否则,执行(5)。(5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;否则,执行(6)。(6)报告转发分组出错。子网划分一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少子网组成,因为这个单位对外仍然表现一个网络。划分子网的方法是从网络的主机号借用若干位作为子网号subnet-id。划分子网增加了灵活性,但也减少了能够连接在网络上主机总数。于是两级IP地址在本单位内部就变为三级IP地址:IP地址::={网络号,子网号,主机号}凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,在按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机;子网掩码子网掩码也是32位,由一串1和跟随的一串0组成。子网掩码中的1对应于IP地址中原来的网络号和子网号,而子网掩码中的0对应于现在的主机号。故将子网掩码和IP地址进行按位”与“运算(AND),就可得出网络地址,由此可知:A类网络的缺省的子网掩码是255.0.0.0B类网络的缺省的子网掩码是255.255.0.0C类网络的缺省的子网掩码是255.255.255.0(最常见)不同的子网掩码可以得出相同的网络地址,但不同的掩码的效果是不同的.使用子网时分组的转发过程:使用子网划分后,路由表必须包含以下三项内容:{目的网络地址,子网掩码和下一跳地址},路由器转发分组的流程如下:1)从收到的数据报首部提取目的IP地址D;2)先判断是否为直接交付。对路由器直接相连的网络进行逐个检查:用各网络的子网掩码和D逐位相与,看结果是否和相对应的网络地址匹配。若匹配,则把分组进行直接交付,转发任务结束。否则就是间接交付,执行(3)。3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由,否则执行(4)。4)对路由表的每一行,用其中的子网掩码和D逐位相与,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器,否则执行(5)。5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则执行(6)。6)报告转发分组出错。无分类编址(CIDR)无分类域间路由选择(CIDR)是在变长子网掩码的基础上提出的一个消除A,B,C类网络划分,并且可以在软件的支持下实现构造超网的一种IP地址的划分方法;CIDR的主要特点:1)消除了传统的A,B,C类地址以及子网划分的概念,因而可以更加有效的分配IPv4的地址空间.CIDR使用”网络前缀”的概念代替网络号的概念,这样IP地址的无分类两级编址就变为:IP::={网络前缀,主机地址}CIDR还使用”斜线记法”,即:IP地址/网络前缀所占位数.其中,网络前缀所占位数对应于网络号部分,等效于子网掩码中连续1的部分,因此通过逐位相”与”的方法依然可以得到该地址的网络前缀;注:CIDR并不使用子网,CIDR并没有在32位地址中指明若干位作为子网字段,但分配到一个CIDR地址块的组织仍可以在本组织内根据需要划分出一些子网;2)将网络前缀都相同的连续的IP地址组成”CIDR地址块”,一个CIDR地址块可以表示很多地址,这种地址的聚合成为路由聚合,或称构成超网;路由聚合使得路由表中的一个项目可以表示很多个原来传统分类地址的路由,有利于减少路由器之间的路由选择信息的交换,从而提高网络性能.最长前缀匹配使用CIDR时,路由表中的每个项目由”网络前缀”和”下一跳地址”组成.在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体;CIDR查找路由表的方法:为了进行更加有效地查找最长前缀匹配,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找,这就是最常用的二叉线索;网络地址转换NAT网络地址转换(NAT,NetworkAddressTranslation)属接入广域网(WAN)的技术,是一种将私有(保留)地址转化为合法IP地址的转换技术.NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。三个私有IP地址块A类10.0.0.0~10.255.255.255B类172.16.0.0~172.31.255.255C类192.168.0.0~192.168.255.255上述三个范围内的地址不会在因特网上被分配(因此路由器并不会路由这些IP地址),因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。NAT工作流程①如图这个client(终端)的gateway(网关)设定为NAT主机,所以当要连上Internet的时候,该封包就会被送到NAT主机,这个时候的封包Header之sourceIP为192.168.1.100;②而透过这个NAT主机,它会将client的对外联机封包的sourceIP(192.168.1.100)伪装成ppp0(假设为拨接情况)这个接口所具有的公共IP,因为是公共IP了,所以这个封包就可以连上Internet了!同时NAT主机并且会记忆这个联机的封包是由哪一个(192.168.1.100)client端传送来的;③由Internet传送回来的封包,当然由NAT主机来接收了,这个时候,NAT主机会去查询原本记录的路由信息,并将目标IP由ppp0上面的公共IP改回原来的192.168.1.100;④最后则由NAT主机将该封包传送给原先发送封包的Client.ARP协议ARP协议的用途:解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。如图所示,假设在一个以太网上的4台计算机,分别是计算机A、B、X和Y,通过TCP/IP协议进行通信,那么双方的数据链路层必须知道对方的
本文标题:TCPIP学习笔记
链接地址:https://www.777doc.com/doc-2862198 .html