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. [linux RedHat]windows下使用putty远程连接linux 下载JDK和tomcat

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/43154543 本文作者:sushengmiyan ------------------ ...

  2. spark idea 的配置问题

    不知道下面的错误是为什么? Error:scalac: missing or invalid dependency detected while loading class file 'RDD.cla ...

  3. Android初级教程初谈自定义view自定义属性

    有些时候,自己要在布局文件中重复书写大量的代码来定义一个布局.这是最基本的使用,当然要掌握:但是有些场景都去对应的布局里面写对应的属性,就显得很无力.会发现,系统自带的控件无法满足我们的要求,这个时候 ...

  4. struts1.x mvc简单例程

    因为项目需要,需要使用struts1.x .因此学习下struts框架. 例程从struts 实现MVC框架入手,完成一次request请求. 一.前台 两个jsp文件 index.jsp: 只有一个 ...

  5. android布局##TableLayout和FrameLayout-android学习之旅(十五)

    TableLayout 表格布局 tablelayout简介 表格布局有TableLayout代表,但是它的本质定义仍然是线性管理器.表格布局采用行和列来管理UI,但是不需要明确的定义多少行,多少列, ...

  6. C#之FileInfo的简单操作

    和DirectoryInfo一样,FileInfo类同样是很方便的就能实现复杂的功能. 如下,我们一起来看一下一个简单的小例子吧. using System; using System.Collect ...

  7. 【翻译】如何创建Ext JS暗黑主题之一

    原文:How to Create a Dark Ext JS Theme– Part 1 概述 我是不是都要演示我的Spotifinder Ext JS应用程序.它是一个很酷的应用程序,可连接到Las ...

  8. 过时api LocalActivityManager 作用

    换了个新工作,看公司代码还在用LocalActivityManager类 不知道是个什么东西,百度了也没具体介绍查了下sdk是这样介绍的 LocalActivityManager是一个助手类,在同一个 ...

  9. (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)

    这是一个简单的机器人投射游戏,主要来熟悉物理引擎的一些东西.你可以把它认为是机器人投篮;尽管投出的是抛物线,但不是篮球而是子弹,速度也较快. 游戏玩法是玩家选择机器人,移动机器人手臂瞄准篮框,然后发射 ...

  10. Android必知必会--NinePatch图片制作

    本文为CSDN学院免费课程<NinePatch图片制作从入门到精通>的笔记,建议新手先观看视频,整理此笔记是为了便于自己复习,有NinePatch基础的朋友可以直接观看第四部分.--[转载 ...