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,如需转载请自行联系原作者

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
网络协议 算法 Java
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
4天前
|
监控 Java 开发者
深入理解 Java 网络编程和 NIO
【4月更文挑战第19天】Java网络编程基于Socket,但NIO(非阻塞I/O)提升了效率和性能。NIO特点是非阻塞模式、选择器机制和缓冲区,适合高并发场景。使用NIO涉及通道、选择器和事件处理,优点是高并发、资源利用率和可扩展性,但复杂度、错误处理和性能调优是挑战。开发者应根据需求选择是否使用NIO,并深入理解其原理。
|
7天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
1月前
|
网络协议 安全 Java
Java网络编程
Java网络编程
C4.
|
1月前
|
Java
Java网络编程
Java网络编程
C4.
17 0
|
3月前
|
安全 Java
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
|
6月前
|
Java
Java入门------static关键字和静态属性、方法
Java入门------static关键字和静态属性、方法
|
7月前
|
Java 索引
从零开始学习 Java:简单易懂的入门指南之方法(六)
方法的概念:方法(method)是程序中最小的执行单元注意:方法必须先创建才可以使用,该过程成为方法定义,方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用
从零开始学习 Java:简单易懂的入门指南之方法(六)