一、IP地址

  1、IP地址就是给互联网上每一台主机 (或路由器)每一个接口分配一个在全世界范围内是唯一的32位二进制的地址标识符。现在由互联网名字和数字分配机构ICANN进行分配。

  2、转换成十进制

二、分类IP

   分类IP就是将IP分成若干个固定类,每一类地址都是由两个固定长度的字段组成,其中第一个字段为网络号,必须是唯一的。第二个字段为主机号。

  1、A类地址

    A类地址网络号占一个字节,只有7bit位可供使用,可指派的网络号为(2的7次方-2)

      a、网络号全0的IP地址是一个保留地址,意思是“本网络”;

      b、网络号为127的保留作为本地软件的环回测试

    A类地址主机号占3个字节,每一个A类网络最大主机数是(2的24次方-2 = 16777214)

      a、全0表示这个网络,5.1.2.3 => 5.0.0.0

       b、全1表示这个网络所有主机,5.1.2.3 => 2.255.255.255

    IP地址一共(2的32次方 = 4294967296),A类地址占了(2的31次方)50%。

  2、B类地址

    B类地址网络号占2个字节,可指派的网络号为(2的14次方-1)

      a、网络号为128.0.0.0保留

    B类地址主机号占2个字节,每一个B类网络最大主机数是(2的16次方-2 = 65534)

      a、全0表示这个网络,5.1.2.3 => 5.1.0.0

      b、全1表示这个网络所有主机,5.1.2.3 =>5.1.255.255

    IP地址一共(2的32次方 = 4294967296),B类地址占了(2的30次方)25%。

   3、C类地址

    C类地址网络号占3个字节,可指派的网络号为(2的21次方-1)

      a、网络号为192.0.0.0保留,最小网络号为192.0.1.0

    C类地址主机号占1个字节,每一个C类地址最大主机数是(2的8次方-2 = 254)

      a、全0表示这个网络,5.1.2.3 => 5.1.2.0

      b、全1表示这个网络所有主机,5.1.2.3 => 5.1.2.255

    IP地址一共(2的32次方 = 4294967296),C类地址占了(2的29次方)12.5%

  4、总结

三、IP保留地址

  1、0.0.0.0
    严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。
  2、255.255.255.255
    限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。
  3、127.0.0.1
    本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。

  4、224.0.0.1

    组播地址,注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机,224.0.0.2特指所有路由器。这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP (Internet路由发现协议,使用组播功能)功能,那么你的主机路由表中应该有这样一条路由。
  5、169.254.x.x
    如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Wingdows系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸,十有八九是你的网络不能正常运行了。
  6、10.x.x.x, 172.16.x.x~172.31.x.x, 192.168.x.x

    私有地址,这些地址被大量用于企业内部网络中。一些宽带路由器,也往往使用192.168.1.1作为缺省地址。私有网络由于不与外部互连,因而可能使用随意的IP地址。保留这样的地址供其使用是为了避免以后接入公网时引起地址混乱。使用私有地址的私有网络在接入Internet时,要使用地址翻译(NAT),将私有地址翻译成公用合法地址。在Internet上,这类地址是不能出现的。

四、子网划分

  1、简单点说子网划分就是把一个网段划分成很多更小的网段。如图,把一个两级(B类)地址通过子网号划分成很多三级地址。

  2、为什么要划分子网
    a、IP地址利用率很低,资源日益紧张解决了IP地址资源紧张的局面;
    b、在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网。

  3、与运算、或运算、异或运算

    a、按位与运算符(&)
      参加运算的两个数据,按二进制位进行“与”运算。
      运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1;
           即:两位同时为“1”,结果才为“1”,否则为0。

    b、按位或运算符(|)
      参加运算的两个对象,按二进制位进行“或”运算。
      运算规则:0|0=0;  0|1=1;  1|0=1;   1|1=1;
           即 :参加运算的两个对象只要有一个为1,其值为1。

    c、异或运算符(^)
      参加运算的两个数据,按二进制位进行“异或”运算。
      运算规则:0^0=0;  0^1=1;  1^0=1;   1^1=0;
         即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。    

  4、为什么需要子网掩码
    用在路由器寻址上,确定IP属于哪个网段

  5、根据子网掩码计算网段

    例:IP地址为145.13.3.10,子网掩码为255.255.255.0,路由器如何计算145.13.3.10所属的网段

