zoukankan      html  css  js  c++  java
  • TCP/IP详解读书笔记:链路层

    在TCP/IP协议族中,链路层主要有三个目的:

    1)为IP模块发送和接受IP数据报;

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

    3)为RARP模块发送RARP请求和接受RARP应答;

    以太网和IEEE 802封装

    以太网是1982年公布的一个标准,是当今TCP/IP采用的主要的局域网技术,它采用一种称为CSMA/CD的媒体接入方法,意思是带冲突检测的载波侦听多路接入,它的速率是10Mb/s,地址为48bit。

    还有一个标准是IEEE 802标准。它和以太网的帧格式不同。802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络,这三者的共同特性由802.2标准定义,这就是802网络共有的逻辑链路控制(LLC)。

    在TCP/IP中,以太网的IP数据报的封装是在RFC 894中定义的,IEEE 802的封装是在RFC 1024中定义的。

    最常使用的封装格式是RFC 894定义的格式。下图是两种不同的封装格式。

    上图中,第一个封装格式是802标准的,第二个是以太网格式的。

    从上图可以看出,两种帧格式都采用48bit的目的地址和源地址,存放的是硬件地址。ARP和RARP协议会对32位IP地址和48位的硬件地址进行映射。

    802接下来的是长度字段,指的是后续数据的长度,不包括CRC。而以太网接下来的类型字段定义了后续数据的类型。

    以太网帧格式比较简单,接下来就是数据了。而802帧格式接下来是3个802.2的LLC和5字节的 SNAP(子网接入协议),其中,目的服务访问点(DSAP)和源服务访问点(SSAP)值都为0xaa,Ctrl字段值为3,随后的3个字节org code都为0,再接下来就是类型字段。

    802.3规定数据部分至少为38字节,以太网则要求是46字节,如有不足的情况,就要填充字节。

    SLIP:串行线路IP

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

    开始处和结束处传一个END(0xc0)的特殊字符。

    如果报文中某个字符为END,那么就了连续传输两个字节0xdb和0xdc来取代。0xdb被称为SLIP的ESC字符。

    如果报文中某个字符为ESC字符,那么就连续传输两个字节0xdb和0xdd。

    值得一提的是,这是一个老的工业标准,目前已被PPP协议取代。

    压缩的SLIP

    为了传输一个字节需要20个字节的IP首部和20个字节的TCP首部。CSLIP一般能把这40个字节压缩到3到5个字节。

    PPP:点对点协议

    格式如上图,不再赘述。

    环回接口

    环回接口允许在同一台机器上的服务器程序和客户端程序通过TCP/IP进行通信。

    最大传输单元MTU

    也就是对数据帧的长度的限制,比如以太网的是1500字节。

    当两个主机间的通信需要经过多个网络,那么其中最小的MTU称为路径MTU。

    串行线路吞吐量计算

  • 相关阅读:
    git使用
    onethink常用标签的使用示例
    thinkphp中 select() 和find() 方法的区别
    CSS3Ps -Photoshop图层特效转CSS3代码
    普通公司网站代码片段合辑
    IE hack大全
    PHP四种基础算法详解:冒泡,选择,插入和快速排序法
    PHP编程效率的20个要点
    php实现AES/CBC/PKCS5Padding加密解密(又叫:对称加密)
    浏览器桌面提醒,适用于网站“新消息提醒”
  • 原文地址:https://www.cnblogs.com/fxb248/p/4186860.html
Copyright © 2011-2022 走看看