• 协议详解2——链路层


    1.1 链路层

    链路层作用:

      为IP模块发送和接受数据包;

      为ARP模块发送ARP请求和接受ARP应答(地址解析协议);

      为RARP发送RARP请求和接收RARP应答(逆地址解析协议);

    链路层协议:

      以太网链路层协议,串行接口链路层协议(SLIP和PPP),回环(loopback)驱动程序

    1.2 以太网和IEEE802封装

    1.3 SLIP:串行线路IP

      SLIP:是一种在串行线路上对IP数据报进行封装的简单形式;

    SLIP协议定义的帧格式:

    SLIP缺陷:

      1)每一端必须知道对方的IP地址,没有办法将本端的IP地址通知给另一端;

      2)数据帧中没有类型字段,如果一条线路用于SLIP那么不能同时使用其他协议;

      3)SLIP没有在数据帧中加上校验和;

    1.4 PPP:点对点协议

    PPP协议,修改了SLIP协议中的所有缺陷,包括三部分:

      1)在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶校验的异步模式,还支持面向比特的同步链接;

      2)建立,配置和测试数据链路的链路控制协议(LCP:Link  Control Protocol)。允许通信双飞进行协商,以确定不同的选项。

      3)针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。当前RFC定义的网络层有IP,OSI网络层,DECnet以及AppleTalk。

    PPP数据帧格式: 

      

    PPP相比于SLIP优势:

      1)PPP支持在单根串行线路上运行多种协议,不只是IP协议;

      2)每一帧都有循环冗余校验;

      3)通信双方可以进行IP地址的动态协商(使用IP网络控制协议);

      4)对TCP和IP报文首部进行压缩;

      5)链路控制协议可以对多个数据链路选项进行设置

    1.5  环回接口:Loopback Interface

    环回接口:

      允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信;

      A类网络号127就是预留给环回接口。大多数系统吧IP地址127.0.0.1分配给该接口,命名为localhost;

      一个传给环回接口的IP数据报不能在任何网络上出现。

    环回接口处理IP数据报的过程:

      1)传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入;

      2)传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。(因为广播传送和多播传送的定义包含主机本身);

      3)任何传给该主机IP地址的数据均送到环回接口

    1.6 最大传输单元MTU

      链路层的特性之MTU:最大传输单元:

     路径MTU

      两个主机之间的通信要通过多个网络,每个网络的链路层有可能有不同的MTU,则,两台通信主机路径中的最小MTU,即为路径MTU。

      

  • 相关阅读:
    golang与vscode的安装与配置
    numpy学习之前的必要数学知识:线性代数
    分布式系统设计系列 -- 基本原理及高可用策略
    微服务的4个设计原则和19个解决方案
    JAVA8 十大新特性详解
    ConcurrentHashMap总结
    Java NIO理解与使用
    深入了解 Java-Netty高性能高并发理解
    java内存泄漏的定位与分析
    Netty高性能编程备忘录(下)
  • 原文地址:https://www.cnblogs.com/zxqstrong/p/4716244.html
Copyright © 2020-2023  润新知