zoukankan      html  css  js  c++  java
  • 『TCP/IP详解——卷一:协议』读书笔记——04


    2013-08-18 16:31:17


    • 第2章 链路层
    • 2.1 引言

    链路层主要有三个目的:

    为IP模块发送和接受IP数据报
    为ARP模块发送ARP请求和接受ARP应答
    为RARP发送RARP请求和接受RARP应答

    TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、FDDI(光线分布式数据接口)及RS-232串行线路等。

    • 2.2 以太网和IEEE 802封装

      以太网 IEEE 802
    简介 这个术语一般是指数字设备公司、英特尔和Xerox公司在1982年联合公布的一个标准。是当今TCP/IP采用的主要的局域网技术 几年后,IEEE(电子电气工程师协会)802委员会公布了一个稍有不同的标准集。
      采用CSMA/CD的媒体接入方式,意思是:带冲突检测的载波监听多路接入。 802.3针对整个CSMA/CD网络;802.4针对令牌总线网络;802.5针对令牌环网络
        以上三者的共同特性由802.2标准来定义——802网络共有的逻辑链路控制(LLC)
      不幸的是:802.2和802.3定义了一个与以太网不同的帧格式(即上图&下文将要讲的)
    地址 看上图:两种帧格式都采用48bit(6字节)的目的地址和源地址,这是书上说的硬件地址(802.3允许使用16bit的地址,但一般是48bit的地址)
    长度   指后续数据的字节长度但不包含CRC校验码
    类型 在地址字段后16位,定义后续数据的类型 由后续的子网接入协议(Sub-network Access Protocol, SNAP)的首部给出
      幸运的是:802定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分
      类型之后就是数据   跟随在长度之后的是3字节的802.2 LLC
    目的服务访问点(Destination Service Access Point, DSAP) 0xaa
    源服务访问点(Source Service Access Point, SSAP) 0xaa
    Ctrl 0x03
    5字节的802.2 SNAP
    org code(3字节) 0x000000
    类型(2字节) 和以太网帧格式一样
    最小长度要求 46字节 38字节(802.3规定)
      为了保证最小字节,必须在不足的空间插入填充(pad)字节
    • 2.3 尾部封装

      这是一种过时的技术,它通过调整IP数据报中字段的次序来提高读取的速率。详情请谷歌。

    • 2.4 SLIP:串行线路IP

      SLIP:全称Serial Line IP。它是一种在串行线路上对IP数据进行封装的形式。使用于RS-232串行端口和高速调制解调器(几乎每台家庭计算机都有)。

      上图为SLIP协议定义的帧格式:

    特点 1. IP数据报以称作END(0xc0)的特殊字符开头和结尾。这是为了防止有线路噪声干扰正常数据的情况出现。SLIP解析数据报的时候会把一个END之后和一个END之前的数据读进来,如果是噪声数据,会把它交给上层,然后上层很惊奇的发现这段报文毫无意义,然后就会被抛弃,继续读下去。
      2. 如果IP报文中的某个字符是END,则在前边加一个ESC字符(0xdb)。注:这个ESC与ASCII码的ESC(0x1b)是不同的哦~这样做有点像C语言中printf语句用“\”来告诉编译器要输出一个‘’。
      3. 如果IP报文中的某个字符是SLIP的ESC,那么就要连续两个字节0xdb和0xdd来取代它。
    缺陷 1. 每一端必须知道对方的IP地址,没有办法把本端的IP地址通知给另一端。
      2. 数据帧中没有类型字段(类似与以太网中的类型字段),如果一条串行线路使用SLIP协议,那么它不能同时使用其他协议。
      3. SLIP没有在数据帧中加上检验和(类似于以太网中的CRC字段),如果SLIP传输中的报文被线路噪声印象并发生错误,只能通过上层协议来发现(另一种方法是,调制解调器可以检测并纠正报文)。

      尽管存在缺陷,但仍然使用广泛。

    • 2.5 压缩的SLIP

      性能缺陷:由于串行线路速率低,且采用TCP的交互式通讯,因此在SLIP线路上有许多小的TCP分组进行交换。为了传递1个字节的数据却需要20字节的IP首部和20字节的TCP首部,这样就非常浪费空间和时间,降低网络的使用率。

      解决:于是CSLIP(压缩SLIP)协议出现了!CSLIP一般能把上面的40字节压缩到3或5个字节。它能在CSLIP的每一端主机维持多达16个TCP连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。对于那些发生变化的字段,大多数只是一些小的数字和的变化。大多数SLIP产品都支持CSLIP。

  • 相关阅读:
    "Illegal group reference"异常的分析
    一个基于WEB的js时间控件的实现
    ASP.NET网站的网络安全性
    关于"parseInt"
    【C#算法】冒泡排序 选择排序 插入排序 希尔排序转
    【c#】web.config续
    【C#】GridView用法
    [C#]接口引
    【SQL】DBCC
    【C#】泛型
  • 原文地址:https://www.cnblogs.com/raphael-wang/p/3266119.html
Copyright © 2011-2022 走看看