第一部分 TCP/IP基础知识
TCP/IP分层及各层主要协议
数据链路层:SLIP、PPP
网络层:IP、ARP、RARP、ICMP
传输层:TCP、UDP
应用层:FTP、TELNET、SMTP、HTTP、TFTP
=====================
这部分与宇航出版社的《Microsoft Windows NT4.0 环境下的TCP/IP网络互联》中的第一、二章(除ARP外)对应
首先我们这门课是TCP/IP在Windows NT中的应用,并不完全讲TCP/IP协议,所以有一些TCP/IP理论方面的知识并没有涉及到。在讲TCP/IP在Windows NT中的应用时,我们先回顾一下,在网络基础中讲到的网络的OSI模型,假如有同学从TCP/IP学起,此处作一个铺垫。
第一课 OSI模型(open system interface)
OSI模型最初是用来作为开发网络通信协议族的一个工业参考标准。通过严格遵守OSI模型,不同的网络技术之间可以轻易地实现互操作。
应用层 Application Layer |
表示层 Present Layer |
会话层 Semission Layer |
传输层 Transport Layer |
网络层 Internet Layer |
数据链路层 Data Link Layer |
物理层 Physical Layer |
OSI模型包含许多被分割成层的组件。在网络数据通信的过程中,每一层完成一个特定的任务。当传输数据的时候,每一层接收到上面层格式化后的数据,对数据进行操作,然后把它传给下面的层。当接收数据的时候,每一层接收到下面层传过来的数据,对数据进行解包,然后把它传给上一层。
应用层 |
|
应用层 |
表示层 |
表示层 |
|
会话层 |
会话层 |
|
传输层 |
传输层 |
|
网络层 |
网络层 |
|
数据链路层 |
数据链路层 |
|
物理层 |
物理层 |
OSI模型的一个关键概念是虚电路。兼容OSI模型的网络栈的每一部分都不知道其上面层和下面层的行为和细节;它只是向上和向下传输数据。就模型的层次而言,每一层都有一虚电路直接连接目的主机上的对应层。就每一层而言,它的数据在目的层被解包的方式和被打包的方式是完全一样的。层不知道传输数据的实际细节;它们只知道数据是从周围层中传过来的。
如同打电话一样,你感觉对方就在你耳边,但实际上你对电话机在说话,电话机把你的话转成了电信号,通过电话线传给电信局,电信局又通过各种传输线路,传给对方的电信局,对方的电信局再通过电话线把信号传给电话机,电话机再把电信号转换成,你的情话。
你 |
|
她 |
电话机 |
电话机 |
|
电话线 |
电话线 |
|
电信局 |
电信局 |
|
电信总局 |
电信总局 |
虚电路结构增强了OSI模型每一层的模块性;实现每一层的软件可以被栈的开发人员和工作站的管理人员移走、替代和更新而是影响它上面和下面的层。这允许灵活地改变网络类型和更新层来处理错误和增加新特性。每一层都利用其上层和下层的服务来维持它和远地主机上对应层的虚电路。
第二 课 TCP/IP协议
一.Internet的现状
1. TCP/IP的发展过程及组织
ISOC(Internet Society)
应用软件 IAB
IETF IANA IRTF
2.说明TCP/IP的重要性
连接不同系统的技术
开放系统,可通过Request for comments开发自己的TCP/IP解法
与Internet连接:节省资金
提供强有力的WAN连接:可路由,为广域网设计的
二.TCP/IP协议族
1.TCP/IP协议族
英文全称:Transmission Control Protocol/Internet Protocol
中文全称:传输控制协议/互联网协议
TCP/IP实际上是一族协议,不是单一的协议,详见【附图一】
◇ARP(Address Resolution Protocol):地址解析协议
◇RARP(Reverse Address Resolution Protocol):逆向地址解析协议
如果一台IP机器不带磁盘,启动时无法知道其IP地址。但它知道它的MAC地址。RARP协议是丢失灵魂者的精神病分析家。它发出一个分组,其中包括其MAC地址,要求回答这一MAC地址的IP地址。一个称为RARP服务器的特定机器作出响应并回答。至此,这一身份危机就获得解决。像一位优秀的分析家一样RARP使用已知信息,即机器的MAC地址,求得其IP地址完成机器ID的确定。
◇ICMP(Internet Control Message Protocol):Internet控制信息协议
◇IGMP(Internet Group Management Protocol):Internet组管理协议
◇UDP(User Datagram Protocol):用户数据报协议
◇SNMP(Simple Network Management Protocol):简单网络管理协议
◇SMTP(Simple Mail Transmission Protocol):简单邮件传送协议
◇FTP(File Transmission Protocol):文件传输协议
◇Telnet:
Telnet是协议中的变色龙,它的特殊性在于终端仿真。它允许远程客户机(称为Telnet Client)上的用户访问另外机器(称为Telnet Server)的资源。Telnet完成这一任务的方法是下拉(pulling)一台较快的Telnet服务器,将客户机修饰成一台终端,直接附加到本地网络。这个设计实际上是软件映像,可以与某远程主机互相交往的虚拟终端。这些仿真的终端工作在文件方式。可以执行显示菜单这样的步骤,这可使用户有机会选择菜单,在一个下拉的服务器上访问应用程序。用户运行Telnet客户机软件开始Telnet会话,然后登录到Telnet服务器。Telnet的能力限于运行应用程序或窥视一下服务器上的内容。它仅仅是一个“观察“的协议。它不能用于文件共享,如下载资料。要想真正搞到资料必须运用FTP协议。
◇NDIS(Network Device Interface Specification):网络驱动接口规范
◇NFS(Network File System) :网络文件系统
这是一个重要的协议,以文件共享为特点。它允许两个不同类型的文件系统互相操作。假定NFS服务器软件正运行在NetWare服务器,并且NFS客户机软件正运行在UNIX主机上。NFS允许NetWare服务器上的部分RAM透明地存储UNIX文件,UNIX用户可以使用这些文件。虽然NetWare文件系统与UNIX文件系统不同(在识别大写与小写方面、文件名的长度、安全性等方面),但UNIX用户用NetWare用户都可用它们正常的文件系统和正常的方法访问同一文件。
Telnet、FTP和TFTP都有局限性。请读者记住,作程序使用,FTP不能执行远程文件,而NFS则可以。它可在计算机上打开图形应用程序,修改读者昨晚在同一程序上所做的修改。NFS有输入和输出材料的能力,即远程操作应用程序。
◇BootP(Boot Program):引导程序
当一台无磁盘的工作站加电后,它向网络广播一个BootP请求。一个BootP服务器听到请求后,从客户机的BootP文件中查找其MAC地址。如果找到相应的项目,它就作出响应,告诉该机的IP地址及其应该使用的引导文件,这通常是通过TFTP协议来完成。
没有磁盘的机器用BootP可获得:
◇自己的IP地址
◇服务器的IP地址
◇需加载到内存的文件名,以便用这一文件执行引导
MCSE提示:有一些简单的考题会问:某个协议位于TCP/IP协议栈的哪一层上?
2.TCP/IP协议栈
OSI模型是一种通用的、标准的、理论模型,今天市场上没有一个流行的网络协议完全遵守OSI模型,TCP/IP也不例外,TCP/IP协议族有自己的模型,被称为TCP/IP协议栈,又称DOD模型(Department of defense)
应用层 Application Layer |
|
应用层 Application Layer |
表示层 Present Layer |
||
会话层 Semission Layer |
||
传输层 Transport Layer |
传输层 Transport Layer |
|
网络层 Internet Layer |
网络层 Internet Layer |
|
数据链路层 Data Link Layer |
网络访问层 Network Access Layer |
|
物理层 Physical Layer |
◇ 网络接口层:在模型的最底层是网络接口层。本层负责将帧放入线路或从线路中取下帧。
◇ Internet层:Internet协议将数据包封装成Internet数据包并运行必要的路由算法。
◇ 传输层:传输协议在计算机之间提供通信会话。数据投递要求的方法决定了传输协议。
◇ 应用层:在模型的顶部是应用层。本层是应用程序进入网络的通道。在应用层有许多TCP/IP工具和服务,如:FTP、Telnet、SNMP、DNS等等。该层为网络应用程序提供了两个接口:Windows Sockets和NetBIOS。
3.TCP与UDP区别
TCP(Transmission Control Protocol):为典型的传输大量数据或需要接收数据许可的应用程序提供连接定向和可靠的通信。
UDP(User Datagram Protocol):提供无连接的通信,并不保证数据包被发送到。典型的即时传输少量数据的应用程序使用UDP。应该说可靠的发送是应用程序的责任。
TCP |
UDP |
面向连接 |
无连接 |
传输大量数据 |
即时传输少量数据 |
可靠的 |
不可靠的 |
由于传输方法不同,TCP数据包与UDP数据包是不一样的。但两者都用端口与插槽进行通信。
TCP/IP的报头格式如下:(对应于教材P37)
报头字段名 |
位数 |
说 明 |
源端口号 目的端口号 序号(SEQ)
确认号(ACK) 数据偏移 控制字段(CTL) ◇ URG ◇ ACK ◇ PSH ◇ RST ◇ SYN ◇ FIN 窗口 校验和 紧急指针 选项 填充 |
16 16 32
32 4
1 1 1 1 1 1 16 16 16 可变 可变 |
本地通信端口,支持TCP的多路复用机制 远地通信端口,支持TCP的多路复用机制 数据段第一个数据字节的序号(除含有SYN的段外); SYN段的SYN序号(建立本次连接的初始序号) 表示本地希望接收的下一个数据字节的序号 指出该段中数据的超始位置(以32位为单位)
紧急指针字段有效标志,即该段中携带紧急数据 确认号字段有效标志 PUSH操作的标志 要求异常终止通信连接的标志 建立同步连接的标志 本地数据发送已结束,终止连接的标志 本地接收窗口尺寸,即本地接收缓冲区大小 包括TCP报头和数据在内的校验和 从段序号开始的正向位移,指向紧急数据的最后一个字节 提供任选的服务 保证TCP报头以32位为边界对齐 |
UDP的报头格式如下:
报头字段名 |
位数 |
说 明 |
源端口号 目的端口号 消息长度 校验和 |
16 16 16 16 |
发送主机的UDP端口 目标主机的UDP端口 UDP消息的长度 验证报头是否损坏 |
4.TCP的三次握手(Three-Way Handshake)
在TCP协议中,建立连接要通过“三次握手”机制来完成。这种“三次握手”机制既可以由一方TCP发起同步握手过程而另一方TCP响应该同步过程,也可以由通信双方同时发起连接的同步握手。
① TCP A向TCP B发送1个同步TCP段请求建立连接
例:该TCP段简要表示成〈SEQ=100〉〈CTL=SYN〉,其中“〈〉”中的内容为TCP段中的字段
② TCP B将确认TCP A的请求,并同时向TCP A发出同步请求
例:该TCP段为〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉
③ TCP A将确认TCP B的请求,即向TCP B发送确认TCP段
例:该TCP段为〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉
④ TCP A在已建立的连接上开始传输TCP数据段
例:该TCP段为〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉
整个过程可用图表示:
TCP A TCP B
〈SEQ=100〉〈CTL=SYN〉 一次
〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉 二次
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 三次
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉 (或三次)
由于TCP连接是一个全双工的数据通道,一个连接的关闭必须由通信双方共同完成。当通信的一方没有数据需要发送给对方时,可以使用FIN段向对方发送关闭连接请求。这时,它虽然不再发送数据,但并不排斥在这个连接上继续接收数据。只有当通信的对方也递交了关闭连的请求后,这个TCP连接才会完全关闭。
在关闭连接时,既可以由一方发起而另一方响应,也可以双方同时发起。无论怎样,收到关闭连接请求的一方必须使用ACK段给予确认。实际上,TCP连接的关闭过程也是一个三次握手的过程。
TCP A TCP B
〈SEQ=100〉〈 ACK=300〉〈CTL=FIN,SYN〉
〈SEQ=300〉〈 ACK=101〉〈CTL= ACK〉
〈SEQ=300〉〈 ACK=101〉〈CTL= FIN,ACK〉
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 //这部分TCP关闭连接应该是四次握手,而不是三次。
TCP连接的关闭过程
作者:fbysss
msn:[email protected]
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:TCP协议 关闭连接
前言:
TCP协议的连接是全双工连接,一个TCP连接存在双向的读写通道。
简单说来是 “先关读,后关写”,一共需要四个阶段。以客户机发起关闭连接为例:
1.服务器读通道关闭
2.客户机写通道关闭
3.客户机读通道关闭
4.服务器写通道关闭
关闭行为是在发起方数据发送完毕之后,给对方发出一个FIN(finish)数据段。直到接收到对方发送的FIN,且对方收到了接收确认ACK之后,双方的数据通信完全结束,过程中每次接收都需要返回确认数据段ACK。
详细过程:
第一阶段 客户机发送完数据之后,向服务器发送一个FIN数据段,序列号为i;
1.服务器收到FIN(i)后,返回确认段ACK,序列号为i+1,关闭服务器读通道;
2.客户机收到ACK(i+1)后,关闭客户机写通道;
(此时,客户机仍能通过读通道读取服务器的数据,服务器仍能通过写通道写数据)
第二阶段 服务器发送完数据之后,向客户机发送一个FIN数据段,序列号为j;
3.客户机收到FIN(j)后,返回确认段ACK,序列号为j+1,关闭客户机读通道;
4.服务器收到ACK(j+1)后,关闭服务器写通道。
这是标准的TCP关闭两个阶段,服务器和客户机都可以发起关闭,完全对称。
FIN标识是通过发送最后一块数据时设置的,标准的例子中,服务器还在发送数据,所以要等到发送完的时候,设置FIN(此时可称为TCP连接处于半关闭状态,因为数据仍可从被动关闭一方向主动关闭方传送)。如果在服务器收到FIN(i)时,已经没有数据需要发送,可以在返回ACK(i+1)的时候就设置FIN(j)标识,这样就相当于可以合并第二步和第三步。
5.滑动窗口(Sliding Windows)
滑动窗口:是两台主机间传送数据时的缓冲区。每台TCP/IP主机支持两个滑动窗口:一个用于接收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。
滑动窗口工作原理:
当TCP从应用层中接收数据时,数据们于Send窗口。TCP将一个带序列号的报头加入数据包并将其交给IP,由IP将它发送到目标主机。
当每一个数据包传送时,源主机设置重发计时器(描述在重新发送数据包之前将等待ACK的时间)。在Send窗口中有每一个数据包的备份,直到收到ACK。
当数据包到达服务器Receive窗口,它们按照序列号放置。当接收到连续的段时就向源主机发送一个关于数据的认可(ACK),其中带有当前窗口尺寸。
一旦源主机接收到认可,Send窗口将由已获得认可的数据滑动到等待发送的数据。如果有重发计时器设定的时间内,源主机没有接收到对现存数据的认可,数据将重新传送。重发数据包将加重网络和源主机的负担。
如果Receive窗口接收数据包的顺序错乱,那么将强制启动,延迟发送认可。
TCP协议采用滑动窗口的方式控制数据流的传输,用三次握手了解对方情况。
在传输层中,数据按照一定的格式打成大小相同的包。每一个滑动窗口中包含一定数目的数据包,滑动窗口的大小可以人为调整。每台网络上的主机维护一个送窗口和一个接收窗口。发送方一次发送相当于滑动窗口大小的数据包数目,并在每个数据包前添加包头信息,然后等待接收方返回确认信息。由于TCP是面向连接的协议,可以保证数据传输的完整性和准确性,当传输过程中发生丢包时,接收方会要求发送方从断点处重传数据。
滑动窗口的大小对网络性能有很大的影响。如果滑动窗口过小,则需要在网络上频繁的传输确认信息,占用了大量的网络带宽;如果滑动窗口过大,对于利用率较高,容易产生丢包现象的网络,则需要多次发送重复的数据,也同样耗费了网络带宽。
决定滑动窗口大小的因素,包括网络的带宽、可靠性以及需要传输的数据量。
Windows NT使用TCP滑动窗口,其默认窗口大小为8760,每接收两段信息就发回一个确认。
TcpWindowSize 规定滑动窗口的大小参数
位于HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小为8760
ForwardBufferMemory
位于HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小为74240=50*1480
DefaultTTL
位于HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小为32 秒
重发计时器(retransmit timer):
定义:在重新发送数据包之前将等待ACK的时间
可在注册表中修改重发次数,缺省为5次。缺省起始时间为1秒。
重试时间分别为1秒;第一次失败后的2秒;第二次失败后的4秒;第三次失败后的8秒;第四次失败后的16秒。
延迟ACK计时器(delayed-ACK timer):
定义:在重新发送数据包之前将等待ACK的时间
ACK定时器的延迟为硬编码200ms,为第一次重发计时器的1/5。
详见【附图二】
第二部分 IP地址
这部分与宇航出版社的《Microsoft Windows NT4.0 环境下的TCP/IP网络互联》中的第三、四章对应
象我们在不同环境中有不同的名字一样,如:在学校里有学号,在宿舍里有绰号,在家里还有小名,亲近的朋友之间还有溺称。
TCP/IP不同的层也使用不同的名字:
应用层 Application Layer |
主机名或NetBIOS名、IP地址 端口 IP地址 MAC地址 |
传输层 Transport Layer |
|
网络层 Internet Layer |
|
网络接口层 Network Interface Layer |
这些名称中除了MAC地址是硬地址不可变之外(特殊的极意外的情况下也会有MAC地址重复的时候),其它名称都是逻辑标识、是可变的。
在这里我们先讨论一下IP地址,其它的内容在以后的课程中将再讨论。
一. IP地址格式
简单概念的介绍:bit / byte /k / M / G
1. 格式:
在Ipv4中,IP地址由四个八位域(叫作octets)组成。Octets被点号分开代表在0到达55范围内的十进制数字。用二进制格式时共有32位组成,为了方便记忆,用点号每八位一分割,称为点分十进制。
如:dotted decimal notation:131.107.1.1 193.1.1.200
二进制格式:11001100.10000001.00001000.11101100
从理论上计算全部32位都用上可以允许有232超过四十亿的地址!这几乎可以为地球三分之二的人提供一个地址。但事实上,随着Internet的发展,可用的IP地址已经快要用完了。
在将来的Ipv6中,IP地址由十六个八位域组成,共128位二进制形式的IP地址组成,还是用点号每八位一分割,在现在看来是足够了,但不知道还会有什么意想不到的事情令IP地址又不够用了。
2. 二进制转换为十进制
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
例:11001100.10000001.00001000.11101100
204 . 129 . 8 . 236
二. 网络和主机标识
因为TCP/IP网络是为大规模的互连网络设计的,所以我们不能用全部的32位来表示网络上主机的地址。如果这样做了,我们将得到一个拥有数以亿计网络设备的巨大网络,这个网络不需要包路由设备和子网。这完全失去了包交换互连网的优点。
所以,我们需要使用IP地址的一部分来标识网络,剩下的部分标识其中的网络设备。IP地址中用来标识设备所在网络的部分叫做网络ID,标识网络设备的部分叫做主机ID。这些ID包含在同一个IP地址之中。
如:193.1.1. 200 131. 107. 2. 1 75 . 3. 78. 29
网络ID 主机ID 网络ID 主机ID 网络ID 主机ID
三. 地址类型
Internet 组织定义了5种IP地址类,以容纳不同大小的网络。Microsoft TCP/IP支持赋予主机的A,B,C类地址。地址类定义了哪些位于用于网络ID,哪些位用于主机ID,它同时也定义了可能的网络数目及每个网络中的主机数。
1. A类
0 |
|
|
|
Network ID Host ID
A类地址用于主机数目非常多的网络。A类地址的最高位为0,接下来的7位完成网络ID,剩余的24位二进制位代表主机ID。A类地址允许126个网络,每个网络大约一千七百万台主机;第一个八位体是1~126。127是一个特殊的网络ID,是用来检查,TCP/IP协议工作状态。
2. B类
10 |
|
|
|
Network ID Host ID
B类地址用于中型到大型的网络。B类地址的最高位为10,接下来的14位完成网络ID,剩余的14位二进制位代表主机ID。B类地址允许16384个网络,每个网络大约65000台主机;第一个八位体是128~191。
3. C类
110 |
|
|
|
Network ID Host ID
C类地址用于小型本地网络。C类地址的最高位为110,接下来的21位完成网络ID,剩余的8位二进制位代表主机ID。C类地址允许大约二百万个网络,每个网络有254台主机;第一个八位体是192~223。
4. D类
1110 |
|
|
|
D类地址用于多重广播组。一个多重广播组可能包括1台或更多主机,或根本没有。D类地址的最高位为1110;第一个八位体是224~239。剩余的位设计客户机参加的特定组。在多重广播操作中没有网络或主机位,数据包将传送到网络中选定的主机子集中。只有注册了多重广播地址的主机才能接收到数据包。Microsoft支持D类地址,用于应用程序将多重广播数据发送到网络间的主机上,包括WINS和Microsoft NetShow。
5. E 类
E类是一个通常不用的实验性地址:它保留作为以后使用。E类地址的最高四位通常为11110;第一个八位体是240~247。
248~254 无规定
6.主机ID与网络ID的规则:
◇ 不能全为“0“或“255“
◇ NID不能为“127“
◇唯一性
0.0.0.0 未知主机(只作源地址)
255.255.255.255 任何主机(只作目的地址)有限广播
A.255.255.255 直接广播(directed broadcast)
B.B.255.255 直接广播(directed broadcast)
C.C.C.255 直接广播(directed broadcast)
193.1.1.255 C类网络193.1.1中的任何主机(只作目的地址)直接广播
193.1.1.3 C类网络193.1.1中编号为3的主机
193.1.1.0 C类网络号为193.1.1的网络ID
0.0.0.3 “本网络”中编号为3的主机(只作源地址)
255.255.0.0 掩码
127.0.0.1 本机
网络ID |
主机ID |
代表意义 |
全0 |
全0 |
无效.未知主机 |
非全0 |
全0 |
具体的网络 |
全0 |
非全0.全1 |
本地网的具体主机 |
全1 |
非全0.全1 |
无效 |
非全0.非全1 |
全1 |
直接广播 |
全1 |
全1 |
有限广播 |
让我们来做几个有关IP地下的练习
例1:Which of the following IP addresses are invalid for a TCP/IP host?
A.233.100.2.2
B.120.1.0.0
C.127.120.50.30
D.131.107.256.60
E.188.56.4.255
F.200.18.65.255
答案:A,C,D,F
分析:
A. 233属于D类地址
B. 120属于A类地址, 其网络ID为120, 主机ID为1.0.0, 都不全为0或1, 故为有效的IP地址
C. 127属于127.0.0.0的网络地址, 此网址是做Loopback测试用的, 不可以指派给主机
D. 256是无效的数字
E. 188属于B类地址, 其网络ID为188.56, 主机ID为4.255, 都不全为0或1, 故为有效的IP地址
F. 200属于C类地址, 其网络ID为200.18.65, 主机ID为255, 主机ID为255, 故为无效的IP地址
四. 子网(subnetwork)
子网是一个逻辑概念,子网中的各主机的NetID是相同的。
网段是一个物理概念,是指在物理上独立的一段网络。
子网与网段之间,可以是多对多的关系。
划分子网(subnetworking)的好处:
混合使用多种技术,如以太网和令牌网
克服已有技术的缺陷,如超过每段中最大主机数目
通过对交通重定向和减少广播来减少网络阻塞
五. 子网掩码
◇将IP地址的各位,NetID全改为1,HostID全改为0,则是子网掩码。
◇与IP地址进行“与”或“and”运算,用来分辩网络ID和主机ID
其中“1”是通道,“0”是塞子
1. 标准子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
例1:IP地址是131.107.33.10,子网掩码是255.255.0.0
131 . 107 . 33 . 10
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 1 . 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
网络ID 131. 107. 0 . 0
主机ID 0 . 0. 33. 10
例2:IP地址是193.1.1.200,子网掩码是255.255.255.0
193 . 1 . 1 . 200
1 1 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 1 1 0 0 1 0 0 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 0
网络ID 193. 1. 1 . 0
主机ID 0. 0. 0. 200
2. 非标准子网掩码
◇借用主机ID充当网络ID的方法。
A类:255.240.0.0
B类:255.255.252.0
C类:255.255.255.224
规则:子网ID与主机ID不能全为“0”(无借位)或“1”(与掩码一样)
例如:IP地址是131.107.33.10,子网掩码是255.255.224.0
131 . 107 . 33 . 10
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 1 . 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
网络ID 131. 107. 32 . 0
主机ID 0 . 0. 1. 10
下表可详细地说明了非标准子网掩码的子网与主机的情况:
借位数 |
子网掩码值 |
划分子网数 |
子网中主机数目 |
A类 |
|||
1 |
无效 |
无效 |
无效 |
2 |
192 |
2 |
4,194,302 |
3 |
224 |
6 |
2,097,150 |
4 |
240 |
14 |
1,048,574 |
5 |
248 |
30 |
524,286 |
6 |
252 |
62 |
262,142 |
7 |
254 |
126 |
131,070 |
8 |
255 |
254 |
65,534 |
借位数 |
子网掩码值 |
划分子网数 |
子网中主机数目 |
B类 |
|||
1 |
无效 |
无效 |
无效 |
2 |
192 |
2 |
16,382 |
3 |
224 |
6 |
8,190 |
4 |
240 |
14 |
4,094 |
5 |
248 |
30 |
2,046 |
6 |
252 |
62 |
1,022 |
7 |
254 |
126 |
510 |
8 |
255 |
254 |
254 |
借位数 |
子网掩码值 |
划分子网数 |
子网中主机数目 |
C类 |
|||
1 |
无效 |
无效 |
无效 |
2 |
192 |
2 |
62 |
3 |
224 |
6 |
30 |
4 |
240 |
14 |
14 |
5 |
248 |
30 |
6 |
6 |
252 |
62 |
2 |
7 |
无效 |
无效 |
无效 |
8 |
无效 |
无效 |
无效 |
例1:网络193.1.1.0,子网掩码是255. 255. 255. 224。问:这个子网可划分几个子网,每个子网的主机ID范围是什么?
解析:
子网193. 1. 1. 32 有效IP从193. 1. 1. 33到 193. 1. 1. 62
子网193. 1. 1. 64 有效IP从193. 1. 1. 65到 193. 1. 1. 94
子网193. 1. 1. 96 有效IP从193. 1. 1. 97到 193. 1. 1. 126
子网193. 1. 1. 128 有效IP从193. 1. 1. 129到 193. 1. 1. 158
子网193. 1. 1. 160 有效IP从193. 1. 1. 161到 193. 1. 1. 190
子网193. 1. 1. 192 有效IP从193. 1. 1. 193到 193. 1. 1. 222
例2:网络131.107.0.0,子网掩码是255. 255. 224. 0。问:这个子网可划分几个子网,每个子网的主机ID范围是什么?
解析:
子网131.107. 32. 0 有效IP从131.107. 32. 1到131.107. 63. 254
子网131.107. 64. 0 有效IP从131.107. 64. 1到131.107. 95. 254
子网131.107. 96. 0 有效IP从131.107. 96. 1到131.107. 127. 254
子网131.107. 128. 0 有效IP从131.107. 128. 1到131.107. 159. 254
子网131.107. 160. 0 有效IP从131.107. 160. 1到131.107. 191. 254
子网131.107. 192. 0 有效IP从131.107. 192. 1到131.107. 223. 254
例3:Your company has been assigned one class C network ID by your local ISP.In your Windows NT TCP/IP network, you plan to divide the network into multiple subnets. Each subnet will have as many as 15 host IDs. If you want to allow the largest number of the subnets, which subnet mask should you use?
A. 255.255.255.192
B. 255.255.255.224
C. 255.255.255.240
D. 255.255.255.248
答案:B
例4:Your company has been assigned one class B network ID by your local ISP.In your Windows NT TCP/IP network, you plan to divide the network into multiple subnets. Each subnet will have as many as 1000 host IDs. If you want to allow the largest number of the subnets, which subnet mask should you use?
A. 255.255. 224. 0
B. 255.255. 240. 0
C. 255.255. 248. 0
D. 255.255.252. 0
答案: D
◇超网(Suppernetting)
超网是一个子网,是借用网络ID充当主机ID的解决方法。由超网构成的地址被称为“无类地址”。是用来解决“路由爆炸”问题。[详见附录]
超网技术可以帮助我们避免浪费地址、从C类子网中产生大型网络。
如果有足够的C类地址,你也可以产生A类超网。
Suppernetting的技术被称为Classless Inter-Domain Routing(CIDR,无类域间路由)
在实超网时,路由器一定支持这种技术才可实现。
例1:Your company has been assigned five class C network address:220.78.170.0,220.78.171.0,220.78.172.0,220.78.173.0,220.78.174.0. In order to prevent overwhelming the Internet router, you want to collapse the five entries to a single entry in the routing table. Which subnet mask should you use to accomplish this.
A.255.255.240.0
B.255.255.248.0
C.255.255.252.0
D.255.255.254.0
E.255.255.255.0
答案:B
分析:
220.78.170.0 110111100。01001110。10101010。00000000
220.78.171.0 110111100。01001110。10101011。00000000
220.78.172.0 110111100。01001110。10101100。00000000
220.78.173.0 110111100。01001110。10101101。00000000
220.78.174.0 110111100。01001110。10101110。00000000
第三个八位体的只有最右边的3位不同,其余的位均相同,因此借用三位作主机ID,子网掩码位只剩五位,为248。在路由表中的条目为:
220.78.170.0 255.255.248.0 220.78.168.1
例2:Your company has been assigned four class C network addresses: 198.250.132.0, 198.250.133.0 , 198.250.134.0 , 198.250.135.0. In order to increase the total numbers of host Ids you can have in the network,you want to combine these four network addresses into one logical network. Which subnet mask should you use to accomplish this?
A. 255.255. 224. 0
B. 255.255. 240. 0
C. 255.255. 248. 0
E. 255.255.252. 0
答案: D
分析:
132 100001 00
133 100001 01
134 100001 10
135 100001 11
例3: Your company has been assigned four class C network addresses: 195.18.50.0, 195.18.51.0 , 195.18.52.0 , 195. 50.53.0. In order to prevent overwhelming the Internet router and to increase the total numbers of host Ids you can have in the network.You want to combine these four network addresses into one logical network. Which subnet mask should you use to accomplish this?
A. 255.255.240.0
B. 255.255.248.0
C. 255.255.252.0
D. 255.255.254.0
E. 255.255.255.0
答案:B
分析:
136 00110 010
137 00110 011
138 00110 100
139 00110 101
六、TCP/IP的实现
1. PING
PING 使用网际控制信息协议(ICMP)向目的地系统发送一个回显应答ICMP包;这个包请求目的系统响应。如果收到了那台机器发来的响应,PING将显示响应的统计信息,包括花了多长时间才收到响应。包中的数据长度为32,内容为abc…….wabcdefghi。
PING 〈目的地址〉
这个<目的地址>可以是主机名、NetBIOS名称、IP地址
-t 连续PING指定主机直至中断
-a 将IP地址解析为主机名
-n count 每次发送的请求数(缺省为4次)
-l size 发送包的大小
-i TTL 生存时间(Time To Live)
-v TOS 服务类型
-w timeout 每次发送请求所等待的回应时间(毫秒)
当检测TCP/IP协议工作情况时用如下步骤:
◇ 用Ipconfig/all来查看相关的IP地址
◇ PING 127.0.0.1
这个地址相当于本地IP栈。发给返回地址的信息将通过本地TCP/IP栈路由,它们不会通过物理介质发送出去的。这使得你可以保证TCP/IP是否正确地安装。
◇ PING 本地主机的实际IP地址
这次测试TCP/IP栈和机器网卡之间的绑定。
◇ PING 网络上其他的主机
首选: PING IP地址测试基本连接
下一步:PING 规范主机名测试DNS解析
最后:PING NetBIOS名测试NetBIOS名字解析
◇ PING 网关地址
测试路由器是否工作
◇ PING 远程网络上的机器
确认路由器配置是否正确,路由器工作是否正常以及验证子网掩码的配置。
2. TCP/IP的安装
在control panel →network→protocol中加入TCP/IP协议
3. TCP/IP的属性
在control panel →network→protocol→TCP/IP→属性中进行设置
共有五个标签,但只说明“IP地址”标签,尤其是“高级”选项
4. 实验
实验1、实验4、实验5、实验6、实验7
注意事项:
◇子网掩码:255. 255. 1. 0 是无效的,但可设置
◇在设置IP地址时会发生冲突,这时后入者无效,但冲突信息会传给IP拥有者
◇对修改后的TCP/IP属性要重启机器
◇对IP的错误设置时,并不是都能及时表现出来,如:IP地址是131.107. 2. 6,子网掩码是255. 255. 255.248,实际上是无效的IP地址,但它能PING通无效的IP地址131.107. 2.5
适配器选项可以允许
一台主机配多个网卡
在IP中,缺省网关是指
路由器的一个入口
131. 107. 2. 1
255. 255. 255. 0
131. 107. 2. 2
255. 255. 0. 0
131. 107. 3. 1
255. 255. 0. 0
对于IP地址选项中,
添加允许一块网卡配
多个IP地址
例子:关于Hard_code IP address或Fixed IP address
1.实验成功的条件:
只装TCP/IP一种协议;
2.实验成功后的具体表现:
网上邻居中只能看到同一Scope ID中的机器;
在“Start-->Run”中用UNC路径也只能连接到同一Scope ID中的机器;
用“Net use”命令也只能连接到同一Scope ID中的机器。
TTL
经过路由器的个数
第三部分 TCP/IP路由
这部分与宇航出版社的《Microsoft Windows NT4.0 环境下的TCP/IP网络互联》中的第五章和第二章的ARP对应
一、 什么是路由?
路由就是信息通过一条路径从源地址转移到目的地址的过程。在TCP/IP网络上,源方和目的方都叫做主机,信息被分成小包在主机之间传送。
路由包括两种不同的方法:
直接路由:源和目的方在同一个网络段上。
间接路由:源和目的方在不同的网络段上,包必须通过路由器。
1. 直接路由
① 地址解析协议(ARP)
地址解析协议是一个位于IP协议中的低层协议。它把IP地址解析成MAC地址。
当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并且封装成包,附加上目的主机的IP地址。然后寻找IP地址到实际MAC地址的映射。当ARP找到了MAC地址后,它就把这个信息传给IP,由IP把包发送出去。
② ARP广播
主机A ping 主机B ,执行ping 131.107.3.31
A.主机A会先检查其ARP缓存内是否存有主机B的硬件地址
B.若主机A的ARP缓存内无此信息,则主机A会发送一个请求ARP的广播包,此包内包含着其欲通信的主机的IP地址,也就是主机B的IP地址
C.当主机B收到此广播包后,会将自己的硬件地址利用响应ARP的包传送给主机A,并更新自己的ARP缓存,也就是同时会将主机A的IP地址/硬件地址保存起来,以供日后使用。
D.主机A在得到主机B的硬件地址后,就可以与主机B 通信,同时也会将主机B的IP地址/硬件地址保存到自己的APR缓存内。
③ ARP缓冲区
ARP缓冲区是位于RAM中
问题:如果计算机重启动时ARP缓冲区中的内容还会不会有呢?
ARP缓冲区中包括二种条目:
动态条目:有二分钟的生命期,如果二分钟之内不再使用就被删除
静态条目:生命期到计算机重启动
手工操作方法:(ARP与参数之间要加空格)
查看 ARP –A
删除 ARP -D IP
增加 ARP -S IP MAC
MAC地址要用00-80-c8-f6-7d-07的格式,必须有“-”,其中前六位是厂商代码,后六位是厂商制定。MAC地址可用IPCONFIG/ALL工具查出来;还可用net config server,或Windows NT Diagnostics 中的Network选项中的Transports,或nbtstat –a IP地址。想得知本地子网上其它主机的MAC地址,可先PING 远地主机,再用ARP –A查看ARP缓冲区来得到一个本地子网上其它主机的MAC地址;而PING远程子网上的主机时,只能得到缺省网关的MAC地址,这是因为执行了间接路由的原因。
④ ARP优点:
A.对高层应用程序隐藏了物理MAC地址,允许应用程序只使用IP地址。这使得TCP/IP协议独立于物理硬件。
B.使得网络工程师可以分配IP地址给使用任何系统的主机而不担心MAC地址。
2. 间接路由
间接路由与直接路由的区别是源主机IP发往的目的IP地址不是想通信的目标主机IP,而是路由器的IP;并且路由器接收到信息包时,也许还经过多次传递才能到达目标主机,并且最终还是由直接路由到达目标主机的。
例1:Paula wants to make a connection to a Windows NT server computer on the remote network but fails. No other users in the same subnet encounter the same problem. As a network administrator, you use the Network Monitor to troubleshoot the problem. You notice that each time Paula attempts to connect to the server from her Windows NT Workstation computer, her workstation sends an ARP broadcast for the IP address of the remote Windows NT Server computer. What is the most likely cause of the problem?
A. The workstation is configured with an invalid subnet mask.
B. The workstation is configured with an duplicated IP address.
C. The workstation is configured with an invalid default gateway address.
D. The workstation is configured with an invalid WINS.
二、 路由器的类型
实现路由的设备叫路由器;路由器是被动的设备,它不关心网络流量;路由器可以看作是带有两个或多个网卡的计算机;所以多宿主计算机可作路由器,配置成路由器的计算机也叫网关。
基于路由器操纵路由表中条目的方式,路由器可以分成以下两种基本类型:
静态路由器:必须手工配置路由表
动态路由器:自动配置路由表
1. 静态路由器:
静态路由器包括一个静态路由表;所有的静态路由表条目包括以下信息:
网络地址:包发往网络的网络ID或者网络名称
网络掩码:相关网络ID的子网掩码
网关地址:发往目的网络的包被转发的IP地址
Windows NT4.0路由表有以下的缺省值:
缺省路由(0.0.0.0):任何没有在路由表中指定的网络使用这个路由
子网广播(255.255.255.255):这个地址广播给本地子网上所有节点
网络广播:这个地址广播给互连网上所有节点
本地返回(127.0.0.0):这个地址测试IP配置和连接
本地网络:这个地址把包直接发给本地网络上的节点
本地主机:本地计算机地址
ROUTE命令:
ROUTE [-F] [-P] |ADD | [IP] Submask [gateway] [metricost]
|Delete | 删除
|Change | 变换
|Print | 显示
[-P]参数是在路由表中加入静态条目
[-F]清除所有路径
[metricost]指示到网络ID的距离
例1.24:Your TCP/IP network is connected by two static routers that are Windows NT multihomed computers. The network configuration is shown as the following exhibit.
198.72.50.34 198.72.50.66 198.72.50.98
Host1 Router A Router B Host2
198.72.50.33 198.72.50.65 198.72.50.97
255.255.255.224
If you want to add static route to the Router A and Router B to make sure that every host on the network can communicate with each other, which route commands should you use?
A. Router A: route add 198.72.50.64 mask 255.255.255.224 198.72.50.65
Router B: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
B. Router A: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
Router B: route add 198.72.50.64 mask 255.255.255.224 198.72.50.65
C. Router A: route add 198.72.50.96 mask 255.255.255.224 198.72.50.65
Router B: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
D. Router A: route add 198.72.50.96 mask 255.255.255.224 198.72.50.66
2. 动态路由器:
路由器会自动地更新它的路由表并把这些信息转发给它知道的其他动态路由器,有几种方法可以提供动态路由,其中最流行的两种是:路由信息选择协议(RIP)和开放最短路径优先(OSPF)
RIP是一个向量距离路由程序,它允许的最大跳跃计数是15
缺点:
跳跃计数超过16,不能达到
每个RIP路由器每30秒广播一条MAC级别上的消息。在互连网上,广播流量可能变得非常大。
RIP路由器收到的从其他路由器传来的条目有三分钟的生命期。所以,当一个路由器发生故障,这个改变在网络上传播需要花费一定的时间。
3.静态与动态路由的结合
在静态路由器的路由表中加动态路由器的条目
在动态路由器的路由表中加静态路由器的条目
三、 配置Windows NT作为路由器
1. 配置Windows NT硬件
多网卡或一卡多IP地址,每个IP地址位于不同子网上
2. Windows NT作为静态路由器
在TCP/IP属性中的路由选择标签中选中IP forwarder
3. Windows NT作为动态路由器
在静态路由器的基础上,加上RIP服务
例2.47:
Situation: On your TCP/IP network, you are planning to install a new Windows NT Server computer that is configured with four network adapters. You are going to use this new multihomed computer as a router.
Required result: The new server must have the ability to route the TCP/IP packets.
Optional desired results: You want the new server being able to dynamically update its routing tables when other routers are added to or removed from the network. You want the new server being able to provide IP addresses to all DHCP clients that are located on the same subnet as it is . You want the new server being able to send trap messages across the network to a Windows NT Workstation computer.
Proposed solution: Install TCP/IP on the new server and configure one IP address to each network adapter. Enable IP forwarding on the server. Install and configure Point-to-Point Tunneling Protocol(PPTP) on the new server. Install DHCP server service on the new server and configure SNMP to send trap messages to the Windows NT Workstation computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only one of the optional desired results.
C. The proposed solution produces the required result but does not produces any of the optional desired results.
D. The proposed solution does not produces the required result.
例2.49:
Proposed solution: Install TCP/IP on the new server and configure one IP address to each network adapter. Enable IP forwarding on the server. Install RIP for IP on the new server. Install DHCP server service on the new server and create one scope for each subnet. Install SNMP service on the new server and configure SNMP to send trap messages to the Windows NT Workstation computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only two of the optional desired results.
C. The proposed solution produces the required result but does not produce any of the optional desired results.
D. The proposed solution does not produces the required result.
四、 TRACERT命令
TRACERT是一个用来验证包传到目的地的路由的TCT/IP工具。它报告包到达目的地经过的每个路由器,网关以及每个路由器的响应时间。
这有两个用途:判定路由器是否发生故障/发现速度慢的路由器
在NT上TRACERT工具是一个命令行版本
格式:Tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
例1.22:Your Windows NT TCP/IP network has three multihomed Windows NT server computers. You have configured them as static routers. If you want to identify the path that a packet takes as it passes through the router, which utility you should use?
A. Ipconfig.exe
C. Ping.exe
D. Route.exe
E. Netstat.exe
例1.54:Using Windows NT explorer, Carol tries making a connection to web site www.microsoft.com but fails. He suspects that a router was used as a route from his TCI/IP host to the destination host has downed. Which utility should he use to verify this?
A. Route.exe
B. Ping.exe
D. Nbtstat.exe
五、 实验
实验2、实验3、实验8
第四部分 动态主机配置协议(DHCP)
这部分与宇航出版社的《Microsoft Windows NT4.0 环境下的TCP/IP网络互联》中的第六章对应
注意:DHCP选项在讲完WINS与DNS之后再复习一遍
讲课前先装DHCP服务
一、 为什么引用DHCP(Dynamic Host Configuration Protocol)
DHCP动态主机配置协议:用来自动分配IP地址给DHCP客户
静态IP地址的缺点
1. 手工书写可能出错
2. 可能是不合法的IP地址
3. 可能是重复的IP 地址
4. 由于IP地址、子网掩码及缺省网关的错误,导制网络的错误,这种错误是很费时、也很难找到的。
DHCP 的优点:
1. 克服了静态IP地址的缺点
2. 集中管理
3. 解决IP地不足的问题
DHCP 的缺点:
增加了广播
二、 DHCP的实现
1. 客户端:
如下的计算机系统可做为客户端:
NT Server4.0
NT workstation 4.0
Windows 95,98
Windows for workgroup 3.11(运行Microsoft TCP/IP-32)
MS-DOS下Microsoft Network Client 3.0,实模式的TCP/IP
LAN Manager 2.2c。不支持OS/2上的LAN Manager 2.2c。
对于Windows NT,Windows 95系统机器,只需在control panel →network→protocol→TCP/IP 属性→IP address;选中obtain an IP address from a DHCP server选项即可;对于NT server,在services中不能安装DHCP server,如果安装了obtain an IP address from a DHCP server选项不可用,需删除、再重启动计算机,才能使用NT成为DHCP客户;DHCP客户不能对TCP/IP属性中的IP地址进行手工配置了。(有时由于DHCP client服务未启动,会使DHCP服务不能成功,需改变DHCP client服务的启动状态为Automatic)
2. 服务器端:
NT server必须有静态IP地址及相应的设置,并有要有IP地址的Scope
首先,在control panel →network→services中添加DHCP服务
然后,重引导计算机
最后,到开始→程序→公用管理工具→DHCP管理器中对DHCP服务器进行配置
三、 DHCP的配置
1. 要求每一个子网配置一个Scope,记住:子网与Scope的关系是一一对应的关系,即一对多和多对一都不行,但一个DHCP服务器中可以为多个子网服务,可有多个Scope,即服务器与Scope的关系是一对多;一个子网也可在多个服务器上有Scope,即子网与服务器的关系是一对多;这些Scope范围内的IP地址不能有重复的,即保证DHCP服务分配给DHCP客户的IP地址不重复,保证IP地址的唯一性。
例如:Start Address 131.107.1.10 End Address 131.107.1.100
Subnet Mask 255.255.255.0
2. 排除的地址(Exclusion Range):
连续多个地址:应有Start Address / End Address 131.107.1.30 131.107.1.40
单一地址:Start Address与End Address是相同的 131.107.1.88 131.107.1.88
3. 子网掩码(Subnet Mask):
即然说到一个子网在一个DHCP服务器中只能有一个Scope,那么咱们就来看一看具体的含义
例如:对于IP地址是从131.107.33.10到131.107.37.100
和从131.107.40.10到131.107.45.100的范围
子网掩码是255.255.224.0
问:怎样设置Scope?
解析:对于本题的IP地址和子网,有效的IP地址和网段如下:
x.y.32.1 --- x.y.63.254
x.y.64.1 --- x.y.95.254
x.y.96.1 --- x.y.127.254
x.y.128.1 --- x.y.159.254
x.y.160.1 --- x.y.191.254
x.y.192.1 --- x.y.223.254
从已知条件可知:131.107.33.10到131.107.37.100
和 131.107.40.10到131.107.45.100
是在同一网段131.107.32.0上,因此只能在DHCP服务器上建立一个Scope
(先做二个Scope,演示错误)
从131.107.33.10到131.107.45.100,但是排出从131.107.37.101到131.107.40.9
4. IP地址的租期(lease Duration):
租期主要考虑IP与机器的关系:
机器多,IP少
机器少,IP多
便携机多
你可以不限制IP地址的租期,意思是第一次客户机申请到IP地址之后就跟静态的IP地址一样了,对于企业内部网也是一样不错的管理方法;也可设置DHCP客户使用IP地址的期限,这种设法是为解决IP地址缺乏的办法。
5. 设置完scope后要Active leases:亮的灯泡(黄色)和不亮的灯泡(灰色)
6. 地址保留(Reservation):
这个选项是针对网卡设置的,在做这项设置之前必须知道:*客户名、客户的MAC地址和为客户预留的IP地址。MAC地址可用下面的IPCONFIG/ALL工具查出来;这是为在DHCP环境中某些服务器预保留的,这只是在服务器启动时,与比静态IP有一点不同外,之后与静态IP无两样。
补充:MAC地址要用00-80-c8-f6-7d-07的格式,必须有“-”,其中前六位是厂商代码,后六位是厂商制定。MAC地址可用IPCONFIG/ALL工具查出来;还可用net config server,或Windows NT Diagnostics中的Network选项中的Transports,或nbtstat –a IP地址。想得知本地子网上其它主机的MAC地址,可先PING 远地主机,再用ARP –A查看ARP缓冲区来得到一个本地子网上其它主机的MAC地址;而PING远程子网上的主机时,只能得到缺省网关的MAC地址,这是因为执行了间接路由的原因。
例1:为本地子网的131.107.2.1, 名为clients5的客户添加保留项
7. DHCP Options:
*Option 选项: global / scope / client
在这三种选项中client的优先级最大,然后是 scope,最后是 global
也就是说对于一个具体的DHCP客户时,三个选项都设置了,那么以谁为主呢?按优先级来排序,优先级大的设置复盖优先级低的设置。
其中,scope和global是在DHCP管理器中设置,而client在TCP/IP的属性中进行手中设置。
例2.51:You administer a TCP/IP network with multiple subnets.You have installed a DHCP server to automatically assign the IP address to all clients. Besides the IP address and subnet mask, you also want all clients to obtain the default gateway from the DHCP server. What type of the DHCP scope options should you configure to accomplish this?
A.Client option
B.Scope option
C.Global option
D.None of the above
未用的Options有许多,但只有六个选项可传给DHCP client,它们是:
*03 router IP Default Gateway
06 DNS IP DNS servers
15 Domain Name Host name 的后半部分
44 WINS IP
46 Node Type Node Type
47 NetBIOS Scope ID NetBIOS Scope ID
这些选项也是用IPCONFIG/ALL能观查到的:(做实际演示)
Windows NT IP Configuration
Host Name . . . . . . . . . : w14.domain14
DNS Servers . . . . . . . . :
Node Type . . . . . . . . . : Hybrid
NetBIOS Scope ID. . . . . . :
IP Routing Enabled. . . . . : No
WINS Proxy Enabled. . . . . : No
NetBIOS Resolution Uses DNS : No
Ethernet adapter DE22X1:
Description . . . . . . . . : ISA Ethernet Adapter.
Physical Address. . . . . . : 00-80-C8-F6-90-3A
DHCP Enabled. . . . . . . . : No
IP Address. . . . . . . . . : 131.107.33.9
Subnet Mask . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . :
四、 DHCP客户使用IP地址的过程
播放演示稿
1. IP请求:
DHCP客户机准备TCP/IP初始化,向网络广播一个DHCPDISCOVER包,使用BOOTP UDP端口67,源IP地址为0.0.0.0,目标IP地址为255.255.255.255;包中还包括客户机的MAC地址和计算机名
DHCPDISCOVER |
Source IP Address=0.0.0.0 Dest. IP Address=255.255.255.255 |
Hardware Address=08004…. |
当没有收到回应时,客户机等待提供1秒的时间。如果没有接收到提供,它将重新广播三次(以9,13和16秒的间隔,加以0~1000毫秒之间随机长度的时间)。如果四次请求后还没接收到提供,客户机每隔5分钟重试一次。如果不成功,就不能进行TCP/IP应用。
2. IP提供:
任何接收到DHCPDISCOVER消息并且能够提供租约的DHCP服务器在BOOTP UDP客户端口68发送DHCPOFFER消息给用户。因为此时客户还没有IP地址,所以这消息也是广播发送。这个包的源IP地址为DCHP服务器IP,目标IP地址为255.255.255.255;包中还包括提供的IP地址,子网掩码,租期,服务器IP
DHCPOFFER |
Source IP Address=131.107.3.24 Dest. IP Address=255.255.255.255 |
Offered IP Address=131.107.8.13 Client Hardware Address=08004…. Subnet Mask=255.255.255.0 Length of Lease=72 hours Server Identifier=131.107.3.24 |
3. IP租用选择:
客户从不止一台DHCP服务器接收到提供之后,它向所有的DHCP服务广播它接受某一个提供的选择。广播通过DHCPREQUEST消息发送,并且包括所接受提供的服务器的标识符(IP地址)。所有其它的DHCP服务器撤消它们的提供以便使IP地址可以提供给下一次IP地址租用。
DHCPREQUEST |
Source IP Address=0.0.0.0 Dest. IP Address=255.255.255.255 |
Client Hardware Address=08004… Requested IP Address=131.107.8.13 Server Identifier=131.107.3.24 |
4. IP租用许可:
DHCP服务器在接受到DHCPREQUEST消息后,广播返回给客户一个DHCPACK消息
DHCPACK |
Source IP Address=131.107.3.24 Dest. IP Address=255.255.255.255 |
Offered IP Address=131.107.8.13 Clinet Hardware Address=08004… Subnet Mask=255.255.255.0 Length of Lease=72 hours Server Identifier=131.107.3.24 DHCP option: Router=131.107.8.1 …… NetBIOS Scope ID : MIS |
这个租用在租期内都是有效的
5. IP租用刷新:
◇当租用时间过半时或用IPCONFIG/RENEW。
为了刷新租用,DHCP客户机直接向它得到租用的DHCP服务器发送DHCPREQUEST消息,这次不是广播,而是点对点。
如果DHCP客户收到DHCPACK消息,那么客户机更新它的配置。
如果DHCP客户未收到DHCPNACK消息,客户机还可用这个IP地址,因为还有一半的租期。
◇当租用时间经过7/8的TTL租期时间,客户机将再尝试现用的DHCP服务器联系
如果成功后,更新租用;
如果不成功后,将向广播寻找新的DHCP服务器
如果收到DHCPPACK消息,DHCP客户机必须停止使用IP地址,同时DHCP客户机返回到租用新的IP地址的申请过程中。
如果收到DHCPNPACK消息,客户机的租用到期但它不能获取新的租用,基于TCP/IP的通信联系将停止,直到客户机被赋予新的IP地址。如果应用程序试图在无效的TCP/IP协议堆栈接口上联系,这时将发生网络错误。
五、 跨子网的DHCP服务
1. 路由器是RFC 1542兼容型,能传播广播
2. DHCP relay agent:必须是WIN NT SERVER和具有静态IP
3. 多宿主计算机充当路由器和DHCP relay agent
六、 DHCP服务器冗余
1. 单子网中:防止万一DHCP服务器关闭,另一个可以做备份保持DHCP服务
2. 多子网中:
当路由器可传播广播时,它是相当于单子网中,但不提倡使用
当路由器不可传播广播时,就要在广播屏蔽的子网中加DHCP中继代理,但当这个DHCP服务器停机时,新客户将无法申请到IP地址,为了防止这种情况,应在广播屏蔽的子网中加入另外一个DHCP服务器,并合理分配IP地址范围。
DHCP中继代理通过安装DHCP中继代理服务,并在TCP/IP属性中的DHCP中转标签中添加DHCP服务器的IP地址来实现。DHCP中继代理与DHCP服务器间是点到点的通信。
例:在两个子网中的两个DHCP服务器上分配IP地址范围是131.107.3.10到131.107.3.240和131.107.4.10到131.107.4.240
DHCP服务器1:(75%+25%)
131.107.3.10到131.107.3.180
131.107.4.181到131.107.3.240
DHCP服务器2:(25%+75%)
131.107.3.181到131.107.3.240
131.107.4.10到131.107.4.180
七.IPCONFIG
IPCONFIG 用来显示有关TCP/IP配置参数,对DHCP客户尤为重要,因为在TCP/IP属性中IP地址标签中IP设置是不可视的。
IPCONFIG/ALL 显示NT IP配置和网卡IP配置
IPCONFIG/release 刷新一个租用
IPCONFIG/renew 得到修改选项和租用时间
该命令在Windows 95,98中以winipcfg命令存在的
八、DHCP数据库
数据库所在的位置:/systemroot/SYSTEM32/DHCP
dhcp.mdb 是DHCP数据库文件
DHCP.TMP 是临时文件
JET.LOG JET*.LOG 记录所有的数据库事务
SYSTEM.MDB DHCP存储关于数据库结果的信息
数据库的内容:包括DHCP服务器IP地址的租用记录
1. 备份
缺省情况下,DHCP数据库每60分钟备份一次。
备份放在/systemroot/SYSTEM32/BACKUP/JET目录中
自动备份时间可在注册表中的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DHCPServer/Parameters/BackupInterval值来设置
2. 恢复
自动:重启动DHCP服务器服务,如果DHCP服务检测到损坏的数据库,它就自动进行恢复。但需将注册表中
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DHCPServer/Parameters/RestoreFlag值设置为1
重新启动DHCP服务器服务
数据库恢复成功后,服务器自动将该值修改为0。
手动:将/systemroot/SYSTEM32/BACKUP/JET目录中的内容拷贝到/systemroot/SYSTEM32/DHCP中,重新启动DHCP服务器服务
3. 压缩(整理)
首先:停止DHCP服务器服务
可从服务管理器中停止,也可用net stop dhcpserver
其次:从/systemroot/SYSTEM32/DHCP中运行JETPACK工具
格式为:jetpack dhcp.mdb temporary_name.mdb
dhcp.mdb的内容被压缩到temporary_name.mdb中,然后拷贝到dhcp.mdb,并将temporary_name.mdb删掉。
最后:重启DHCP服务器服务
可从服务管理器中启动,也可用net star dhcpserver
例2.54:
Situation: You administer a Microsoft TCP/IP network with two subnets: HQ and Sales. You have implemented DHCP, WINS and DNS on your network. You have two DHCP servers, one is on subnet HQ and the other is on subnet Sales. Your network consists of 10 Windows NT Server computer, 100 Windows 95 computers and 5 UNIX computers. All of the Windows-based computers are configured as DHCP clients.
Required result: The DHCP must provide a backup mechanism for leasing IP address to DHCP clients in case one of the DHCP servers is not functioning.
Optional desired results: You want the DHCP servers to always assign the same unique IP address to each Windows NT Servers to computer. You want the DHCP servers being able to provide all DHCP clients with the IP addresses of the WINS and DNS servers. You want the UNIX computers being able to use WINS for name resolution.
Proposed solution: Install and configure a DHCP relay agent on each subnet. Create two scopes on each DHCP server, each scope contains a unique IP address pool. On both DHCP servers, configure the same client reservation for each Windows NT Server computer. Create a global option on each DHCP server, configure and enable WINS/NBT node type, WINS/NBNS server and DNS servers options. On the WINS server, configure a static name mapping for each UNIX computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only two of the optional desired results.
C. The proposed solution produces the required result but does not produces any of the optional desired results.
D. The proposed solution does not produces the required result.