车载以太网 - 传输层 - TCP/IP

news/2024/11/28 17:44:50/

目录

一、传输层基础介绍

传输层主要包括两种协议

传输层端口号

二、UDP通信

 UDP协议介绍

UDP 通信特点:

UDP Segment结构

UDP通信过程

三、TCP通信

TCP通信特点:

TCP Segment结构


一、传输层基础介绍

传输层的寻址方式:端口号

        包括传输层的寻址方式,TCP/UDP 传输层协议工作流程,及TCP/UDP Packet 包结构以太网的物理层、数据链路层及网络层实现主机间的通信但实际情况在计算机网络进行通信的实体位于通信两端主机中的进程

那如何为运行在不同主机上的应用进程提供直接的通信服务?

        这就需要传输层来负责

  • 传输层主要包括两种协议

        TCP协议

        UDP协议

  • 传输层端口号

        车载以太网OSI 七层模型,物理层、数据链路层、网络层、传输层;物理层属于硬件部分,因此通信完全依赖硬件;数据链路层是基于 MAC 地址寻址、网络层是基于P 地址寻址而接下来我们要介绍的传输层是基于端口号寻址。

        在这里我们就会涉及到端口、路由器、交换机等不同端口之间的概念。

        物理端口是指在不同硬件设备之间进行交互的接口,而传输层使用的是软件端口(软件端口是应用层的各类进程与传输实体进行层间交互的一种软件地址); 这些应用进程通过端口号进行标识,端口号长度为 16 位,可标识 65536 个不同端口号。

        在进行传输层寻址时,端口号又可分为源端口号和目的端口号,其中对一条传输层报文来说,源端口号指发送方本地进程的端口号,目的端口号指访问对象进程的端口号,另外在TCP/UDP 通信时会涉及客户端/服务器端工作模式,一般我们称发起通信、请求服务的一方为client 客户端,接收请求、响应的一方为 Server 服务器端。

二、UDP通信

  •  UDP协议介绍

        1、允许无连接通信

        2、端口用于应用程序的寻址:

                Source Port:发送方源端口

                Destination Port:接收方目的端口

        3、IP数据包:

                IP协议字段:0x11

        4、最大数据传输字节数

                1472字节

        UDP(User Datagram Protocol )是面向无连接的协议,节点间通信无需建立连接:且接收节点不需要对数据的接收进行确认,该通信方式类似于收音机功能,按下播放键就自动播放内容,而无需收听者的确认。

  • UDP 通信特点:

        1、由于UDP不属于连接型协议,因此不保证数据可靠交付。

        2、资源消耗小,处理速度快的优点,通常音视频数居使用 UDP 通信较多。

        3、常用于IP电话、实时视频等视频会议功能中

        因此即使偶尔丢失一两个数据包,也不会对接收结果产生太大的影响,另外,UDP工作模式可支持单播、多播及广播通信。

  • UDP Segment结构

        首先是UDP,UDP全称是用户数据报协议(User Datagram ProtocolD),UDP 报文封装在IPPacket包发送,其中IPPacket 包的IP Protocol Field位为(0x11)17时,该IP Packet包携带的是UDP数据,另外,一份 UDP Packet 包的最大长度是1472个字节。

        SP:16位的 Source Pot 源端口号;对于SomelP-SD 报文来说固定为 30490

        DP:16位的 Destination Port 目的端口号;对于SomelP-SD 报文来说固定为30490

        Length:16位的 Length 表示UDP Packet 包长度,即包括UDP Header 在内的 UDP 数据包总长度;UDP 报文的最小长度为8字节,即不携带数据时的长度。

        Checksum:校验范围包括 UDP的 Header 和 Data。

        Data:数据段是UDP Packet 的有效负载部分。

  • UDP通信过程

情景一ECUA与ECUB进行UDP通信,ECUA发送一条UDP报文给ECUB:其中,UDPPacket包存放ECUA进程的源端口号12652和ECUB的目的端口号32551ECUB接收该UDPPacket包并上传至对应端口号的应用进程

情景二ECUB发送一条UDP Packet 包给到ECUA,ECUA接收该UDP报文

注意UDP通信时接收节点在收到数据后,不会向发送节点回复确认响应

