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

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地址的等价类。

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

  1. 【Web探索之旅】第三部分第二课:IP地址和域名

    内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些 ...

  2. tomcat设置IP地址或者域名访问

    链接地址:http://jingyan.baidu.com/article/7e440953dc096e2fc0e2ef1a.html 本文介绍如何通过修改tomcat的配置,实现通过IP地址或者域名 ...

  3. IIS7.0添加IP地址和域名限制

    IIS7.0默认安装是没有“IP地址和域名限制”功能的,需要我们自己选择安装 1.windows系统的添加方式 控制面板--程序与功能--启用或关闭windows功能--internat inform ...

  4. ip地址、域名、DNS、URL的区别与联系

    IP:每个连接到Internet上的主机都会分配一个IP地址,此ip是该计算机在互联网上的逻辑地址的唯一标识,计算机之间的访问就是通过IP地址来进行的.写法:十进制的形式,用“.”分开,叫做“点分十进 ...

  5. “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程

    今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...

  6. IP地址、域名、域名解析系统相关

    IP地址(Internet Protocol Address) 它来自TCP/IP协议,存在于其中的IP层,用于实现不同计算机之间的通信,类似于门牌号. 设计之处,IP地址是准备给地球上每一台计算机一 ...

  7. 【Linux网络基础】网络子网划分基础知识(IP地址,子网)

    一. IP地址分类与子网划分基础 1. 什么是IP地址? 常见的ip地址版本为ipv4, ipv6 32位 4 * 8=32位. 32位二进制数字序列组成的数字序列   点分十进制 采用点将32位数字 ...

  8. IP地址与域名的关系

    1.IP地址:IP地址是用来唯一标识互联网上计算机的逻辑地址,让电脑之间可以相互通信. 每台连网计算机都依靠IP地址来互相区分.相互联系 2.域名:由于IP地址是数字标识,使用时难以记忆和书写,因此在 ...

  9. socket编程基础-字节序/IP/PORT转换/域名

    socket编程基础 网络IP操作函数 字符串的IP和32位的IP转换 #include <sys/socket.h> #inlcude <netinet/in.h> #inc ...

随机推荐

  1. Pwdump v7.1

    提取windows系统密码  和 hash值

  2. yum 系列(二) 离线部署

    yum 系列(二) 离线部署 一.下载 rpm 依赖包 (1) yum 下载 rpm 包 准备一台 全新的 CentOS7 mini 虚拟机 ,联网下载所有所需的 rpm 包和其依赖, yum ins ...

  3. mongo学习-固定集合

    一.创建固定集合 db.createCollection("guding",{"capped":true,"size":10,"m ...

  4. WebApi参数传递总结(转)

    出处:http://www.cnblogs.com/Juvy/p/3903974.html 在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流. 举例子说明 ...

  5. CodeForces 688A Opponents (水题)

    题意:给定 n 行数,让你找出连续最多的全是1的个数. 析:好像也没什么可说的,那就判断一下,并不断更新最大值呗. 代码如下: #include <iostream> #include & ...

  6. 基于swoole搭建聊天室程序

    1. 创建websocket服务器 swoole从1.7.9版本开始, 内置了websocket服务器功能,我们只需几行简单的PHP代码,就可以创建出一个异步非阻塞多进程的WebSocket服务器. ...

  7. 基于SSH的网上图书商城-JavaWeb项目-有源码

    开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: 技术:Java:JSP:JDBC,struts2,spring,hibernate数据库: mysqlweb ...

  8. scvmm sdk之ddtkh(二)

    ddtkh,dynamic datacenter toolkit for hosters,原先发布在codeplex开源社区,后来被微软归档到开发者社区中,从本质上来说它是一个企业级应用的套件,集成了 ...

  9. 常用脚本--生成指定表的INSERT 语句

    --================================================= --摘抄自http://www.cnblogs.com/sunth/archive/2013/0 ...

  10. WinRT支持GB2312

    在SL年代,有第三方类库支持 http://encoding4silverlight.codeplex.com 在RT版本有点不兼容,一直没时间看.今天闲的卵疼,就来一段代码兼容一下RT版本,迟点整合 ...