IP 的种类与取得方式

接下来要跟大家谈一谈也是很容易造成大家困扰的一个部分,那就是 IP 的种类!很多朋友常常听到什么『真实IP, 实体 IP, 虚拟 IP, 假的 IP....』烦都烦死了~其实不要太紧张啦!实际上,在 IPv4 里面就只有两种 IP 的类别,分别是:

  • Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet ;
  • Private IP : 私有 IP 或保留 IP,不能直接连上 Internet 的 IP , 主要用于局域网络内的主机联机规划。

早在 IPv4 规划的时候就担心 IP 会有不足的情况,而且为了应付某些企业内部的网络设定,于是就有了私有 IP (Private IP) 的产生了。私有 IP 也分别在 A, B, C 三个 Class 当中各保留一段作为私有 IP 网段,那就是:

  • Class A:10.0.0.0    - 10.255.255.255
  • Class B:172.16.0.0  - 172.31.255.255
  • Class C:192.168.0.0 - 192.168.255.255

由于这三段 Class 的 IP 是预留使用的,所以并不能直接作为 Internet 上面的连接之用,不然的话,到处就都有相同的 IP 啰!那怎么行!网络岂不混乱?所以啰,这三个 IP 网段就只做为内部私有网域的 IP 沟通之用。简单的说,他有底下的几个限制:

  • 私有 IP 的路由信息不能对外散播 (只能存在内部网络);
  • 使用私有 IP 作为来源或目的地址的封包,不能透过 Internet 来转送 (不然网络会混乱);
  • 关于私有 IP 的参考纪录(如 DNS),只能限于内部网络使用 (一样的原理啦)

这个私有 IP 有什么好处呢?由于他的私有路由不能对外直接提供信息,所以,你的内部网络将不会直接被 Internet 上面的 Cracker 所攻击!但是,你也就无法以私有 IP 来『直接上网』啰!因此相当适合一些尚未具有 Public IP 的企业内部用来规划其网络之设定!否则当你随便指定一些可能是 Public IP 的网段来规划你企业内部的网络设定时,万一哪一天真的连上 Internet 了,那么岂不是可能会造成跟 Internet 上面的 Public IP 相同了吗?

此外,在没有可用的公开网络情况下,如果你想要跟同学玩联机游戏怎办?也就是说,在区网内自己玩自己的联机游戏, 此时你只要规范好所有同学在同一段私有 IP 网段中,就能够顺利的玩你的网络啦!就这么简单呢!

那么万一你又要将这些私有 IP 送上 Internet 呢?这个简单,设定一个简单的防火墙加上 NAT (Network Address Transfer) 服务,你就可以透过 IP 伪装 (不要急,这个在后面也会提到) 来使你的私有 IP 的计算机也可以连上 Internet 啰!


  • 特殊的 loopback IP 网段

好了,那么除了这个预留的 IP 网段的问题之外,还有没有什么其他的怪东西呢?当然是有啦!不然鸟哥干嘛花时间来唬 XX 呢?没错,还有一个奇怪的 Class A 的网域,那就是 lo 这个奇怪的网域啦 (注意:是小写的 o 而不是零喔)!这个 lo 的网络是当初被用来作为测试操作系统内部循环所用的一个网域,同时也能够提供给系统内部原本就需要使用网络接口的服务 (daemon) 所使用。

简单的说,如果你没有安装网络卡在的机器上面, 但是你又希望可以测试一下在你的机器上面设定的服务器环境到底可不可以顺利运作,这个时候怎么办, 嘿嘿!就是利用这个所谓的内部循环网络啦!这个网段在 127.0.0.0/8 这个 Class A,而且默认的主机 (localhost) 的 IP 是 127.0.0.1 呦!所以啰,当你启动了你的 WWW 服务器,然后在你的主机的 X-Window 上面执行 http://localhost 就可以直接看到你的主页啰!而且不需要安装网络卡呢!测试很方便吧!

此外,你的内部使用的 mail 怎么运送邮件呢?例如你的主机系统如何 mail 给 root 这个人呢?嘿嘿!也就是使用这一个内部循环啦!当要测试你的 TCP/IP 封包与状态是否正常时,可以使用这个呦!(所以哪一天有人问你嘿!你的主机上面没有网络卡, 那么你可以测试你的 WWW 服务器设定是否正确吗?这个时候可得回答:当然可以啰!使用 127.0.0.1 这个 Address 呀! ^_^ )


  • IP 的取得方式

谈完了 IP 的种类与等级还有相关的子域概念后,接下来我们得来了解一下,那么主机的 IP 是如何设定的呢? 基本上,主机的 IP 与相关网域的设定方式主要有:

  • 直接手动设定(static): 你可以直接向你的网管询问可用的 IP 相关参数,然后直接编辑配置文件 (或使用某些软件功能) 来设定你的网络。 常见于校园网络的环境中,以及向 ISP 申请固定 IP 的联机环境;
  • 透过拨接取得: 向你的 ISP 申请注册,取得账号密码后,直接拨接到 ISP ,你的 ISP 会透过他们自己的设定,让你的操作系统取得正确的网络参数。 此时你并不需要手动去编辑与设定相关的网络参数啦。目前台湾的 ADSL 拨接、光纤到大楼、光纤到府等,大部分都是使用拨接的方式。 为因应用户的需求,某些
    ISP 也提供很多不同的 IP 分配机制。包括 hinet, seednet 等等都有提供 ADSL 拨接后取得固定 IP 的方式喔! 详情请向你的 ISP 洽询。
  • 自动取得网络参数 (DHCP): 在局域网络内会有一部主机负责管理所有计算机的网络参数,你的网络启动时就会主动向该服务器要求 IP 参数, 若取得网络相关参数后,你的主机就能够自行设定好所有服务器给你的网络参数了。最常使用于企业内部、IP 分享器后端、 校园网络与宿舍环境,及缆线宽带等联机方式。

