zoukankan      html  css  js  c++  java
  • TCP/IP||链路层

    1.链路层

      链路层主要有3个目的

        1.为ip模块发送数据和接收ip数据报

        2.为ARP模块发送ARP请求和接受ARP应答

        3.为RARP发送RARP请求和应答

      以太网IP数据报封装在RFC 894,IEEE 802 网络IP数据报封装在RFC 1042中,所以主机需求rfc都与10mb/s以太网电缆相连接

        1.必须可以接收采用rfc 894封装格式分组

        2.接受rfc 894混合和rfc 1042封装格式分组

      RFC 894 采用48 bit的目的地址和原地址,在802标准定义的帧格式中不包括crc检验吗,以太网的类型定义了后续数据的类型,在802,类型字段由子网接入协议的首部给出.

      CRC字段用于帧内后续字节差错的循环冗余码检验。

      

    2.尾部封装

      RFC 893 称为尾部封装,通过调整ip数据报中的字段次序来提高性能.

    3,SLIP 串行线路ip

      Serial Line Ip,是一种在串行线路上对IP数据报进行封装的简单形式,在RFC 1055中描述,适用于RS-232串行端口和高速调解器,其中定义了以下格式

      1.IP数据报以END特殊字符结束

      2.如果IP报文某个字符为END,那么连续输入2个字节0xdb和0xdc来取代.

      3.如果报文某个字符为slip的END字符,那么连续输入两个字节0xdb和0xdd来取代

      SLIP也存在着以下缺陷

        1.必须知道对方的IP地址

        2.数据帧没有类型字段,如果一条为slip,那么不能使用其他协议

        3.没有在数据帧加上检验和.

    4.压缩SLIP

      为了解决串行线路速率低导致的线路上有许多tcpid分组进行交换,所以cslip将字符压缩到3或5个字符,使首部大大缩短了交互时间

    5.PPP点对点协议

      修改SLIP所有的缺陷,包括

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

      2.链路控制协议(LCP):通信双方进行协商,确定不同的选项

      3.针对不同网络层协议的网络控制协议(NCP)

      RFC 1548 描述报文封装的方法和链路控制协议,RFC 1332描述了IP的网络控制协议

       PPP每一帧以标准字符0x7e开始结束,紧接着是地址字节值为0xff,然后是0x03的控制字节.

      协议字段的值为0x0021表示信息字段是一个IP数据报,值为0x021时,表示字段为链路控制数据,值为0x8021表示信息字段是网络控制数据。

      当字符出现信息字段时,ppp需要进行转义,在同步链路中,通过一种称作比特填充的硬件手段实现,而在异步链路中,以0x7d作为转义字符.

      相比slip具有以下特点

      1.ppp支持在单根串行线路中运行多种协议,不只是ip协议

      2.每一帧都有冗余检验

      3.通信双方可以进行ip地址的动态协商.

      4.对tcp和ip报文首部进行检验.

      5.链路控制可以对多个数据进行设置.

    6.环回接口(Loopback Interface)

      运行同一台主机上的程序和服务器通过tcp/ip进行通信

      1.环回地址的任何数据均作为ip输入

      2.传给广播地址或多播地址数据报复制一份传给环回接口

      3.ip地址数据均送给环回接口

  • 相关阅读:
    浅析平台营销
    基于物联网技术和RFID电子客票的铁路自己主动检票机
    海量数据存储
    Windows Serer 2003 配置手册 – 创建Active Dictionary域
    Java实现字符串转换成整数
    Java实现字符串转换成整数
    Java实现俄式乘法
    Java实现俄式乘法
    Java实现俄式乘法
    Java实现俄式乘法
  • 原文地址:https://www.cnblogs.com/EraserHead/p/6654415.html
Copyright © 2011-2022 走看看