网络基础_02

1.ARP协议

地址解析协议(Address Resolution Protocol)

已知对方的三层ip地址,需要二层mac地址


 当一台设备(请求方)需要知道某个 IP 地址对应的 MAC 地址时,会使用 ARP封装一个数据帧。这台设备的网络层以自己的 IP 地址作为源 IP 地址、以目的设备(被请 求方)的 IP 地址作为目的 IP 地址、以自己的 MAC 地址作为源 MAC 地址、以广播 MAC 地址作为目的 MAC 地址在本地网络中发送一个 ARP 广播消息,其目的是在本地网络 中寻找数据包目的 IP 地址对应的 MAC 地址.

工作过程

1) 主机A首先查看自己的ARP表,如果ARP表中含有主机B对应的ARP表项,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

免费ARP

功能:重复地址探测

主机被分配了IP地址或者IP地址发生变更后,必须立刻检测其所分配的IP地址在网络上是否是唯一的,以避免地址冲突。主机通过发送ARP Request报文来进行地址冲突检测。

当以一台设备的接口由 down-> up 的瞬间向同一局域网内的设备发送一个arp 报文。

源ip:本机ip

源mac:本机mac

目标mac:ff:ff:ff

目标IP:本机IP

  

为了检验局域网下是否由相同的ip 

代理arp

 代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。

 把AR2的两个接口开启代理arp,ar1就能访问到ar3了,但其实是只能访问到AR2,借助AR2访问对方。

2.ping 过程

成帧:一个数据若想被发送出去,那么这个数据必须完成数据帧格式的封装(成帧)否则,没有资格被发送出去

数据ping过程

  1. 发送方先封装数据包,由于数据包需要目标MAC
  2. 先在自己的arp表中找,如果没有
  3. 发送一个广播的arp,寻找目标的mac
  4. 目标收到后,发送响应arp,发送发获取到mac
  5. 封装数据发送数据.

3.传输层TCP/UDP

1.TCP 

TCP全称传输控制协议,必须对数据的传输进行控制。

tcp数据包

三次握手

第一次握手:当计算机 A 想要和计算机 B 建立连接时,会封装一个数据段,该数据段

的 SYN 位置位,表示计算机 A 希望与计算机 B 建立连接。此时 TCP 为序列号字段随机

生成一个值来代表第 1 个数据字节的序列号,这里用 a 表示ACK 未置位确认号为 0

第二次握手:当计算机 B 收到数据段时,会封装一个数据段。这个数据段的 SYN

位和 ACK 位都置位,因为计算机 B 既需要确认计算机 A 的建立连接请求,又需要向

计算机 A 请求连接。SYN 位置位,TCP 为序列号字段随机生成一个值来代表第 1 个数

据字节的序列号,这里用 b 表示。ACK 位置位,确认已接收序列号为 a 的数据段。

但是,该数据段没有数据部分,因此计算机 B 等待接收的是下一个数据段,即确认

号为 a+1。

第三次握手:当计算机 A 收到 SYN, ACK 数据段时,会封装一个 ACK 数据段来确认

计算机 B 的建立连接请求。这个数据段的 SYN 位未置位,因此序列号字段不再随机生成,

而是计算机 B 第二次握手中的确认号,即 a+1;ACK 位置位,确认接收到序列号为 b 的

数据段,即确认号为 b+1。

四次握手

第一次握手:当计算机 A 想要与计算机 B 断开连接时,会封装一个 FIN 数据段, 表示之后没有数据要传输了。该数据段的 FIN 置位,表示计算机 A 希望断开和计算机 B

之间的连接。

第二次握手:当计算机 B 收到 FIN 数据段时,会封装一个 ACK 数据段来确认计算 机 A 的断开连接请求。

第三次握手:同时,计算机 B 也需要封装一个 FIN 数据段来发起断开连接请求,并且把该数据段发送给计算机 A。

第四次握手:计算机 A 使用 ACK 数据段确认自己收到计算机 B 发来的 FIN 数据段

 seq:信息发送的次序,
ack:确认信息,ack=M+1:表示 seq=M的数据包已经收到,要接受M+1的数据包了

ack对seq的回复

UDP 

UDP全称为用户数据报协议。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法

UDP数据包


