首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Linux】数据链路层:以太网协议

1. (1)IP提供了将数据包跨网络发送的能力,这种能力实际上是通过子网划分+目的ip+查询节点的路由表来实现的,但实际上数据包要先能够在局域网内部进行转发到目的主机,只有有了这个能力之后,数据包才能跨过一个个的局域网,最终将数据包发送到目的主机。 所以跨网络传输的本质就是跨无数个局域网内数据包转发的结果,离理解整个数据包在网络中转发的过程,我们只差理解局域网数据包转发这临门一脚了。 (2)而现在最常见的局域网通信技术就是以太网,无线LAN,令牌环网(这三种技术在数据链路层使用的都是MAC地址),早在1970年代IBM公司就发明了局域网通信技术令牌环网,但后来在1980年代,局域网通信技术进入了以太网大潮,原来提供令牌网设备的厂商多数也退出了市场,在目前的局域网种令牌环网早已江河日下,明日黄花了,等到后面进入移动设备时代时,在1990年,国外的一位博士带领自己的团队发明了无线LAN技术,也就是wifi这项技术,实现了与有线网一样快速和稳定的传输,并在1996年在美国申请了无线网技术专利。 今天学习的正是以太网技术。

02

你搞懂J1939的连接管理协议了吗?

正如CAN的高层协议J1939标准所规定,传输协议功能是数据链路层的一部分,主要完成消息的拆装和重组以及连接管理,稍微了解一点CAN通信的童鞋应该知道,长度大于8字节的消息无法使用单个CAN数据帧来传输,因此必须被拆为很多个小的数据包,然后根据标准使用单个的数据帧对这个长消息进行多帧传输,这就要求接收方必须能够接收这些单个的数据帧,然后在重组成原始的消息,说白了就是拆包和打包。标准定义数据域的第一个字节作为多包消息的编号,例如,1,2,3......最大的数据长度为255 * 7 = 1785字节,也就是说J1939的多帧最多可以传送1785个字节。必须注意数据包编号从1开始,最大到255.其实在实际应用中,很少有一次传输这么多字节的。还有一点就是在多帧消息中,例如你有24个字节需要通过多帧传送,那么被拆分为4个包,而最后一个包未使用的字节需要填充0xff。

03
领券