计算机网络——31数据链路层和局域网引论和服务

数据链路层和局域网

WAN:网络形式采用点到点链路

  • 带宽大,距离远(延迟大)
    • 贷款延迟积大
  • 如果采用多点连接方式
    • 竞争方式:一旦冲突代价大
    • 令牌等协调方式:在其中协调节点的发送代价大

点到点链路的链路层服务实现非常简单,封装和解封装

LAN一般采用多点连接方式

  • 连接节点非常方便
  • 接到共享型介质上(或网络交换机),就可以连接所有其他节点

多点连接方式网络的链路层功能实现相当复杂

  • 多点接入:协调各节点对共享型介质的访问和使用
  • 竞争方式:冲突之后的协调
  • 令牌方式:令牌产生,占有和释放等

一些术语

  • nodes:主机和路由器是节点(网桥和交换机也是)
  • links:沿着通信路径,连接各个相邻节点通信信道的是链路
    • 有线链路
    • 无线链路
    • 局域网、共享性链路
  • frame:第二层协议数据单元帧,封装数据报

数据链路层负责从一个节点通过链路将(帧中的)数据报发送到物理相邻节点

链路层:上下文

数据报(分组)在不同的链路上以不同的链路协议传送:

  • 第一跳链路:以太网
  • 中间链路:帧中继链路
  • 最后一跳:802.11 (无线局域网通用的标准)

不同的链路协议提供不同 的服务(比如在链路层上提供( 或没有)可靠数据传送)

传输类比

  • 从Princeton到Lausanne
    • 轿车: Princeton to JFK
    • 飞机: JFK to Geneva
    • 火车: Geneva to Lausanne
  • 旅行者=数据报datagram
  • 交通段=通信链路 communication link
  • 交通模式=链路层协议 : 数据链路层和局域网 protocol
  • 票务代理=路由算法 routing algorithm

链路层服务

成帧,链路接入

  • 将数据报封装在帧中,加上帧头、尾部
  • 如果采用的是共享性介质,信道接入获得信道访问权
  • 在帧头部使用"MAC"(物理)地址来标示源和目的
    • 不同于IP地址

在相邻两个节点完成可靠数据传递

  • 第三章内容
  • 在低出错率的链路上(光纤和双绞线电缆)很少使用
  • 在无线链路经常使用:出错率高
    • Q:为什么在链路层和传输层都实现了可靠性
    • 一般化的链路服务,不是所有的链路层都提供这些服务,一个特定的链路层只是提供其中一部分的服务

在相邻节点间进行可靠的转发

  • 第一章内容
  • 在低差错链路上很少使用(光纤,一些双绞线)
    • 出错率低,没有必要每一个帧中做差错控制的工作,协议复杂
      • 发送端对每一帧进行差错控制编码,根据反馈做相应的动作
      • 接收端进行差错控制编码,反馈给发送端(ACK,NAK)
    • 在本层放弃可靠控制的工作,在网络层或者是传输层做可靠控制的工作,或者根本就不做可靠控制的工作
  • 在高差错链路上需要进行可靠的数据传送
    • 高差错链路:无线链路
    • Q:为什么要在采用无线链路的网络上,链路层做可靠数据传输工作;还要在传输层做端到端的可靠性工作?
    • 原因:出错率高,如果在链路层不做无差别控制工作,漏出去的错误比较高;到了上层如果需要可靠控制的数据传输代价会很大
      • 不做local recovery工作,总体代价大

流量控制

  • 使得相邻的发送和接收方节点的速度匹配

错误检测

  • 差错由信号衰减和噪声引起
  • 接收方检测出的错误:
    • 通知发送端进行重传或丢弃帧

差错纠正

  • 接收端检查和纠正bit错误,不通过重传来纠正错误

半双工和全双工

  • 半双工:链路可以双向传输,但一次只有一个方向

链路层在哪里实现

在每一个主机上

  • 也在每一个路由器上
  • 交换器的每个端口上

链路层功能在"适配器"上实现(aka network interface card NIC)或者在一个芯片组上

  • 以太网卡,802.11网卡;以太网芯片组
  • 实现链路层和相应的物理层功能

接到主机的系统总线上

硬件、软件和固件的综合体

适配器通信

发送方:

  • 在帧中封装数据报
  • 加上差错控制编码,实现RDT和流量控制功能

接收方

  • 检查有无差错,执行rdt和流量控制功能等
  • 解封装数据报,将之交给上层
相关推荐
无名的小三轮1 分钟前
华为eNSP中USG6000防火墙web界面登录设置
网络·笔记·安全·web安全·华为
AI视觉网奇6 分钟前
ue 5.5 c++ mqtt 订阅/发布 json
网络·c++·json
ArrebolJiuZhou12 分钟前
03 rtp,rtcp,sdp的包结构
linux·运维·服务器·网络·arm开发
txinyu的博客14 分钟前
解析muduo源码之 StringPiece.h
开发语言·网络·c++
REDcker23 分钟前
WebSocket 协议详解 (RFC 6455)
网络·websocket·网络协议
浔川python社30 分钟前
《C++ 小程序编写系列》(第六部)
java·网络·rpc
23124_8032 分钟前
HTTPS中间人攻击
网络·网络协议·https
小风呼呼吹儿1 小时前
Flutter 框架跨平台鸿蒙开发 - 倒计时秒表:打造多功能计时工具
网络·flutter·华为·harmonyos
河码匠1 小时前
namespace 网络命名空间、使用网络命名空间实现虚拟路由
linux·网络
开开心心就好1 小时前
打印机驱动搜索下载工具,自动识别手动搜
java·linux·开发语言·网络·stm32·物联网·电脑