基础概念——理解IP地址和域名

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    从程序员角度,可以把因特网看做是世界范围内的主机集合:

    1)主机集合被映射为一组32位的IP地址

    2)这个IP地址被映射为一组称为因特网域名标识符

    3)因特网主机上的进程能够通过连接和任何其他因特网主机上的进程通信。

    IP地址

      IP地址是一个32位无符号整数

      存放在一个结构中;

    struct in_addr {

      unsigned int s_addr;

    } ;

    为什么要用结构来存放标量IP地址?

      把一个标量存放在一个结构中,是套接字接口早期实现的不幸产物。为IP地址定义一个标量类型应该更有意义。但现在更改已经太迟了,因为有大量的应用是基于此的了。

    因为因特网主机可以有不同的主机字节顺序,TCP/IP为任意整数数据项定义了统一的网络字节顺序,即大端字节顺序。

    即使主机字节顺序是小端法。Unix提供了一些函数在网络和主机字节顺序之间实现转换。

    32位也就是4个字节

    IP地址通常是用点分十进制方式表示的;这种表示方式更方便人们阅读

    每个字节由它的十进制数表示,并且用句点和其他字节分开。

    例如:128.2.194.242就是地址0x8002c2f2的点分十进制表示。

    在Linux上,能够使用HOSTNAME命令来确定你的主机的点分十进制地址。

    因特网程序使用inet_aton和inet_ntoa 函数来实现IP地址的点分十进制串之间的转换。

    因特网域名

    因特网客户端和服务器相互通信使用的是IP地址。但是对于人们而言,这个大整数实在是难以记住。

    于是因特网定义了一组更加人性化的域名(domain name),以及一种将域名映射到IP地址的机制。

    域名是一串用句点分隔的单词(字母、数字和破折号),例如:

    kittyhawk.cmcl.cs.cmu.edu

    域名集合形成了一个层次结构,每个域名编码了它在这个层次中的位置。

    一级域名:com、edu、gov、org、net;这是由非盈利组织ICANN定义的。

    下一层的二级域名:是有ICANN的各个授权代理按照先到先服务的基础分配的。一旦一个组织得到一个二级域名,那么它就可以在这个子域中创建任何新的域名了。

    因特网还定义了域名集合与IP地址集合之间的映射。

    直到1988年这个映射都是通过一个叫HOSTS.TXT的文本文件来手工维护的。

    从那以后,这个映射是由通过分布世界范围内的数据库(DNS 域名系统)来维护的。

    DNS数据库由上百万条如下图的条目,称为主机条目结构组成的,其中每条定义了一组域名和一组IP地址之间的映射。

    从数学意义上来说,你可以认为每条主机条目就是一个域名和IP地址的等价类。

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    “基础概念——理解IP地址和域名” 的相关文章

    awk

    http://www.gnu.org/software/gawk/manual/gawk.html1.-F指定域分隔符为':' 2.awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,...

    我的第一个shell角本

    文件名为test.sh,sh test.sh hello=Hello\ world echo $hello...

    蛮力调试

    蛮力调试指的是一种或许会被认为乏味,费神,耗时但能确保最终可以解决问题的方法 1.对崩溃代码的设计和编码进行彻底检查 2.抛弃有问题的代码,从头开始设计和编程 3.抛弃整个程序,从头开始设计和编程 4.编译代码时生成全部的高度信息 5.在最为苛刻的警告级别中...

    iframe的一个例子

    <iframe name="pollmain" id="pollmain" width="100%" src="../project_operation/fwpjlr.do?method=fwxxLrDetail&id=<c:out value='${projectInfo.id...

    Java

    Java调用第三方厂商提供了http接口  在多人开发项目中,我们经常要在自己程序内部(不是在jsp中)调用别人的http请求接口,主要通过流的方式进行调用  例如:http://www.baidu.com/query.jsp?param1=value2&am...

    POJ 1325Machine Schedule(二分图最大匹配最小点覆盖)

    题目地址:http://poj.org/problem?id=1325这个题的建图其实是很明显的,可以把两种机器当成X,Y子集。然后进行匹配。但是因为刚学二分匹配,又不太确定,也不太明白为什么。感觉像是最小点覆盖。于是想了两天,终于把原理什么的弄明白了,对二分匹配又加深了理解。这题不错~因为开始是0...