TCP_IP详解第二章Inernet地址结构

1、表示IP地址

IPv4 地址
32 ,采用点分四组或点分十进制来表示。
点分十进制,每个数字都是非负整数,范围是 0~255.

    165.195.130.107

大多数时候我们更关心它的 二进制结构 ,如下转换:

    http://www.subnetmask.info/

 

IPv6 地址
128 ,用冒号分八组十六进制表示。
特殊情况的表示

    例如IP地址和端口号之间使用冒号。在这种情况下,用括号字母包围IPv6地址

    

标准化表示法:

     一个块中的前导0必须省略

      全0的块可以用: :省略,但只能出现一次,用于压缩最多的0,如果数量相同,顺序靠前的将被替换。

      在IPv6格式中嵌入IPv4地址可以采用混合符号形式,紧接着IPv4部分的地址快为ffff,其余部分为点分四组。例::( : :ffff:10.0.0.1)可表示IPv4地址(10.0.0.1)。被称为IPv4映射的IPv6地址

大多数时候我们更关心它的 二进制结构 ,如下转换:

    http://www.subnetmask.info/  

 

2、基本的IP地址结构

2.1、基本的IP地址结构--简介

IPv4 地址空间中有 4294967296 个可能的地址,而 IPv6 的地址个数为

     340 282 366 920 938 463 463 374 607 431 768 211 456

    号称可以为地球上的每一粒沙子表示IP地址

 

IP 地址可以根据类型和大小进行分组。大多数 IPv4 地址快被最终细分为一个地址,用于识别连接 Internet 的计算机网络接口,被称为 单播地址 IPv4 地址中 大部分是单播地址
IPv6 地址空间中大部分目前未使用,由于 NAT 技术的推广延迟了 IPV6 技术的推广
除了单播地址,其他类型的地址包括广播,组播和任播地址,后续讨论

 

2.2、基本的IP地址结构---分类寻址

最初建立 Internet 地址结构时,每个地址包含: 网络部分 ( 网络号,用于识别该主机属于哪个网络 ) ,和 主机地址 ( 主机号,用于识别主机 ) 每个主机需要一个唯一的 IP 地址。 32 ,采用点分四组或点分十进制来表示。
最初的五大类地址

    每一类都基于网络中可容纳的主机数量,站点的网络号长,网络种类多,但是每个种类的网络可容纳的主机数就会少一些。要注意取舍。

 

其中 A B C 属于单播地址, D 位组播, E 位保留。
直观的空间划分:
可以看出 网络号长,网络种类多,主机号长,可容纳的主机多
一些缺陷: A B 类网络号通常浪费了太多的主机号,而 C 类不能提供充足的主机号。还有就是 很难为新接入 Internet 的新网络分配新的网络号

2.3、基本的IP地址结构---子网寻址

    –为了解决“很难为新接入Internet的新网络分配新的网络号”这个问题,我们可以舍弃一些主机号长度(反正也用不完),就不必再为新加入的网络分配网络号,使其成为站点,而是把它加入到已经分配的站点中。称为子网,把我们舍弃的主机号长度用来编号这些子网。剩下的主机号继续用来编号主机。

比如这个例子,Internet中的一个站点已经被分配了B类的网络号(就是说前16位已经固定),而后16位可以自由分配,和之前一个道理。这里例子分配了八位子网ID、八位主机ID,这个配置支持256个子网,每个子网最多包含254个地址(当前子网的第一个和最后一个地址无效!)。而且每个支持子网的站点都会有一个子网掩码,一会再说。

2.4、基本的IP地址结构---子网掩码

子网掩码用于从主机的IP地址中获取网络号和子网信息IP子网掩码和IP地址的长度相同(IPv4:32,IPv6:128)。可以静态也可以动态,这都是我们后面要讨论的。对于IPv4来说,子网掩码也采用相同格式(点分十进制)编写。由一串的1后跟若干0组成,有时被称为前缀长度。可以简化表示成一个十进制数,表示前面有几个1。下面是例子:

IPv6 常见子网掩码格式

子网掩码使用方法: 我们来看看子网掩码如何确定一个IP地址的网络信息。子网掩码中的1表示一个IP地址的对应位与一个地址的网络/子网对应位相结合。相反,子网掩码中的0表示,表示一个IP地址的对应位作为主机ID的一部分。举个例子,我们用子网掩码255.255.255.0,处理IPv4地址128.32.1.14

我们将地址中的以子网掩码 对应位与运算
 

2.5、基本的IP地址结构---可变长度子网掩码

