基础概念——理解IP地址和域名
从程序员角度,可以把因特网看做是世界范围内的主机集合:
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地址和域名的更多相关文章
- 【Web探索之旅】第三部分第二课:IP地址和域名
内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些 ...
- tomcat设置IP地址或者域名访问
链接地址:http://jingyan.baidu.com/article/7e440953dc096e2fc0e2ef1a.html 本文介绍如何通过修改tomcat的配置,实现通过IP地址或者域名 ...
- IIS7.0添加IP地址和域名限制
IIS7.0默认安装是没有“IP地址和域名限制”功能的,需要我们自己选择安装 1.windows系统的添加方式 控制面板--程序与功能--启用或关闭windows功能--internat inform ...
- ip地址、域名、DNS、URL的区别与联系
IP:每个连接到Internet上的主机都会分配一个IP地址,此ip是该计算机在互联网上的逻辑地址的唯一标识,计算机之间的访问就是通过IP地址来进行的.写法:十进制的形式,用“.”分开,叫做“点分十进 ...
- “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程
今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...
- IP地址、域名、域名解析系统相关
IP地址(Internet Protocol Address) 它来自TCP/IP协议,存在于其中的IP层,用于实现不同计算机之间的通信,类似于门牌号. 设计之处,IP地址是准备给地球上每一台计算机一 ...
- 【Linux网络基础】网络子网划分基础知识(IP地址,子网)
一. IP地址分类与子网划分基础 1. 什么是IP地址? 常见的ip地址版本为ipv4, ipv6 32位 4 * 8=32位. 32位二进制数字序列组成的数字序列 点分十进制 采用点将32位数字 ...
- IP地址与域名的关系
1.IP地址:IP地址是用来唯一标识互联网上计算机的逻辑地址,让电脑之间可以相互通信. 每台连网计算机都依靠IP地址来互相区分.相互联系 2.域名:由于IP地址是数字标识,使用时难以记忆和书写,因此在 ...
- socket编程基础-字节序/IP/PORT转换/域名
socket编程基础 网络IP操作函数 字符串的IP和32位的IP转换 #include <sys/socket.h> #inlcude <netinet/in.h> #inc ...
随机推荐
- MinDos--操作系统
MinDos--操作系统 总结 : 本次实现的是功能是为 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 ...
- PKUWC2019 真·游记
由于我这个大傻逼考试结果实在是没法看,所以这篇游记将尽可能略去和考试有关的内容,变成一篇真正的游记…… 接下来的内容中将会出现各种旅游攻略,寻求干货的同学可以提前左转了. Day -7 学考终于结束了 ...
- linux网络编程模型
1.编程模型 Linux网络编程模型是基于socket的编程模型
- php redis 单例模式
单例模式思想其实很简单 首先 有一个实例的静态变量 构造方法和克隆方法设置为私有,防止外部直接new 提供一个获取实例的静态方法 代码如下: class Redis { private static ...
- iptables 增删查改
一,安装并启动防火墙 二.添加防火墙规则 1.添加filter表 2.添加nat表 指定位置添加 三.删除iptables规则 四.查看防火墙规则 1.查看filter表 2.查看nat表 五.修改规 ...
- FMX.Platform.TApplicationEvent
FMX.Platform.TApplicationEvent http://docwiki.embarcadero.com/Libraries/Seattle/en/FMX.Platform.TApp ...
- 关于数组以及c#学习问题
第二次作业我没注意看群通告,看到都3月8号,开始着手想用c#试着写写,才发现一些问题. a.鞠老的要求中必须原数据需要csv文件,csv文件不是太了解,网上简单查阅了一下------csv意思是逗号分 ...
- 不错的Django博客
https://blog.csdn.net/chengqiuming/article/category/8453874 杜塞的个人网站 https://www.dusaiphoto.com/ 追梦人物 ...
- C# 使用ProcessStartInfo调用exe获取不到重定向数据的解决方案
emmmmm,最近在研究WFDB工具箱,C语言写的,无奈本人C语言功底不够,只想直接拿来用,于是打算通过ProcessStartInfo来调取编译出来的exe程序获取输出. 一开始就打算偷懒,从园子里 ...
- VMware 中时间同步设置
在VMware Workstation 9中安装了一个Ubuntu Server,跑了一段时间之后常发现虚拟机中系统(客户系统)时间要比物理机(宿主系统)中的系统时间慢很多. 几经折腾(部署在VMwa ...