zoukankan      html  css  js  c++  java
  • [TCP/IP详解:学习笔记]链路层

    链路层

    从图1中可以看出,在TCP/IP协议簇中,链路层主要有三个目的:

    1. 为IP模块发送和接收IP数据报;
    2. 为ARP模块发送ARP请求和接收ARP应答;
    3. 为RARP发送RARP请求和接收RARP应答。

     

     

    图1 TCP/IP协议簇中不同层的协议

     

    以太网(RFC 894)是当今TCP/IP采用的主要局域网技术,它采用了CSMA/CD的媒体接入方法,即带冲突检测的载波侦听多路接入。IEEE 802(RFC 1042)委员会对其重新定义。两个不同封装的格式如图2所示,图中每个方框下面的数字表示他们的字节长度。两个帧格式都采用48bit(6字节)的目的地址和源地址。

    在以太网帧格式中,类型字段之后就是数据;而在802帧格式中,源地址之后紧跟着长度字节,再之后是3字节的802.2 LLC和802.2 SNAP。目的服务访问点(Destination Service Access Point)和源服务访问点(Source Service Access Point)的值都设置为0xAA。Ctrl字段的值设置为3,org code设置为0。再接下来的2个字节类型字段和以太网帧格式相同。

    CRC字段用于帧内后续字节差错的循环冗余检验(检验和)。802.3帧中数据部分至少为38字节,而以太网帧中数据部分最少为46字节。若数据部分不足最小要求,则剩余空间插入填充字节(pad)。

     

    图2 以太网和IEEE802封装格式

    SLIP(Serial Line IP),是一种在串行线路上对IP数据报进行封装的简单格式,在RFC 1055中有详细描述。SLIP适用于家庭中每台计算机都有RS-232串行端口(对当前计算机来说,这个串行端口已不是必须配置)和高速调制解调器接入Internet。SLIP报文的封装如图3所示。

     

    图3 SLIP报文的封装

     

           SLIP协议定义的报文:

    1. IP数据包以END(0xc0)的特殊字符结束。为了防止数据报到来之前的线路噪声被当做数据内容,在开始处也传一个END字符(如果有线路噪声,那么END字符将结束这份错误报文。这样当当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而丢弃)。
    2. IP数据报内的END字符à 0xdb和0xdc。
    3. IP数据包内的ESC字符à 0xdb和0xdd。

    SLIP的缺陷:

    1. 每一端必须知道对方的IP地址。而且没有办法把本端的IP地址通知给另一端;
    2. 数据帧中没有类型字段。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。

    环回接口,以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回地址预留的,但是大多数主机默认127.0.0.1作为环回地址,并命名为localhost。

    图4是环回接口处理IP数据报的简单过程。

     

    图4 环回接口处理IP数据包的过程

     

           图中需指出的关键点:

    1. 传给环回地址的任何数据均作为IP输入;
    2. 传给广播地址或多播地址的数据报复制一份传给环回地址,然后送给以太网上。这是因为广播传送和多播传送的定义包含主机本身;
    3. 任何传给该主机IP地址的数据均送给换回地址。

    需注意,送给主机本省IP地址的IP数据报一般不出现在响应的网络上。

           以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节(802.3比以太网少了8字节,是因为将这8字节用于扩展的信息存储)。

      参考文献:

      《TCP/IP详解:卷1 协议》

  • 相关阅读:
    全球2/3的DNS瘫痪 顶级域名根服务器故障
    PHP多种形式发送邮件
    IOS开发的基础知识
    Java数字图像处理基础
    将HTML5 Canvas的内容保存为图片
    C# SortedList类概念和示例
    实例对比剖析c#引用参数的用法
    如何理解css中的float
    创建Google网站地图Sitemap.xml
    c#生成静态html文件,封装类
  • 原文地址:https://www.cnblogs.com/life91/p/2999086.html
Copyright © 2011-2022 走看看