一个站点的子网分配不一定都是我们刚才所说的: 8 位子网 ID8 位主机 ID 。可能有多种样子, 可以将不同的子网掩码用于相同网号的站点 ,虽然增加了复杂性,但是却提高了子网的灵活性。因为不同的子网 可以有不同的种类,可以容纳不同数量的主机 。当然站点要支持可变长度子网掩码 (VLSM)
下图所示的网络拓扑,它使用 VLSM 扩展了两个额外的子网
解释一下这张图,三个不同的子网掩码被用于站点 128.32.0.0/16 /24 /25 /26 。这样每个子网可以提供不同数量的主机。

2.6、基本的IP地址结构---广播地址

在每个 IPv4 地址中,一个特殊的地址被保留作为 子网广播地址 ,将 IPv4 地址的网络 / 子网部分设置为适当值, 主机部分全部设为 1 ,向这个 IP 发送数据报,就会发送到这个子网的所有主机上。
构造方式为:对 子网掩码取反 ,并与 子网中任意计算机的地址 进行 按位或运算 得到。例如,前缀为 128.32.1.0/24 的子网,的广播地址构造方式如图所示:
IPv6 没有任何广播地址;广播地址可用于 IPv4 中,而 IPv6 仅使用组播

 

2.7、基本的IP地址结构---IPv6地址和接口标识符

IPv6 地址
通过附件学习一下基础的 IPv6 的知识
 
接口标识符 IID  就是附件中提到的 接口 ID

 

3CIDR和聚合

      3.1、CIDR和聚合---简介

IPv4 地址面临的问题
1. 1994 年,一半以上的 B 类地址已被分配。预计, B 类地址空间大约在 1995 年将被用尽。
2.32 位的 IPv4 地址被认为不足以应付 Internet 21 世纪初的预期规模
3. 全球性路由表的数目(每个网络号对应一条), 1995 年大约为 65000 个条目,目前仍在增长中。随着越来越多的 A 类, B 类, C 类路由条目的出现,路由性能将受到影响。
网络前缀

    为了帮助缓解IPv4地址的压力,分类寻址方案通常使用一个类似VLSM的方案,扩展Inernet路由系统以支持无类别域间路由(CIDR)

      使用CIDR,未经过预定义的任何地址范围可作为一个类的一部分,但需要一个类似于子网掩码的掩码,有时也称为CIDR掩码。CIDR掩码不再局限于一个站点,而对全球性路由系统都是可见的。因此,除了网络号之外,核心Internet路由器必须能解释和处理掩码。这个数字组合称为网络前缀

3.2、CIDR和聚合---前缀

      网络前缀展示

     

3.3、CIDR和聚合---聚合

3.4、CIDR和聚合---前缀

网络前缀示例

           参考资料----https://blog.csdn.net/iostream1001001/article/details/78126150

4、特殊用途地址

4.1、–IPv4特殊用途地址

4.2、IPv6地址

4.3特殊用途地址---IPv4/IPv6地址转换

4.4、特殊用途地址---组播

