zoukankan      html  css  js  c++  java
  • 计算机网络自顶向下——链路层

    前言

      这一章是链路层

    一、链路层

    点对点链路: 链路一端的单个发送方和链路另一端的单个接收方组成。

    1、分类:

    ①广播型信道:通常用在局域网、无线LAN(WIFI)、卫星网和混合光纤电缆。

    ②点对点通信链路

    节点: 将运行链路层协议的任何设备称为节点,包括主机,路由器,交换机和WiFi接入点。
    链路: 将沿着通信路径连接相邻节点的通信信道称为链路。

    2、服务:

    ①成帧:把数据报用链路层帧封装起来。

    链路层的主体部分是在网络适配器中实现的,也网络接口卡(Network Interface Card, NIC)。网络适配器的核心是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片。链路层控制器的许多功能是用硬件实现的

    以太网帧的结构:

    (1) 数据字段:承载IP数据报。以太网最大传输单元1500字节。数据字段最小长度是46字节。如果数据报比这个小,就填充。去除填充是靠网络层首部的数据长度字段。

    (2) 地址:原地址和目的地址(MAC地址)。

    (3) 类型字段:上层协议(网络层)类型。ARP协议的帧有自己的类编号。

    (4) 循环冗余检测:两边提前约定好一个除数(n+1位)。发送方计算n位的冗余码:待发送数据末尾填加n个0(假设待发送数据为10010,n=3,则此时变成10010000),然后除以之前约定好的除数,得到一个余数放到待发送帧的末尾(假设得到的余数为110,则最后发送10010110).接收方将得到的数据除以除数,能整除就说明没出现差错。

    (5) 前同步码:前七个字段用于唤醒接收适配器,让它们的时钟和发送方一致。前同步码第八个字节最后两个比特警告适配器“重要的内容来了”。

    (6) 许多以太网技术用曼彻斯特编码:每个比特含一次跳变,1是从高电平跳到低电平,0相反。为的是发送适配器和接受适配器能精确同步。

    ②可靠交付:常用于易产生差错的链路,比如无线链路。而对于不易产生差错的链路这是不必要的开销。

    ③流量控制:链路层协议提供流量控制。

    ④差错检测与修正:循环冗余检测(CRC);TCP和UDP用检验和方法;奇偶校验思想(二维奇偶校验)。

    ⑤链路接入(要解决多路访问问题):通常碰撞(两个以上的节点同时传帧)使接收点都不能获得有效的传输帧。解决办法:

    (1) 信道划分协议:时分多路复用、频分多路复用以及码分多址(给每个节点分配不同 编码,实现不同节点能同时传输,不会相互干扰)。

    缺点:传输速率只能是R / M;而且即时只有一个节点要传输,也只轮到它才能传输。

    (2) 随机接入协议:发生碰撞后等一段时间(随机值)重传。

    ALOHA和时隙ALOHA:后者把时间划分为一段段时隙,所有传输都得开始于时隙开始;前者的帧首次到达时立即传输,后者需要等待到最近的时隙开始。后者效率更高。实现如果只有一个信道传输帧可以全速传输。

    载波侦听多路访问:

    载波侦听:侦听信道,如果信道被占用就等待。

    碰撞检测:检测到碰撞立即停止。

    (3) 轮流协议:同一条广播链路上的节点以传递令牌的形式轮流获得传输的权利。如果得到令牌的节点没有东西要传,迅速传给下一个。

    轮询协议:一个主节点一次把令牌发下去,询问其它节点,并给出最大数量帧(防止一个节点占用时间过长)。缺点是有轮询延迟:即使只有一个节点在传输,不能全速传输,因为主节点要在其传输完最大数量帧后轮询;而且一旦主节点出问题,整个信道不能用。

    令牌传递协议:没有主节点,令牌互相传。缺点:一旦某个节点出了问题,信道将不能用。

    ⑥半双工和全双工:采用全双工传输时,链路两端节点可以同时传输分组;采用半双工时,一个节点不可以同时传输和接收分组。

    3、编址(MAC地址):

    ①原因:保持隔层独立,而且链路层并不是只为IP协议服务的。

    ②MAC地址详情:它是扁平结构而不是IP地址那样的层次结构;带有以太网网卡的便携机总有相同MAC地址,无论在哪里;

    ③发送过程:发送适配器将目的适配器的MAC地址放到目的地址字段中,将该帧发到局域网上。如果局域网是广播局域网,则该广播局域网所有适配器接收:如果目的MAC地址是自己,就接受,否则丢弃。也有广播MAC地址:FFFFFFFFFFFF。局域网的每个适配器都会接收。

    ④地址解析协议(ARP):

    (1) ARP表:每个主机或路由器的ARP模块RAM都有ARP表记录IP地址、MAC地址和时间。不用记录所有子网上的节点。传帧的时候查ARP表,如果里面有映射就发到相应的MAC地址。如果通过路由器发到别的子网,ARP表里存储的是目的IP地址和需要通过的路由器接口适配器地址(路由器每个接口都有IP地址、适配器、MAC地址!),帧会传到路由器,然后路由器根据帧的目的IP地址,查自己的ARP表,找到目的地的MAC地址进行传输。

    (2) 目的地址ARP表里没有目的地MAC地址:发送ARP分组(进行广播),目的地适配器会返回一个响应ARP分组。然后发送适配器更新ARP表。ARP表是即插即用的,即自动建立,不需人为插入。

    4、链路层交换机:任务是接收入链路层帧并把它们转发到出链路。交换机是透明的。交换机输出接口有缓存。

    ①转发和过滤:借助交换机表(记录了某局域网上某些节点而不一定是全部节点的MAC地址和到达该节点的交换机接口以及时间)。如果交换机表中没有目的地址,广播。如果收到的帧目的地址和源地址相同,说明是其它交换机广播过来的,过滤。

    ②交换机表自学习(即插即用):每收到一个帧,都会存储它的源地址、接口和时间。过了一定时间没收到该地址的帧就会删除。

    ③交换机优点:

    (1) 消除碰撞:交换机缓存帧且不会同时传输多于一帧。

    (2) 异质链路:交换机将链路彼此隔离,所以不同链路能以不同速率运行而且可以在不同媒体运行。

    (3) 管理:如果一个适配器异常发送,交换机会将它短开;如果一个节点短开了,交换机会收集数据供分析。

    ④和路由器比较:

    交换机是第二层的,交换机表存储地址为MAC地址;路由器是第三层的,转发表存储IP地址。两者都是分组交换机。

    交换机即插即用,且效率较高。

    路由器对第二层广播风暴提供防火墙保护,安全性更高。

    几百个主机组成的小网络通常有几个局域网网段,这种小网络用交换机;几千台主机组成的大网络用路由器。

     

    偶校验: 假设发送方要发送的信息中含有d比特,发送方只需要包含一个附加比特,选择它的值,使得这d+1比特中1的个数是偶数。

    奇校验:假设发送方要发送的信息中含有d比特,发送方只需要包含一个附加比特,选择它的值,使得这d+1比特中1的个数是奇数。

    二、局域网(主要以太网)

    1、以太网帧

    2、多路访问协议:载波侦听协议(没有时隙)。

    指数后退:碰撞检测过程中检测出碰撞会发送阻塞信号,受到n次碰撞后随机等待

    (0~ 2 ^ m - 1) * 512(m = min(10,n))比特时间重传。

    3、以太网使用链路交换机。

    4、以太网链路层差错检验发现错误立即丢弃,发送方不会知道。全靠运输层保障。

  • 相关阅读:
    JSP引擎的工作原理
    Hibernate缓存配置
    理解LinkedHashMap
    如何在CMD下运用管理员权限
    sun.misc.BASE64Encoder找不到jar包的解决方法
    访问WEB-INF目录中的JSP文件
    Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
    message from server: "Host 'xxx' is not allowed to connect to this MySQL server的解决
    深入Java单例模式
    (八)路径(面包屑导航)分页标签和徽章组件
  • 原文地址:https://www.cnblogs.com/ifannie/p/11149407.html
Copyright © 2011-2022 走看看