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++ Stacks(堆栈)
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. 操作 比较和分配堆栈 empty() 堆栈为空则返回真 pop() ...
- C语言实现基于投票规则的细胞自动机
算法介绍 首先我们先看一下“基于投票规则的细胞自动机”的定义: 基于投票规则的细胞自动机,实际上是具有如下限定条件的一种细胞自动机: 状态:0或1: 邻居:中心的3*3邻居: 规则:计数p表示中心的3 ...
- mobileconfig文件的签名和认证(signed、verified)
专题:基于IOS上MDM技术相关资料整理及汇总mobileconfig文件的签名和认证(signed.verified) 一.功能描述: 鉴于我们的设备和MDM server之间已经可以通信,并能完成 ...
- NaN属性,isNaN函数
NaN:Not a Number,顾名思义,表示不是一个数字. 可以把 Number 对象设置为该值,来指示其不是数字值. 使用 isNaN() 全局函数来判断一个值是否是 NaN 值 详见 Java ...
- CenterOS中安装Redis及开机启动设置
Redis安装 从官方下载最新Redis进行安装,官网地址:http://redis.io/download $ wget http://download.redis.io/releases/redi ...
- Android混淆问题
最近做了2个项目,全部要混淆,刚接触,自己在网上找了还多资料,感觉各有千秋,自己总结了一下,第一次发帖,不喜勿喷.求各种指导!!! android应用程序的混淆打包规范 1.在工程文件project. ...
- select标签用法
<select name="type" class="textarea" onchange='bbbb(this.value)' > <opt ...
- 【面试虐菜】—— JAVA面试题(3)
1 throws与throw的区别 解析:throws和throw是异常处理时两个常见的关键字,初级程序员常常容易正确理解throw和throws的作用和区别,说明已经能比较深入理解异常处理.Thro ...
- hadoop自动安装的脚本与步骤
最近要在10几台机器上安装hadoop.对于这种繁复而重复的工作,一步步的打命令行,对于程序员来说是一件不能忍的事情.所以我就琢磨着怎么写一个脚本来自动安装hadoop. 任务: 在10几台机器上中的 ...
- Microsoft Azure 全球状态
除了mooncake的中国大陆区域 Azure status http://azure.microsoft.com/en-us/status/?rnd=1#current http://azure.m ...