- 在剥掉帧的头部和尾部之前,网络设备需要根据帧头中Type字段确定下一步将帧发送到哪个上层协议进行处理。
- 帧头部Type字段表示该帧需要上送到IP协议进行处理。
IP:Internet Protocol,因特网协议
- IP报文头部信息用于指导网络设备对报文进行路由和分片。同一个网段内的数据转发通过链路层即可实现,而跨网段的数据转发需要使用网络设备的路由功能。分片是指数据包超过一定长度时,需要被划分成不同的片段使其能够在网络中传输。
- IP报文头部长度为20到60字节,报文头中的信息可以用来指导网络设备如何将报文从源设备发送到目的设备。其中,版本字段表示当前支持的IP协议版本,当前的版本号为4。DS字段早期用来表示业务类型,现在用于支持QoS中的差分服务模型,实现网络流量优化。
- 源和目的IP地址是分配给主机的逻辑地址,用于在网络层标识报文的发送方和接收方。根据源和目的IP地址可以判断目的端是否与发送端位于同一网段,如果二者不在同一网段,则需要采用路由机制进行跨网段转发。
IP包头结构:
分片:当数据包比链路MTU大时,就可以被分解为很多的足够小片段的过程。
TTL:Time to Live,生存时间(类似生命值)
- 防止IP数据包在网络内无休止地传输(环路)
- 每经过一次路由TTL值就会减 1
当TTL=0的时候,丢弃数据包
- 利用TTL特性,可以实现路由跟踪技术,一种重要的排错方法
相关命令:ping -i 或tracert -d
协议号:用于标识上层协议
- 目的端的网络层在接收并处理报文以后,需要决定下一步对报文该做如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。与以太帧头中的Type字段类似,协议字段也是一个十六进制数。该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议),也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据包协议,对应值0x11)。
IP地址及子网划分
IP地址:IP Address
![](https://i-blog.csdnimg.cn/blog_migrate/6f302682a395662223b2bcebb41f41c9.jpeg)
在IP网络中,相互通信节点需要有一个IP地址
- 由32位二进制组成,用点分十进制表示
- 结构上分为网络位和主机位两部分:
- 网络位,代表IP地址所属的网段
- 主机位,代表网段上的某个节点
- 由子网掩码决定分界点
![](https://i-blog.csdnimg.cn/blog_migrate/58c54c4c245e87cd3a1ce770e54e25a7.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/ab8c0343347d7675f67fbe961324e4d1.jpeg)
IP地址分类:根据第一组八位二进制
![](https://i-blog.csdnimg.cn/blog_migrate/d3a6209a0b12d1acd67a2fcacb103663.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/36e50d37649a9bbb1599d9cf879be38f.jpeg)
地址类型 | 备注 |
公网地址 | 用于Internet,向ISP付费申请,全球唯一 |
私网地址 | 用于企业内部网络,不能用于Internet ,免费使用,可以重复 |
地址转换 | 使用私网地址访问Internet时必须转换为公网地址,该技术为NAT |
![](https://i-blog.csdnimg.cn/blog_migrate/ba4aaf43754cdf177d24aadaef36f058.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/96b18f4296be0d4d12b4ffb80a9ce0ff.jpeg)
子网掩码及前缀:Subnet Mask & Prefiex
- 用于区分网络位和主机位
- 1表示网络位,0表示主机位(连续的1和0)
![](https://i-blog.csdnimg.cn/blog_migrate/62920d15eb46654d02399cb9514acfe1.jpeg)
前缀表示法(/数字),用来代表多少位网络位(1)
![](https://i-blog.csdnimg.cn/blog_migrate/c28ab09b12cdc4e63ffea60dbd0d0d60.jpeg)
网络地址、主机地址、广播地址:
- 每个网段上都有两个特殊地址(最小和最大)不能分配给主机
![](https://i-blog.csdnimg.cn/blog_migrate/a6c61b83de941104f7eb3c758be50945.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d92f4d30fc55c47bfb3ef72f0cb83f2d.jpeg)
网络地址 | 主机位全为0 代表一个网段(头) |
主机地址 | 主机位不全为0也不全为1 代表一个网段内的一个节点(身体) |
广播地址 | 主机位全为1 代表一个网段内的所有节点(尾) |
![](https://i-blog.csdnimg.cn/blog_migrate/7a5e26194257503c36d8599b0805a26a.jpeg)
有类IP地址规划的缺陷:为什么要子网划分
![](https://i-blog.csdnimg.cn/blog_migrate/c83347a195baa256046b802aee3b19da.jpeg)
子网划分:
- 满足不同网络对IP地址的需求
- 实现网络的层次性
- 节省IP地址
- 默认子网掩码可以进一步划分,成为变长子网掩码(VLSM)
- 操作核心就是:网络位向主机位“借位”
![](https://i-blog.csdnimg.cn/blog_migrate/30792226a4dfcc5d134f3d398cb44523.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/f44e3539eb19af8f4f6fc9d8bd0a32f2.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/7982dfb96a5dbe3a366671bb781c4a12.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/d81372f9e47162b5b9635e49f7284de2.png)
子网划分实例:
![](https://i-blog.csdnimg.cn/blog_migrate/7ab93b35d1ca5cca20c9b4061eedeef5.jpeg)
无类域间路由
- 无类域间路由CIDR(Classless Inter Domain Routing)由RFC1817定义。CIDR突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。
- 如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/24。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减小了路由表的规模。