精华内容
下载资源
问答
  • 传输控制协议
    千次阅读
    2022-03-02 15:10:26

    要点
    ​ 运输层协议,特点:面向连接、单播、可靠交付、全双工通信、面向字节流、头部开销大,三次握手四次挥手。

    标准

    ​ TCP是传输控制协议,是TCP/IP体系中非常复杂的一个协议,属于运输层协议。与UDP协议一样用于处理应用层的数据。它和UDP一样具有复用和分用的功能以及可靠传输的功能。TCP的主要特点是:面向连接、单播、可靠交付、全双工通讯、面向字节流、头部开销大。

    重点

    ​ TCP是传输控制协议,是TCP/IP体系中非常复杂的一个协议,属于运输层协议。与UDP协议一样用于处理应用层的数据。它和UDP一样具有复用和分用的功能以及差错检测的功能。UDP的主要特点是:

    • 面向连接。应用程序在使用TCP之前必须两端之间先建立TCP连接。当确认数据传输完成之后,必须要释放TCP连接。
    • 单播。TCP只能有两个端点,进行点对点的传输,不支持多播和广播传输。
    • 可靠交付。通过TCP连接传送的数据是没有差错、不会丢失、不重复并且按序到达的。
    • 全双工通信。TCP允许连接的双方可以在任何时候发送数据,双方都有发送缓存和接收缓存。应用程序把数据给发送缓存之后就可以做其他的事情了,TCP发送缓存会在合适的时候自己把缓存中的数据发送出去。在接受的时候TCP会把数据存进接收缓存,上层应用程序会在合适的时候读取数据。也正因为是全双工通信方式,建立连接时最少需要三次信息确认,也就是三次握手,断开连接时最少需要四次信息确认,也就是所谓的四次挥手。
    • 面向字节流。TCP不像UDP每一个数据报独立传输,而是在不保留报文边界的情况下以字节流的方式进行传输,这也是长连接的由来。TCP中的“流”就是指流入到进程或从进程流出的字节序列。
    • 头部开销大。最小20字节,最大60字节。加上TCP的可靠传输机制功能的影响,数据传输效率比UDP慢很多。

    延伸
    TCP把“连接”作为最基本的抽象。TCP的连接必须建立在两个“端点”,这两个“端点”不是主机,不是IP地址,不是应用程序,也不是运输层的协议端口,而是套接字(socket)或者叫“插口”,根据RFC 793的定义:端口号拼接到IP地址就构成了套接字。

    ​ 需要注意的是,socket这个词语在不同的使用场景有不同的含义,容易让人混淆。例如:

    • 允许应用程序访问联网协议的应用编程接口API,也就是应用层和运输层之间的一种接口,称为socket API,简称socket。
    • socket API中使用的一个函数名也叫socket。 调用socket时,返回值是socket描述符,简称socket。
    • 上面这些socket的意思和TCP中的端点不同。

    使用TCP的各种应用层协议:
    在这里插入图片描述

    更多相关内容
  • 比TCP的20字节短很多 UDP的首部格式 伪首部仅仅为了计算校验和 TCP TCP的功能 在无连接的、不可靠的IP网络服务基础之上,通过增加保证可靠性的一系列措施,提供可靠交付的服务 TCP的特点 面向连接的传输协议 ...

    目录

    UDP

    UDP的功能

    UDP的特点

    UDP的首部格式

    TCP

    TCP的功能

    TCP的特点

    TCP面向流的概念

    套接字(socket)

    无连接工作流程和面向连接的工作流程对比


    UDP

    UDP的功能

    UDP只在IP的数据报服务上增加了很少一点功能:

    1.复用和分用功能

    2.差错检测功能

    UDP的特点

    UDP是无连接的,即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延

    UDP使用尽最大努力交付,不保证可靠交付,因此主机不需要维持复杂的连接状态表

    UDP是面向报文的,即UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,一次交付一个完整的报文

    UDP没有拥塞控制, 因此网络出现的拥塞不会使源主机的发送速率降低,很适合实时应用的要求

    UDP支持一对一,一对多,多对一,多对多交互通信

    UDP首部开销小,只有8字节,比TCP的20字节短很多

    UDP的首部格式

     伪首部仅仅为了计算校验和

      

     

    TCP

    TCP的功能

    在无连接的、不可靠的IP网络服务基础之上,通过增加保证可靠性的一系列措施,提供可靠交付的服务

    TCP的特点

    面向连接的传输层协议

    每一条TCP连接只能由两个端点(endpoint),每一条TCP连接只能是点对点的

    TCP提供可靠交付的服务

    TCP提供全双工通信

    面向字节流:TCP中的流(stream)指流入或流出进程的字节序列,面向字节流的含义是,虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流

    TCP面向流的概念

     

    • TCP连接是一条虚连接而不是一条真正的物理连接
    • TCP不关心应用进程一次把多长的报文发送到TCP的缓存中
    • TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)
    • TCP可把太长的数据块划分短一些再传送
    • TCP可等待积累有足够多的字节后再构成报文段发送出去

    • TCP把连接作为最基本的抽象。每一条TCP连接有两个端点
    • TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字(socket)或插口
    • 端口号拼接到(contatenated with)IP地址即构成了套接字
       

     

    套接字(socket)

    • TCP连接就是由协议软件所提供的一种抽象
    • TCP连接的端点是个很抽象的套接子,即(IP地址:端口号)
    • 同一个IP地址可以有多个不同的TCP连接
    • 同一个端口号也可以出现在多个不同的TCP连接中

    Sockey的不同含义

    • 应用编程接口API称为socket API,简称为socket。socket API中使用的一个函数名也叫作socket。调用socket 函数的端点称为socket
    • 调用socket函数时其返回值称为socket描述符,可简称为socket
    • 在操作系统内核中连网协议的 Berkeley实现,称为socket 实现

    无连接工作流程和面向连接的工作流程对比

     不同之处在于,服务器开启后等待连接,客户机请求连接,建立连接之后再进行相应请求和应答

    展开全文
  • TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、...

    TCP/IP协议

           TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。


    分别介绍TCP/IP协议中的四个层次:
    应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
    (1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。 
    (2)应用层还能加密、解密、格式化数据。
    (3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。
    运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。
    网络层:网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。
    网络接口层:在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。


    TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
    (1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
    (2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
    (3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
    (4)高层协议标准化,可以提供多种多样可靠网络服务。

    TCP.IP协议栈封装、解封装过程

    ①封装:加上协议头
    Q1:上层协议是如何使用下层协议提供的服务的呢?—封装
    A1:应用程序的数据在发送到物理网络上之前,将沿着协议栈从上向下一次传递,每层协议都将在上层数据的基础上加上自己的头部信息。
    TCP–>TCP报文段、UDP–>UDP数据报、IP–>IP数据包、数据链路层–>帧(以太网帧、令牌环帧)
    说明:TCP、UDP对数据的封装类似,不同的是,UDP无需为数据保存副本,因为UDP是不可靠的服务,当UDP数据报被成功发送之后,UDP缓冲区中的该数据报就被丢弃了(如果应用程序检测到该数据报未能被接收方正确接收,并打算重发该数据包,则应用程序需要从用户空间将该数据拷贝到UDP内核发送缓冲区中)。

    ②分用/解封装:解析协议头
    Q2:当帧在物理网络上传输到目的主机时,将会沿着协议自底向上依次传递。
    A2:各层协议将依次处理帧中本层负责的头部数据,以获取所需要的信息,并最终将处理后的帧交给目标应用程序。
    (从下到上)以太网帧的分用过程

    可以看到:
    1. IP、ARP、RARP协议都使用帧传输数据,所以帧的头部中以太网帧的类型来区分它们。IP、ARP、RARP对应的类型分别是:0x800、0x806、0x835。
    2. ICMP协议、TCP协议、UDP协议都是用IP协议,所以IP数据报的头部采用16位的协议字段来区分它们
    3. TCP、UDP则通过16位的端口号字段区分上层应用程序
    ③对等层通信
    在两个端系统的同一层上,双方都有对应的一个或多个协议进行通信

    华为对TCP/IP协议栈做出了阐述:

    协议栈各层作用:

     

     

     

    展开全文
  • 传输协议介绍

    千次阅读 2022-03-09 15:25:59
    传输层协议介绍TCP和UDP协议族的传输层协议TCP(Transmission Control Protocol)传输控制协议TCP连接UDP协议 TCP和UDP协议族的传输层协议 TCP(Transmission Control Protocol)传输控制协议 TCP(Transmission ...

    TCP和UDP协议族的传输层协议

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

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

    TCP/IP五层网络里分为应用层、传输层、网络层、数据链路层、物理层、TCP和UDP协议就是在传输层里面。
    面向连接网络协议,是指通信双方之间在进行通信之前要先建立连接。就好比打电话,双方通话前需要先建立连接。等数据发送结束后,双方再断开连接。
    无法连接网络协议,是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包送到网络线路上,由系统自主选定路线进行传输。比如QQ发送信息。
    TCP是面向连接的、可靠的进程到进程通信的协议。TCP提供全双工服务,即数据可在同一时间双向传输,每一个TCP都有发送缓存和接受缓存吗,用来临时储存数据。

    UDP(User Datagram Protocol)用户数据报协议

    UDP协议是无连接、不保证可靠性的传输层协议。发送端不关心发送的数据有没有到达目标主机、数据没有出错等等,收到数据的主机方也不会告诉发送方是否收到了数据,他的可靠性由上层协议来保障。传输数据速度更快,效率更高。

    TCP协议

    TCP是面向连接的、可靠的进程到进程通信的协议
    TCP提供全双工服务,即数据可在同一时间双向传输
    TCP报文段:
    TCP将若干个字节构成一个分组,叫报文段(Segment)
    TCP报文段封装在IP数据报中

    1.2TCP报文段

    在这里插入图片描述

    源端口号:就是发送方进程的端口号。

    目标端口号:就接受端进程的端口号。接受端收到源端口号发送的数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。

    序号:发送端为每个字节进行编号,便于接受端正确重组。当TCP从进程接收数据字节时,把它们分成一段一段的数据段储存发送在缓存中,并对每一个字节进行编号。当数据达到目的地后,接收端会按照这个序号把数据重新排列,保证数据的正确性。

    确认号:用于确认发送端的信息。接收端相应消息时将会用他来告诉发送端这个序号之前的数据段都已经收到

    窗口大小:用于说明本地可接收数据段的数目,这个值得大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小。这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小实现的。

    校验和:用来做差错控制。字段检验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明数据基本是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。

    紧急指针:和URG配合使用,当URG=1时有效。

    选项:在TCP首部可以有多达40字节的可选信息。举个例子,最大报文段长度MSS(Maximum Segment Size)MSS告诉对方TCP我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。

    1.3TCP连接

    三次握手与四次挥手

    TCP建立连接的过程中称为三次握手

    因为TCP是面向连接的,所以说每次发送数据之前都要向对方建立一条可靠的连接,这个连接的过程分为三个步骤,这就是三次握手。在这里插入图片描述
    如上图所示,PC1向PC2发送请求连接的报文,Seq就是PC1的序列号,SYN这个1就是已经发送连接请求。这时候PC1就是同步已发送状态。这是第一次握手
    PC2收到PC1发来的请求报文后,同意建立连接,则向PC1发送确认报文,Seq=y这个y就是PC2的序列号,Ack=x+1就是表示确认已经收到了PC1的请求,ACK=1就是表示确认,SYN=1就是PC2也向PC1发送一条建立连接的请求。这时候PC2就进入到了同步收到状态这就是第二次握手。
    PC1收到PC2的确认信息后,还要向PC2给出确认,然后连接才会成功建立。Seq=x+1这时候PC1的序列号为1,Ack=y+1就是确认号表示确认收到了服务器的连接请求,ACK=1表示是确认报文。这时候PC1就是已建立连接的状态。
    TCP断开连接的四次挥手
    在这里插入图片描述
    四次挥手的过程
    接三次握手的举例PC1已经和PC2成功连接了,现在他们要断开连接,这个断开连接的过程就是四次挥手。
    PC1向PC2发送FIN+ACK表示自己要断开连接,这时候PC1是已经没有数据要发送了进入终止等待模式,这是第一次挥手。
    第二次挥手,PC2接收到PC1要断开连接的请求,这时候PC2需要发送ACK=1用于确定PC1PC1断开请求的信息成功接收。进入关闭等待模式。
    第三次挥手,PC2所有的数据都已经接收完毕了,就会向PC1发送FIN=1。再发送一个ACK=1表示PC2已经已经没有数据要发送了也要关闭连接。也进入一个终止等待模式。
    第四次挥手:PC1需要发送一个ACK=1表示PC1已经收到了PC2关闭请求的消息,至此两台主机就都已经关闭了。

    常用的TCP端口号及其功能

    在这里插入图片描述

    1.4UDP协议

    无连接、不可靠的传输协议
    花费的开销小
    UDP报文的首部格式

    源端口号(16)目标端口号(16)
    UDP长度(16)UDP校验和(16)

    常用的UDP端口号及其功能
    在这里插入图片描述
    请添加图片描述

    展开全文
  • 详解传输协议(TCP,UDP)

    千次阅读 2021-08-18 19:26:46
    2、TCP协议:(传输控制协议) 3、三次握手原理: 4、为什么要三次握手? 5、四次挥手原理: 6、三次握手握三次,为什么断开要断四次? 7、TCP半关闭状态是什么情况? 8、常用的TCP端口号及其功能: 总结: 前言...
  • 文章目录简介UDT协议UDT的缺点总结 简介 简单就是美。在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议。我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的。相当于TCP的稳定性来说,...
  • 互联网协议 — TCP 传输控制协议

    千次阅读 2020-05-01 22:39:28
    TCP(Transmission Control Protocol,传输控制协议),是一种面向连接的可靠传输协议,提供可靠(无差错、不丢失、不重复、按顺序)的字节流数据传输服务。在传输效率和可靠性之间选择了后者,所以有开销大、传输...
  • TCP/IP协议族-----15、传输控制协议(TCP)
  • TCP-面向连接的传输协议

    千次阅读 2020-12-04 17:07:40
    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。许多高层应用协议(包括HTTP、FTP)都是以它为基础的,TCP非常适合数据的连续传输。 传输控制协议TCP...
  • TCP(传输控制协议详解)详解

    万次阅读 多人点赞 2018-03-24 15:38:24
    TCP协议的特点(1)TCP协议是面向连接的运输层协议在数据传输前必须建立连接,数据传输之后释放连接。(2)TCP提供可靠交付的服务所谓可靠是指在传输过程中无重复,无丢失,无错误。但是同时会增加开销。(3)每一条...
  • TCP(Transmission Control Protocol)全称为传输控制协议,TCP是面向连接的、可靠的进程到进程通信的协议,提供全双工服务,即数据可在同时间双向传输。每个TCP都有发送缓存和接收缓存,用来临时存储数据 2.UDP协议 ...
  • 传输协议介绍(深入学习)

    千次阅读 2022-04-25 14:54:20
    文章目录传输协议介绍(深入学习)1.TCP协议介绍1.1.TCP的特点1.2.TCP时效性1.3.TCP的缺陷1.4.TCP报文格式1.4.1源端口和目的端口字段1.4.2序列号字段1.4.3确认号字段1.4.4数据偏移字段1.4.5保留字段1.4.6标志位...
  • 浅谈FTP(文件传输协议)

    千次阅读 2020-11-28 15:43:03
    FTP(文件传输协议) FTP(File Transfer Protocol) ,是一种处于应用层的用于文件传输协议。是基于TCP协议的应用层协议,用于在网络上传输文件的协议。 该协议使用的端口号为20和21,其中20是数据端口,21是命令端口...
  • 视频课程及相关文档代码地址:https://github.com/EasyDarwin/Course#course-3RTP协议 实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中...
  • 目录 1.前言 2.控制传输的结构 2.1初始设置阶段 2.2数据阶段(可选): ...传输又分为控制传输、同步传输、批量传输、中断传输四种,今天我们主要讲解控制传输控制传输是一种特殊的传输方式,且
  • 传输协议介绍

    千次阅读 2022-03-10 23:03:20
    传输协议介绍**传输层**TCP报文段 传输层 定义协议的端口号,以及流控和差错校验;主要包含TCP和UDP协议 TCP协议 面向连接网络协议,指通讯双方需先建立连接,才能通讯,通讯完之后断开连接。类似于语音通话 无连接...
  • 传输协议、应用层协议

    万次阅读 2018-05-10 00:17:10
    传输层协议、应用层协议一、传输层协议1、传输层概述 (1)传输层的作用 IP层提供点到点的连接 传输层提供端到端的连接 (2)传输层的协议 TCP(Transmission Control Protocol)传输控制协议 可靠的、面向...
  • 传输协议

    千次阅读 2022-03-13 21:26:13
    文章目录一、TCP协议1、TCP协议介绍2、TCP...TCP提供全双工服务,及数据可在同一时间双向传输 TCP报文段 TCP将若干个字节构成一个分组,叫报文段 TCP报文段封装在IP数据报中 2、TCP报文格式 1.源端口号(16):
  • 几种常用的网络传输协议

    千次阅读 2019-10-07 10:36:08
    TCP(Transmission Control Protocol:传输控制协议;面向连接,可靠传输 UDP(User Datagram Protocol):用户数据报协议;面向无连接,不可靠传输 3、 Internet层协议 负责数据的传输,在不同网络和系统间...
  • 本来我要做C#d打开一个USB摄像头的程序,后来发现,我应该先了解“视频传输”这个概念。所以,我的调研如下: 那么好,我将在下章中,继续讨论C#d打开一个USB摄像头的程序。本章节后面分析了一下网络协议。 ...
  • 传输传输层是TCP/IP五层(四层)模型的第二层,主要负责数据能够从发送端传输接收端 1 端口号 端口号是一个2字节16为的整数 端口号用来标识一个进程,告诉操作系统,当前的这个数据要交给哪一个进程来...
  • RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视和控制。 RTP定义在RFC 1889中。信息包的结构包含广泛用于多媒体的...
  • UDP协议 UDP协议端格式: 16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度; 如果校验和出错, 就会直接丢弃。 UDP的特点: UDP传输的过程类似于寄信. 无连接: 知道对端的IP和端口号就直接进行传输, 不需要...
  • TCP协议与UDP协议的异同点

    千次阅读 2020-02-14 15:10:36
    TCP(Transmission Control Protocol,传输控制协议)是面向连接的、可靠的字节流服务,也就是说,在收发数据前,必须和对方建立可靠的连接。这一过程和打电话类似:先拨号振铃,等待对方接电话,说喂,再说自己是谁...
  • 网络层和传输层各种协议

    千次阅读 2021-08-18 20:55:18
    定义:Internet控制报文协议,是错误侦测与回馈机制 组成:ping tracert 协议号 PC命令: TCP——6 UDP——17 ping -t持续不断的ping,查看有没有丢包情况 Ctrl+c停止命令 ping -a+ip地址查询目标主机名称 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 481,435
精华内容 192,574
关键字:

传输控制协议