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

news2024/7/4 15:07:39

目录

一、传输层基础介绍

传输层主要包括两种协议

传输层端口号

二、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.coloradmin.cn/o/669052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

几个SQL的高级写法

一、ORDER BY FLELD() 自定义排序逻辑 MySql 中的排序 ORDER BY 除了可以用 ASC 和 DESC,还可以通过 ORDER BY FIELD(str,str1,...) 自定义字符串/数字来实现排序。这里用 order_diy 表举例,结构以及表数据展示: ORDER BY FIELD(str,str1,..…

chatgpt赋能python:Python支持跨平台软件开发

Python支持跨平台软件开发 作为一种高级编程语言,Python 以其丰富的库和跨平台支持而备受开发人员欢迎。Python 通过将应用程序的可移植性最大化,使得开发人员可以轻松地在不同的操作系统平台上构建和部署软件。 跨平台支持 Python 支持各种不同的操作…

三子棋都玩过吧,那C语言现造一个呢???

目录 前言 三子棋简介 棋盘介绍 规则介绍 程序设计 基本流程 游戏逻辑 菜单界面打印 创建棋盘并初始化 打印棋盘 玩家落子 电脑落子 判断胜负 1.判定是否和棋 2.判定胜负 代码总汇 ✅Game.h 头文件 ✅Game.c ✅Test.c 前言 🥰想必各位大佬们上学的…

编译安装以及升级Nginx

目录 一、前言 1、简介 2、 Nginx模块 3、与Apache的差异 4、优点 二、编译安装 1、关闭防火墙 2、安装依赖包 3、创建运行用户与组 4、编译安装 5、检测配置文件是否正确 6、添加系统服务 三、版本升级 四、总结 一、前言 1、简介 Nginx是一个高性能的HTTP和反…

chatgpt赋能python:Python散点图连线——一种美妙的可视化方法

Python散点图连线——一种美妙的可视化方法 散点图连线是一种常用的可视化方法,可以展示不同维度之间的关系和趋势。在Python中,我们可以使用多种库来绘制散点图连线,例如matplotlib、seaborn和plotly等。本文将介绍如何使用matplotlib和plo…

数学公式库mathjs 安装使用教程

Math.js 是个JavaScript 和 Node.js 的扩展数学库。它包括了灵活的表达式解析器,提供数字,大数值,复杂数值,单位,矩阵等等集成的解决方案。Math.js 很强大又易于使用。 特性 支持数值,大数值&#xff0c…

医疗IT绝缘监测应用

近年来,随着医疗技术的迅猛发展,电子电气相关医疗设备在医院中的应用越来越广泛,各类疾病治疗也越来越依赖医疗电气设备 。人们对医院医疗环境提出更高要求,传统的建筑、电气等设计已难以充分保障其人身安全。患者及医务人员已深陷…

每日学术速递6.10

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Unifying (Machine) Vision via Counterfactual World Modeling 标题:通过反事实世界建模统一(机器)视觉 作者:Daniel M. Bear, K…

LFS11.3在VMware安装后需要做的准备

参考lfs 11.3和Blfs 11.3 先简单罗列一下要做的步骤,后续有机会再补充一下细节,遇到问题欢迎读者留言。 1、配置vmware中的网络连接 使用vmware net8 net模式,选用VMnet 配置网络连接/etc/sysconfig/ 目录下ifconfig.*** (***为…

RK3588平台开发系列讲解(AI 篇)什么是RKNPU

文章目录 一、RKNPU的发展历史二、RKNPU单核架构三、RKNPU性能计算四、RKNPU应用场景沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解什么是RKNPU。 一、RKNPU的发展历史 二、RKNPU单核架构 三、RKNPU性能计算 NPU算力是指每秒可以处理的运算次数,通常…

基于Hata模型的BPSK调制信号小区覆盖模拟matlab完整程序分享

基于Hata信道模型的BPSK调制信号小区覆盖模拟matlab仿真,对比VoIP, Live Video,FTP/Email 完整程序: clc; clear; close all; warning off; addpath(genpath(pwd)); % Random bits are generated here. bits = randi([0, 1], [50,1]); M = 2; t = 1:1:50; trans = pskmod(bi…

支持硬件加速的opencv编译

背景 为了降低cpu的使用率提升系统的接入能力,需要将编解码模块移至GPU处理,opencv默认的发行版中不支持GPU加速,所以需要重新编译opencv使其支持GPU硬件加速。 读者 本文的读者须具备一定的Linux使用经验,如常规软件安装等操作…

扫雷小游戏【C语言】

目录 前言 一、基本实现逻辑 二、实现步骤 1. 我们希望在进入游戏时有一个菜单让我们选择 2. 我们希望可以重复的玩(一把玩完了还可以接着玩) 3. 采用多文件形式编程 4.要扫雷先得有棋盘(创建棋盘R*N) 5.初始化棋盘 6.打…

0014-TIPS-pawnyable : Double-Fetch pt_regs

原文 Linux Kernel PWN | 040302 Pawnyable之双取 Double Fetch 题目下载 漏洞代码 #include <linux/module.h> #include <linux/kernel.h> #include <linux/cdev.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/sl…

chatgpt赋能python:Python搜索本地文件指南

Python搜索本地文件指南 在进行开发或者日常使用中&#xff0c;需要对本地的文件进行搜索操作是常见的需求。如果你正在学习Python编程&#xff0c;接下来的内容会为你提供一些如何使用Python进行本地文件搜索的指南。 搜索文件 在Python中搜索本地文件可以使用os模块。该模…

杂记 | 使用FRP搭建内网穿透服务

文章目录 01 需求场景02 项目地址03 文件介绍04 编写配置文件4.1 编写frps.ini4.2 编写frpc.ini 05 测试 01 需求场景 1、有一台云服务器&#xff0c;Linux&#xff08;CentOS7&#xff09;系统 2、云服务器有公网ip&#xff0c;公网可以访问 3、本地电脑是家用笔记本&#xf…

AN10833-MIFARE type identification procedure.pdf

1.2范围 本文档描述了如何区分MIFARE接口卡IC系列的成员。ISO/IEC 14443-3描述了类型A的初始化和防冲突程序&#xff0c;该程序为所有MIFARE卡提供卡类型信息。 MIFARE卡与ISO/IEC 14443-3兼容。因此&#xff0c;已经存在的应用可以很容易地扩展到分别使用较新的MIFARE芯片和所…

017、数据库管理之监控

监控工具 TiDB数据库的监控体系TiDB Dashboard数据库监控系统数据流转监控系统访问地址 报警系统报警级别指标系统常用监控指标Service Port Status 常用监控指标PD的常用监控指标TiDB-Server的常用监控指标TiKV 的常用监控指标Dashboard的常用指标 实验&#xff1a; 通过监控工…

Flink 学习六 Flink 窗口计算API

Flink 学习六 Flink 窗口计算API 1.窗口 (window)概念和分类 窗口 window 是处理无限流的核心就是把无界的数据流,按照一定的规则划分成一段一段的有界的数据流(桶),然后再这个有界的数据流里面去做计算; 2.分类体系 2.1 滚动窗口 相邻窗口之间是没有数据重合 window 大小…

Geocomputation (2)Attribute data operations

Geocomputation &#xff08;2&#xff09;Attribute data operations 属性数据操作 来源&#xff1a;https://github.com/geocompx/geocompy 1.准备 #| echo: false import pandas as pd import matplotlib.pyplot as plt pd.options.display.max_rows 6 pd.options.disp…