精华内容
下载资源
问答
  • 以太网udp和tcp的区别
    2021-10-15 17:04:08

    前言

    搞一下整车以太网技术系列会从通信协议栈出发,从物理层最基础的技术开始,以拼图的方式逐步展开每个相关通信协议的技术细节,为读者朋友们提供学习汽车以太网技术的平台。全系将涵盖汽车以太网PHY技术、TCP/IP协议族、AVB/TSN协议集、以太网网络安全等方面进行分享。


    从通信的角度看,传输层向应用层提供服务,属于面向通信部分的最高处,主要为应用程序提供端到端的服务。本期将从传输层主要协议、TCP协议详解、UDP协议详解以及TCP与UDP对比等方面进行分享,欢迎订阅。


    全系内容可在《搞一下汽车电子》后台回复 “系列”,或进入菜单栏 “分享平台” --> “系列分享”


    本系列请点击:《搞一下整车以太网技术》


    所有系列请点击:《汽车电子系列分享》


    本期的议题内容


    ​传输层简介

    传输层主要协议

    协议端口

    端口号

    套接字

    TCP 协议简介

    TCP 报文

    TCP 状态机

    TCP 连接建立与释放

    TCP 可靠通信

    TCP 流量控制

    TCP 传输实例

    UDP 协议简介

    UDP 报文格式

    TCP vs UDP


    跳转阅读


    建议解锁2021 全52期 workshop,体验更好,还可以语音Q & A,详情点击:

    《2021 SOA、AP AUTOSAR、新架构下的软件技术、汽车以太网技术系列线上workshop》

    跳转阅读:TCP & UDP 传输协议


    联系我们

    微信:shactiontech
    邮箱:support@shactiontech.com

    更多相关内容
  • 以太网TCPUDP协议的区别

    千次阅读 2019-12-26 11:14:45
    这些常见的服务可以分为使用TCP端口面向连接)使用UDP端口(面向无连接)两种。 一、TCP协议简介 TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须对方建立...

    在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的

    服务。这些常见的服务可以分为使用TCP端口面向连接)和使用UDP端口(面向无连接)两种。

    一、TCP协议简介

    TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。

    一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。  

    TCP的三次握手过程如下:

    1. 主机A通过向主机B发送一个含有同步序列号的标志位的数据段给主机B ,向主机B请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。

    2. 主机B收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我。

    3. 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:“我已收到回复,我现在要开始传输实际数据了。这样3次握手就完成了,主机A和主机B就可以传输数据了。

    TCP建立连接要进行3次握手,而断开连接要进行4次。

    1. 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;

    2.主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;

    3. 由B端再提出反方向的关闭请求,将FIN置1;

    4. 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。

    由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。

    二、UDP协议简介

    UDP(User Data Protocol)——用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

    UDP协议具有如下几个特点:

    (1)UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

    (2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

    (3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

    (4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

    (5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

    (6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

    我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。

    三、TCP与UDP区别总结

    1. TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接;

    2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,也不保证可靠交付;

    3. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;

    4. UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);

    5. 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;

    6. TCP首部开销20字节;UDP的首部开销小,只有8个字节;

    7. TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道。

    四、应用场合

    UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候,UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。比如,日常生活中,常见使用UDP协议的应用如下: QQ语音、QQ视频、TFTP ……。

    TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由IETF的RFC793说明。在简化的计算机网络OSI模型中,它完成运输层所指定的功能。一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等。

    展开全文
  • 参考:http://zhidao.baidu.com/link?url=GSIg9_zFhWi6PHezalQveRwwUsU0as7k6MFd05r-cruLT1yDABARraHkuq8ohdIR54QtTIOHypS3Y0MTtnRcJ_ ...当客户服务器彼此交换数据前,必须先在双方之间建立一个TCP连接...

    参考:http://zhidao.baidu.com/link?url=GSIg9_zFhWi6PHezalQveRwwUsU0as7k6MFd05r-cruLT1yDABARraHkuq8ohdIR54QtTIOHypS3Y0MTtnRcJ_

     

    1、概述

           TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 


           UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快



    2、分析


           现在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。 

           说到TCP和UDP,首先要明白“连接”和“无连接”的含义,他们的关系可以用一个形象地比喻来说明,就是打电话和写信。两个人如果要通话,首先要建立连接——即打电话时的拨号,等待响应后——即接听电话后,才能相互传递信息,最后还要断开连接——即挂电话。写信就比较简单了,填写好收信人的地址后将信投入邮筒,收信人就可以收到了。

     

           从这个分析可以看出,建立连接可以在需要通信的双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接前不能建立另一个连接,即两人在通话过程中第三方不能打入电话。

     

           而无连接是一开始就发送信息(严格说来,这是没有开始、结束的),只是一次性的传递,是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。 


           TCP是面向连接的,有比较高的可靠性, 一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等,而UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。对于QQ必须另外说明一下,QQ2003以前是只使用UDP协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使用TCP协议了。

     

    3、TCP与UDP的选择 

           如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机制。与TCP协议相同,UDP的源端口数和目的端口数也都支持一台主机上的多个应用。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流,不产生任何额外的数据,即使知道有破坏的包也不进行重发。) 

           很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下,但是我们相信在不远的将来,TCP可靠的点对点连接将会用于绝大多数的网络应用。

     

    转载自:http://blog.csdn.net/times_poem/article/details/51382998

    展开全文
  • UDP没有拥塞控制,应用层能够更好的控制要发送的数据发送时间 UDP提供尽最大努力的交付,不保证可靠交付。 无连接,不提供流量控制、丢失重传等机制 对上层数据不做任何改动 仅添加UDP首部,然后传至IP层 ...

    一、UDP的概述(User Datagram Protocol,用户数据报协议)

    • UDP 协议是一种无连接的,面向报文的简单传输层协议,在IP基础上增加了端口(进程)到端口(进程)的通信。
    • UDP没有拥塞控制,应用层能够更好的控制要发送的数据和发送时间
    • UDP提供尽最大努力的交付,不保证可靠交付。
    • 无连接,不提供流量控制、丢失重传等机制
    • 对上层数据不做任何改动
    • 仅添加UDP首部,然后传至IP层
    • 支持单播、组播与广播
    • 应用场景:实时性要求高的网络电话、视频等
       

    二、报文格式

    UDP首部有8个字节,由4个字段构成,每个字段都是两个字节,
    1.源端口: 源端口号,需要对方回信时选用,不需要时全部置0.
    2.目的端口:目的端口号,在终点交付报文的时候需要用到。
    3.长度:UDP的数据报的长度(包括首部和数据)其最小值为8(只有首部)
    4.校验和:检测UDP数据报在传输中是否有错,有错则丢弃
     

    展开全文
  • LPC1768以太网(TCP)程序,调试成功,可直接运用到工程.
  • 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
  • TCP是面向连接的协议,在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
  • 欧姆龙PLC之Fins UDP与Fins TCP协议解析与通讯测试
  • 以太网UDP数据协议

    2022-05-05 17:08:09
    传输不可靠:相对于TCP来讲,其实网络畅通是UDP可靠性也不错 适合:数据量大,实时性要求高 TCPUDPTCP更适合使用嵌入式C语言编程,Verilog硬件描述会很复杂 UDP:比较适合verilog来编写 其实TCPUDP使用均非常...
  • 在计算机网络的传输层主要有两个传输协议:UDP和TCPUDP用户数据包协议 UDP(User Datagram Protocol)称为用户数据报协议相对于TCP协议要简单的多,它只在IP数据报之上添加少许的功能。 UDP协议的特点 面向数据...
  • 以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解 以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解
  • 本文是基于FPGA高性价比、可灵活配置的特点,也是当前流行的“微...本文通过在FPGA中硬件实现嵌入式TCP/IP协议(包括UDP、IP、ARP、TCP 等网络协议)以及以太网MAC协议,并提供标准MII接口,通过外接PHY实现 网络连接。
  • XC7K325T UDP 4路千兆以太网通信设计(含教程FPGA工程),有操作教程,FPGA源码(VIVADO2017.4打开),参考原理图,资料总共168MB。
  • 以太网UDP协议讲解

    2021-08-06 11:22:30
    TCP/IP参考模型是计算机网络的祖父ARPANET其后继的因特网使用的参考模型。ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。逐渐地它通过租用的电话线连结了数百所大学政府部门。当无线...
  • 以太网,IP,TCP,UDP数据包分析 http://www.cnblogs.com/feitian629/archive/2012/11/16/2774065.html 1、ISO开放系统有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 ...
  • 串口转以太网通信源代码C语言C++编写支持多路转换双向通信支持UDP和TCP客户端 提供,带注释,带设计文档 使用说明介绍 1.功能介绍: 完成了多路网口串口数据转换的功能。 可实现串口接收到的数据,通过网口发送...
  • 网络调试助手,支持UDPTCP,在电脑以太网设置静态IP,点“高级”按钮在里面添加IP子网掩码,打开网络调试助手,查看数据
  • UDP和TCP哪个并发性能更好?为什么

    千次阅读 2021-01-13 08:24:20
    匿名用户1级2016-12-07 回答tcpTCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。而UDP就没有了,udp信息发出后,不验证是否到达对方,...再有就是UDP和TCP的目的端口不一样(这句...
  • 复习: TCP 四层模型: 应用层:Telnet FTP email 运输层:TCP UDP ...UDPTCP的联系与区别: 首先,这两个都是运输层协议 都是建立在ip之上的 TCP叫做流式套接字,UDP是报文套接字 我们来看看为什么要在...
  • 自己编写的网络通信小软件,实现串口、以太网通信,支持UDP和TCP通信协议,可配置通信参数,我公司的人一直在用,非常好用哦。可代替bitboy等网络发包软件,串口通信方面解决了RS232485不兼容的问题。 注:编译时...
  • 再开始之前大家先了解一下我们谈及几个容易让人误解的关键词: ...一、传输层协议TCP/UDP基本概念 在TCP/IP体系结构中,传输层的作用是向应用层提供端到端的可靠传输。这里的端到端的传输是指,在一个TCP连接中,只有.
  • 计算机网络---UDP和TCP详解

    万次阅读 2019-01-14 10:34:36
    本文主要是分析了TCP/IP五层模型中的传输层的关键协议—UDP和TCP。在网络的学习中,也比较重要。 1.TCP TCP协议格式 TCP连接管理机制(三次握手四次挥手;;SYN泛洪攻击;TIME-WAIT时间) TCP相关机制 2.UDP UDP...
  • 1.网络编程概述 1.1 C/SB/S C/S 客户端——服务器软件结构 服务提供商给予用户服务需要准备的内容...传输层 TCPUDP 网络层 JCMP、IGMP、IP、ARP、PARP 数据链路层 Wi-Fi、GPS、以太网 物理层 以太网、调制解调器
  • 同时是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议传输层的TCP协议组成。 (1)数据链路层 主要提供链路控制(同步,异步,二进制,HDLC),差错控制(重发机制),流量控制(窗口机制...
  • 这两个值加上ip首部源端ip地址目的端ip地址唯一确定一个tcp连接。 ​ 序号字段: ​ 序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用...
  • TCP/IP、UDP协议

    2021-09-16 14:26:13
    IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCPUDP层;相反,IP层也把从TCPUDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,826
精华内容 23,130
关键字:

以太网udp和tcp的区别