第18章 Internet与TCP/IP 域|商业[教育|政府军队[其它组织[网络资源 由于人们不容易阅读使用4个十进制数表示连网机器和网络的IP地址,因此许多系统都 采纳对人更容易阅读和理解的名称,这种地址叫做域名地址( domain name address)。域名 地址是连接到因特网或者任何TCP/IP网络的某一台设备的地址。在分等级结构的系统中,使 用“词”来标识服务器、组织和类型。例如ww. tsinghua.edu.cn代表中国教育领域中清华 大学使用HTTP协议的一台计算机。因此一台连网机器在因特网上既有用户使用的域名地址 (例如,ww. tsinghua.edu.cn),又有递送信息送软件使用的IP地址(例如,166.11.9.2) 域名系统⑩ Domain Name System,DNS)就是自动地把域名地址翻译成IP地址的系统 域名服务系统 DNS(Domain Name System)中的域名服务 DNS Domain Name Service)软件 实际上是一张两列的查找表,一列是帮助记忆计算机的名称,另一列是用数字表示的IP地址, 计算机的名称和它的IP地址是相对应的,这个软件存放在域名服务器DNS① omain Name Server)上。用户申请入网时需要因特网接入服务公司( Internet service provider,ISP) 提供域名服务器的地址,例如 Chinanet网络上的一个域名服务器地址是202.96.0.133,当计 算机首次连网时需要人工设置这个地址。 18.1.5统一资源地址 因特网上资源所在的地址使用统一资源地址( Uniform Resource Locator,URL)表示法 它是识别因特网上任何一个文件或资源地址的标准表示法。例如,清华大学网页( Web page) 上的一个文件,用URL表示成: http://www.tsinghuaeducn/docs/xydy/bjtag.html 又如,微软公司的主页( home page)用URL表示成 http 组成URL的各部分的名称如图18-05所示。 Intemet addre 166.111.92 因特网地址 http://www.tsinghua.edu.cn/docsxydy/bjtaghtml top-level domain 项级域名) major geographic domain domain name (国家或地区域名 (域名) domain name address (域名地址) host name (主机名) URL(Uniform Resource Locator) (统一资源地址 The address of a file or Web sit 文件地址网址Web站点) 图18-05统一资源地址的结构 18.2TcP/IP的参考模型 18.2.1协议层次和协议的概念 为减少网络设计的复杂性,网络设计人员把整个数据交换过程划分成层(1ayer),并制 定了各层次上的协议,以便于网络软硬件分层管理和执行,这种层就称为协议层( Protocol
第18章 Internet与TCP/IP 6 域 商业 教育 政府 军队 其它组织 网络资源 由于人们不容易阅读使用4个十进制数表示连网机器和网络的IP地址,因此许多系统都 采纳对人更容易阅读和理解的名称,这种地址叫做域名地址(domain name address)。域名 地址是连接到因特网或者任何TCP/IP网络的某一台设备的地址。在分等级结构的系统中,使 用“词”来标识服务器、组织和类型。例如www.tsinghua.edu.cn代表中国教育领域中清华 大学使用HTTP协议的一台计算机。因此一台连网机器在因特网上既有用户使用的域名地址 (例如,www.tsinghua.edu.cn),又有递送信息送软件使用的IP地址(例如,166.111.9.2), 域名系统(Domain Name System,DNS)就是自动地把域名地址翻译成IP地址的系统。 域名服务系统DNS(Domain Name System)中的域名服务DNS(Domain Name Service)软件 实际上是一张两列的查找表,一列是帮助记忆计算机的名称,另一列是用数字表示的IP地址, 计算机的名称和它的IP地址是相对应的,这个软件存放在域名服务器DNS(Domain Name Server)上。用户申请入网时需要因特网接入服务公司(Internet service provider,ISP) 提供域名服务器的地址,例如ChinaNET网络上的一个域名服务器地址是202.96.0.133,当计 算机首次连网时需要人工设置这个地址。 18.1.5 统一资源地址 因特网上资源所在的地址使用统一资源地址(Uniform Resource Locator,URL)表示法, 它是识别因特网上任何一个文件或资源地址的标准表示法。例如,清华大学网页(Web page) 上的一个文件,用URL表示成: http://www.tsinghua.edu.cn/docs/xydy/bjtag.html 又如,微软公司的主页(home page)用URL表示成: http://www.microsoft.com 组成URL的各部分的名称如图18-05所示。 图18-05 统一资源地址的结构 18.2 TCP/IP的参考模型 18.2.1 协议层次和协议的概念 为减少网络设计的复杂性,网络设计人员把整个数据交换过程划分成层(layer),并制 定了各层次上的协议,以便于网络软硬件分层管理和执行,这种层就称为协议层(Protocol
第18章 Internet与TCP/IP Layer)。为了叙述方便,我们把客户机、服务机、路由器和网桥等设备称为网络单元。一个 网络单元层n( layer n)与另一个网络单元层n( layer n)交换的消息是层n( layer n)上的消 息,不是层-(n+1)上的消息,也不是层-(n-1)上的消息,这些消息称为层n协议数据单元 简写成n-PDU( layer- n protocol data unit)。n-PDU的格式以及n-PDU在网络单元之间如何 交换则由层n协议( layer- n protocol)定义。当各层协议组合在一起时,就把这整套协议称 为协议堆( protocol stack),也称协议组( protocol suite)。例如,因特网上使用的许许 多多协议都归纳在传输控制协议/网际协议TCP/IP中,称为TCP/IP协议堆 当主机A的层n发送一个nPDU到主机B的层n时,主机A就把n-PD传到下一层,即层n-1 然后让层n-1把n-PDU递送给主机B的层n,这就是说,层n依靠层n-1把nPDU递送到目的地 这也叫做层n-1给层n提供服务。我们把发送端称为源端(如主机A),接收端称为终端(如主机 B 假设有一个用4层通信协议组织的网络,如图18-06所示。由于网络用4层通信协议组织, 因此就有4种类型的PDU:1-PDU,2-PDU,3-PDU和4-PD。运行在最高层的层4称为应用层 它给出一个消息M,即M为4-PDU。在源端机,M被分成2部分:M和M2,加上层-3消息标题生 成2个3-PDU。这个过程在源端机一直到生成1-PυU,然后从源端机把它们发送到物理链路上。 终端机接收1-PDU,然后引导1-PDU到上一层,并把相应层的消息头去掉,最后重新装配成M 消息。 原始消息 H3 M2 M2 少网[ 2-PDU H2 H3 M2 H2|H3|M2 H2 H3 M2 H2 H3 M2 1-PDU H1 H2 H3 M2 H1 H2 H3 M2++H1 H2H3 M2 H1 H2 H3 M2 M: Message H: Header 源端 终端 图18-06协议层和协议堆的概念 18.2.2TCP/IP和0S模型 顾名思义,TCP/IP固然是指传输控制协议( Transmission Control protocol,TCP)和 网际协议( Internet protocol,IP),但是TCP/IP协议堆不仅仅是指这两个单独的协议组成 的协议堆,而是由许多协议组成的协议堆。TCP/IP协议堆组合了100多个协议,包括文件传 送协议 File transfer protocol,FTP),简单邮件传输协议( Simple Message transfer Protocol,SMTP),用户数据包协议 User Datagram Protocol,UDP),用于远程访问的 Telnet 协议,普通文件传输协议( Trivial File Transfer Protocol,TFTP),地址解析协议( Address Resolution protocol,ARP),逆向地址解析协议 Reverse address resolution protocol, RARP)和网际控制消息协议( Internet Control Messages Protocol,ICMP)等协议。这些协 议是用来把计算机和数据通信设备组织到计算机网络中的标准通信协议,它们要管理传输数 据的路线、实际的传输以及处理传输过程中出现的错误。 在计算机通信网络中,有一个叫做国际标准化组织/开放系统互连参考模型 (International Organization for Standardization Open Systems Interconnection reference model,ISo/ OSI reference model),通常把它翻译成开放式系统互连参考模型 0 SI Reference model。OSI参考模型分成7层,TCP/IP也采用层次结构,但并不与0SI参考
第18章 Internet与TCP/IP 7 Layer)。为了叙述方便,我们把客户机、服务机、路由器和网桥等设备称为网络单元。一个 网络单元层n(layer n)与另一个网络单元层n(layer n)交换的消息是层n(layer n)上的消 息,不是层-(n+1)上的消息,也不是层-(n-1)上的消息,这些消息称为层n协议数据单元, 简写成n-PDU(layer-n protocol data unit)。n-PDU的格式以及n-PDU在网络单元之间如何 交换则由层n协议(layer-n protocol)定义。当各层协议组合在一起时,就把这整套协议称 为协议堆( protocol stack),也称协议组(protocol suite)。例如,因特网上使用的许许 多多协议都归纳在传输控制协议/网际协议TCP/IP中,称为TCP/IP协议堆。 当主机A的层n发送一个n-PDU到主机B的层n时,主机A就把n-PDU传到下一层,即层n-1, 然后让层n-1把n-PDU递送给主机B的层n,这就是说,层n依靠层n-1把n-PDU递送到目的地, 这也叫做层n-1给层n提供服务。我们把发送端称为源端(如主机A),接收端称为终端(如主机 B)。 假设有一个用4层通信协议组织的网络,如图18-06所示。由于网络用4层通信协议组织, 因此就有4种类型的PDU:1-PDU,2-PDU,3-PDU和4-PDU。运行在最高层的层4称为应用层, 它给出一个消息M,即M为4-PDU。在源端机,M被分成2部分:M1和M2,加上层-3消息标题生 成2个3-PDU。这个过程在源端机一直到生成1-PDU,然后从源端机把它们发送到物理链路上。 终端机接收1-PDU,然后引导1-PDU到上一层,并把相应层的消息头去掉,最后重新装配成M 消息。 图18-06 协议层和协议堆的概念 18.2.2 TCP/IP和OSI模型 顾名思义,TCP/IP固然是指传输控制协议(Transmission Control Protocol,TCP)和 网际协议(Internet Protocol,IP),但是TCP/IP协议堆不仅仅是指这两个单独的协议组成 的协议堆,而是由许多协议组成的协议堆。TCP/IP协议堆组合了100多个协议,包括文件传 送协议(File Transfer Protocol,FTP),简单邮件传输协议(Simple Message Transfer Protocol,SMTP), 用户数据包协议(User Datagram Protocol,UDP),用于远程访问的Telnet 协议,普通文件传输协议(Trivial File Transfer Protocol,TFTP),地址解析协议(Address Resolution Protocol,ARP),逆向地址解析协议(Reverse Address Resolution Protocol, RARP)和网际控制消息协议(Internet Control Messages Protocol,ICMP)等协议。这些协 议是用来把计算机和数据通信设备组织到计算机网络中的标准通信协议,它们要管理传输数 据的路线、实际的传输以及处理传输过程中出现的错误。 在计算机通信网络中,有一个叫做 国际标准化组 织/开放系统 互连参考模型 (International Organization for Standardization Open Systems Interconnection reference model,ISO/OSI reference model ),通常把它翻译成开放式系统互连参考模型 OSI Reference Model 。OSI参考模型分成7层,TCP/IP也采用层次结构,但并不与OSI参考
第18章 Internet与TCP/IP 模型的层次一一对应。因特网采用的TCP/IP模型并不与0SI模型发生冲突,因为这两种标准 是并行开发的,它们是互相补充的。0SI模型和TCP/IP模型相比,认为0SI的结构更严谨,层 次更加独立,但现在似乎更喜欢使用TCP/IP模型,OSI模型是否放弃也难说。 TCP/IP结构的分层不太统一,有的把它分成5层,如图18-07所示,有的把数据链路层 ( data link layer)和物理层( physical layer)算作一层,把它分成4层。本教材使用前一种 分层方法,TCP/IP的5层是:应用层( application layer)、传输层( transport layer)、网 络层( network layer)/互联网络层( internet layer)、网络接口层( network interface layer) 或者叫做数据链路层( data link)和物理层( physical layer),并给其中4层中的PDU分别命 名为消息( message)、消息段( segment)、数据包( datagram)和数据帧( frame)。因特网的协 议堆( Internet protocol stack)由层3一层5上的协议组成。TCP/IP参考模型和其相应的PDU 的名称如图18-08所示,各层执行的部分协议如图18-09所示。虽然这样划分有点简单化,而 且不是100%的正确,但可帮助我们比较好地理解整个协议堆的全貌 0SI参考模型 rCP/IP( Internet)模 型 应用层( application 应用层( application) 对话层( session) 传输层( transport 传输层( transport 网络层( network) 网络层( network) 擞据链路层(data 数据链路层(data 物理层( physical) 物理层( physical) 图18-07TCP/IP的参考模型 TCP/IP参考模型 协议数据单元 执行器 (TCP/IP reference PDU (protocol data unit) model 层5应用层( application) 消息( message) 软件 消息段( segment) 软件 层3网络层( network) 数据包( datagram)软件/硬 层2数据链路层(data1ink) 数据帧( frame) 硬件 层l物理层( physical 1—PDU 硬件 图18-08协议堆中的协议层和相应的PDU名称 网络层次 执行的协议 应用层 P, Telnet, SMTP, MIME, X NFS, SNMP, TFTP, RPC, DNS,tH Http, Kerberos Dns 协议 传输层 TCP UDP 网络层 IP, ICMP, IGMP 数据链路层匝DLC,PP,SLIP, Ethernet,x.25,FDI, TokenRing 物理层ks=232,V35,1 BAse, FiberOptic CLNP( Connectionless Network Protocol)无连接网络协议 DNS (Domain Name System)域名系统 HLC(High- level Data Link Control)(IBM)高级数据链路控制规程 ICMP( Internet Control Messages Protocol)网际控制消息协议 IGMP( Internet Group Multicast Protocol)因特网多目标广播协议
第18章 Internet与TCP/IP 8 模型的层次一一对应。因特网采用的TCP/IP模型并不与OSI模型发生冲突,因为这两种标准 是并行开发的,它们是互相补充的。OSI模型和TCP/IP模型相比,认为OSI的结构更严谨,层 次更加独立,但现在似乎更喜欢使用TCP/IP模型,OSI模型是否放弃也难说。 TCP/IP结构的分层不太统一,有的把它分成5层,如图18-07所示,有的把数据链路层 (data link layer)和物理层(physical layer)算作一层,把它分成4层。本教材使用前一种 分层方法,TCP/IP的5层是:应用层(application layer)、传输层( transport layer)、网 络层(network layer)/互联网络层(internet layer)、网络接口层(network interface layer) 或者叫做数据链路层(data link)和物理层(physical layer),并给其中4层中的PDU分别命 名为消息(message)、消息段(segment)、数据包(datagram)和数据帧(frame)。因特网的协 议堆(Internet Protocol Stack)由层3-层5上的协议组成。TCP/IP参考模型和其相应的PDU 的名称如图18-08所示,各层执行的部分协议如图18-09所示。虽然这样划分有点简单化,而 且不是100%的正确,但可帮助我们比较好地理解整个协议堆的全貌。 OSI参考模型 TCP/IP(Internet)模 型 应用层(application) 表示层 (presentation) 应用层(application) 对话层(session) 传输层( transport) 传输层( transport) 网络层(network) 网络层(network) 数 据 链 路 层 (data link) 数 据 链 路 层 (data link) 物理层(physical) 物理层(physical) 图18-07 TCP/IP的参考模型 TCP/IP参考模型 (TCP/IP reference model ) 协议数据单元 PDU(protocol data unit) 执行器 层5 应用层(application) 消息(message) 软 件 层4 传输层( transport) 消息段(segment) 软 件 层3 网络层(network) 数据包(datagram) 软件/硬 件 层2 数据链路层(data link) 数据帧(frame) 硬 件 层1 物理层(physical) 1-PDU 硬 件 图18-08 协议堆中的协议层和相应的PDU名称 网络层次 执行的协议 应用层 FTP,Telnet,SMTP,MIME, X, HTTP,Kerberos,DNS NFS,SNMP,TFTP,RPC,DNS,专用 协议 传输层 TCP UDP 网络层 IP,ICMP,IGMP 数据链路层 HDLC,PPP,SLIP,Ethernet,X.25,FDDI,TokenRing 物理层 RS-232,V.35,10Base,FiberOptic 图中: CLNP(Connectionless Network Protocol) 无连接网络协议 DNS(Domain Name System) 域名系统 HDLC(High-level Data Link Control) (IBM)高级数据链路控制规程 ICMP(Internet Control Messages Protocol) 网际控制消息协议 IGMP(Internet Group Multicast Protocol) 因特网多目标广播协议
第18章 Internet与TCP/IP Kerberos科巴楼司协议(美国麻省理工学院制定的一种网络确认协议) MIME( Multipurpose Internet Mail Extension protocol)多用途网际邮件扩充协议 NFS (Network File System)网络文件系统 RPC( Remote procedure cal1)远程过程调用 SMTP( Simple Message Transfer Protocol)简单邮件传输协议 NMP( Simple network Management Protocol)简单网络管理协议 TFTP( Trivial File Transfer Protocol)普通文件传输协议 TP4 Transport Protocol Class4)传输协议类4 X: X-Windows 图18-09各层上的部分协议(供参考) 协议层上的协议由软件、硬件或者组合软硬件一起执行。应用层协议(如HTTP和SMTP) 和传输层协议(如TCP和UDP)几乎都是用软件执行:物理层和数据链路层协议是负责链路上的 通信,因此通常在网络接口卡上执行,例如以太网卡或者ATM接口卡:网络层上的协议通常 由软件或者由软硬件联合执行。网络协议堆中的每一层协议都有它自己的职责。此外,为使 上下层之间工作协调,层与层之间的接口必需要有精确的定义,这些精确的定义在相应的标 准中都有详尽的说明。现将各层的主要功能说明如下。 (1)应用层:负责支持网络应用。它所包含的协议包括支持Web的HTTP,支持电子邮件 的SMTP和支持文件传输的FTP等协议。 (2)传输层:负责把应用层消息递送给终端机的应用层。因特网上的传输控制协议 ( Transfer Control Protocol,TCP)和用户数据包协议( User Datagram Protocol,UP)这 两种传输协议都能递送应用层消息。TCP提供面向连接服务,而UDP提供无连接服务。TCP为 应用层提供许多重要的服务,包括保证把应用层消息递送到目的地,把很长的消息分割成比 较小的消息段,提供超时监视和端对端的确认和重递送功能,提供流程控制方法使得源端能 够根据拥挤情况调节传输速率。 (3)网络层:为数据包安排从源端到终端的行程。因特网在网络层上有网际IP协议和 网际控制消息协议( Internet Control Message Protocol,ICMP)等协议。传输层协议就是 依赖IP协议安排传输层消息段从源端到达终端的 (4)数据链路层:负责把数据帧从一个网络单元(主机或者交换机)递送到相邻网络单 元。链路层协议包括 Ethernet,ATM和端对端协议( Peer-Peer Protocol,PPP)等。由于数据 包需要途经好几个链路才能从源端到达终端,因此数据包可能要沿着它所经历的路线由不同 的链路层协议来处理。例如,一个数据包也许要由一个链路上的以太网协议和下一个链路上 的PP协议来处理。 (5)物理层:物理层的主要工作是把整个数据帧从一个网络单元递送到相邻网络单元。 物理层的责任是把数据帧中的数据从一个网络单元递送到相邻网络单元。这一层的协议则取 决于链路的实际的传输媒介,例如双绞线和单模态光纤。在这一层上就要规定位速率、传输 电压的高低、调制方式和编码方法。 18.2.3部分网络设备执行的协议 任何一个数据网络不仅要有许多硬件支持,而且还要有许多软件支持才能运转。网络 硬件包括路由器、网桥、计算机和接口卡,如以太网、ATM等网卡,而网络软件通常集成到 主机的操作系统和网络设备中,这些软硬件组合在一起共同执行相互通信的协议 在因特网中,最主要的网络设备是主机和信息包交换机。主机就是我们每天使用的PC 机和工作站等,信息包交换机实际上也是计算机,只是它的用途和名称不同而已,例如路由 器( router)和网桥( bridge)。这些设备用来连接运行相同类型的网络或者是不同类型的网 络。如图18-10所示,路由器是局域网(LAN)和因特网之间的接口,用于疏导消息传输的中间 设备,它的功能像分类器和解释器,它查看信息包的地址然后把它们发送到目的地。网桥主 要用于连接使用相同通信协议和地址结构的网络,如果在一个组织里有多个局域网,而且它 们之间的通信很频繁,使用网桥连接可不必通过主干线
第18章 Internet与TCP/IP 9 Kerberos 科巴楼司协议(美国麻省理工学院制定的一种网络确认协议) MIME(Multipurpose Internet Mail Extension protocol) 多用途网际邮件扩充协议 NFS(Network File System) 网络文件系统 RPC(Remote Procedure Call) 远程过程调用 SMTP(Simple Message Transfer Protocol) 简单邮件传输协议 SNMP(Simple Network Management Protocol) 简单网络管理协议 TFTP(Trivial File Transfer Protocol) 普通文件传输协议 TP4(Transport Protocol Class 4) 传输协议类4 X:X-Windows 图18-09 各层上的部分协议(供参考) 协议层上的协议由软件、硬件或者组合软硬件一起执行。应用层协议(如HTTP和SMTP) 和传输层协议(如TCP和UDP)几乎都是用软件执行;物理层和数据链路层协议是负责链路上的 通信,因此通常在网络接口卡上执行,例如以太网卡或者ATM接口卡;网络层上的协议通常 由软件或者由软硬件联合执行。网络协议堆中的每一层协议都有它自己的职责。此外,为使 上下层之间工作协调,层与层之间的接口必需要有精确的定义,这些精确的定义在相应的标 准中都有详尽的说明。现将各层的主要功能说明如下。 (1) 应用层:负责支持网络应用。它所包含的协议包括支持Web的HTTP,支持电子邮件 的SMTP和支持文件传输的FTP等协议。 (2) 传输层:负责把应用层消息递送给终端机的应用层。因特网上的传输控制协议 (Transfer Control Protocol,TCP)和用户数据包协议(User Datagram Protocol,UDP)这 两种传输协议都能递送应用层消息。TCP提供面向连接服务,而UDP提供无连接服务。TCP为 应用层提供许多重要的服务,包括保证把应用层消息递送到目的地,把很长的消息分割成比 较小的消息段,提供超时监视和端对端的确认和重递送功能,提供流程控制方法使得源端能 够根据拥挤情况调节传输速率。 (3) 网络层:为数据包安排从源端到终端的行程。因特网在网络层上有网际IP协议和 网际控制消息协议(Internet Control Message Protocol,ICMP)等协议。传输层协议就是 依赖IP协议安排传输层消息段从源端到达终端的。 (4) 数据链路层:负责把数据帧从一个网络单元(主机或者交换机)递送到相邻网络单 元。链路层协议包括Ethernet, ATM和端对端协议(Peer-Peer Protocol,PPP)等。由于数据 包需要途经好几个链路才能从源端到达终端,因此数据包可能要沿着它所经历的路线由不同 的链路层协议来处理。例如,一个数据包也许要由一个链路上的以太网协议和下一个链路上 的PPP协议来处理。 (5) 物理层:物理层的主要工作是把整个数据帧从一个网络单元递送到相邻网络单元。 物理层的责任是把数据帧中的数据从一个网络单元递送到相邻网络单元。这一层的协议则取 决于链路的实际的传输媒介,例如双绞线和单模态光纤。在这一层上就要规定位速率、传输 电压的高低、调制方式和编码方法。 18.2.3 部分网络设备执行的协议 任何一个数据网络不仅要有许多硬件支持,而且还要有许多软件支持才能运转。网络 硬件包括路由器、网桥、计算机和接口卡,如以太网、ATM等网卡,而网络软件通常集成到 主机的操作系统和网络设备中,这些软硬件组合在一起共同执行相互通信的协议。 在因特网中,最主要的网络设备是主机和信息包交换机。主机就是我们每天使用的PC 机和工作站等,信息包交换机实际上也是计算机,只是它的用途和名称不同而已,例如路由 器(router)和网桥(bridge)。这些设备用来连接运行相同类型的网络或者是不同类型的网 络。如图18-10所示,路由器是局域网(LAN)和因特网之间的接口,用于疏导消息传输的中间 设备,它的功能像分类器和解释器,它查看信息包的地址然后把它们发送到目的地。网桥主 要用于连接使用相同通信协议和地址结构的网络,如果在一个组织里有多个局域网,而且它 们之间的通信很频繁,使用网桥连接可不必通过主干线