小白一枚,水平有限,如有错误,欢迎指教。。。

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AUTOSAR(Automotive Open System Architecture)是汽车行业的一个开放式标准,旨在实现汽车电子系统的软件和硬件部分的标准化和自动化。 AUTOSAR基础软件是AUTOSAR标准的核心组成部分,它提供了标准化的软件组件和接口,以支持汽车电子控制单元(ECU)之间的功能和数据交换。 AUTOSAR基础软件的要目标是提供模块化的软件架构,以实现可重用性和平台互操作性。它分为四个要模块:运行时环境(RTE)、通信堆栈、硬件抽象层(HAL)和诊断堆栈。 RTE模块提供了软件组件之间的通信机制,包括数据和服务的传输、事件触发和调度。通信堆栈模块实现了不同ECU之间的网络通信,如CAN、FlexRay和Ethernet等。硬件抽象层模块提供了ECU和硬件之间的接口,以支持硬件相关的功能和操作。诊断堆栈模块提供了故障检测和诊断功能,以支持车辆的故障排除和维修。 AUTOSAR基础软件具有以下优点:首先,它提供了标准化的软件组件和接口,使得不同的汽车电子系统可以轻松地进行集成和交互。其次,它提高了汽车软件的可重用性,减少了开发成本和时间。另外,它提供了跨平台的互操作性,使得不同厂商的硬件和软件可以无缝地进行集成。最后,它提供了诊断和故障排除的机制,帮助识别和修复车辆的故障。 总体而言,AUTOSAR基础软件是实现汽车电子系统标准化和自动化的关键组成部分,它为汽车行业提供了一种统一的开发和集成方法。通过使用AUTOSAR基础软件,汽车制造商可以更加高效地开发、测试和维护汽车电子系统,从而提高产品质量和可靠性。 ### 回答2: AUTOSAR,全称为“Automotive Open System Architecture”,是一种面向汽车电子系统的开放式软件架构。它旨在提供标准化的软件平台,以促进汽车电子系统的开发和集成。 02_AUTOSAR基础软件是AUTOSAR架构的重要组成部分。它要包括AUTOSAR标准化软件组件、接口和服务等。这些基础软件的设计目标是提供一个可重用的、可扩展的、可移植的和可靠的平台,用于开发汽车电子系统的软件。 AUTOSAR基础软件的核心是运行时环境(Run-Time Environment,RTE),它提供了各个应用软件组件之间的通信和数据交换机制。RTE还负责资源管理、消息传递、触发器和事件处理等任务。通过RTE,不同的软件组件能够共享信息和资源,并在系统协调工作,实现各个电子控制单元之间的互操作性。 此外,AUTOSAR基础软件还包括操作系统抽象层(Operating System Abstraction Layer,OSAL),对底层操作系统的接口进行了抽象,使得应用软件可以独立于特定的操作系统而进行开发。同时,还有通信堆栈(Communication Stack),用于实现不同汽车电子系统之间的通信,包括CAN、FlexRay、Ethernet等。 AUTOSAR基础软件的使用可以提高汽车电子系统开发的效率和可靠性。通过标准化的软件组件和接口,不同供应商开发的软件可以更容易地集成在一起。此外,基于AUTOSAR的系统架构可以提高软件的重用性,减少开发时间和成本。 总之,AUTOSAR基础软件是AUTOSAR架构的关键组成部分,为汽车电子系统的开发和集成提供了标准化的平台和工具。它将车载软件的开发过程标准化,并促进不同软件供应商之间的合作和互操作。 ### 回答3: AUTOSAR(汽车开放系统架构)是一种用于汽车电子系统设计的国际标准,旨在提供一种开放、标准化的软件体系结构。02_AUTOSAR基础软件是AUTOSAR架构最底层的软件组件,要包括操作系统、通信栈、I/O驱动程序等。 操作系统是AUTOSAR基础软件的关键组成部分之一,它负责管理和协调整个汽车电子系统的各个软件组件。它提供了任务管理、时间管理、资源管理等功能,保证系统的稳定和可靠运行。 通信栈是AUTOSAR基础软件的另一个重要组成部分,它负责在整个汽车电子系统实现各个软件组件之间的通信。通信栈提供了一套统一的接口和协议,使得不同的软件组件能够方便地进行数据交换和消息传递。 I/O驱动程序是AUTOSAR基础软件的另一个重要模块,它负责控制和管理汽车电子系统的各种输入输出设备。I/O驱动程序提供了一套统一的接口,使得软件开发人员可以方便地访问和控制各种外部设备,如传感器、执行器等。 通过使用02_AUTOSAR基础软件,汽车电子系统设计人员可以更加方便地开发和维护复杂的汽车电子功能。它提供了一种标准化的软件架构,将不同的软件组件进行模块化设计,降低了系统开发和集成的复杂性。同时,02_AUTOSAR基础软件也提供了一套统一的接口和协议,使得不同的汽车电子系统可以方便地进行集成和交互,提高了系统的可扩展性和兼容性。 总之,02_AUTOSAR基础软件是一种标准化、模块化的软件架构,它为汽车电子系统的设计和开发提供了一种统一的框架和方法,降低了系统开发和维护的难度,提高了系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值