跳至主要内容

IP地址的分类及应用

IP地址的分类及应用
  IP地址可以分为A、B、C、D、E五类。通常,使用的IP都属于A、B、C三类,而D、E网则用于特殊用途,并且不使用和A、B、C类网相同的规律。所以,下面只谈谈A、B、C三类IP地址的使用。
  在A、B、C三类IP地址中,使用了不同长度的网络部分和主机部分来表示地址,在如下表示中可以看到三类IP地址的网络部分数字决定了它默认的子网掩参院,所以清楚地知晓网络部分和主机部分的数字范围是十分有必要的。
  对于专业的网络管理人员来说,需要知晓以下知识:
  A类地址
  适合于超大型的网络。我们知道,IP地址分为w.x.y.z四个组(即四个字节),其中的w是其网络部分,w值的可用范围是1~126,所以可以提供126个A类的网络数。而主机部分是x.y.z三个字节(1Byte=8bit),因此24位可以支持(2的24立方)-2=16777216-2=16777214台主机。
  B类地址
  适合于大、中型网络,其网络部分占用w.x 两个字节,由于w的可用范围是128-191,因此可以提供(191-128+1)x256=16384个网络数。而主机部分共占用y.z两个字节,因此每个网络可以支持(2的16立方)-2=65536-2=65534主机。
  C类地址
  适合办公及家庭小型号网络,其网络部分占用wxy三个字节,由于w的可用范围是192-223,所以它可以提供(223-192+1)x256x256=2067152个C类网络。而主机部分只占用z一个字节,所以每一个网络只能使用(2的8立方)-2=254台主机。
  IP地址中的困惑
  现在来解释一下上述计算中的一些可能会让读者们困惑的地方:
  困惑1:127是一个保留的地址,它表示本机地址,主要用于测试网卡与驱动程序是否正常运行。
  困惑2:为什么要减2?这是因为每一个网络的第1个是代表网络本身,最后一上IP地址代表广播地址,这两个地址不能直接被主机使用,所以要减去2能得到实际上可以使用的主机台数。以192.168.1.0这个C类网络为例,192.168.1.0就是网络本身,而主机部分侧为192.168.1.1---192.168.1.254,192.168.1.255是保留广播用途的。
  困惑3:为什么要乘以256?这是因为W、X、Y、Z四组的每一组数量最大为0+255=256个。

  特殊的IP地址:
  我们在看看一些特殊的IP地址,这些IP的出现都具有不同的含义,如:有些IP的出现表示网络环境已经出现了问题。
  (1)0.0.0.0
  严格的说来,0.0.0.0已经不是一个正真意义上的IP地址了,它表示的是这样一个集合,所有不清楚的主机和目的网络,这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。
  (2)224.0.0.1
  组播地址,注意它和广播的区别,从224.0.0.0到29.255.255.255都是这样的地址。224.0.0.1特指所有主机,224.0.0.2特指所有路由器,这样的地址多用于一些特定的程序以及多媒体程序,如果你得主机开启了IRDP功能,那么你的主机路由表中应该有这样一条路由。
  (3)169.254.X.X
  如果你得主机使用了DHCP功能,自动获得一个IP地址,那么当你的DHCP服务器发生故障,或者响应时间太长而超出了一个系统规定的时间,Windows系统会为你分配一个这样的地址,如果你发现你的主机IP地址是一个169.254.X.X的地址,那很不幸,你的网络十有八九不能正常运行了。
  私有IP地址:
  在ABC三类网络中,如下三段网络地址为私有IP地址,如何人都可以自行在自己的局域网中使用这些IP地址.
  A类私有:10.0.0.1----10.255.255.254
  B类私有:172.16.0.1---172.31.255.254
  C类私有:192.168.0.1---192.168.255.254
  这些地址被大量用于内部网络中,一些交换机,路由器也往往使用192.168.1.1作为缺省地址,私有网络由于不与外部互连,因而只能够在内部网络中使用,如果要使用私有地址连接到Internet,需要使用NAT(网络地址转址)、使用网关代理软件、路由器,将私有地址翻译成公网的合法地址。

  也就是说,私有的IP可以自己去分配。而公网的IP,需要找相关的部门去申请,那么申请完成,他就会给一个公网IP,那么我们来看看路由器中的公网IP和私有IP。如图1-2:

  所以,路由器里面有两种IP地址,既有公网IP,既有私有IP,路由器的作用主要是把私有I
  
  P转换为公网IP,让私网IP通过,一个公网IP共享上网的。

评论

此博客中的热门博文

onsen ui example splitter side menu swipe

<!DOCTYPE html> <html> <head> <title>TheyTube - Watch free video online</title> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsenui.css"> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsen-css-components.min.css">   <script src="https://unpkg.com/onsenui/js/onsenui.min.js"></script>   <script type="text/javascript">   ons.platform.select('android')   </script> </head> <body> <ons-splitter>   <ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>     <ons-page>       <ons-list>         <ons-list-item onclick="fn.load('home.html')" tappable>           Home         </ons-list-item>         <ons-list-item onclick="fn.load('settings.html')" tappable>           Setti

go golang get disk usage free space remain info

package main import ( "fmt" "syscall" ) func main() { fmt.Println(DiskUsage("./")) } func DiskUsage(path string) uint64 { fs := syscall.Statfs_t{} err := syscall.Statfs(path, &fs) if err != nil { return 0 } return fs.Bfree * uint64(fs.Bsize) } //All space   = fs.Blocks * uint64(fs.Bsize) //Free space = fs.Bfree * uint64(fs.Bsize) //Used space= fs.All - disk.Free