三、TCP通信

         TCP 全称Transmission Control Protocol,传输控制协议;TCP 为应用程序提供一种点对点可靠的数据流传输服务,TCP包封装在IP Packet 中发送,对应IP Protocol值为6;另外,TCP支持分段(Segment)传输,TCP 报文段的最大长度1460个字节;当TCP传输数据过大时,则会在传输层进行数据分段。

  • TCP通信特点:

        1、TCP是面向连接、可靠传输的协议:

        2、节点一对一通信,接收节点每接收一条报文就必须给与确认回复;

        3、TCP通信包括3个步骤,分别是I建立连接、II数据传输、II释放连接;

        4、该通信方式类似于使用电话的过程,需要输入电话号并拨通房后才能进行通话,TCP 用于Email、HTTP/FTP等应用相比于UDP支持多种工作模式,TCP 通信只支持单播通信

  • TCP Segment结构

        Source Port:16位的 Source Port(SP)源端口号

        Destination Port:16位的 Destination Port(DP)目的端口号

        Sequence Number:32 位的序列号SN(Sequence Number)

        Acknowledgment Number: 32位的确认编号AN(Acknowledgment Number)Data Offset:4位的 Data Offset(DOFF)表示TCP Header 长度,不含数据的 TCP 标头长度

        Reserved:6位的 Reserved(Res)保留位

        URG:紧急指针标志,置1时有效,配合 Urgent Point紧急指针使用,用于指出本报文段的紧急数据的字节数,发送方将紧急数据插入本报文数据的最前面

        ACK:Acknowledgement Flag;ACK 应答标志位置1时表示该为应答报文

        PSH:Signals thatinformation has to be proceede fast as possible; PSH 标志值 1 表示携带 PUSH标志,指示接收方接收到该报文段后尽快交付给对应应用程序,而不不是在缓存区排队

        RST:Reset Flag,Reset ofa connection RST; 重新连接标志位,用于重置由于主机崩溃或其他原因而出现错误的连接

        SYN:SYN Flag,Connection establishment; SYN 用于建立连接过程发送的报文

        FIN:Finish Flag,Connection release SYN;FIN 完成标志用于释放连接

        WIN:Sliding window,Window 滑行窗口,用于告知对方本端 TCP 接收缓存区能容纳的字节数

        Checksum:TCP Segment Checksum(CHK),TCP 段校验和

        Option:Optionaladditionalinformation,可选字段必须为32 位的整数倍,不足时需填充至32位,可选字段最多包含40 个字节

        Data:数据段是UDP Packet 的有效负载部分。


http://www.ppmy.cn/news/494699.html

相关文章

小米max2 android p,小米Max2完全曝光:6.4寸巨屏 性价比爆棚

小米今年上半年准备的新机颇多,除了本月发布的小米6外,大屏手机小米Max也要迎来换代(小米Max已经在小米商城下架)。 现在有网友给出的最新消息,小米将在5月份推出小米Max二代,不过它搭载的处理器并非之前传闻的骁龙660&#xff0c…

小米 max android,小米Max原生安卓8.0刷机包放出:仅供尝鲜体验

IT之家9月4日消息 自谷歌发布Android 8.0正式版以来,来自XDA论坛的第三方开发者已经先后为小米4、国际版红米Note4、全网通版红米Note3、一加1等机型进行了适配,日前,有IT之家网友反映称,现XDA论坛上已有第三方开发者放出了小米Ma…

Max3成功刷入原生Android,小米Max 3完整刷成开发版开启Root超级权限的流程

小米的手机或平板不同手机型号通常情况miui论坛都提供两个不同的版本,可分为稳定版和开发版,稳定版没有提供ROOT权限管理,开发版中就支持了ROOT权限,很多情况下我们需要使用的一些功能强大的软件,都需要在ROOT权限下工…

小米max2 android p,小米max2 升级miui11全程跟进推送

我max2表示没收到MIUI11更新要不是电池大,早扔啦!卡成狗,反应迟钝,黑屏,自退,电池大……我小米Max2为什么没有推送更新?关键是底层!小米MAX2miui10底层还是安卓7.1,说白了…

小米max2 android p,这就是小米Max2?6.4英寸超大屏幕配置大升级

标签:小米手机(3463)小米(3233) 虽说今年上半年小米6的重磅机型会是小米6,但随着小米Max在官方商城的下架,这款巨屏手机的更新换代产品已经在网络上浮出水面。根据知名图形测试网站GFXBench最新公布的信息显示,一款代号为Oxygen的…

小米max3支持html吗,小米Max3这款手机是否有OTG功能,支持OTG鼠标和U盘吗?

小米Max3支持OTG功能吗?作为影音娱乐机,必须支持呀!我们知道,现在很多手机都不支持TF卡拓展了,而电影、游戏都是四五GB起步,如果不支持OTG有点遗憾。对于小米Max3是否支持OTG,官方在发布会上没有…

【编程语言 · C语言 · 使用内存】

使用内存 C被设计为一种低级语言,可以轻松访问内存位置并执行与内存相关的操作。 例如,scanf() 函数将用户输入的值放在变量的位置或地址处。这是通过使用&符号实现的。 例如: int num; printf("Enter a number: ");scanf(&quo…

【ROS知识】比较ROS1和ROS2在处理launch的不同

一、说明 在处理launch过程中,ROS1和ROS2还是有些差别的,因为文件结构不同,不能直接搬用。这里将两者建立过程做一个比对,以提升概念的清晰度。 在ROS2中,单独的launch文件是一个python文件,因此脱离ros2环…