1、第第1章章 Internet与与TCP/IP协议协议 第第1章章 Internet与与TCP/IP协议协议 1.1 Internet中的中的“世界语世界语”TCP/IP协协议议1.2 TCP/IP协议的体系结构协议的体系结构1.3 TCP/IP协议的工作过程协议的工作过程习题习题第第1章章 Internet与与TCP/IP协议协议 1.1 Internet中的中的“世界语世界语”TCP/IP协协议议 1.1.1 Internet“冷战”的产物 1958年由当时的美国总统艾森豪威尔正式向美国国会提出要 建 立“国 防 部 高 级 研 究 计 划 署”,英 文 缩 写 为DARPA(Defense
2、 Advanced Research Project Agency),也常被人们简称为ARPA。成立DARPA的目的非常明确,就是要“保持美国在技术上的领先地位,防止潜在的对手不可预见的技术进步(摘自美国国防部高级研究计划署网站http:/www.arpa.mil)。”他们公开宣称,DARPA的任务是:“为美国国防部选择一些基础研究和应用研究以及发展计划,并对这些研究计划进行管理和指导。追踪那些危险性和回报率都很高的研究和技术,而这些技术的成功将使传统军队彻底改变面貌。”第第1章章 Internet与与TCP/IP协议协议 由于美国对DARPA的巨额资金投入和DARPA其本身有效的管理体制,D
3、ARPA取得了巨大的成功,使美国从20世纪60年代到现在一直保持着在全球军事技术上的绝对领先地位。在DARPA的所有项目中,对当今世界影响最大,与普通人关系最密切,改变了人们日常交往和通信方式的是1968年6月提出的“资源共享的计算机络”(Resource Sharing Computer Networks)研究计划。第第1章章 Internet与与TCP/IP协议协议 1.1.2 网络互联促成了TCP/IP协议的产生ARPAnet由专门负责进行数据传输的通信子网和由用户主机组成的资源子网组成,通信子网由通信介质和用来进行通信处理的结点信息处理机IMP(Interface Message Pr
4、ocessor)组成,如图1-1所示。ARPAnet在工作过程中要解决的主要问题是:用来连接主机(Host)的结点信息处理机IMP在相互通信过程中什么时候应该接收信号,什么时候应该结束通信,以及如何识别通信的源端传输的各种符号的含义等。第第1章章 Internet与与TCP/IP协议协议 图1-1 ARPAnet组成结构 主机主机主机主机主机主机IMPIMPIMPIMPIMP资源子网通信子网主机主机第第1章章 Internet与与TCP/IP协议协议 新的协议确定了一些基本设计原则:(1)每一个独立的网络必须按自己的标准建立起来,当这个网络和互联网连接时,不需要对其内部做任何改动。(2)网络应
5、该在最佳的状态下完成通信。(3)如果一个信包没有到达目的地,最初发出信包的结点将很快重发该信包。(4)网络之间由叫做“黑匣子”的设备进行互相连接。这里所谓的“黑匣子”,就是后来被人们称为网关和路由器的设备。(5)整个互联网不需要在操作层面上进行任何总体控制。第第1章章 Internet与与TCP/IP协议协议 TCP/IP协议因其在后来不同网络的互联时的出色表现而被美国军方看中(因为这样一种没有中心控制结点的分布式网络,即使网络中的任何一点或一部分被破坏,都不会造成整个网络的瘫痪,这正迎合了战争的需要),于是,在1982年做出了在ARPAnet上使用TCP/IP协议代替原来使用的网络控制协议(
6、NCP)的决定。1983年1月1日,在ARPAnet上停止使用网络控制协议NCP,从此互联网上的主机都使用TCP/IP协议,TCP/IP协议成了Internet中的“世界语”。第第1章章 Internet与与TCP/IP协议协议 综上所述,TCP/IP协议是人们在网络建设中边实践边开发研究的一个产物,它不是由某一国际标准化组织机构提出的标准协议(如大家比较熟悉的OSI/RM就是由ISO提出的协议),但它已经成了人们公认的,在Internet上使用的事实上的工业标准协议。我们可以这样说,Internet的大发展得益于TCP/IP协议的提出和使用,反过来,Internet又促进了TCP/IP协议的
7、普及和应用。学习并理解TCP/IP协议是人们深入使用Internet,研究Internet和进行Internet应用开发的必备知识。第第1章章 Internet与与TCP/IP协议协议 1.2 TCP/IP协议的体系结构1.2.1 网络体系结构的概念网络系统是一个庞大而复杂的系统。一般把网络的层次结构和每层所使用协议的集合称为网络体系结构(Network Architecture),一个具体的网络系统其所包含的层数和每层所使用的协议是确定的。在这种层次结构中,各层协议之间形成了一个从上到下类似栈的结构的依赖关系,通常叫协议栈(Protocol Stack)。第第1章章 Internet与与TC
8、P/IP协议协议 1.2.2 TCP/IP协议的四个层次 TCP/IP协议的体系结构分为四层,这四层由高到低分别是:应用层、传输层、网络层和链路层,如图1-2所示。其中每一层完成不同的通信功能,具体各层的功能和各层所包含的协议说明如下。第第1章章 Internet与与TCP/IP协议协议 图1-2 TCP/IP协议的层次结构应用层(Telnet、FTP、HTTP、DNS、SNMP和SMTP等)传输层(TCP和UDP)网络层(IP、ICMP和IGMP)链路层(以太网、令牌环网、FDDI、IEEE802.3等)第第1章章 Internet与与TCP/IP协议协议 1链路层(Link Layer)链
9、路层在TCP/IP协议栈的最低层,也称为数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。链路层的功能是把接收到的网络层数据报(也称IP数据报)通过该层的物理接口发送到传输介质上,或从物理网络上接收数据帧,抽出IP数据报并交给IP层。2网络层(Network Layer)网络层也称为互联网层,由于该层的主要协议是IP协议,因而也可简称为IP层。它是TCP/IP协议栈中最重要的一层,主要功能是可以把源主机上的分组发送到互联网中的任何一台目标主机上。第第1章章 Internet与与TCP/IP协议协议 3传输层(Transport Layer)我们通常所说的两台主
10、机之间的通信其实是两台主机上对应应用程序之间的通信,传输层提供的就是应用程序之间的通信,也叫端到端(End to End)的通信。在TCP/IP协议族中传输层包含两个不同的传输协议:一个是TCP(传输控制协议);另一个是UDP(用户数据报协议)。4应用层(Application Layer)应用层向使用网络的用户提供特定的、常用的应用程序,如使用最广泛的远程登录(Telnet)、文件传输协议(FTP)、超文本传输协议(HTTP)、域名系统(DNS)、简单网络管理协议(SNMP)和简单邮件传输协议(SMTP)等。要注意有些应用层协议是基于TCP协议的(如FTP和HTTP等),有些应用层协议是基于
11、UDP协议的(如SNMP等)。第第1章章 Internet与与TCP/IP协议协议 1.2.3 TCP/IP协议模型中的操作系统边界和地址边界TCP/IP协议分为四层结构,这四层结构中有两个重要的边界:一个是将操作系统与应用程序分开的边界,另一个是将高层互联网地址与低层物理网卡地址分开的边界,如图1-3所示。第第1章章 Internet与与TCP/IP协议协议 图1-3 TCP/IP协议模型的两个边界应用层网络层链路层(设备驱动程序及网络接口卡)传输层由操作系统之上的应用软件实现由操作系统内核实现操作系统边界上层使用IP地址下层使用物理地址地址边界第第1章章 Internet与与TCP/IP协
12、议协议 1操作系统边界操作系统边界的上面是应用层,应用层处理的是用户应用程序(用户进程)的细节问题,提供面向用户的服务。2地址边界地址边界的上层为网络层,网络层用于对不同的网络进行互联,连接在一起的所有网络为了能互相寻址,要使用统一的互联网地址(IP地址)。第第1章章 Internet与与TCP/IP协议协议 1.3 TCP/IP协议的工作过程 图1-4是由一个以太网和一个令牌环网通过路由器互联的网络,左边的以太网有三台编号分别为A、B和C的主机,右边的令牌环网有两台编号为1和2的主机。假设以太网中的主机A要与令牌环网中的主机1使用文件传输协议FTP完成一次文件传输过程,主机A中的FTP客户程
13、序就要向主机1中的FTP服务器程序提出请求,由此开始了在TCP/IP协议控制下的主机A与主机1之间的通信过程。第第1章章 Internet与与TCP/IP协议协议 ABC以太网路由器12令牌环网图1-4 网络互联示意图第第1章章 Internet与与TCP/IP协议协议 1.3.1 TCP/IP协议通信模型如图1-5所示的TCP/IP协议通信模型,这个模型尽管是由分析主机A和主机1通信而来的,但该模型是一个一般的模型,也适合于网络中其他主机之间的通信描述。该模型中,主机A和主机1组成了端到端(End to End)的系统。第第1章章 Internet与与TCP/IP协议协议 客户方FTP程序T
14、CP协议IP协议以太网驱动程序主机A以太网以太网驱动程序令牌环网驱动程序IP协议路由器令牌环网FTP服务器TCP协议IP协议令牌环网驱动程序主机1图1-5 TCP/IP协议的通信模型 第第1章章 Internet与与TCP/IP协议协议 1.3.2 数据的封装与传递过程在本节我们所举的例子中,当主机A的FTP客户程序向主机1的FTP服务器程序提出服务请求时,我们可以把由用户输入的FTP命令和参数看成是要由主机A传到主机1的“数据包”,该数据包由图1-6所示的两部分组成。第第1章章 Internet与与TCP/IP协议协议 数据包的头部数据部分FTP命令FTP命令的参数图1-6 数据包结构 第第
15、1章章 Internet与与TCP/IP协议协议 当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入物理网络,其中每一层对从它的上层收到的数据都要增加一些头部信息(有时还要增加尾部信息),这种增加数据头部(和尾部)的过程叫数据封装或数据打包。数据送到接收方对等层后,接收方将识别、提取和处理发送方对等层所加的数据头,这个过程叫数据的解封或拆包。封装与解封的整个过程如图1-7所示。第第1章章 Internet与与TCP/IP协议协议 客 户 数 据FTP头TCP头IP头IP数 据 报客 户 数 据FTP头TCP头TCP段客 户 数 据FTP头应 用 层 数
16、 据 包客 户 数 据主 机 A客 户 数 据FTP头TCP头IP头以 太 网 头以 太 网 数 据 帧 路 由 器 接收 以 太 网 数 据帧 并 根 据 目 标IP地 址 转 发 到令 牌 环 网 接 口客 户 数 据FTP头TCP头IP头IP数 据 报客 户 数 据FTP头TCP头TCP段客 户 数 据FTP头应 用 层 数 据 包客 户 数 据主 机 1客 户 数 据FTP头TCP头IP头令 牌 网 头令 牌 环 网 数 据 帧发送端数据封装过程接收端数据解封过程图1-7 TCP/IP协议数据封装与解封的整个过程第第1章章 Internet与与TCP/IP协议协议 习题1TCP/IP协议是在怎样的背景下产生的?2Internet为什么要使用TCP/IP协议?3TCP/IP协议的体系结构是怎样的?4TCP/IP协议是如何工作的?5什么是RFC?6找到几个提供RFC文档的网站,记住其网址。7在网上查找到RFC1180文档,下载到本地机上并进行阅读。