;;;;什么是TCP/IP 协议
;;;;TCP/IP协议是网络中使用的基于软件的通信协议,包括传输控制协议(Transmission Control Protocol简称TCP)和网际协议( Internet Protocol简称IP)。TCP/IP是普通使用的网络互连的标准协议,可使不同环境下不同节点之间进行彼此通信,是连入Internet的所有计算机在网络上进行各种信息交换和传输所必须采用的协议,也是Windows NT、Windows 2000 Server、NetWare及UNIX互连所采用的协议。TCP/IP实际上是一种层次型协议,是一组协议的代名词,它的内部包含许多其他的协议,组成了TCP/IP协议组。在Windows 2000 Server里,TCP/IP包含以下几方面:
;;;;? IP协议。
;;;;? 文件传输协议( FTP )。
;;;;? 简单网络管理协议( SNMP )。
;;;;? TCP/IP网络打印。
;;;;? 动态主机配置协议( DHCP )。
;;;;? 域命名服务( DNS )。
;;;;? TCP/IP实用程序。
;;;;为了便于用户理解TCP/IP的分层模式,图8 - 1 2给出了TCP/IP与ISO7498中的OSI协议的对照图。
;;;;在TCP/IP协议的分组中,第一层是协议实现的基础,包含Ethernet和Token Ring等各种网络标准。IP提供了专门的功能,解决与各种网络物理地址的转换。而第二层包含四个主要的协议:IP、ICMP、ARP和RARP。它将多个网络联成一个Internet网,通过Internet网传送数据报,提供可靠的无连接报文分组传送服务,并能够实现逻辑地址(即IP地址)与物理地址的相互转换。其中第三层包含两个主要的协议:TCP和UDP。在IP协议的基础上,提供可靠的面向连接的服务,并使发送方能区分一台计算机上的多个接收者,从而实现两个用户进程之间传递数据报。最后第四层则定义了各种机型上主要采用的协议: FTP、Telnet、DNS、SMTP等。它提供远程访问服务,使用户可以在本地机器和远程机器间进行有关文件的操作和邮件传输,并能将名称解析成IP地址。
;;;;为使读者进一步深入了解TCP/IP协议的层次模型,下面给出TCP/IP协议本身的分层模型图,如图8 - 13所示。
;;;;如图8 - 13源主机中向下箭头所示,数据单元被传到传输层协议。该层进行一系列操作,把一个标题传输给它UDP上,这个数据单元现在被称为一个段。传输层将这个段向下传递给网络层,也称为I P层的网络层,再进行规定的操作并加上一个标题,然后把这个称为IP数据报的单元向下传给数据链路层。数据链路层将一个标题和一个报尾附加到该I P数据报上,形成网络帧。然后,物理层把这个网络帧发送到网络上。通过网络硬件传送到目的主机的物理层。目的主机在相应层中把标题去掉,拆开单元,各层用标题来决定必须要采取的行动。最后,目的主机获得发送的数据单元。
;;;;在TCP/IP协议分层模型中还存在两个重要的边界:协议地址边界与操作系统边界。其中协议地址边界在TCP/IP协议中存在两个地址:IP逻辑地址和物理地址。它们所使用的层次有一定的界限,网络层及其以上的层次软件使用I P逻辑地址,而数据链路层及物理层则使用物理地址。而不同的TCP/IP实现,操作系统的边界可能也不同,一般采用的边界在应用层与传输层之间。即应用层为用户应用软件,而传输层及其以下各层则运行操作系统内部软件。图8 - 14列出了两大边界在TCP/IP分层模型中的对应关系。
;;;;IP地址类型
;;;;TCP/IP协议中采用两种地址:物理地址和网际地址。由于物理地址的长度、格式等是物理网络技术的一部分,所以物理网络技术不同,物理地址也必然不相同。为了统一异种网的地址,TCP/IP协议引入了IP地址,即网际地址。它是一种层次型地址,携带关于对象位置的信息。
;;;;TCP/IP协议用32位地址标识主机所在网络中的位置。IP地址格式如图8 - 15所示。
;;;;在32位地址中,根据网络地址及主机地址所占的位数不同, IP地址可分为5类,图8 - 16列出了5类IP地址的结构。
;;;;? A类地址:由于其网络地址所占位数少,而主机地址占位多,所以它适用于拥有大量主机的大型网络。7位网络地址表示A类网络中最多可拥有127个网络; 24位主机地址表示A类网络中最多可容纳232个2台主机。
;;;;? B类地址:由于其网络地址和主机地址分别占14位和16位,所以它适用于中型网。14位网络地址表示B类网络中最多可拥有213个2个网络,而16位主机地址表示每个B类网络中最多可容纳215个2台主机。
;;;;? C类地址:由于其网络地址和主机地址分别占2 1位和8位,所以它适用于小型网。2 1位网络地址表示C类网络中最多可拥有220个2个网络,而8位主机地址则表示每个C类网络中最多可容纳27个2台主机。
;;;;? D类地址:用于多目传输,是一种比广播地址稍弱的形式,支持多目传输技术。
;;;;? E类地址:用于将来的扩展之用。
;;;;除了以上5类IP地址外,还有几种具有特殊意义的地址:
;;;;? 广播地址:TCP/IP协议规定,主机地址各位均为“ 1”的I P地址用于广播之用。所以又称为广播地址。广播地址的应用代表同时向网络中的所有主机发送消息。广播地址本身,根据广播的范围不同,又可细分为直接广播地址和有限广播地址。
;;;;1) 直接广播地址: 32位IP地址中给定的网络地址,直接对给定的网络进行广播发送。这种地址直观,但必须知道信宿网络地址。
;;;;2) 有限广播地址: 32位I P地址均为“ 1”,表示向源主机所在的网络进行广播发送,即本网广播,它不需要知道网络地址。
;;;;? “0”地址:TCP/IP协议规定, 32位IP地址中网络地址均为“ 0”的地址,表示本地网络。
;;;;? 回送地址:用于网络软件测试以及本地机进程间通信的地址,是网络地址为“ 1111111 0”的地址。无论什么程序,只要采用回送地址发送数据,TCP/IP协议软件立即返回它,不进行任何网络的传送。
;;;;在协议软件中, IP地址是以32位二进制形式表示的,但对于用户来说,不够直观。在TCP/IP协议中,又采用“点分十进制”表示法,即用4个十进制整数,每个整数对应一个字节,整数与整数之间以小数点“ .”为分隔符的表示方法。例如: 123.165.47.11。对应上面的IP地址类型,如果用“点分十进制”表示,则应如图8 - 17所示。
;;;;除了“点分十进制”表示法在TCP/IP协议面向用户的文档中使用之外,还有对于用户更为直观的方法,即TCP/IP协议所提供的域名服务(DNS)。
;;;;子网掩码
;;;;TCP/IP协议标准规定:每一个使用子网的网点都选择一个除I P地址外的32位的位模式。位模式中的某位置为1,则对应IP地址中的某位为网络地址中的一位;位模式中的某位置为0,则对应IP地址中的某位为主机地址中的一位。这种位模式称作子网掩码。
;;;;子网掩码的最大用途是让TCP/IP协议能够快速判断两个IP地址是否属于同一个子网。子网掩码可以用来判断寻径算法条件。例如下面的两个IP地址:178.11.45.6和178.11.45.99,则使用下面的子网掩码255.255.255.0。对于该I P地址及子网掩码,判断寻径算法条件的过程为:
;;;;? 如果信宿IP地址和子网掩码相对应(例如上例),就把数据报发送到本地网络上。
;;;;? 如果信宿IP地址和子网掩码不对应,就把数据报发送到和信宿IP地址相应的网关上。
;;;;子网掩码中的“1”和“0”并不是以字节为单位的,例如某一子网掩码编码为255.255.214.0,则表示该子网中有13位主机地址。
;;;;子网掩码一方面可以用来判断两个IP地址是否属同一子网,另一方面也可以用来找出子网的地址。例如,假设有两个IP地址222.16.8.3和222.16.8.11,则对应的二进制表示分别为:
;;;;? 十进制:222.16.8.3
;;;;二进制: 11 0 1111 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 1 0 0 0 . 0 0 0 0 0 0 11
;;;;? 十进制: 222.16.8.11
;;;;二进制: 11 0 1111 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 1 0 0 0 . 0 0 0 0 1 0 11
;;;;子网掩码:
; 十进制:2 5 5 . 2 5 5 . 2 5 5 . 0
;二进制:11111111 . 111111111 . 111111111 . 0 0 0 0 0 0 0 0
;;;;若判断这两个IP地址是否为同一子网,其操作是将每个IP地址与子网掩码进行按位与,如果所得的结果相同,则表示两个IP地址属于同一子网,否则表示两个IP地址属于不同子网。
;;;;222.16.8.3地址按位与运算后为:
;;;;11011110.00010000.00001000.00000000
;;;;222.16.8.11地址按位与运算后为:
;;;;11011110.00010000.00001000.00000000
;;;;所以,这两个IP地址属于同一子网。
;;;;子网掩码用于求子网地址时,也采用按位与运算。例如,带有掩码255.255.255.0的某个C类I P地址222.16.8.254,为找到子网地址,可按如图8 - 18所示的方式进行运算。
;;;;TCP/IP协议的新特性
;;;;Windows 2000的TCP/IP 进行了更新,包括几个特征。它简化了单个子网的配置,并优化了宽带网络环境中的TCP性能。这些新特征支持如下用途:
;;;;? 自动专用IP地址( APIPA )。
;;;;自动专用IP地址用于为单个子网自动配置TCP/IP地址,不包括DHCP服务器。在默认情况下,运行Windows 2000的计算机首次试图联系网络中的DHCP服务器时,即可以获得每个网络连接的动态配置。
;;;;如果DHCP服务器可以接通和释放,配置是成功的, TCP/IP 配置完成。如果DHCP 服务器不能接通,计算机使用APIPA来自动配置TCP/IP。当使用APIPA时,Windows 2000 在保留IP地址169.254.0.1 到169.254.255.254之间指定一个地址。在定位到DHCP 服务器之前,此地址用作临时IP地址配置。子网掩码设置为255.255.0.0。
;;;;用于APIPA的IP地址范围(169.254.0.1~169.254.255.254) 被国际互连网号码分配机构(IANA)保留。此范围中的任何IP地址不能在Internet 上使用。APIPA删除了没有连接到Internet中的单个网络小型办公室和家庭办公室网络的IP地址。
;;;;? 大型TCP窗口。
;;;;窗口尺寸是不使用肯定应答就能发送的包的最大数量。当大量数据在发送者和接收者之间传送时,大的TCP 窗口改进了TCP/IP 的性能。在典型的基于TCP 的通信中,窗口大小常常固定在开始连接时的大小,并限制为64 KB。
;;;;利用大型窗口的支持,必要时在长时间会话中使用TCP 选项,可以动态重算和按比例设置窗口尺寸。利用此选项,更多的数据包可以在网络中一次传送,这增加了带宽使用的效率。
;;;;? 可选应答。
;;;;在典型的基于TCP 的通信中,应答是累积的。TCP 只应答与以前应答段接近的收到的段。非邻近的段(不按顺序收到的段)不被给予明确的应答。TCP 要求段在一段时间内接收和应答,如果丢失了段,所有该段之后的段必须重新发送。
;;;;可选应答是最新的TCP 选项,它允许接收者有选择的通知并要求发送者只重新发送确实丢失的数据。这使得需要重新传送的数据更少,更好地利用网络。
;;;;? 更好RTT估算。
;;;;RTT是由TCP使用,用来估算在发送者和接收者之间来回通信所需的时间。Windows 2000 支持使用“TCP来回时间测量”选项来改进RT T的估算方法。通过计算更准确的RTT信息,TCP可以使用更好的估算来设置传送时间,这有助于提高整个TCP速度和性能。
标签: