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 地址。
  • AIP地址
范围:0.0.0.0 –– 127.255.255.255 ,标准的子网掩码是255.0.0.0
  • BIP地址
范围:128.0.0.0 –– 191.255.255.255 ,标准的子网掩码是255.255.0.0
  • CIP地址
范围: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:  3D4: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 或电子相册之类的网站都为每个用户分配一个三级域名。
 


 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/214820,如需转载请自行联系原作者

相关文章
|
8月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
679 0
|
9月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
671 0
|
8月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
411 1
|
8月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
384 1
|
9月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
2728 0
|
网络协议 安全 Java
Java中的网络编程:Socket编程详解
Java中的网络编程:Socket编程详解
|
Java 大数据
如何在Java中进行网络编程:Socket与NIO
如何在Java中进行网络编程:Socket与NIO
|
Java API 网络安全
Java网络编程入门
Java网络编程入门
|
Java API 开发者
Java网络编程基础与Socket通信实战
Java网络编程基础与Socket通信实战
|
网络协议 安全 Java
Java中的网络编程:Socket编程详解
Java中的网络编程:Socket编程详解