不管是使用上面哪种方式取得的 IP ,你的 IP 都只有所谓的『 Public 与 Private IP 』而已!而其他什么浮动式、固定制、 动态式等等有的没有的,就只是告诉你这个 IP 取得的方式而已。

IP的种类与获取方式的更多相关文章

  1. 同一域名对应多个IP时,PHP获取远程网页内容的函数

    同一域名对应多个IP时,PHP获取远程网页内容的函数 [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.15 转载请注明原文链接:http://blog.zyan.cc/post/389 ...

  2. MFC框架各部分指针获取方式

    MFC框架各部分指针获取方式 前人在CSDN总结的,曾经帮助过我,整理总结一下,希望也能帮助一下别人. 获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument ...

  3. [转]Android SHA1与Package获取方式

    转自高德地图LBS Android SHA1与Package获取方式 获取应用包名 打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应 ...

  4. JQ关于浏览器宽高的获取方式

    JQ关于浏览器宽高的获取方式 alert($(window).height()); //浏览器时下窗口可视区域高度alert($(document).height()); //浏览器时下窗口文档的高度 ...

  5. Unity---资源管理中不同资源的路径获取方式

    1.首先需要先了解两个知识点: Unity内置的文件路径获取方式.windows的Directory.GetFiles文件获取方式:   1>Unity内置的文件路径获取方式,一下是官方解释:h ...

  6. RabbitMQ消费端消息的获取方式(.Net Core)

    1[短链接]:BasicGet(String queue, Boolean autoAck) 通过request的方式独自去获取消息,断开式,一次次获取,如果返回null,则说明队列中没有消息. 隐患 ...

  7. 反射的基本使用以及原理(Class获取方式)

    1.什么是反射技术? 动态获取指定类以及类中的内容(成员),并运行其内容. 应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象.这时可以根据配置文件的类全名去找对应的字节码文件,并加载进 ...

  8. MFC中 SDI/MDI框架各部分指针获取方式

    VC MFC SDI/MDI框架各部分指针获取方式   整理总结一下,希望能帮助到别人.   获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument 获得CV ...

  9. Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

    1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...

随机推荐

  1. Android Framework 学习和需要学习的内容

    1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony ...

  2. 21 PagerTabStrip-PagerTitleStrip-viewPager

    PagerTabStrip:可以点击跳转到对应viewPager界面 PagerTitleStrip:不可点击 在eclipse开发时如果目标版本为API23那么会有不显示的问题 解决:更换v4包 解 ...

  3. 自守数算法----C语言实现

    #include <stdio.h> //自守数算法 //ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376 /*ep : * 376 ...

  4. 分布式缓存组件Hazelcast

    Hazelcast是一个Java的开源分布式内存实现,它具有以下特性: 提供java.util.{Queue, Set, List, Map}的分布式实现 提供java.util.concurrent ...

  5. Struts2知识点学习笔记

    写给自己的话 好记性不如烂笔头,不可能说看了一遍视频就可以完全掌握的.留下这篇笔记,便于今后的复习吧. 1. 访问ServletAPI 访问ServletAPI(response,request,)的 ...

  6. linux service 简单易懂贴

    service用于管理Linux操作系统中服务的命令 1.不是在所有linux发行版本中都有.主要是在redhat.fedora.mandriva和centos中. 2. 命令位于/sbin目录下,用 ...

  7. numpy教程:快速傅里叶变换模块numpy.fft

    http://blog.csdn.net/pipisorry/article/details/51050297 快速傅里叶变换 NumPy中,fft模块提供了快速傅里叶变换的功能.在这个模块中,许多函 ...

  8. 手把手教你轻松实现listview上拉加载

    上篇讲了如何简单快速的的实现listview下拉刷新,那么本篇将讲解如何简单快速的实现上拉加载更多.其实,如果你已经理解了下拉刷新的实现过程,那么实现上拉加载更多将变得轻松起来,原理完全一致,甚至实现 ...

  9. JavaI/O体系详解

    Java中IO操作主要是指使用Java进行输入,输出操作,Java中所有的IO操作类都存放在Java.io包中,在使用时需要导入此包. 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的 ...

  10. 【图的DFS】图的DFS非递归算法

    在DFS的递归算法中,DFS框架如下: 1访问起点v0 2依次以v0的未访问的连接点为起点,DFS搜索图,直至图中所有与v0路径相通的顶点都被访问. 3若该图为非连通图,则图中一定还存在未被访问的顶点 ...