第一部分TCPP基础知识 这部分与宇航出版社的《 Microsoft windows nt40环境下的TCPP网络互联》 中的第一、二章(除ARP外)对应 首先我们这门课是TCPP在 Windows nr中的应用,并不完全讲TCP/P协议,所以有一些 TCPP理论方面的知识并没有涉及到。在讲TCPP在 Windows nt中的应用时,我们先回顾一下, 在网络基础中讲到的网络的OSI模型,假如有同学从TCP/IP学起,此处作一个铺垫。 第一课OSI模型( open system interface osI模型最初是用来作为开发网络通信协议族的一个工业参考标准。通过严格遵守OSI模型,丕 回的网络技术之间可以轻易地实现互操作。 应用层 applica 会话层 Emission Layer 传输层 Transport Layer 数据链路层 Data Link Layer 物理层 Physical Layer OSI模型包含许多被分割成层的组件。在网络数据通信的过程中,每一层完成一个特定的任务 当传输数据的时候,每一层接收到上面层格式化后的数据,对数据进行操作,然后把它传给下面的层 当接收数据的时候,每一层接收到下面层传过来的数据,对数据进行解包,然后把它传给上一层 应用层 应用层 表示层 会话层 会话 传输层 传输层 网络层 网络层 数据链路层 数据链路层 入物理层…-物理层 OSⅠ模型的一个关键概念是虚电路。兼容OSI模型的网络栈的每一部分都不知道其上面层和下面 层的行为和细节:它只是向上和向下传输数据。就模型的层次而言,每一层都有一虚电路直接连接目的 主机上的对应层。就每一层而言,它的数据在目的层被解包的方式和被打包的方式是完全一样的。层不 知道传输数据的实际细节;它们只知道数据是从周围层中传过来的。 如同打电话一样,你感觉对方就在你耳边,但实际上你对电话机在说话,电话机把你的话转成了 电信号,通过电话线传给电信局,电信局又通过各种传输线路,传给对方的电信局,对方的电信局再通 过电话线把信号传给电话机,电话机再把电信号转换成,你的情话 你 北京瑞通北大培训中心 第1页共32页
北京瑞通北大培训中心 第 1 页 共 32 页 第一部分 TCP/IP 基础知识 这部分与宇航出版社的《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 模型的网络栈的每一部分都不知道其上面层和下面 层的行为和细节;它只是向上和向下传输数据。就模型的层次而言,每一层都有一虚电路直接连接目的 主机上的对应层。就每一层而言,它的数据在目的层被解包的方式和被打包的方式是完全一样的。层不 知道传输数据的实际细节;它们只知道数据是从周围层中传过来的。 如同打电话一样,你感觉对方就在你耳边,但实际上你对电话机在说话,电话机把你的话转成了 电信号,通过电话线传给电信局,电信局又通过各种传输线路,传给对方的电信局,对方的电信局再通 过电话线把信号传给电话机,电话机再把电信号转换成,你的情话。 你 她
TCPP在 Windows nt40中的应用 电话机 电话机 电话线 匚电话线 电信局 电信局 电信总局 电信总局 虚电路结构增强了OSⅠ模型每一层的模块性:实现每一层的软件可以被栈的开发人员和工作站的 管理人员移走、替代和更新而是影响它上面和下面的层。这允许灵活地改变网络类型和更新层来处理错 误和增加新特性。每一层都利用其上层和下层的服务来维持它和远地主机上对应层的虚电路 第二课TCP/P协议 Internet的现状 1.TCP/IP的发展过程及组织 ISoC (Internet Society 应用软件 IAB IETE IANA IRTE 2.说明TCP/IP的重要性 连接不同系统的技术 开放系统,可通过 Request for comments开发自己的TCP/IP解法 与 Internet连接:节省资金 提供强有力的WAN连接:可路由,为广域网设计的 . TCP/IP协议族 1.TCP/P协议族 英文全称: Transmission Control Protocol/ nternet 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( nternet Control message protoco): Internet控制信息协议 ◇IGMP( Internet Group Management Protocol): nternet组管理协议 ◇ UDP(User Datagram Protoco):用户数据报协议 ◇SNMP( Simple Network Management Protocol):简单网络管理协议 ◇SMIP( Simple Mail Transmission Protoco):简单邮件传送协议 ◇FIP( File Transmission protoco):文件传输协议
TCP/IP 在 Windows NT 4.0 中的应用 电话机 电话机 电话线 电话线 电信局 电信局 电信总局 电信总局 虚电路结构增强了 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协议 ◇NDS( Network Device Interface Specification)}:网络驱动接口规范 ◇NFS( Network File System):网络文件系统 这是一个重要的协议,以文件共享为特点。它允许两个不同类型的文件系统互相操作。假定NFS 服务器软件正运行在 Net ware服务器,并且NFS客户机软件正运行在UNX主机上NFS允许 Netware 服务器上的部分RAM透明地存储UNIX文件,UNIX用户可以使用这些文件。虽然 Net Ware文件系 统与UNX文件系统不同(在识别大写与小写方面、文件名的长度、安全性等方面),但UNIX用户 用 Net Ware用户都可用它们正常的文件系统和正常的方法访问同一文件 Telnet、FTP和TTP都有局限性。请读者记住,作程序使用,FTP不能执行远程文 则可以。它可在计算机上打开图形应用程序,修改读者昨晚在同一程序上所做的修改。NFS有输入 和输出材料的能力,即远程操作应用程序。 ◇ Bootp( Boot Program):引导程序 当一台无磁盘的工作站加电后,它向网络广播一个 BootP请求。一个 BootP服务器听到请求后 从客户机的 BootP文件中查找其MAC地址。如果找到相应的项目,它就作出响应,告诉该机的IP 地址及其应该使用的引导文件,这通常是通过TFTP协议来完成。 没有磁盘的机器用 Bootp可获得: ◇自己的IP地址 ◇服务器的IP地址 ◇需加载到内存的文件名,以便用这一文件执行引导 SE提示:有一些简单的考题会问:某个协议位于TCP/P协议栈的哪一层上? 2.TCPP协议栈 OSⅠ模型是一种通用的、标准的、理论模型,今天市场上没有一个流行的网络协议完全遵守OSI 模型,TCPP也不例外,TCPP协议族有自己的模型,被称为TCP/P协议栈,又称DOD模型 ( Department of defense 应用层 Application Layer 层 Present Layer 应用层 Application Layer 会话层 Emission l 传输层 Transport Layer 传输层 Transport Layer 网络层 Internet Layer 网络层 Internet Layer 数据链路层 Data Link layer 物理层 Physical Layer 网络访问层 Network Access Layer ◇网络接口层:在模型的最底层是网络接口层。本层负责将帧放入线路或从线路中取下帧 ◇ Internet层: Internet协议将数据包封装成 Internet数据包并运行必要的路由算法 ◇传输层:传输协议在计算机之间提供通信会话。数据投递要求的方法决定了传输协议。 北京瑞通北大培训中心 第3页共32页
北京瑞通北大培训中心 第 3 页 共 32 页 ◇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 表示层 Present Layer 应用层 Application Layer 会话层 Semission Layer 传输层 Transport Layer 传输层 Transport Layer 网络层 Internet Layer 网络层 Internet Layer 数据链路层 Data Link Layer 网络访问层 Network Access Layer 物理层 Physical Layer ◇ 网络接口层:在模型的最底层是网络接口层。本层负责将帧放入线路或从线路中取下帧。 ◇ Internet 层:Internet 协议将数据包封装成 Internet 数据包并运行必要的路由算法。 ◇ 传输层:传输协议在计算机之间提供通信会话。数据投递要求的方法决定了传输协议
TCPP在 Windows nt40中的应用 ◇应用层:在模型的顶部是应用层。本层是应用程序进入网络的通道。在应用层有许多TCP/IP 工具和服务,如:FTP、 Telnet、SNP、DNS等等。该层为网络应用程序提供了两个 接口: Windows sockets和 NetBios。 3.TCP与UDP区别 TCP( Transmission Control protocol):为典型的传输大量数据或需要接收数据许可的应用程序提 供连接定向和可靠的通信 UDP( User Datagram Protocol):提供无连接的通信,并不保证数据包被发送到。典型的即时传 输少量数据的应用程序使用UDP。应该说可靠的发送是应用程序的责任 UDP 面向连接 无连接 传输大量数据即时传输少量数据 可靠的 不可靠的 由于传输方法不同,TCP数据包与UDP数据包是不一样的。但两者都用端口与插槽进行通信 TP/IP的报头格式如下:(对应于教材P37) 匚报头字段名位数 源端口号 16本地通信端口,支持TCP的多路复用机制 目的端口号 6远地通信端口,支持TCP的多路复用机制 序号(SEQ) 32|数据段第一个数据字节的序号(除含有SYN的段外) SYN段的SYN序号(建立本次连接的初始序号) 确认号(ACK) 32表示本地希望接收的下一个数据字节的序号 数据偏移 4指出该段中数据的超始位置(以32位为单位) 控制字段CTL) ◇URG 1|紧急指针字段有效标志,即该段中携带紧急数据 ◇ACK 1确认号字段有效标志 ◇PSH 1|PUSH操作的标志 ◇RST 1|要求异常终止通信连接的标志 1建立同步连接的标志 ◇FIN 1本地数据发送已结束,终止连接的标志 窗口 16本地接收窗口尺寸,即本地接收缓冲区大小 校验和 16包括TP报头和数据在内的校验和 紧急指针 16从段序号开始的正向位移,指向紧急数据的最后一个字节 选项 可变提供任选的服务 填充 可变|保证TCP报头以32位为边界 DP的报头格式如下: 匚报头字段名位数说。明 源端口号 16发送主机的UDP端口 目的端口号 16目标主机的UDP端口 消息长度 16|UP消息的长度 校验和 16验证报头是否损坏
TCP/IP 在 Windows NT 4.0 中的应用 ◇ 应用层:在模型的顶部是应用层。本层是应用程序进入网络的通道。在应用层有许多 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响应该同步过程,也可以由通信双方同时发起连接的同步握 ①TPA向TCPB发送1个回步TCP段请求建立连接 例:该TCP段简要表示成〈SEQ=100)〈CTL=SYN〉,其中“〈〉”中的内容为TCP段中的字段 ②TCPB将确认TCPA的请求,并同时向TCPA发出同步请求 例:该TCP段为〈SEQ=300)〈ACK=101)(CTL=SYN,ACK〉 ③TCPA将确认TCPB的请求,即向TCPB发送确认TCP段 例:该TCP段为〈SEQ=101)〈ACK=301)(CTL=ACK) ④TCPA在已建立的连接上开始传输TCP数据段 例:该TCP段为(SEQ=101)〈ACK=301)(CTL=ACK)(DATA) 整个过程可用图表示: ICPA 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连接是一个全双工的数据通道,一个连接的关闭必须由通信双方共同完成。当通信 的一方没有数据需要发送给对方时,可以使用FN段向对方发送关闭连接请求。这时,它虽然不 再发送数据,但并不排斥在这个连接上继续接收数据。只有当通信的对方也递交了关闭连的请求 后,这个TCP连接才会完全关闭。 在关闭连接时,既可以由一方发起而另一方响应,也可以双方同时发起。无论怎样,收到关 闭连接请求的一方必须使用ACK段给予确认。实际上,TCP连接的关闭过程也是一个三次握手的 过程 ICPA ICP 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〉 滑动窗口( Sliding windows) 滑动窗口:是两台主机间传送数据时的缓冲区。每台 TCP/IP主机支持两个滑动窗口:一个用于接 收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小 滑动窗口工作原理 当TCP从应用层中接收数据时,数据们于Send窗口。TCP将一个带序列号的报头加入数据 北京瑞通北大培训中心 第5页共32页
北京瑞通北大培训中心 第 5 页 共 32 页 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〉 5.滑动窗口(Sliding Windows) 滑动窗口:是两台主机间传送数据时的缓冲区。每台 TCP/IP 主机支持两个滑动窗口:一个用于接 收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。 滑动窗口工作原理: 当 TCP 从应用层中接收数据时,数据们于 Send 窗口。TCP 将一个带序列号的报头加入数据
TCPP在 Windows nt40中的应用 包并将其交给IP,由IP将它发送到目标主机 当每一个数据包传送时,源主机设置重发计时器(描述在重新发送数据包之前将等待ACK 时间)。在Send窗口中有每一个数据包的备份,直到收到ACKs 当数据包到达服务器 Receive窗口,它们按照序列号放置。当接收到连续的段时就向源主机 发送一个关于数据的认可(ACK),其中带有当前窗口尺寸 一旦源主机接收到认可,Send窗口将由已获得认可的数据滑动到等待发送的数据。如果有 重发计时器设定的时间内,源主机没有接收到对现存数据的认可,数据将重新传送。重发数据 包将加重网络和源主机的负担 如果 Receive窗口接收数据包的顺序错乱,那么将强制启动,延迟发送认可。 TCP协议采用滑动窗口的方式控制数据流的传输,用三次握手了解对方情况。 在传输层中,数据按照一定的格式打成大小相同的包。每一个滑动窗口中包含一定数目的 数据包,滑动窗口的大小可以人为调整。每台网络上的主机维护一个送窗口和一个接收窗口。 发送方一次发送相当于滑动窗口大小的数据包数目,并在每个数据包前添加包头信息,然后等 待接收方返回确认信息。由于TCP是面向连接的协议,可以保证数据传输的完整性和准确性 当传输过程中发生丢包时,接收方会要求发送方丛断点处重传数据。 滑动窗口的大小对网络性能有很大的影响。如果滑动窗口过小,则需要在网络上频繁的传 输确认信息,占用了大量的网络带宽:如果滑动窗口过大,对于利用率较高,容易产生丢包现 象的网络,则雪要多次发送重复的数握,也同样耗费了冈络带宽 决定滑动窗口大小的因素,包括网络的带宽、可靠性以及需要传输的数据量。 Windows nt使用TCP滑动窗口,其默认窗口大小为8760,每接收两段信息就发回一个确 TcpWindowSize规定滑动窗口的大小参数 位于 HKEY LOCAL MACHINE\CurrentControlSet\Services\TCPIP\Parameters下,缺省大小 为8760 ForwardBuffer Memory 位于 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
TCP/IP 在 Windows NT 4.0 中的应用 包并将其交给 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
详见【附图二】 北京瑞通北大培训中心 第7页共32页
北京瑞通北大培训中心 第 7 页 共 32 页 详见【附图二】
TCPP在 Windows nt40中的应用 第二部分IP地址 这部分与宇航出版社的《 Microsoft Windows nt40环境下的TCPP网络互联》 中的第三、四章对应 象我们在不同环境中有不同的名字一样,如:在学校里有学号,在宿舍里有 绰号,在家里还有小名,亲近的朋友之间还有溺称。 TCPP不同的层也使用不同的名字: 应用层 Application Layer 主机名或 NetBIos名、IP地址 传输层 Transport Layer 端口 网络层 Internet Layer IP地址 MAC地址 网络接口层 Network Interface Layer 这些名称中除了MAC地址是硬地址不可变之外(特殊的极意外的情况下也会有MAC地址重复的 时候),其它名称都是逻辑标识、是可变的 在这里我们先讨论一下IP地址,其它的内容在以后的课程中将再讨论。 IP地址格式 简单概念的介绍: bit byte k\M\G 1.格式: 在Ipv4中,IP地址由四个八位域(叫作 octets)组成。 Octets被点号分开代表在0到达55 范围内的十进制数字。用二进制格式时共有32位组成,为了方便记忆,用点号每八位一分割,称 为点分十进制。 tH dotted decimal notation: 131.107 1.1 193. 1. 1.200 二进制格式:11001100.100000000001000.10100 从理论上计算全部32位都用上可以允许有232超过四十亿的地址!这几乎可以为地球三分之 的人提供一个地址。但事实上,随着 Internet的发展,可用的IP地址已经快要用完了。 在将来的Ipv6中,P地址由十六个八位域组成,共128位二进制形式的P地址组成,还是 用点号每八位一分割,在现在看来是足够了,但不知道还会有什么意想不到的事情令IP地址又不 够用了。 2.二进制转换为十进制 1286432168
TCP/IP 在 Windows NT 4.0 中的应用 第二部分 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 位都用上可以允许有 2 32 超过四十亿的地址!这几乎可以为地球三分之 二的人提供一个地址。但事实上,随着 Internet 的发展,可用的 IP 地址已经快要用完了。 在将来的 Ipv6 中,IP 地址由十六个八位域组成,共 128 位二进制形式的 IP 地址组成,还是 用点号每八位一分割,在现在看来是足够了,但不知道还会有什么意想不到的事情令 IP 地址又不 够用了。 2. 二进制转换为十进制 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 8 7 6 5 4 3 2 1 128 64 32 16 8 4 2 1
例:11001100.100000000001000.11101100 129 网络和主机标识 因为TCPP网络是为大规模的互连网络设计的,所以我们不能用全部的32位来表示网络上主机 的地址。如果这样做了,我们将得到一个拥有数以亿计网络设备的巨大网络,这个网络不需要包路由设 备和子网。这完全失去了包交换互连网的优点。 所以,我们需要使用IP地址的一部分来标识网络,剩下的部分标识其中的网络设备。IP地址中 用来标识设备所在网络的部分叫做网络I,标识网络设备的部分叫做主机D。这些I包含在同一个 IP地址之中 如:193.1.1.200 131.107.2.175.3.78.2 网络ID主机ID 网络ID主机ID网络ID主机ID 地址类型 Internet组织定义了5种IP地址类,以容纳不同大小的网络。 Microsoft tcp/ip支持赋予主机的A, B,C类地址。地址类定义了哪些位于用于网络ID,哪些位用于主机ID,它同时也定义了可能的网络 数目及每个网络中的主机数。 1.A类 Network Id Host id A类地址用于主机数目非常多的网络。A类地址的最高位为0,接下来的7位完成网络ID,剩余 的24位二进制位代表主机ID。A类地址允许126个网络,每个网络大约一千七百万台主机;第一 个八位体是1~126。127是一个特殊的网络ID,是用来检查,TCP/IP协议工作状态。 2.B类 Network id Host id B类地址用于中型到大型的网络。B类地址的最高位为10,接下来的14位完成网络ID,剩余的 14位二进制位代表主机ID。B类地址允许16384个网络,每个网络大约65000台主机;第一个八 位体是128~191 3.C类 Network ID Host id C类地址用于小型本地网络。C类地址的最高位为110,接下来的21位完成网络ID,剩余的 8位二进制位代表主机ID。C类地址允许大约二百万个网络,每个网络有254台主机:第一个八 位体是192~223。 4.D类 1110 D类地址用于多重广播组。一个多重广播组可能包括1台或更多主机,或根本没有。D类地址 的最高位为1110第一个八位体是224~239。剩余的位设计客户机参加的特定组。在多重广播操作 北京瑞通北大培训中心 第9页共32页
北京瑞通北大培训中心 第 9 页 共 32 页 例: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。剩余的位设计客户机参加的特定组。在多重广播操作
TCPP在 Windows nt40中的应用 中没有网络或主机位,数据包将传送到网络中选定的主机子集中。只有注册了多重广播地址的主 机才能接收到数据包。 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.2 直接广播( directed broadcast) 直接广播( 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 本网络”中编号为3的主机(只作源地址) 55.255.0.0 掩码 127.0.0.1 本机 网络ID 主机ID 代表意义 无效.未知主 非全0 全0 具体的网络 全0 非全0.全1 本地网的具体主机 全1 非全0.全 非全0.非全1 直接广播 全1 全1 有限广播 让我们来做几个有关IP地下的练习 1 1: Which of the following IP addresses are invalid for a TCP/IP host? A.233.100.2.2 120.1.0.0 C.127.120.50.30 D.131.107.256.60 E.188.56.4.255 F.200.18.65.255 答案:ACDF 分析: A.233属于D类地址 B.120属于A类地址,其网络ID为120,主机ID为1.0.0,都不全为0或1,故为有效的IP地址 C.127属于127.0.00的网络地址,此网址是做 Loopback测试用的,不可以指派给主机
TCP/IP 在 Windows NT 4.0 中的应用 中没有网络或主机位,数据包将传送到网络中选定的主机子集中。只有注册了多重广播地址的主 机才能接收到数据包。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 测试用的, 不可以指派给主机