`
xangqun
  • 浏览: 82625 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

Java网络编程从入门到精通(1):Internet地址概述

阅读更多
所有连入Internet的终端设备(包括计算机、PDA、打印机以及其他的电子设备)都有一个唯一的索引,这个索引被称为IP地址。现在Internet上的IP地址大多由四个字节组成,这种IP地址叫做IPv4。除了这种由四个字节组成的IP,在Internet上还存在一种IP,这种IP由16个字节组成,叫做IPv6。IPv4和IPv6后面的数字是Internet协议(Internet Protocol,IP)的版本号。

IPv4地址的一般表现形式为:X.X.X.X。其中X为0到255的整数。这四个整数用“.”隔开。从理论上说,IPv4地址可以表示2的32次幂,也就是4,294,967,296个IP地址,但由于要排除一些具有特殊意义的IP(如0.0.0.0、127.0.0.1、224.0.0.1、255.255.255.255等),因此,IPv4地址可自由分配的IP数量要小于它所能表示的IP地址数量。

为了便于管理,人为地将IPv4划分为A类、B类和C类IP地址。

A类IP地址
范围:0.0.0.0 –– 127.255.255.255,标准的子网掩码是255.0.0.0。

B类IP地址
范围:128.0.0.0 –– 191.255.255.255,标准的子网掩码是255.255.0.0。

C类IP地址
范围:192.0.0.0 –– 223.255.255.255,标准的子网掩码是255.255.255.0。

从上面的描述可看出,第一个字节在0和127之间的是A类IP地址,在128和191之间的是B类IP地址,而在192和223之间的是C类IP地址。如果两个IP地址分别和它们的子网掩码进行按位与后得到的值是一样的,就说明这两个IP在同一个网段。下面是两个C类IP地址IP1、IP2和它们的子网掩码。

IP1:192.168.18.10    子网掩码: 255.255.255.0

IP2:192.168.18.20    子网掩码: 255.255.255.0

这两个IP和它们的子网掩码按位与后,得到的值都是192.168.18.0。因此,IP1和IP2在同一个网段。当用户使用Modem或ADSL Modem上网后,临时分配给本机的IP一般都是C类地址,也就是说,第一个字节都会在192和223之间。

上面给出的IP地址和子网掩码只是标准的形式。用户也可以根据自己的需要使用其他的IP和子网掩码,如IP地址设为10.0.0.1,子网掩码设为255.255.255.128。但为了便于分类和管理,在局域网中设置IP地址时,建议按着标准的分类来设置。

IPv6地址由16个字节组成,共分为8段。每一段由16个字节组成,并用4个十六进制数表示,段与段之间用“:”隔开。如A34E:DD3D:1234:4400:A123:B231:A111:DDAA是一个标准的IPv6地址。IPv6在两种情况下可以简写:

1.       以0开头的段可省略0。如A34E:003D:0004:4400:A123:B231:A111:DDAA可简写为A34E: 3D: 4:4400:A123:B231:A111:DDAA。


2. 连续出现0的多个段可使用“::”来代替多个为0的段。如A34E:0000:0000:0000:A123:B231:0:DDAA可简写为A34E::A123:B231:0:DDAA。在使用这种简写方式时,“::”只能出现一次,如果出现多次,IPv6地址将会产生歧义。

在IPv4和IPv6混合的网络中,IPv6地址的后四个字节可以被写成IPv4的地址格式。如A34E::A123:B231:A111:DDAA可以写成A34E::A123:B231:161.17.221.170。当访问网络资源的计算机使用的是IPv4的地址时,系统会自动使用IPv6的后四个字节作为IPv4的地址。

无论是IPv4地址,还是IPv6地址,都是很难记忆的。因此,为了使这些地址便于记忆,Internet的设计师们发明了DNS(Domain Name System,域名系统)。DNS将IP地址和域名(一个容易记忆的字符串,如microsoft)联系在一起,当计算机通过域名访问Internet资源时,系统首先通过DNS得到域名对应的IP地址,再通过IP地址访问Internet资源。在这个过程中,IP地址对用户是完全透明的。如果一个域名对应了多个IP地址,DNS从这些IP地址中随机选取一个返回。

域名可以分为不同的层次,如常见的有顶层域名、顶级域名、二级域名和三级域名。

顶层域名
顶层域名可分为类型顶层域名和地域顶层域名。如www.microsoft.com、www.w3c.org中的com和org就是类型顶层域名,它们分别代表商业(com)和非盈利组织(org)。而www.dearbook.com.cn中的cn就是地域顶层域名,它表示了中国(cn)。主要的类型顶层域名有com(商业)、edu(教育)、gov(政府)、int(国际组织)、mil(美国军方)、net(网络部门)、org(非盈利组织)。大多数国家都有自己的地域顶层域名,如中国(cn)、美国(us)、英国(uk)等。

顶级域名
如www.microsoft.com中的microsoft.com就是一个顶级域名。在Email地址的“@”后面跟的都是顶级域名,如abc@126.com、mymail@sina.com等。

二级域名
如blog.csdn.net就是顶级域名csdn.net的二级域名。有很多人认为www.csdn.net是顶级域名,其实这是一种误解。实际上www.csdn.net是顶级域名csdn.net的二级域名。www.csdn.net和blog.csdn.net在本质上是一样的,只是我们已经习惯了使用www表示一个使用HTTP或HTTPS协议的网址,因此,给人的误解就是www.csdn.net是一个顶级域名。

三级域名
   如abc.photo.163.com就是二级域名photo.163.com的三级域名。有很多blog或电子相册之类的网站都为每个用户分配一个三级域名。

分享到:
评论

相关推荐

    Java网络编程从入门到精通(1):Internet地址概述 所有连入Internet的 ....doc

    Java网络编程是开发基于互联网应用的关键技术之一,而理解Internet地址是网络编程的基础。本文将深入探讨IP地址的原理和应用,尤其是IPv4和IPv6这两种主要的IP地址类型。 首先,IP地址是互联网上每个设备独一无二的...

    JAVA网络编程从入门到精通

    ### JAVA网络编程从入门到精通知识点详解 #### 一、Internet地址概述 互联网中的每一台设备都需要有一个唯一的标识符——IP地址。当前广泛使用的IPv4地址由四个字节组成,而未来的趋势是采用16个字节的IPv6地址。 ...

    精通JAVA编程.

    ### 精通JAVA编程 #### 一、Java概述 **Java** 是一种高级编程语言,由 Sun Microsystems 公司于 1995 年推出。它以其强大的跨平台能力、丰富的 API 和简单易学的特点,在软件开发领域占据着极其重要的地位。Java ...

    Android开发从入门到精通6-使用Android实现联网.doc

    ### Android开发从入门到精通6-使用Android实现联网 #### Android平台概述及联网特性 Android作为一款面向应用程序开发的丰富平台,不仅提供了出色的用户界面元素和数据管理功能,还为开发者构建连接到真实世界的...

    JavaScript教程--从入门到精通(PPT精简版)

    JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...

    JavaScript与JScript从入门到精通(PDF)

    本文将深入探讨这两个语言的核心概念、异同以及如何从入门到精通。 一、JavaScript概述 JavaScript,由Netscape公司的Brendan Eich在1995年发明,最初命名为LiveScript,后为了搭上Java的热潮更名为JavaScript。...

    javascript入门到精通 新时代软件教程.pdf

    ### JavaScript入门到精通知识点梳理 #### 一、JavaScript概述 - **定义与起源**: ...通过以上知识点的学习,读者可以从JavaScript的基础入手,逐步掌握其核心概念和技术,最终实现从入门到精通的目标。

    JavaScript概述

    ### JavaScript概述:从入门到精通 #### 一、JavaScript简介 JavaScript是一种强大的脚本语言,以其基于对象和事件驱动的特性著称。它被广泛应用于Web开发中,为静态的HTML页面增添了动态性和交互性。JavaScript...

    javascript

    ### JavaScript 教程知识点概述 #### 一、JavaScript 概述 - **定义**: JavaScript 是一种基于对象和事件驱动的脚本语言,主要用于与 HTML 和 Java 小程序一起实现在 Web 页面中的对象交互作用。 - **发展背景**: ...

    软件工程课程设计报告-学生选课系统文档.doc

    系统开发过程中参考了包括JSP设计、MYSQL4从入门到精通、JAVA编程思想等相关技术书籍。 2. 系统设计 2.1 总体设计 2.1.1 系统上下文模型设计 这部分描述了系统与外部环境的关系,包括用户、数据源和外部系统间的...

Global site tag (gtag.js) - Google Analytics