TCP/IP协议总结

ZDNet软件频道 时间:2009-12-06 作者:张琦 | it168 我要评论()
本文关键词:TCP/IP 通信协议 OSI
TCP/IP协议是网络技术应用的基础,我们已经进行过多次介绍与报道,不过,因为其重要,我们再次进行系统的总结。

    尽管OSI 参考模型得到了全世界的认同,但是因特网历史上和技术上的开发标准都是TCP/IP模型(传输控制协议/网际协议,Transmission Control Protocol/Internet Protocol)。

  从网络设备厂商的研发部门,到各个系统集成公司工程师的桌面,总能发现TCIP/IP详解一类的书籍。TCP/IP技术的学习似乎研究和管理网络的一项业内行规,如果你坐在地铁或公交车上,手里抱着一本TCP/IP分析的书本,我们能预知你的明天是光明的,并且有可能是辉煌的。
  
TCP/IP模型概述

  TCP/IP起源于20世纪60年代末美国政府资助的一个网络分组交换研究项目,TCP/IP是发展至今最成功的通信协议,它被用于当今所构筑的最大的开放式网络系统Internet之上。
  
  TCP和IP是两个独立且紧密结合的协议,负责管理和引导数据报文在Internet上的传输。二者使用专门的报文头定义每个报文的内容。TCP负责和远程主机的连接,IP负责寻址,使报文被送到其该去的地方。TCP/IP也分为不同的层次开发,每一层负责不同的通信功能。但TCP/IP简化了层次设备(只有4层),由下而上分别为网络接口层、网络层、传输层、应用层,如图1-17所示。

 图1-17  TCP/IP分层与OSI对应关系  

  由于TCP/IP是OSI模型之前的产物,所以两者间不存在严格的层对应关系。在TCP/IP模型中并不存在与OSI中的物理层与数据链路层相对应的部分,相反,由于TCP/IP的主要目标是致力于异构网络的互连,所以同OSI中的物理层与数据链路层相对应的部分没有进行任何限定。在表1-3列出了TCP/IP每一层所执行的服务功能和协议。
  
表1-3  TCP/IP模型各层描述

   
   
应用层
定义了TCP/IP应用协议及主机程序与要使用网络的传输层服务之间的接口
HTTP、Telnet、FTP、TFTP、SNMP、DNS、SMTP、X-Windows以及其他应用协议
传输层
提供主机之间的通信会话管理。定义了传输数据时的服务级别和连接状态
TCP、UDP、RTP
Internet层
将数据装入IP数据报,包括用于在主机间及经过网络转发数据报时所用的源和目标的地址信息。实现IP数据报的路由
IP、ICMP、ARP、RARP
网络接口层
详细指定如何通过网络实际发送数据,包括直接与网络媒体(如同轴电缆、光纤或双绞铜线)接触的硬件设备如何将比特流转换成电信号
以太网、令牌环、FDDI、X.25、帧中继、RS-232、v.35

 
  TCP/IP的标准是在名为Requests for Comments(RFC)的系列文档中发布的。RFC描述Internet的内部运行。TCP/IP 标准总是以RFC的形式发布,但并非所有RFC都是标准的。一些RFC只提供情报信息、实验信息或历史信息。
  
  RFC最初以Internet草案的形式拟定;它们通常由IETF职能小组中的一个或多个创作者开发。IETF职能小组是由一些在TCP/IP套件的某一技术领域中具有特定职责的个人所组成的团队。IETF将以RFC的形式发布Internet草案的最终版本,并为其分配一个RFC编号。

网络接口层中的协议
  
  网络接口层又称为“网络访问层”,主要负责向网络媒体发送TCP/IP数据包并从网络媒体接收TCP/IP数据包。TCP/IP独立于网络访问方法、帧格式和媒体,可以使用TCP/IP接口层技术组织以太网、无线LAN和WAN网络之间进行通信。
  
  TCP/IP支持的网络接口类型包括:标准以太网、令牌环、串行线路网际协议(SLIP)FDDI、串行光学、ATM、点对点协议(PPP)、虚拟IP地址等。网络接口层技术将在本书后续章节详细介绍。

Internet层中的协议
  
  Internet层的职责包括寻址、打包和路由功能。Internet 层与 OSI 模型的网络层类似。Internet 层包含ARP、IP(IPv4、IPv6)、ICMP、IGMP协议,下面将详细地介绍每一种协议。
  
  1.地址解析协议(ARP)

  ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。ARP 把IP 地址解析成 LAN 硬件使用的媒体访问控制地址。IP数据包常通过以太网发送,但以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。ARP协议用于将网络中的IP地址解析为目标硬件地址(MAC地址),以保证通信的顺利进行。
  
  RARP协议,即“Reverse Address Resolution Protocol”(反向地址解析协议)的缩写,RARP负责将主机的物理地址转换为IP地址。例如,局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。ARP和RARP使用相同的报头结构,如图1-18所示。

图1-18  ARP/RARP报头结构

硬件类型
协议类型
硬件地址长度
协议长度
操作类型
发送方的硬件地址(0~3字节)
源物理地址(4~5字节)
源IP地址(0~1字节)
源IP地址(2~3字节)
目标硬件地址(0~1字节)
目标硬件地址(2~5字节)
目标IP地址(0~3字节)

  
  另外,为使广播量最小,ARP维护IP地址到媒体访问控制地址映射的缓存以便将来使用。ARP缓存可以包含动态和静态项目。动态项目随时间推移自动添加和删除。静态项目一直保留在缓存中,直到重新启动计算机为止。
  
  每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。在工作站PC的Windows环境中,可以使用命令“arp-a”查看当前的ARP缓存,如图1-19所示。在路由器和交换机中可以用show arp完成相同的功能。
  
  下面举个例子:ARP和RARP协议的工作原理。两个位于同一个物理网络上运行TCP/IP的主机,如图1-20所示,主机A和主机B。主机A分配的IP地址是192.168.1.1,主机B分配的IP地址是192.168.1.2。
 

图1-19  查看ARP缓存 
  
  
  
图1-20  ARP工作原理解析
 
  当主机A要与主机B通信时,以下步骤可以将主机B软件指定的地址(192.168.1.2)解析成主机B硬件指定的媒体访问控制地址。
  
  第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配硬件地址。
  
  第2步:如果主机A在缓存中没有找到映射,它将询问“192.168.1.2的硬件地址是什么?”从而将ARP请求帧广播到本地网络上的所有主机。源主机A的硬件和软件地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机未找到匹配值,它将丢弃ARP请求。
  
  第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,将主机的硬件/软件地址映射添加到本地ARP缓存中。
  
  第4步:主机B将包含其硬件地址的ARP回复消息直接发送回主机A。
 
  第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的硬件/软件地址映射更新ARP缓存。主机B的媒体访问控制地址一旦确定,主机A就能向主机B发送IP通信,为它找到主机的媒体访问控制地址。

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134