`
crazyox
  • 浏览: 185128 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

TCP(Transmission Control Protocol) 传输控制协议

阅读更多

TCP协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和商用部门也适用。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成的网络上运行。TCP的下层是IP协议,TCP可以根据IP协议提供的服务传送大小不定的数据,IP协议负责对数据进行分段,重组,在多种网络中传送。

TCP的上面就是应用程序,下面是IP协议,上层接口包括一系列类似于操作系统中断的调用。对于上层应用程序来说,TCP应该能够异步传送数据。下层接口我们假定为IP协议接口。为了在并不可靠的网络上实现面向连接的可靠的传送数据,TCP必须解决可靠性,流量控制的问题,必须能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,同时TCP必须解决连接问题,这样TCP才能称得上是面向连接的,最后,TCP也必须能够解决通信安全性的问题。

网络环境包括由网关(或其它设备)连接的网络,网络可以是局域网也可以是一些城域网或广域网,但无论它们是什么,它们必须是基于包交换的。主机上不同的协议有不同的端口号,一对进程通过这个端口号进行通信。这个通信不包括计算机内的I/O操作,只包括在网络上进行的操作。网络上的计算机被看作包传送的源和目的结点。特别应该注意的是:计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,不会把发向A进程的数据由B进程接收的。

进程为了传送数据会调用TCP,将数据和相应的参数传送给TCP,于是TCP会将数据传送到目的TCP那里,当然这是通过将TCP包打包在IP包内在网络上传送达到的。接收方TCP在接收到数据后会通信上层应用程序,TCP会保证接收数据顺序的正确性。虽然下层协议可能不会保证顺序是正确的。这里需要说明的是网关在接收到这个包后,会将包解开,看看是不是已经到目的地了,如果没有到,应该走什么路由达到目的地,在决定后,网关会根据下一个网络内的协议情况再次将TCP包打包传送,如果需要,还要把这个包再次分成几段再传送。这个落地检查的过程是一个耗时的过程。从上面,我们可以看出TCP传送的基本过程,当然具体过程可能要复杂得多。

在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。TCP只是调用IP接口,IP向TCP提供所有TCP需要的服务。

上面已经说过了,TCP连接是可靠的,而且保证了传送数据包的顺序,保证顺序是用一个序号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序号的包。在TCP传送一个数据包时,它同时把这个数据包放入重发队列中,同时启动记数器,如果收到了关于这个包的确认信息,将此包从队列中删除,如果计时超时则需要重新发送此包。请注意,从TCP返回的确认信息并不保证最终接收者接收到数据,这个责任由接收方负责。

每个用于传送TCP的通道都有一个端口标记,因为这个标记是由每个TCP终端确定的,因此TCP可能不唯一,为了保证这个数值的唯一,要使用网络地址和端口号的组合达到唯一标识的目的,我们称这个为了套接字(Socket),一个连接由连接两端的套接字标识,本地的套接字可能和不同的外部套接字通信,这种通信是全双工的。

通过向本地端口发送OPEN命令及外部套接字参数建立连接,TCP返回一个标记这个连接的名称,以后如果用户需要使用这个名称标记这个连接。为了保存这个连接的信息,我们假设有一个称为传输控制块(Transmission Control Block,TCB)的东西来保存。OPEN命令还指定这个连接的建立是主动请求还是被动等待请求。

这里对TCP所一个简单的介绍。TCP/IP协议是互联上的广泛使用的一种协议,了解它对了解网络操作是十分有好处的。

分享到:
评论

相关推荐

    TCP/IP(Transmission Control Protocol/Internet Protocol)

    TCP/IP(传输控制协议/网际协议)是互联网的核心协议,是实现不同计算机网络间通信的基础。它由网络层的IP协议和传输层的TCP协议组成,为全球范围内的计算机提供可靠的通信服务。TCP/IP协议的出现,解决了早期计算机...

    TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROG.pdf

    **传输控制协议(Transmission Control Protocol,TCP)**是互联网中最关键的协议之一,旨在为网络间的主机提供一种高度可靠的数据传输服务。它主要应用于分组交换计算机通信网络以及此类网络的互联体系中。 根据...

    热-TCP(Transmission Control Protocol)是一种面向连接的传输层协议

    TCP(Transmission Control Protocol)传输控制协议是互联网上最基础、最重要的通信协议之一,它与IP(Internet Protocol)共同构成了TCP/IP协议族的核心。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议...

    TCPIP协议原理教学课件:Chapter 10 Transmission Control Protocol (TCP)

    TCP(Transmission Control Protocol)作为传输层的重要协议,负责在源主机和目标主机之间建立可靠、有序的数据传输服务。本篇将深入讲解TCP协议的基本原理、服务、机制以及在实际操作中的应用。 TCP是一个面向连接...

    TCP/IP协议(传输控制协议/网际协议)

    标题中的"TCP/IP协议(传输控制协议/网际协议)"指的是TCP(Transmission Control Protocol)和IP(Internet Protocol),它们分别是TCP/IP模型的传输层和网络层的关键协议。 **TCP**是传输控制协议,它负责在两个...

    计算机网络课程设计 基于TCP协议的文件传输简单实现

    在计算机网络领域,TCP(Transmission Control Protocol)协议是互联网上应用最为广泛的一种传输层协议,它为应用程序提供了面向连接的、可靠的数据传输服务。在这个基于TCP协议的文件传输简单实现的课程设计中,...

    QT_Tcp5.6.rar_QT_QT TCP_Qt TCP/IP_qt udp_tcp

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议...

    C++实现的TCP协议的文件传输

    在IT领域,网络通信是不可或缺的一部分,而TCP(Transmission Control Protocol)协议作为传输层的核心协议,为应用程序提供了可靠的、基于连接的数据传输服务。本话题主要关注如何使用C++语言实现TCP协议进行文件...

    TCP--Client.rar_TCP 文件传输_tcp client 协议_tcp 文件_tcp文件传输_协议Tcp_clie

    TCP(Transmission Control Protocol)是一种广泛使用的面向连接的、可靠的传输层协议,它是互联网协议栈(TCP/IP)的重要组成部分。在TCP中,客户端(TCP Client)是发起连接请求的一方,而服务器端(TCP Server)...

    TCP.rar_LINUX TCP _Linux 文件传输_tcp linux_tcp传输_文件传输 协议

    在IT领域,网络通信是至关重要的部分,而TCP(Transmission Control Protocol)协议是网络通信的基础之一,特别是在文件传输中扮演着关键角色。本教程将详细探讨如何在Linux系统下利用TCP协议实现文件传输,特别是...

    用tcp协议传输文件

    TCP(Transmission Control Protocol)传输控制协议是互联网上最常用的一种通信协议之一,它提供了一种可靠的、面向连接的字节流服务。在TCP协议中,数据被分成多个数据段进行传输,并通过序列号、确认应答、重传...

    基于TCP的文件传输

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP中,数据会被分成多个数据段进行传输,并且每个数据段都有顺序号和确认号,确保数据在传输过程中...

    TCP,IP协议TCP,IP协议pdf

    TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络...

    tcp ip知识点介绍.zip

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。它不仅仅指的是TCP和IP两个协议,而是由一系列协议构成的协议簇,包括FTP、SMTP...

    Qt TCP IP网络编程 程序

    TCP:(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。相比而言,UDP 是开放式、无连接、不可靠的传输层通信协议。 在 qt 中的网络编程和之前在 windows 中...

Global site tag (gtag.js) - Google Analytics