目录 1.1 1.2
TCP/IP协议的历史和发展过程 TCP/IP协议的体系结构模型
2.1 IP网际层的功能 2.2 IP地址及其转换
2.2.1 IP地址 2.2.2 IP地址的转换 2.2.3 子网技术 2.3 IP数据报的格式
2.4 Internet控制报文协议ICMP 3.1 TCP运输层协议概述 3.2 端口及套接字 3.3 TCP报文的格式 3.4 差错控制与流量控制 3.5 TCP连接管理 3.6 用户数据报协议UDP 4.1 应用层的概述 4.2 应用层协议简介
4.2.1 文件传送协议FTP、TFTP 4.2.2 简单邮件传输协议SMTP 4.2.3 远程登录TELNET
论TCP/IP协议的体系的结构及其各层协议
(易家傅 99714001 卢凌凌 99714004)
摘要: 本文主要论述了TCP/IP协议体系结构及各层协议。重点说明IP网际协议的数据报格式、IP地址及地址转换,TCP传输控制协议的数据报格式、差错控制、流量控制和连接的建立等原理。最后还简介了应用层的几个常用协议。 关键字:TCP/IP IP地址 子网掩码 端口 套接字 引言:
当前的世界经济正在从工业经济向知识经济转变,这种以知识基础的经济
有两个重要的特点,就是信息化和全球化。而要实现信息化和全球化,就必须依靠完善的网络。计算机网络是其中最重要的一部分,然而计算机网络远比电信网络复杂,它不仅仅是计算机之间简单的连接,还是相互通信的计算机系统之间的高度协调工作,因此必须将这庞大而复杂的问题分层处理,转化成若干个局部问题,从而形成了像建筑框架那样的网络体系结构。由于Internet已得到全世界的承认,因此Internet所使用的TCP/IP体系计算机网络中占有真重要的地位,了解其内容和工作原理对学习计算机网络是很有帮助的。 1.1 TCP/IP协议的历史和发展过程
TCP协议最早由斯坦福大学的两名研究人员于1973年提出。1983年,TCP/IP被Unix 4.2BSD系统采用。随着Unix的成功,TCP/IP逐步成为Unix机器的标准网络协议。Internet的前身ARPANET最初使用NCP(Network Control Protocol)协议,由于TCP/IP协议具有跨平台特性,ARPANET的实验人员在经过对TCP/IP的改进以后,规定连入ARPANET的计算机都必须采用TCP/IP协议。随着ARPANET逐渐发展成为Internet,TCP/IP协议就成为Internet的标准连接协议。 1.2 TCP/IP协议的体系结构模型
TCP/IP协议其实是一个协议集合,它包括了TCP协议(Transport Control Protocol,传输控制协议)、IP协议(Internet Protocol Internet协议)及其它一些协议。如图1,TCP/IP体系结构模型自下往上分别是:
(1)网络接口层:严格来说它不是一个层次,而仅仅是一个接口,用以提供在下面的数据链路层和物理层
的接口。网络接口层并没有什么具体的内容,这里就不再讨论了。 图1
(2)IP网络层:主要有网际协议IP,地址解析协议ARP,逆地址解析协议RARP。 (3)TCP运输层:有运输控制协议TCP,用户数据报协议UDP。 (4)应用层:有TELNET,FTP,SMTP等应用层协议。
层与层之间的关系是,下层总是为上一层服务的,上层屏蔽下一层的服务细节。 2.1 IP网际层的功能
不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。网间网技术是将不同物理网络技术统一起来的高层软件术。
网间网技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间网地址,以此屏蔽物理网络地址的差异。IP协议提供一种全网间网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间网主机(包括网关),这样物理地址的差异被IP层所屏蔽。IP提供的是无连接服务。
2.2 IP地址及其转换 2.2.1 IP地址
每个Internet上的主机和路由器都有一个IP地址,包括网络号和主机号,其中网络号标识该网络,而主机号标识该网络中的主机。所有的IP地址都是32位,分成4个字段,每个字段8位。
32
位的IP地址可以有五种格式,如图
2
所示:
IP地址通常用带点十进制记法来书写,即IP地址写成四个十进制数,相互之间用小数点隔开,每个十进制数(从0到255)表示IP地址的一个字节。值得指出的是0和1有特殊的意义,见表格1:
Net-id Host-id 源地址使用 用 可以 可以 目的地址代表的意思 0 0 0 Host-id 不可 不可 在本网络上的主机 在网络上的某个主机 全1 Net-id 127 全1 全1 不可 不可 可以 可以 可以 只在本网络上进行广播 对net-id上的所以主机进行广播 用作本地软件回送测试之用 任何数 可以 表格1 2.2.2 IP地址的转换
IP地址是网络层的地址,而下传到链路层要转变为MAC帧后才能发送到网络。而MAC帧使用的是硬件地址。如何将32位的IP地址转变成48位的局域网 地址,这就是地址解析协议ARP要解决的问题。
假设是在本局域网中,A主机向B主机发生数据报。首先A主机查看ARP高速缓存内的IP地址到物理地址的映射表,如果找到就写入MAC帧发送,否则进行以下步骤:
(1) 在本局域网上广播发送一个ARP请求分组,上面有主机B的IP地址; (2) 在本局域网上的所以主机上运行的ARP进程都收到此ARP请求分组; (3) 主机B在ARP请求分组中见到自己的IP地址,就向主机A发送一个ARP响
应分组,上面写入自己的物理地址;
(4) 主机A收到主B的ARP响应分组后,就在其ARP高速缓存中写入主机B的
IP地址到物理地址的映射。
有时还要用到逆地址解析协议RARP使只知道自己物理地址的主机能够知道其IP地址,如无盘工作站的引导就可以通过逆地址解析协议RARP来解决。 2.2.3 子网技术
我们知道一个单位分配到的IP地址是IP地址中网络号net-id,而后面的主机号host-id则由本单位进行分配。若该单位的所有主机都使用同一个网络号,主机的数量很多,分布在很大的地理范围时,往往需要一些网桥将这些主机互连起来。网桥的缺点较多,例如,容易引起广播风暴,同时当网络出现故障时也不太容易隔离和管理。为了让本单位的主机便于管理,可以将本单位所属主机划
分为若干个子网,用IP 地址中的主机号字段中的前若干个比特作为“子网号字段”,后面剩下来的仍为主机号字段。这样便可以用路由器把本单位的各子网互连起来,使全单位的网络便于管理。从外部看,这个单位只有一个网络号。只有当外面的分组进入到本单位范围后,再由该单位的路由器根据子网号进行选路,最后找到目的主机。这样一来该单位的网络管理就很方便得多了。同时IP地址的使用不至于造成很大的浪费,缓解了日益增加的局域网和网上主机对IP地址的需求。
如图3所示,说明了子网掩码的意义。每一个路由器当收到一个分组时,首先检查该分组的IP地址中的网络号,若不是本网络号则发送到下一站路由器,若是本网络号则用子网掩码与IP地址按位相与运算,然后取出子网号进行判断,决定是发送到其他子网,或直接交付给本网络的主机端口。 2.3 IP数据报的格式
IP数据报的格式能够说明IP协议都具有什么样的功能,图4就是数据报的格式。