IP地址总结
1.网际协议IP :
网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:
地址解析协议 ARP
(Address Resolution Protocol)
逆地址解析协议 RARP
(Reverse Address Resolution Protocol)
网际控制报文协议 ICMP
(Internet Control Message Protocol)
网际组管理协议 IGMP
(Internet Group Management Protocol)
2网际层的 IP 协议及配套协
3.网络互连使用的中间设备
物理层中间设备:转发器(repeater),集线器。
数据链路层中间设备:网桥或桥接器(bridge)。
网络层中间设备:路由器(router)。
网桥和路由器的混合物:桥路器(brouter)。
网络层以上的中继系统:网关(gateway)。
当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。
路由器(router):互联网都是指用路由器进行互连的网络。
从网络层看 IP 数据报的传送
如果我们只从网络层考虑问题,那么 IP 数据报就可以想象是在网络层中传送。
1. IP 地址及其表示方法
(1) 我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。
(2) IP 地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配。
(3)IP 地址的编址方法经历了三个历史阶段:
(1)分类的 IP 地址
(2)子网的划分
(3)构成超网
分类 IP 地址 :
(1) 把IP地址分为若干类,每类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它标志该主机(或路由器)。
两级的 IP 地址可以记为:
IP 地址 ::= { <网络号>, <主机号> }
(2) IP 地址中的网络号字段和主机号字段
2.点分十进制记法
A类 IP地址
A类地址位,其中7位可变,不可变的1位“0”,主机号长度为24次=128个网络;
网络号为全0和全1(用十进制表示为0与127)的两个地址保留用于特殊目的,实际允许有126个不同的A类网络;
由于主机号长度为24位,因此每个A类网络的主机IP数理论上为的24次方=16 777 216;
主机IP为全0和全1的两个地址保留用于特殊目的,实际允许连接的24次方-2=16 777 214个主机;
A类IP地址是从:1.0.0.0~126.255.255.255;
)~01111110(126)
A类IP地址结构适用于有大量主机的大型网络。
B类IP地址
B类IP地址的网络号长度为16位,其中14位可变,不可变的两位为“1 0”主机号长度为16位;理论上可有2的14次方=16384个不同的B类网络
由于主机 IP 长度为16位,因此每个B类网络可以有:2的16次方-2=65534(去掉全0和全1的两个)个IP地址;
B类IP地址是从:128.0.0.0~191.255.255.255;
)~10111111(191)
B类IP地址适用于一些国际性大公司与政府机构等中等大小的组织使用。
C类IP地址
C类IP地址的网络号长度24位,其中21位可变,不可变的为“110”主机号长度8位;因此可有2的21次=2097152个不同的C类网络;
每个C类网络的主机地址数最多为2的8次-2 =254 (去掉全0和全1的两个)个;
C类IP地址是从:192.0.0.0~223.255.255.255;
)~ 11011111(223)
C类IP地址适用于一些小公司与普通的研究机构。
D类和E类IP地址
D类IP地址不标识网络;
地址范围:224.0.0.0~239.255.255.255
用于其他特殊的用途,如多播地址Multicasting;
E类IP地址暂时保留;
地址范围:240.0.0.0~255.255.255.255;
用于某些实验和将来使用。
IP 地址的一些重要特点
(1) IP 地址是一种分等级的地址结构。分两个等级的好处是:
第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
(4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。 、
如下图:解释上面的重要特点
个人用户怎样获得 IP 地址?
向某个本地因特网服务提供者 ISP 注册申请,并按月交付费用。
ISP (Internet Service Provider)已经向有关机构申请到了批量的 IP 地址(相当于批发商)。
购买某个 ISP 的上网卡。
长期使用大量 IP 地址(例如,几千个)
向中国互联网络信息中心 CNNIC 申请
CNNIC 的网址:www.cnnic.cn
长期使用少量 IP 地址
向就近的本地因特网服务提供者 ISP 申请
一般不使用的特殊IP地
直接广播地址
A、B、C类IP地址中主机号全1的地址为直接广播地址;
用来使路由器将一个分组以广播方式发送给特定网络上(由具体网络号指定的网络)的所有主机;
只能作为分组中的目的地址;
物理网络采用的是点-点传输方式,分组广播需要通过软件来实现。
2) 受限广播地址
网络号与主机号的32位全为1的地址为受限广播地址;
用来将一个分组以广播方式发送给本网络上的所有主机;
分组将被本网的所有主机接受,路由器则阻挡该分组通过。
IP地址总结的更多相关文章
- CentOS:ECDSA host key "ip地址" for has changed and you have requested strict checking(转)
原文地址:http://blog.csdn.net/ausboyue/article/details/52775281 Linux SSH命令错误:ECDSA host key "ip地址& ...
- 烂泥:VMWare Workation双网卡配置IP地址
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...
- xamarin android,UWP 网络类型和IP地址
App开发经常要判断网络连通情况,并判断网络类型,获取网络IP.xamarin中可以使用Dependencies提供各平台下的方法,现把各平台代码记录如下: using System; using S ...
- C#服务器获取客户端IP地址以及归属地探秘
背景:博主本是一位Windows桌面应用程序开发工程师,对网络通信一知半解.一日老婆逛完某宝,问:"为什么他们知道我的地址呢,他们是怎么获取我的地址的呢?" 顺着这个问题我们的探秘 ...
- windows下获取IP地址的两种方法
windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...
- 【Win 10 应用开发】获取本机的IP地址
按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...
- 计算机网络学习笔记--网络层之IP地址与子网
IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址 ...
- Linux下的C Socket编程 -- 获取对方IP地址
Linux下的C Socket编程(二) 获取域名对应的IP地址 经过上面的讨论,如果我们想要连接到远程的服务器,我们需要知道对方的IP地址,系统函数gethostbyname便能够实现这个目的.它能 ...
- 如何配置Linux系统的网络IP地址
一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...
- [LeetCode] Validate IP Address 验证IP地址
In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...
随机推荐
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
char*是一个字符串指针,如下面的程序value_作为一个中间变量用来在for循环中scanf输入的值的接收者,然后将value_保存到array中,但是一下程序会出现一个问题就是当你跳出这个函数时 ...
- RZ10
设定一些系统参数 例如在生成table maintenance的时候 由于表格结构复杂 导致生成维护程序时 超出了默认的内存限制 这时候可以通过RZ10 修改 zzta/dynpro_area ...
- wap网站seo如何优化呢?
从事互联网的人员都知道移动互联网营销是一个大的趋势,但是要怎么去做恐怕还都一筹莫展.由PC端的网络营销的经验和常识来看,首要的是要做好移动端手机网站的优化工作.据观察分析,目前国内的大多数并没有做好手 ...
- userscript.user.js 文件头
// ==UserScript== // @name MyUserScript // @namespace https://github.com/MrLeo // @description users ...
- SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪
来源:http://www.cnblogs.com/downmoon/archive/2012/04/10/2439462.html 本文主要介绍SQL Server中记录数据变更的四个方法:触发器 ...
- js Table冻结表头示例代码
Table冻结表头的js实现代码. Table冻结表头: <script type="text/javascript"> //冻结table的表头 function ...
- linux下查看进程内存使用情况
1. top命令--动态查看一个进程的内存使用top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根据内存使用量进行排序,可以shift ...
- jvm 数据区划分学习
Java virtual machine 运行时数据存储区域划分 2015年1月25日 19:15 Pc 寄存器 Each Java Virtual Machine thread has its o ...
- pipe/popen/fifo
pipe(管道) 专用于父子进程通信, 函数原型 int pipe(int fd[2]) fd[0]表示输入, fd[1]表示输出 如果父子进程要双向通信, 可以通过类似信号的功能进行控制, 也可以简 ...
- 无法创建链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例
在使用SQLserver建立远程服务连接Oracle的时候出现先下面错误 出现这个错误,我找到最常见的两个原因 1.注册表 <1>按下WIN+R,打开“运行”窗口,输入“regedit”, ...