zoukankan      html  css  js  c++  java
  • 网络通信协议(三)

    这一节主要是讲:Intemet地址结构

    网络层地址又称IP地址。连接到Internet的设备至少还要有一个IP地址。基于TCP/IP协议的专用网络中使用的设备也需要IP地址。

    大多数Intemet用户熟悉IP地址,并且了解最流行的地址类型‥ IPv4地址。这些地址通常采用所谓的点分四组或点分十进制表示法,例如165.195.130.1070点分四组表示法由四个用点分隔的十进制数组成。每个这样的数字是一个非负整数,范围为[0, 255],代表整个IP地址的四分之一。
    IPV6的地址长度是IPV4的4倍,8个块的IPv6地址可写为5fO5:2000:80ad:5800‥0058‥0800‥2。IPV6也可以直接转化成十六进制的表示方式。
    分类寻址:划分方法是基于当前或预计的主机数量,将不同大小的IP地址空间分配给不同的站点。
    IPV4中大部分的地址都是单播地址,这个蛮好理解的,例如是上图C的方式,在公司的电脑其实是公司节点的一部分,而公司节点可能就是C中的某一种可能。
    由于ABCDE中每个的网络号不一样。是如何保证他们都能被发现的原因就是前八位可限制住大小,这样就有了一个自然的划分区间。  

    子网寻址的特点就是部分地址又子网节点自己负责。前面集中分配的部分保障了子网的大部分范围。从而确定了唯一性。要注意的是子网的最后一位和第一位是无效的,也就是理论上最有256-2个子网。

     具体的操作流程如下图所示,特点就是如果子网的产生是又边界路由器产生的,那么收发的时候自然也是由边界路由器来决定

     子网掩码和别的掩码的意思一样,因为不是有ABCDE多种IPV4的组成方式嘛,需要通过具体的掩码来实现确认,如果是24+8的组合,掩码就需要是255.255.255.0,目的是去除自身成的尾部。然后再交由路由器进行分发。在传出的时候也是一样的操作。二进制的IPV4和掩码进行与操作就可以完成。至于路由器的也是一代代进化的,目前的大多数路由器都支持动态掩码。目的就是更多的可以管理更多的主机。

    广播地址:广播地址很好得到就是24+8,那么末尾的8和取反后的掩码进行与运算就可以得到,也就是XXX.XXX.XXX.255,所以上面说的头和尾都会被取消(255-2)的原因也是如此。是使用这个地址进行广播的好处就是,这个XXX.XXX.XXX内的所有的主机都会收到发送的消息。但是从安全的角度上看这个方法是有很大的缺陷的,之后在Internet是被禁止的。

     查看一下学生机里面的网络层情况。mtu=最大传输单元,inet=internet,这边很明显都是XXX.XXX.XXX.XXX=IPV4。netmask子网掩码。broadcast表示广播地址,RX和TX表示接收和发送。

    这边可以看出以太网的地址是:00:16:3e:0a:59:50,但是我这台机子没有Mac地址,无法按照书里的步骤来。

     书中的例子还是比较详细的

    当地址被分配的所剩不多的时候,就必须扩大地址的分配范围,例如本来是一个区使用一个B类IP段,现在可能需要变成一个县使用一个B类IP段。一种方便的分配连续地址范围的方式,包含多于255台但少于65536台主机。这种方法被称为CIDR技术.CIDR的最大特点就是通过CIDR掩码(类似子网掩码)不是仅仅局限于单个站点。路由选择表增大的问题,打破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由.准确的说就是 没cidr你只能按ABC类的掩码划分,A类掩码范围只能在/8以上,b类是/16,c类是/24。也就是无论如何你一个c类地址通过汇总没办法出现掩码小于24位的情况,拿192.168.1.0-192.168.3.0,这三个你要是没有cidr就没办法就行汇总,因为汇总完是192.168.1.0/22,而c类默认掩码是/24,通告路由的时候是通告三条路由,用cidr可以汇总为一条路由192.168.1.0/22来进行通告。

    那么CIDR是如何进行工作的呢?将使更细粒度的IP地址分配范围成为可能。与分类寻址类似,地址空间分割成块最容易通过数值连续的地址来实现,以便用于某种类型或某些特殊用途。目前,这些分组普遍使用地址空间的前缀表示。斜杠后面的含义被提前放置在了前部,这样就可以提前得知是什么类型的,可以更方便的进行整合。

    如果看分层的角度来分析一条条的网络层链路。问题就是会越来越多,而且会越来越大。那么在寻找的时候可以看作是需要多个if/else来进行决定。

    如果使用聚合的方式来进行分析,这样看的话,其实本质还是树的思想,区别在于这边是相似的放在了一起而不是进行了分级。

    首先看图2-9中左侧的三个地址前缀。前两个( 190.154.27.0/26和190.154.27.64/26)数值相邻,因此可被组合(聚合)。箭头表示聚合发生的地方。前缀190.154.27.192/26不能在第一步被聚合,由于它们并非数值相邻。当增加一个新前缀190.154.27.128/26 (下划线),前缀190.154.27.192/26和190.154.27.128/26可能被聚合,并形成190.154.27.128/25前缀。这个聚合现在与聚合190.154.27.0/25相邻,因此它们可进一步聚合成190.154.27.0/240当增加前缀190.154.26.0/24 (下划线),两个C类的前缀可以聚合成190.154.26.0/2。
    IPV4和IPV6之间可以进行相互的转化,目前有6种方式可以进行转化。

    IP地址用于识别和定位整个Intemet系统(单播地址)中设备的网络接口。它也用于识别多个接口(组播、广播或任播地址)。每个接口有一个最少32位的IPv4地址,并且通常有几个128位的IPv6地址。单播地址由一些分层次组织的管理机构分配成块。由这些机构分配的前缀表示一个单播IP地址空间块,这些块通常分配给ISP,并由它们为自已的用户分配地址。CIDR的开发和部署是Intemet核心路由系统的一个根本性变化o CIDR成功地为分配地址空间提供更多灵活性,并通过聚合提升路由的可扩展性。另外




    smartcat.994
  • 相关阅读:
    Python图形图像处理库的介绍之Image模块
    python re.sub
    eclipse 安装git插件
    一组神奇的 3D Gif 动图
    互联网颠覆房地产
    一位IT行业高收入者的理财规划方案
    阿里核心系统团队介绍
    大规模SNS中兴趣圈子的自动挖掘
    关于 MySQL LEFT JOIN 你可能需要了解的三点
    Could not connect to SMTP host: localhost, port: 25;
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/14134112.html
Copyright © 2011-2022 走看看