美文网首页
Python 网络编程 - 03 tcp简介

Python 网络编程 - 03 tcp简介

作者: flowerflower | 来源:发表于2019-03-09 16:55 被阅读0次
😳😳

一、TCP简介

TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
TCP通信需要经过创建连接数据传送终止连接三个步骤。
TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话""

二、TCP特点

1. 面向连接

通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。
双方间的数据传输都可以通过这一个连接进行。完成数据交换后,双方必须断开此连接,以释放系统资源。
这种连接是一对一的,因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。

2. 可靠传输
  • 1)TCP采用发送应答机制
    TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功

  • 2)超时重传
    发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。
    TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

  • 3)错误校验
    TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

    1. 流量控制和阻塞管理
      流量控制用来避免主机发送得过快而使接收方来不及完全收下。

三、TCP与UDP的不同点

  • 面向连接(确认有创建三方交握,连接已创建才作传输。)
  • 有序数据传输
  • 重发丢失的数据包
  • 舍弃重复的数据包
  • 无差错的数据传输
  • 阻塞/流量控制

udp通信模型

udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信""


udp通信模型.png

TCP通信模型

udp通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话""

TCP通信模型.png

相关文章

  • Python 网络编程 - 03 tcp简介

    一、TCP简介 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为...

  • Python TCP编程

    Python网络编程之TCP 一、TCP协议 TCP协议,传输控制协议(Transmission Control ...

  • tcp和udp

    【Python网络编程】利用Python进行TCP、UDP套接字编程 http://www.cnblogs.com...

  • python 网络编程之TCP/IP简介

    虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。 计算机为了联网,就必须规定通信协议,早期的计算...

  • 【Python入门】39.网络编程

    摘要:网络编程的概念介绍;TCP/IP协议的基本介绍;介绍Python的socket库,在Python中进行TCP...

  • Node.js中的网络编程

    实验简介 此实验主要讲解TCP和UDP的网络编程,net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了...

  • Java学习路线?

    基础知识 编程语言: Java Python 基本算法 基本网络知识:TCP/IP HTTP/HTTPS 基本的...

  • Python 网络编程基础入门

    Python的网络编程主要支持两种网络协议:TCP和UDP。这两种协议都通过叫Socket的编程抽象进行处理。So...

  • Python入门系列(十)——网络

    目录:一、TCP编程二、UDP编程 Python 提供了两个级别访问的网络服务:低级别的网络服务支持基本的 Soc...

  • python学习笔记3

    Python网络编程 TCP面向连接的通信方式,UDP与TCP不同,与虚拟电路完全相反,是数据报型的无连接套接字。...

网友评论

      本文标题:Python 网络编程 - 03 tcp简介

      本文链接:https://www.haomeiwen.com/subject/gcdduqtx.html