zoukankan      html  css  js  c++  java
  • 网络协议-TCP/IP基础(2)

    链路层目的


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

    主机使用的以太网RFC


    RFC要求每台Internet主机必须与一条10Mb/s的以太网电缆相连接:

    1. 必须能够发送和接收RFC 894(以太网)封装格式的分组
    2. 应该能接收与RFC 894混合的RFC 1024(IEEE 802)封装格式的分组
    3. 也许能够发送RFC 1024格式的分组,如果主机能够同时发送两种类型的分组,那么发送的分组必须是可以设置的,且默认为RFC 894格式的分组数据

    RFC802封装格式


    • 两种帧格式都采用48bit(6字节)的目的地址和源地址
    • ARP和RARP协议对32bit的IP地址和48bit的硬件地址进行映射
    • 802定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分
    • 目的服务访问点DSAP和源服务访问点SSAP的值都设为0xaa,ctrl字段的值为3,随后的3个字节org code都置为0,再接下来的2个字节类型字段和以太网帧格式一样
    • 802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节,为了保证这一点,必须在不足的空间中插入填充(pad)字节

     PPP:点对点协议


    • 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶检验的异步模式(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链接
    • 建立、配置及测试数据链路的链路控制协议(LCP),它允许通信双方进行协商,以确定不同的选项
    • 针对不同网络层协议的网络控制协议(NCP)体系,当前RFC定义的网络层有IP、OSI网络层、DECnet以及Apple Talk。例如IPNCP允许双方商定是否对报文首部进行压缩,类似于CSL IP(缩写NCP也可用在TCP的前面)

     MTU和路径MTU


    • 以太网和802.3对数据帧的长度都有一个限制,其最大值分别为1500和1492字节,链路层的这一个特性称为MTU,叫做最大传输单元。
    • 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据报分成若干片,这样每一片都小于MTU。
    • 点到点的链路层(如SLIP和PPP)的MTU并非指的是网络媒体的物理特征,相反,他是一个逻辑限制,目的是为交互使用提供足够快的响应时间。
    • 两台通信主机路径中的最小MTU,被称为路径MTU。
    • 路径MTU在两个方向上不一定是一致的。
  • 相关阅读:
    怎样监听HTTP请求的发出与完成
    在Ubuntu下安装source Insight
    Android 5.1 预制输入法
    RK3288编译 Android 5.1 固件
    Android编程之Listener侦听的N种写法及实现原理
    android thread Runnable
    Android Service完全解析(下)
    Android Service完全解析(上)
    android 串口 android-serialport-api
    Android Studio在Ubuntu下离线安装Gradle
  • 原文地址:https://www.cnblogs.com/Virus-Faker/p/14700955.html
Copyright © 2011-2022 走看看