目录
一、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
扩展了10位子网地址
子网划分的核心思想:“借用”主机位来“制造”新的“网络”
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服务
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(协议)