网络硬件和软件马惟哲电子邮件:mwz2000@sina.com第八章网络协议和服务8.1NetBIOS/NetBEUI8.2IPX/SPX8.3TCP/IP第八章网络协议和服务学习重点TCP/IP及其IP地址管理使用IBM最初进军个人计算机网络时,需要一个很基本的网络通讯协议﹐用来建构仅有十台计算机甚至更小的网络。因此诞生了NetBIOS(NetworkBasicInput/OutputSystem)。不久IBM又推出了NetBEUI(NetBIOSExtenedUserInterface)。NetBEUI一个传输协议﹐而NetBIOS充其量只是一组命令来让系统可以使用网络而已﹐在技术角度来看﹐它是一个API(ApplicationProgramInterface)。NetBEUI是能够用到得最快的通讯协议了,然而﹐NetBEUI不是可路由(routable)协议﹐也就是不能和其它网络的机器对话。如果您想和其它网络的机器沟通﹐NetBEUI就不是您所需要的了。如果想实现和其它网络的计算机沟通﹐必需通过路由设备或路由软件来实现。不过﹐Microsoft网络则运用一种叫NetBIOSoverIP的技术﹐来连接不同网络的NetBEUI客户。但归根结底﹐用来达成路由的不是NetBIOS而是TCP/IP。8.1NetBIOS/NetBEUINetBIOS提供名称服务,计算机和应用程序可以通过它来在网络上标识。NetBIOS提供会话服务,它允许正在通信的计算机建立连接,或会话,以及差错检测和修复(listen、call、send、receive命令)。NetBIOS提供数据报服务,单独的消息以无连接模式被单独发送。8.1NetBIOS/NetBEUIIPX/SPX(InternetPacketExchange/SequencesPacketExchange,网际包交换/顺序包交换)协议是NOVELL公司开发的通信协议,具有路由功能,能实现多网段间的跨段通信。IPX/SPX的工作方式较简单,配置简单,性能高于TCP/IP协议。在整个协议中IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据传输是否成功,而SPX在协议中负责对整个传输的数据进行无差错处理。在NT中提供了两个IPX/SPX的兼容协议:NWLinkIPX/SPX兼容协议、NWLinkNetBIOS,两者统称为NWLink通信协议。当需要利用Windows系统进入NetWare服务器时,NWLink通信协议是最好的选择。8.2IPX/SPXOSI模型对应于IPX/SPX的示意图IPX对应于OSI来说是网络层,网络层负责逻辑寻址和路由功能,也就是说负责让消息到达正确的目的地是IPX的主要功能。IPX地址由两部分组成:网络号(子网号)和节点号。系统管理员分配网络号,在同时运行TCP/IP和IPX/SPX的网络中,网络号通常从IP地址派生出来(例如,214.12.1.42在十六进制中为D60C012A)。节点号以MAC为基础。IPX使用服务广告协议(ServiceAdvertisingProtocol,SAP)来公告网络服务地址。8.2.1网络层协议:IPXIPX网络地址00002345:005A8C22FB32网络号节点号SPX在OSI对应于传输层。在这一层上,IPX为无连接协议,SPX为面向连接的协议。这样,SPX更为可靠,传输层负责确认、差错校验和其他可靠性问题。IPX可以让分组达到目的地。SPX负责确保分组完全到达且状态完好。SPX处理秩序问题,记录所传输的分组数目。它通过验证数据的接收来保证数据的送达。8.2.2传输层协议:SPX8.3TCP/IPTCP/IP协议是一组包括TCP协议和IP协议、UDP(UserDatagramProtocol)协议、ICMP(InternetControlMessageProtocol)协议和其他一些协议的协议组。IP地址一个IP地址是用来标识网络中的一个通信实体,比如一台主机,或者是路由器的某一个端口。而在基于IP协议的网络中传输的数据包,也都必须使用IP地址来进行标识,如同我们写一封信,要标明收信人的通信地址和发信人的地址。同样的过程也发生在计算机网络里,每个被传输的数据包也要包括的一个源IP地址和一个目的IP地址,当该数据包在网络中进行传输时,这两个地址要保持不变,以确保网络设备总是能根据确定的IP地址,将数据包从源通信实体送往指定的目的通信实体。8.3.1网络层协议:IP目前,IP地址使用32位二进制地址格式,这意味着可以得到40亿个IP地址(232=4,294,967,296)。为方便记忆,通常使用以点号划分的十进制来表示(如:202.112.14.1)。一个IP地址主要由两部分组成:一部分是用于标识该地址所从属的网络号;另一部分用于指明该网络上某个特定主机(单独的计算机)的主机号。为了给不同规模的网络提供必要的灵活性,IP地址的设计者将IP地址空间划分为五个不同的地址类别,其中A,B,C三类最为常用。注意:这里讨论的是IPv4版本,新出现的IPv6使用128位地址。IP地址192.168.1.14C类地址网络ID主机ID11000000.10101000.00000001.00001110网络号由因特网权力机构(InternetAssignedNumbersAuthority,IANA)分配,目的是为了保证网络地址的全球唯一性。主机地址由各个网络的管理员统一分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性。D类224-2391110组播地址E类240-2551111保留试验使用IP地址类型第一字节十进制范围二进制固定最高位二进制网络号二进制主机号A类0-127*08位24位B类128-1911016位16位C类192-22311024位8位IP地址类注意:主机位全是0及全是1不能作为某台设备的IP地址(网络和广播预留地址)。局域网私有IP地址在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下: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地址使用TCP/IP通信,计算机和其它网络设备必须具有独立的IP地址。这是逻辑地址,在网络层上处理。可以通过2种方式获得IP地址:系统管理员手工设置通过DHCP获得DHCP(DynamicHostConfigurationProtocol)是BOOTP的扩展,引导协议BOOTP(BootstrapProtocol)最初是为了确保无盘工作站能够引导而开发的,为其分配一个IP地址,随后通过网络载入操作系统。DHCP服务器自动为客户机指定IP地址。DHCP使IP地址的可以租用,对于许多拥有许多台计算机的大型网络来说,每台计算机拥有一个IP地址有时候可能是不必要的。租期从1分钟到100年不定(系统管理员设定),当租期到了的时候,服务器可以把这个IP地址分配给别的机器使用。如果计算机不能与DHCP服务器联系上的话,具有APIPA(AutomaticPrivateIPAddressing)功能的计算机会自行分配一个IP地址(B类169.254.0.0网络范围内)。自动分配IP地址为了提高IP地址的使用效率,可将一个网络划分为子网:采用借位的方式,从主机位最高位开始借位变为新的子网位,所剩余的部分则仍为主机位。这使得IP地址的结构分为三部分:网络号、子网号和主机号。IP子网引入子网概念后,网络位加上子网位才能全局唯一地标识一个网络。把所有的网络位用1来标识,主机位用0来标识,就得到了子网掩码(defaultsubnetmasks)。上图所示的子网掩码255.255.255.0变为255.255.255.1921111111111111111111111110000000011111111111111111111111111000000网络号子网号主机号IP地址子网掩码在使用TCP/IP进行网络传输时,IP必须确定目标计算机是否与发送方计算机在同一子网上。如果是,消息就在本地网络广播;如不是,消息被发送给默认网关地址(路由器与本地子网的接口IP地址)。例:发送计算机的IP地址为192.168.1.1,子网掩码为255.255.255.0。目标计算机的IP地址为192.168.3.1,子网掩码为255.255.255.0。发送计算机192.168.1.1=11000000.10101000.00000001.00000001255.255.255.0=11111111.11111111.11111111.00000000ANDedResult=11000000.10101000.00000001.00000000网络ID192.168.1.0主机ID0.0.0.1目标计算机192.168.3.1=11000000.10101000.00000011.00000001255.255.255.0=11111111.11111111.11111111.00000000ANDedResult=11000000.10101000.00000011.00000000网络ID192.168.3.0主机ID0.0.0.1两台计算机不在同一子网上。IP子网注意:主机为全是0及全是1不能作为某台设备的IP地址(网络和广播预留地址)。我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。202.112.14.137=11001010.01110000.00001110.10001001255.255.255.224=11111111.11111111.11111111.11100000网络地址=11001010.01110000.00001110.10000000202.112.14.128广播地址=11001010.11100000.00001110.10011111202.112.14.159子网的计算CCNA考试中,有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。子网计算最初的因特网设计者没有预想到网络会有如此快速地发展,因此现在网络面临的问题都可以追溯到因特网发展的早期决策上,IP地址的分配更能体现这点。目前使用的IPv4地址使用32位的地址,即在IPv4的地址空间中有232(4,294,967,296,约为43亿)个地址可用。这样的地址空间在因特网早期看来几乎是无限的,于是便将IP地址根据申请而按类别分配给某个组织或公司,而很少考虑是否真的需要这么多个地址空间,没有考虑到IPv4地址空间最终会被用尽。IP地址的局限性因此,IPv4地址是按照网络的大小(所使用的IP地址数)来分类的。A、B、C三类IP地址的定义很容易理解,也很容易划分,但是在实际网络规划中,它们并不利于有效地分配有限的地址空间。对于A、B类地址,很少有这么大规模的公司能够使用,而C类地址所容纳的主机数又相对太少。所以有类别的IP地址并不利于有效地分配有限的地址空间,不适用于网络规划。在