组播范围
节点本地 ( 同一计算机 )
链路本地(同一子网)
站点本地(适用于一些站点)
全球(整个 Internet
软件开发
在软件的控制下,每个 Internet 主机中的协议栈能加入或离开一个组播组
当一台主机向一个组发送数据时,它会创建一个数据报,使用 ( 单播 )IP 地址作为源地址,使用组播 IP 地址作为目的地址
组播服务模型
ASM  (any source multicast )
任意源组播模型,任意一个发送者都可以作为组播源向某组播组地址发送信息
SSM source specific multicast
通过在客户端指定组播源,而不接收其它源发送的信息

从华为资料获取的地址范围

4.5、特殊用途地址---IPv6组播地址

三种常见的组播地址格式
 

IPv6 组播地址空间中的保留地址
 

4.6、特殊用途地址---任播地址

任播地址是一个单播 IPv4 IPv6 地址,这些地址根据它所在的网络确定不同的主机。
一个任播地址不是 internet 中的一台主机,而是对于任播地址“最合适”或“最接近”的一台主机。
 

5、分配

IP 地址空间通常被分配为大的块,这由一些分层次组织的权威机构完成。
权威机构为各种“所有者”分配地址空间的组织,“所有者”通常是 ISP 或者其他较小的权威机构。

 

5.1、分配----单播

对于单播 IPv4 IPv6 的地址空间, IANA 将分配权限主要委托给几个地区性 Internet 注册机构 (RIR)
RIR 之间通过一个组织互相协作,即 2003 年创建的号码资源组织 (NRO
截止 2011 年初, IANA 拥有的剩余 IPv4 单播地址空间将移交给这些 RIR 分配。

5.2、分配----组播

IPv4 IPv6 中,组播地址 ( 即组地址 ) 可根据其范围来描述,他们需要根据组播方式 ( 静态,动态的协议或算法 ) ,以及是否使用 ASM SSM 来确定。
RPC5771 描述了 IPv4 的分配策略, RFC3307 描述了 IPv6 的分配策略
整体框架在 RFC6308 中有描述

 

6、单播地址分配

下面描述网络管理员如何为各种常见场景的网络分配IP

6.1、单播地址分配----单个供应商/无网络/单个地址

目前,我们可获得的最简单的 Internet 服务是由 ISP 分配的 IP 地址。
DSL 的中文名是数字用户线路,是以电话线为 传输介质 的传输技术组合。 DSL 技术在传递公用电话网络的用户环路上支持对称和非对称传输模式,解决了经常发生在网络服务供应商和最终用户间的“最后一公里”的传输瓶颈问题。由于 DSL 接入方案无需对电话线路进行改造,可以充分利用可以已经被大量铺设的 电话用户 环路,大大降低额外的开销。因此,利用铜缆电话线提供更高速率的因特网接入,更受用户的欢迎,得到了各个方面的重视,在一些国家和地区得到大量应用
对于 DSL 服务,单个地址可以被分配到一个点到点的链路的一端,并可能只是暂时的。
为了在 Linux 上查看一台主机使用的组播地址,我们可以使用 ifconfig netstat 命令查看正在使用的 IP 地址和组 :

 

类似于家庭使用情况,一台路由器,家庭的所有设备都属于这个路由器的子网设备,而路由器的 wan 口通过运行商的 ISP 获取 1 IP ,重点是有个技术 NAT( 见第 7 章;在 windows 中称为 Internet 连接共享 ICS)

6.2、单播地址分配----单个供应商/网络/个地址

小型到中型规模的企业常见网络模型
该网站一杯分配 128.32.2.64/26 范围内的 64 个公开 ( 可路由 ) IPv4 地址。
DMZ 网络包含 Internet 中可见的服务器。内部路由器使用 NAT 为企业内部的计算机提供 Internet 访问

6.3、单播地址分配----个供应商/网络/地址

 

供应商聚合和供应商独立的 IPv4 地址用于一个假设的多宿主企业。如果 PI 地址是可用的,站点运营者倾向于选择使用 PI 空间。 ISP 更喜欢 PA 孔家,因为它可促进前缀聚合,减少路由表的大小。

7、与IP地址相关的攻击

“肉鸡”

 

ip地址欺骗

 锁定

本词条由科普中国科学百科词条编写与应用工作项目 审核

IP地址欺骗是指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。这是一种黑客的攻击形式,黑客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服务器打交道。

中文名

IP地址欺骗

外文名

IPaddress spoofing

    

IP欺骗攻击

目录

  1. 1 定义
  2. 2 易受攻击的服务
  3. 3 应用方法
  4. 4 防御方法

定义

指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。这是一种骇客的攻击形式,骇客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服务器打交道。防火墙可以识别这种ip欺骗。

按照Internet Protocol(IP)网络互联协议,数据包头包含来源地和目的地信息。 IP地址欺骗,就是通过伪造数据包包头,使显示的信息源不是实际的来源,就像这个数据包是从另一台计算机上发送的。

IP地址欺骗攻击示意图

易受攻击的服务

应用方法

在网络安全领域,隐藏自己的一种手段就是IP欺骗——伪造自身的IP地址向目标系统发送恶意请求,造成目标系统受到攻击却无法确认攻击源,或者取得目标系统的信任以便获取机密信息。

这两个目的对应着两种场景:

场景一,常用于DDoS攻击(分布式拒绝攻击),在向目标系统发起的恶意攻击请求中,随机生成大批假冒源IP,如果目标防御较为薄弱,对收到的恶意请求也无法分析攻击源的真实性,从而达到攻击者隐藏自身的目的。

这类场景里一种很有意思的特殊情景来自于反射DDoS攻击,它的特点来自于利用目标系统某种服务的协议缺陷,发起针对目标系统输入、输出的不对称性——向目标发起吞吐量相对较小的某种恶意请求,随后目标系统因其协议缺陷返回大量的响应,阻塞网络带宽、占用主机系统资源。这时如果攻击者的请求使用真实源地址的话,势必要被巨大的响应所吞没,伤及自身。这样,攻击者采取IP欺骗措施就势在必行了。

场景二,原本A主机信任B主机,也就是B可以畅通无阻地获取A的数据资源。而恶意主机C为了能同样获取到A的数据,就需要伪装成B去和A通信。这样C需要做两件事:第一、让B“把嘴堵上,不再向A吐请求,比如向B主机发起DoS攻击(拒绝服务攻击),占用B的连接使其无法正常发出网络包;第二、伪装成BIPA交互。

防御方法

IP欺骗的防范,一方面需要目标设备采取更强有力的认证措施,不仅仅根据源IP就信任来访者,更多的需要强口令等认证手段;另一方面采用健壮的交互协议以提高伪装源IP的门槛。

有些高层协议拥有独特的防御方法,比如TCP(传输控制协议)通过回复序列号来保证数据包来自于已建立的连接。由于攻击者通常收不到回复信息,因此无从得知序列号。不过有些老机器和旧系统的TCP序列号可以被探得

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP详解·卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。《TCP/IP详解·卷2:实现》不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点。《TCP/IP详解·卷2:实现》适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 目录 · · · · · · 第一章 概述 1.1 引言 1.2 源代码表示 1.3 历史 1.4 应用编程接口 1.5 程序示例 1.6 系统调用和库函数 1.7 描述符 1.8 网络实现概述 1.9 mbuf与输出处理 1.10 输入处理 1.11 网络实现概述 1.12 中断级别与并发 1.13 源代码组织 1.14 测试网络 1.15 小结 第二章 mduf:存储器缓存 2.1 引言 2.2 代码介绍 2.3 mduf的定义 2.4 mduf结构 2.5 简单的mduf宏和函数 2.6 m_devget和m_pullup函数 2.7 mduf宏和函数的小结 2.8 Net/3联网数据结构小结 2.9 m_copy和簇引用记数 2.10 其他选择 2.11 小结 第三章 接口层 3.1 引言 3.2 代码介绍 3.3 ifnet结构 3.4 ifaddr结构 3.5 sockaddr结构 3.6 ifnet与ifaddr的专用化 3.7 网络初始化概述 3.8 以太网初始化 3.9 SLIP初始化 3.10 环回初始化 3.11 if_attach函数 3.12 ifinit函数 3.13 小结 第四章 接口:以太网 4.1 引言 4.2 代码介绍 4.3 以太网接口 4.4 ioctl系统调用 4.5 小结 第五章 接口:SLIP和环回 5.1 引言 5.2 代码介绍 5.3 SLIP接口 5.4 环回接口 5.5 小结 第六章 IP编址 6.1 引言 6.2 代码介绍 6.3 接口和地址小结 6.4 sockaddr_in结构 6.5 in_ifaddr结构 6.6 地址指派 6.7 接口ioctl处理 6.8 internet实用函数 6.9 ifnet实用函数 6.10 小结 第七章 域和协议 7.1 引言 7.2 代码介绍 7.3 domain结构 7.4 protosw结构 7.5 IP的domain和protosw结构 7.6 pffindproto和pffindtype函数 7.7 pfctlinput函数 7.8 IP初始化 7.9 sysctl系统调用 7.10 小结 第八章 IP:网际协议 8.1 引言 8.2 代码介绍 8.3 IP分组 8.4 输入处理:ipintr函数 8.5 转发:ip_forward函数 8.6 输出处理:ip_output函数 8.7 Internet检验和:in_cksum函数 8.8 setsockopt和getsockopt系统调用 8.9 ip_sysctl函数 8.10 小结 第九章 IP选项处理 9.1 引言 9.2 代码介绍 9.3 选项格式 9.4 ip_dooptions函数 9.5 记录路由选项 9.6 源站和记录路由选项 9.7 时间戳选项 9.8 ip_insertoptions函数 9.9 ip_pcbopts函数 9.10 一些限制 9.11 小结 第十章 IP的分片与重装 10.1 引言 10.2 代码介绍 10.3 分片 10.4 ip_optcopy函数 10.5 重装 10.6 ip_optcopy函数 10.7 ip_slowtimo函数 10.8 小结 第十一章 ICMP:Internet控制报文协议 第十二章 IP多播 第十三章 IGMP:Internet组管理协议 第十四章 IP多播选路 第十五章 插口层 第十六章 插口I/O 第十七章 插口选项 第十八章 Radix树路由表 第十九章 选路请求和选路消息 第二十章 选路接口 第二十一章 ARP:地址解析协议 第二十二章 协议控制块 第二十三章 UDP:用户数据报协议 第二十四章 TCP:传输控制协议 第二十五章 TCP的定时器 第二十六章 TCP输出 第二十七章 TCP的函数 第二十八章 TCP的输入 第二十九章 TCP的输入(续) 第三十章 TCP的用户需求 第三十一章 BPF:BSD分组过滤程序 第三十二章 原始IP 结束语 附录A 部分习题的解答 附录B 源代码的获取 附录C RFC 1122的有关内容 参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值