前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EE|计算机网络|Link Layer-链路层

EE|计算机网络|Link Layer-链路层

作者头像
朝闻君
发布2021-11-22 11:29:37
3720
发布2021-11-22 11:29:37
举报

网络协议栈

整体呈漏斗型,Network只使用IP,因为对于网络而言,使用的用户数,会造成平方级别的链接,因此单个网络的人数越多越好。

send时层层加包,recieve时层层解包。

Application(B/S): URL

负责基本数据

Transport(Proxy, Firework): Port number

TCP维护Seq Ack等数据,用于验证(防止传输错误),因此有所谓三次握手。

负责传输失败时进行重传。

Network(Router): IP address

负责next hop。每个路由有route table,根据路由协议(防止呈环),逐渐找到正确的地址。

Link&Physical(Line)

负责物理传输,错误检测。(电路容易出错)


Link Layer

链路层的目的是物理上将两个位置的数据进行直接传输。

•物理传输

并行-单位时间位数为n,由于需要等待所有线同步传输,实际效率未必高

串行-单位时间位数为1,不需要等待response

如果共享时钟的话,可以先商量好传输多少次data,而不需要每次都进行一次请求。根据传递的data的频率,在B通过VCO(Voltage Controlled Oscillator)我们可以将时钟周期与A同步。然而如果全是0的话,看起来信号就会一值不变。因此引入曼彻斯特编码,0->10,1->01,减少速度传输效率,从而让VCO正确运转。

Manchester Code


•多路传输+数据组织

同步通信 (telephone communication)

–Switch需要进行统筹

–需要建立和拆卸连接(因此需要保存状态)

每个电话建立的连接固定64kb带宽,固定了size和间距

电话的包会被拆分成多个frame

异步通信 (data communication)

Message: 突发的、不适合固定大小和间距

–无需建立连接, 异步

frame长度任意,可以在任意link空闲时传输。由于无需connection,stateless

Multiplexing / Demultiplexing

信息的传递使用队列,在Demultiplex时通过header中的目的地,与switch中的forwarding table进行下一步传递。

可以选择一个简单的序列作为frame的定界符(如7个1,为了避免数据中出现,则打包时所有的6个1后添加0,解包时1111110后删去0)

•错误检测

常见的冗余编码,通过最终的码是否仍符合规则,判断什么位传输出了问题。

这里之所以插入在1,2,4位,是因为看表,下标相加即可。

把理论的P367推出的编码和实际的编码比较,根据Not Match的位置,即可判断哪一位传输错误。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络协议栈
  • Link Layer
  • •物理传输
  • •多路传输+数据组织
  • •错误检测
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档