IP编址&数据转发
- 一、IP编址
- 1.1、二进制、十进制和十六进制
- 1.2、进制之间的转换
- 1.3、IP编址
- 1.4、子网掩码
- 1.5、二进制和十进制转换
- 1.6、IP地址分类
- 1.7、IP地址类型
- 1.8、地址规划
- 二、VLSM与CIDR
- 2.1、有类IP编址的缺陷
- 2.2、变长子网掩码 VLSM
- 2.3、缺省情况下的掩码
- 2.4、子网划分的计算
- 2.5、子网划分举例—C类地址
- 2.6、无类域间路由CIDR
- 2.7、网关
- 2.8、总结
- 三、数据转发过程
- 3.1、数据转发过程概述
- 3.1.1、TCP封装
- 3.1.2、IP封装
- 3.1.3、查找路由
- 3.1.4、ARP
- 3.1.5、以太网封装
- 3.1.6、数据帧转发过程
- 3.1.7、数据包转发过程
- 3.1.8、数据帧解封装
- 3.1.9、数据包解封装
- 3.1.10、数据段解封装
- 3.2、总结
一、IP编址
- 网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。
1.1、二进制、十进制和十六进制
在IP网络中,二进制和十六进制是常用的编码方式。
1.2、进制之间的转换
1.3、IP编址
1、IP地址分为网络部分和主机部分。
2、IP地址由32个二进制位组成,通常用点分十进制形式表示。
1、网络地址:主机位全等于0。
2、广播地址:主机位全等于1。
3、这两个地址都不能够分配出去使用。
1.4、子网掩码
1.5、二进制和十进制转换
1.6、IP地址分类
默认掩码:
1.7、IP地址类型
1、私有地址范围
- 10.0.0.0~10.255.255.255
- 172.16.0.0~172.31.255.255
- 192.168.0.0~192.168.255.255
2、特殊地址
- 127.0.0.0~127.255.255.255
- 0.0.0.0
- 255.255.255.255
1.8、地址规划
二、VLSM与CIDR
2.1、有类IP编址的缺陷
在设计网络时使用有类IP地址会造成地址的浪费。
2.2、变长子网掩码 VLSM
- 变长子网掩码(Variable-Length Subnet Masks,VLSM)的出现是打破传统的以类(class)为标准的地址划分方法,是为了缓解IP地址紧缺而产生的;
- 作用:节约P地址空间;减少路由表大小。
- 注意事项:使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPV2,OSPF,EIGRP和BGP。
- 如上图:
- 本例中的地址为C类地址,缺省子网掩码为24位。
- 先借用一个主机位作为网络位,借用的主机位变成子网位。
- 一个子网位有两个取值0和1,因此可划分两个子网。
- 该比特位设置为0,则子网号为0;该比特位设置为1,则子网号为128;
- 将剩余的主机位都设置为0,即可得到划分后的子网地址;
- 将剩余的主机位都设置为1,即可得到子网的广播地址。
2.3、缺省情况下的掩码
1、IP地址:172.16.2.160 掩码:255.255.0.0
缺省情况下,未划分子网。
2、IP地址:172.16.2.160 掩码:255.255.255.0
“/16”表示子网掩码有16位
“/24”表示子网掩码有24位
3、IP地址:172.16.2.160 掩码:255.255.255.192
1、扩展了10位子网地址
2、子网划分的核心思想:“借用”主机位来“制造”新的“网络”
2.4、子网划分的计算
1、你所选择的子网掩码将会产生多少个子网?2的x次方(x:子网位数)2、每个子网能有多少主机?2的y次方-2(y:主机位数)3、有效子网(块大小)?块大小=2的y次方(y:主机位数)(结果叫做block size或base number)4、每个子网的广播地址是?主机位全为1。(广播地址=下个子网号-1)5、每个子网的有效主机分别是?忽略子网内全为0和全为1的地址,剩下的就是有效主机地址。
2.5、子网划分举例—C类地址
- 子网:网络号,网络地址
2.6、无类域间路由CIDR
- CIDR的概念:忽略A、B、C类网络的规则,定义前缀相同的一组网络为一个块即一条路由条目。(如:199.0.0.0/8)
- CIDR的优点:
- 减少了网络数目,缩小了路由选择表;
- 从网络流量、CPU和内存方面说,开销更低;
- 对网络进行编址时,灵活性更大。
CIDR增强了网络的可扩展性。
2.7、网关
网关用来转发来自不同网段之间的数据包。
2.8、总结
1、子网掩码的作用是什么?区分IP地址的网络位和主机位。2、网关的作用是什么? 转发来自不同网段之间的数据包。
三、数据转发过程
- TCP/IP协议簇和底层协议配合,保证了数据能够实现端到端的传输。数据传输过程是一个非常复杂的过程,例如数据在转发的过程中会进行一系列的封装和解封装。对于网络工程师来说,只有深入地理解了数据在各种不同设备上的转发过程,才能够对网络进行正确的分析和检测。
3.1、数据转发过程概述
数据包在相同网段内或不同网段之间转发所依据的原理基本一致。
3.1.1、TCP封装
- 当主机建立了到达目的地的TCP连接后,便开始对应用层数据进行封装。
- 0~ 1023:知名端口号,1024~65535:可以动态分配的范围。
- 80:HTTP服务。
- Source Port:源端口。
- Destination Port:目的端口。
- Sequential Number:序列号。
- Acknowledgment Number:确认号。
3.1.2、IP封装
3.1.3、查找路由
主机A必须要拥有到达目的地的路由。
3.1.4、ARP
- 通进ARP缓存表找到下一跳的MAC地址。
- 如果表项里没有下一跳的MAC地址,主机A会发送ARP请求。
3.1.5、以太网封装
3.1.6、数据帧转发过程
- 主机工作在半双工状态下,所以会使用CSMA/CD来检测链路是否空闲。
- 前导码用于使接收者进入同步状态,定界符用于指示帧的开始。
- 同一个冲突域里的设备都会接收到主机A发送的数据帧。
- 只有网关(RTA)会处理该数据帧,并继续转发。
3.1.7、数据包转发过程
- 网关检查是否具有到达目的网络的路由条目。
- 如果存在转发路径,则为数摆包添加一个新的二层帧头和帧尾.并继续转发
3.1.8、数据帧解封装
- RTB以服务器A的MAC地址作为目的MAC继续转发。
- 服务器A接收到该数据帧后,发现目的MAC为自己的MAC,于是会继续处理数据帧。
3.1.9、数据包解封装
- 服务器A检查数据包的目的IP地址,发现目的IP与自己的IP地址相同。
- 服务器A剥掉数据包的IP头部后,会送往上层协议TCP继续进行处理。
3.1.10、数据段解封装
服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。
3.2、总结
1、数据在进行二层和三层封装之前,主机需要了解哪些信息?二层:目的MAC;三层:源IP地址2、当数据帧发送到非目的主机时,非目的主机将会如何处理?丢弃3、传输层如何能够准确的将数据交给特定应用?目的端口号4、当两台主机同时访问服务器的HTTP服务,该服务器如何区分数据属于哪个会话? 源IP(SIP)、源端口(SP)五元组区分:SIP、DIP、SP、DP、pro(协议)