五、路由寻址

  Step1:主机A将自己的IP地址和子网掩码作“与运算”,主机A的IP地址为192.168.0.5,将这个IP地址转换为二进制就是:11000000 10101000 00000000 00000101

    主机A的子网掩码为255.255.255.0,将该掩码转换为二进制就是:11111111 11111111 11111111 00000000 将主机A二进制形式的IP地址和子网掩码作“与运算”的结果是:  11000000 10101000 00000000 00000000

    为了方便查看将这个“与运算”的结果再转换为点分十进制的数就是:192.168.0.0

  Step2:将目标主机(主机B)的IP地址与发送方(主机A)的子网掩码作“与运算”,比如本例中,主机B的IP地址为1.1.1.5,将这个IP地址转换为二进制就是:00000001 00000001 00000001 00000101

    主机A的子网掩码为255.255.255.0将该掩码转换为二进制就是:11111111 11111111 11111111 00000000 将以上两组二进制的数进行“与运算”的结果是:00000001 00000001 00000001 00000000 将这个“与运算”的结果转换为点分十进制的数就是:1.1.1.0 这样我们就得到了两组“与运算”的结果,分别是:192.168.0.0和1.1.1.0

  Step3:对于主机A来说,经过这样一番“与运算”后,如果两个“与运算”结果相同,则说明目标主机B和自己在同一个网络内,即目标主机B在本地网络。相反地,对于主机A来说,经过这样一番“与运算”后,如果两个“与运算”结果不同,则说明目标主机B和自己不在同一个网络内,即目标主机B在远程网络。在这里,很显然目标主机B对于发送方(主机A)来说在远程网络——也就是在网络B。

  Step4:查询本机保存的路由表,主机A路由表的输出显示中我们没有找到与目标主机B所在1.1.1.0这个网络相匹配的具体路由,路由表第一列的输出说明主机A在没有找到能够到达目标网络的具体路由的情况下,会将发往目标网络的数据包发送到默认/缺省网关(192.168.0.1),由这个默认/缺省网关再将该数据包转发到目标网络。

  Step5:路由器进行网络比对,路由器的F0/0接口上的IP地址192.168.0.1与F0/0接口的子网掩码255.255.255.0作“与运算”得到“结果1”;目标地址1.1.1.5与路由器F0/0接口的子网掩码255.255.255.0作“与运算”得到“结果2”;“结果1”与“结果2”并不相同,证明目标地址1.1.1.5并不处在路由器的F0/0接口所在的网络A。

    路由器的另一个接口F0/1的IP地址1.1.1.1与F0/1接口的子网掩码255.0.0.0作“与运算”得到“结果3”;目标地址1.1.1.5与F0/1接口上的子网掩码255.0.0.0作“与运算”得到“结果4”;“结果3”与“结果4”相同,证明目标地址1.1.1.5处在路由器的F0/1接口所在的网络B。这也就意味着路由器B只需将发送给1.1.1.5的数据包从F0/1接口发出去就OK了。

网络基础之IP地址的更多相关文章

  1. 网络基础之IP地址和子网掩码

    IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...

  2. 网络基础之IP地址与子网划分

    IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...

  3. linux 网络基础之IP地址

    IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议. IP地址类型分为:公有地址.私有地址. 公有地址 公有地址(Publ ...

  4. 网络基础:ip地址

    原文链接:http://blog.51cto.com/xiexiaojun/1882088 很棒的总结,概念+例题很清晰

  5. 计算机网络基础之IP地址详解

    计算机网络基础之IP地址详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IP地址概述 1>.什么是IP地址 我们为什么要使用逻辑地址(IP地址)来标识网络设备,而不采 ...

  6. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...

  7. 网络基础tcp/ip协议四

    网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...

  8. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  9. 网络基础tcp/ip协议五

    传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...

随机推荐

  1. nginx配置多个图片访问路径

    需求:vue项目打包的时候 会将项目中的一些图片打包到/dist/static/images下,但是有时候会有一些很大的图片,需要单独存放至别的文件夹比如/home/di-img下,不能被打倒包内.部 ...

  2. transaction already active

    这个问题是使用spring 事务管理时经常出现的错误,最开始时相当令我头疼,也不知道是哪里出现的问题.在网上找了一阵后,依然无解.意思就是说上一个事务处于激活状态中,不能开始新的数据库更新操作. // ...

  3. Java线程-- 线程池

    1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创 ...

  4. 企业权限管理(SSM整合)(总结)

    学于黑马程序员和传智播客联合做的教学项目 感谢 黑马程序员官网 传智播客官网 个人根据教程的每天的工作进度的代码和资料 密码:cti5 b站在线视频 微信搜索"艺术行者",关注并回 ...

  5. 10-Pandas之数据融合(pd.merge()、df.join()、df.combine_first()详解)

    一.pd.merge() pd.merge()的常用参数 参数 说明 left 参与合并的左侧DataFrame right 参与合并的右侧DataFrame how 如何合并.值为{'left',' ...

  6. PHP array_intersect_assoc() 函数

    实例 比较两个数组的键名和键值,并返回交集: <?php$a1=array("a"=>"red","b"=>"g ...

  7. Python os.closerange() 方法

    概述 os.closerange() 方法用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略.高佣联盟 www.cgewang.com 语法 clo ...

  8. C++模板沉思录(上)

    花下猫语: 在我们读者群里,最近出现了比较多关于 C++ 的讨论,还兴起了一股学习 C++ 的风气.樱雨楼小姐姐对 C++ 的模板深有研究,系统地梳理成了一篇近 4 万字的文章!本文是上篇,分享给大家 ...

  9. 畅购商城(二):分布式文件系统FastDFS

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 畅购商城(一):环境搭建 畅购商 ...

  10. Elasticsearch从入门到放弃:瞎说Mapping

    前面我们聊了 Elasticsearch 的索引.搜索和分词器,今天再来聊另一个基础内容-- Mapping. Mapping 在 Elasticsearch 中的地位相当于关系型数据库中的 sche ...