• 正在加载中...
  • TCP/IP”是“TCP/IP协议”的同义词。

    TCP/IP协议

    TCP/IP协议(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。

    编辑摘要

    基本信息 编辑信息模块

    中文名称: TCP/IP协议 外文名: Transmission Control Protocol/Internet Protocol
    别名: 传输控制协议/因特网互联协议
    又名: 网络通讯协议 简称: TCP/IP协议
    层级结构: 4层 缩 写: IPS

    目录

    产生背景/TCP/IP协议 编辑

    Internet网络的前身ARPANET当时使用的并不是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP),而是一种叫网络控制协议(Network Control Protocol,NCP)的网络协议,但随着网络的发展和用户对网络的需求不断提高,设计者们发现,NCP协议存在着很多的缺点以至于不能充分支持ARPANET网络,特别是NCP仅能用于同构环境中(所谓同构环境是网络上的所有计算机都运行相同的操作系统),设计者就认为“同构”这一限制不应被加到一个分布广泛的网络上。1980年,用于“异构”网络环境中的TCP/IP协议研制成功,也就是说,TCP/IP协议可以在各种硬件和操作系统上实现互操作。1982年,ARPANET开始采用TCP/IP协议。

    TCP/IP始于美国国防部,美国国防部于20世纪60年代末为高级研究计划局网络(ARPAnet,Internet的前身)开发了TCP/IP。TCP/IP的迅速流行要归功于它的低成本、可在不同的平台间进行通信的能力和它开放的特性。“开放”的意思是软件开发人员可以自由地使用和修改TCP/IP的核心协议。TCP/IP是Internet实际采用的标准。UNIX和Linux一直都使用TCP/IP,Windows网络操作系统也以TCP/IP作为默认的协议。

    TCP/IP协议的开发始于20世纪60年代后期,早于OSI参考模型,故不甚符合OSI参考标准。大致来说,TCP协议对应于OSI参考模型的传输层,IP协议对应于网络层。虽然OSI参考模型是计算机网络协议的标准,但由于其开销太大,所以真正采用它的情况并不多。TCP/IP协议则不然,由于它的简洁、实用,从而得到了广泛的应用。可以说,TCP/IP协议已成为建立计算机局域网、广域网的首选协议,已成为事实上的工业标准和国际标准。[1]

    分层/TCP/IP协议 编辑

    计算机网络中,实际应用的网络协议是TCP/IP协议族,TCP/IP的应用层大体上对应着OSl/RM模型的应用层、表示层和会话层,TCP/IP的网络接口层对应着OSI/RM的数据链路层和物理层,而传输层和网络层在两个模型中对应得很好。

    1、链路层

    链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。把链路层地址和网络层地址联系起来的协议有ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,逆地址解析协议)。

    2、网络层

    网络层处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(Internet Protocol,网际协议)、ICMP协议(Internet Control Message Protocol,网际控制报文协议)和IGMP协议(Internet Group Management Protocol,网际组管理协议)。

    3、传输层

    传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。

    4、应用层

    应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:Telnet远程登录、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、FTP(File Transfer Protocol,文件传输协议)、HTTP(Hyper Text Transfer Protocol,超文本传输协议)等。[2]

    通信过程/TCP/IP协议 编辑

    在网络通信的过程中,将发出数据的主机称为源主机,接收数据的主机称为目的主机。当源主机发出数据时,数据在源主机中从上层向下层传送。源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层。传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网际层。网际层加上本层的控制信息,形成IP数据报,传给网络接口层。网络接口层将网际层交下来的IP数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机。

    通过网络传输,数据到达目的主机后,按照与源主机相反的过程,在目的主机中从下层向上层进行拆包传送。首先由网络接口层接收数据,依次剥离原来加上的控制信息,最后将源主机中的应用进程发送的数据交给目的主机的应用进程。

    TCP/IP协议的基本传输单位是数据报(Datagram),TCP协议负责把数据分成若干个数据报,并给每个数据报加上报头,报头上有编号,以保证目的主机能将数据还原为原来的格式。IP协议在每个报头上再加上接收端主机IP地址,这样数据能找到自己要去的地方。如果传输过程中出现数据失真、数据丢失等情况,TCP协议会自动请求重新传输数据,并重组数据报。可以说,IP协议保证数据的传输,TCP协议保证数据传输的质量。

    TCP/IP协议数据在传输时每通过一层就要在数据上加个报头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的报头去掉,这样可以保证传输数据的一致性。[3]

    核心协议/TCP/IP协议 编辑

    一、IP协议

    网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

    IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

    高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IPsource routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平时是被禁止的连接。因此,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

    二、TCP协议

    如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。

    TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

    TCP将它的信息送到更高层的应用程序,例如,Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

    面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

    三、UDP协议

    UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询一应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

    欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

    四、ICMP协议

    ICMP与IP位于同一层,它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的“Redirect”信息通知主机通向其他系统的更准确的路径,而“Unreachable”信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接“体面地”终止。PING是最常用的基于ICMP的服务。[4]

    特点/TCP/IP协议 编辑

    TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:

    (1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。

    (2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。

    (3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。

    (4)高层协议标准化,可以提供多种多样可靠网络服务。[5]

    缺陷/TCP/IP协议 编辑

    像OSl模型一样,TCP/IP模型和协议也有自己的问题。

    (1)该模型没有明显地区分服务、接口和协议的概念。好的软件工程实践要求概念规范,这一点OSl非常小心地进行了处理,而TCP/IP模型就做得不够。因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。

    (2)TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。例如,试图用TCP/IP模型描述IBM网络体系结构SNA几乎是不可能的。

    (3)网络接口层在分层协议中根本不是通常意义下的层。它是一个接口,处于互连层和数据链路层之间。接口和层间的区别是很关键的,不能粗心大意。

    (4)TCP/IP模型不区分(甚至不提及)物理层和数据链路层。这两层完全不同,物理层必须处理铜缆、光纤和无线通信的传输特点:而数据链路层的工作是区分帧头和帧尾,并且以通信需要的可靠性把帧从一端发送到另一端。好的模型应把它们作为分离的层,而TCP/IP模型并没有这么做。

    (5)虽然TCP和IP协议被仔细地设计并且很好地实现了,但还有许多其他协议未曾良好实现就被免费发送并被大量应用,因此很难被替换,到现在出现了一些难堪的情况。例如,虚拟终端协议Telnet被设计用于10字符每秒的机械式电传终端,但是25年以后,它们仍在广泛使用。

    OSI模型(去掉会话层和表示层)对于讨论计算机网络特别有用,但是OSI协议并未流行:TCP/IP协议正好相反,模型实际上不存在,但协议被广泛使用。[6]

    添加视频 | 添加图册相关影像

    参考资料
    [1]^引用日期:2019-07-22
    [2]^引用日期:2019-07-22
    [3]^引用日期:2019-07-22
    [4]^引用日期:2019-07-23
    [5]^引用日期:2019-07-22
    [6]^引用日期:2019-07-22

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块

    WIKI热度

    1. 编辑次数:12次 历史版本
    2. 参与编辑人数:10
    3. 最近更新时间:2019-07-24 12:19:24