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

本文涉及的产品
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:
所有连入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,如需转载请自行联系原作者

相关文章
|
3天前
|
编解码 网络协议 Oracle
java网络编程入门以及项目实战
这篇文章是Java网络编程的入门教程,涵盖了网络编程的基础知识、IP地址、端口、通讯协议(TCP和UDP)的概念与区别,并提供了基于TCP和UDP的网络编程实例,包括远程聊天和文件传输程序的代码实现。
java网络编程入门以及项目实战
|
23天前
|
存储 Oracle Java
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
32 17
|
23天前
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
46 8
|
23天前
|
Java 数据安全/隐私保护
09 Java面向对象三大特征(概述)
09 Java面向对象三大特征(概述)
46 4
|
2月前
|
网络协议 安全 Java
Java中的网络编程:Socket编程详解
Java中的网络编程:Socket编程详解
|
2月前
|
网络协议 网络架构
【网络编程入门】TCP与UDP通信实战:从零构建服务器与客户端对话(附简易源码,新手友好!)
在了解他们之前我们首先要知道网络模型,它分为两种,一种是OSI,一种是TCP/IP,当然他们的模型图是不同的,如下
103 1
|
2月前
|
网络协议 Python
深度剖析Python Socket:从入门到精通,网络编程不再是难题!
【7月更文挑战第27天】在Python中,Socket编程是网络通信的核心。本文从Socket基础概念入手,介绍其作为网络通信端点的作用,并区分TCP(面向连接)与UDP(无连接)。通过示例代码展示如何创建TCP服务器及客户端:服务器监听12345端口,接收并回显客户端消息;客户端则连接服务器并发送消息,接收服务器回应。代码涵盖socket创建、连接管理及数据收发等关键步骤,并强调异常处理与数据编码的重要性。掌握这些基础知识,即可轻松开展网络编程项目。
48 0
|
2月前
|
网络协议 安全 Java
Java中的网络编程:Socket编程详解
Java中的网络编程:Socket编程详解
|
2月前
|
网络协议 Java 网络安全
Java中的网络编程:TCP详解
Java中的网络编程:TCP详解
|
2月前
|
Java API 网络安全
Java网络编程入门
Java网络编程入门

热门文章

最新文章

下一篇
云函数