udp 广播包只能在局域网中传输吗_OSI七层模型中,网络层和链路层之间是怎么结合的?...

很多人认为,链路层解决局域网的通信问题,由于不同的局域网使用不同的技术,导致局域网之间不能互联。于是需要网络层建立一层统一的抽象层,抹去底层差异。

假设用一台路由器连接两个局域网,它们的链路层协议不同。那么路由器需要同时支持这两种链路层协议才可以。

问题来了:

1.以上理解有没有错误?

2.如果没错,链路层的技术是否具有多样性?很多的话路由器是否要实现一堆?

3.路由器怎么知道接入的局域网用的是什么技术?

a118b7505f6e2c692e3c2641bba42aa7.png

针对以上问题,我们先来分析下物理层、数据链路层和网络层:

物理层—发送电信号或者光信号,数据链路层—帧封装,网络层—包封装。

1.在数据链路层,协商不同的协议,需要不同的方式。

因为这些帧头都会有个协商沟通过程,告知对端我们是什么样的数据封装方式调制解调。如双方需要一致的速率,双工模式,才能准确同步,之后才能成功交互信息。

帧中继的帧:

8b379c79448a966a2e7d235c53b4ed2a.png

PPP帧:

b7069172571423e02b2ede7eb65a0963.png

在互联网起初,就是一种协议一种设备。占用量很大,后面大家为了节能减排,统一江湖,就将这些协议整合起来了。如三旺的接口设备,可以支持PPP,帧中继,X.25等链路协议。全网通用,只要打个命令可以告知路由器用什么链路协议发送了。

当然,数据链路层和网络层,最初并不是为了抹去差异而存在的。

需知,最早的网络,局限于大学实验室,它就是很小的,这个时候就已经有了诸多的数据链路层协议,它存在的意义是控制物理链路上的数据传输。因为物理链路上传输的是电信号光信号,一旦链路质量不稳定,就会影响上层的数据传输。

以你熟悉的路由器为例,路由器上的以太网接口的状态有两个——物理层状态和链路层状态,只有链路层协议通知路由器,"这条链路我试过了,可以用。"路由器才会激活这个接口,数据才能转发。可以说,设计数据链路层,本质上是因为物理链路上的电信号,光信号不可控,因而需要一种方式确保数据在物理链路上正确传输,始终是工作在一条链路的两端。

至于会有这么多不同的数据链路层标准和协议,是因为在很长漫长的发展过程中,有很多人和很多公司曾经参与其中,网络层并不是为了屏蔽差异而出现的,这只是一个无奈的结果而已。数据链路层工作在一条链路两端,交换机设备扩展了数据链路层的工作范围,但仍然有力所不能及的地方,数据链路层的诸多协议、标准,还是太底层了,碰到范围比较大的网络,或者多个网络互连,就不行了,比如,你根本不能想象两台主机直接通过无限扩展的数据链路层网络,跨越国家,大洋去通信,数据链路层只能照顾到物理链路两端,更远距离更大范围的网络,它无能为力。

网络层是为了更远距离的传输而出现的,先行者们最终把网络层设计为一个无状态的网络,在这之上叠加TCP/UDP来实现远距离,大范围的主机/应用之间的可靠或者快速通信抹去底层差异,只是个结果,而不是出发点。

c11c9551d42541dae2f47404dacf3c1d.png

无线路由解决方案

2.如果现实中链路层的技术多样性,会导致路由器要实现一堆吗?

实际上,路由器本身就支持非常多的链路层协议,但随着时间的推移,市场的力量会淘汰掉大部分技术,只留下几个主流技术,比如以太网。尽管链路层多样性趋势化,但常见的路由器只管确保IP网络层的统一,下面的链路层协议,你想用哪个就哪个。因为OSI模型里面,数据不仅可以由下到上,也可以由上到下。如不用IP方式也可以实现,只要大家遵守相应的规则协议,一样可以向上向下传输数据,只是相当于再做一种新的OSI方案。

3.那路由器知道接入的是什么技术吗?

任何链路在激活之前,链路层协议都会有控制信令交互,符合协议规定的交互过程结束之后,路由器自然就知道数据链路层是什么。像一些指定数据链路层工作的路由器,是有相应的配置命令。毕竟这种东西不像MAC一样可以自动协商。实在不行,可以查询它的接口设备是什么类型的就可知道。

题外话:现在的网络技术基本都是管控MAC二层和IP层,但是在工业的网络上,如can总线,通过IP去控制,就需要相应的协议转换。这样的协议就是IP包进来,然后将IP包payload取出来,然后将payload换成CAN数据帧,再通过物理层发送出去,这样就完成单向的协议转换。反之也是可以的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值