- 编址和转发是IP协议的重要组件
 
 
     - 就像这个图所示,网络层有三个主要组件:IP协议,ICMP协议,路由选择协议
 
- IPV4  没有选项的时候是20字节 
     
- 版本(号):4比特:规定了IP协议是4还是6
 - 首部长度:4比特:大多数IP数据报首部长度20字节,但有选项的存在,会有变化
 - 服务类型TOS::将不同类型的IP数据报区分
 - 数据报长度:16比特:指示出数据报的长度,最大为65525字节,但是大多数数据报的长度都在1500字节之内
 - 标示标志片偏移:32比特:和数据报分片有关的内容,在IPV6中被废除
 - 寿命(Time to Live ,TTL )::每次经过路由寿命减一,为0则死亡
 - 协议::是一个重要的东西,在目的路由发挥作用,用于指示IP数据报的数据部分交由那一个运输层协议操作 
       
- 6为TCP
 - 17为UDP
 - 协议号是运输层和网络层的粘合剂
 - 端口号是运输层和应用层的粘合剂
 
 - 首部检验和::就是检错纠错,每个路由器都会进行 
       
- 首部中每2个字节作为一个数,用反码做求和得检验和
 
 - 源IP地址和目的IP地址:32,32比特:通常用DNS服务解析
 - 选项:32比特:是可有可无的,在谈到首部长度我们有提到选项,现在IPV6已去除
 - 数据::通常是TCP和UDP等运输层报文,但是也有其它的ICMP等
 
 - MTU是链路层帧的最大传送单元(能承载的最大数据量)
 - IP数据报分片 
     
- 在端系统中处理(这是IPV4的设计者决定的)
 - 标识号用来表示是属于一体的
 - 标志号:0表示最后一片,1表示其他片
 - 偏移字段表示位置
 
 - IPV4编址 
     
- 每一个IP地址长度32比特,每个.都分化的是一个8比特的数字。
 - 223.1.1.0/24 : 这就是子网! ‘/24’就是子网掩码!子网掩码的意思是前24个比特是一样的!哈哈哈哈哈!道爷我成了!!
 
 - 全球互联网的地址分配原则是:CIDR无类别域间路由选择(Classless Interdomain Routing ) 
     
- 什么是 CIDR? - CIDR 块和表示法简介 - AWS (amazon.com)
 - 好像是 /x 的部分用于区别组织,32 - x 的部分用于区分内部设备
 
 - CIDR之前使用分类编址 
     
- A,B,C 类
 -  
       
A 8比特
B 16
C24
 
 
- Eg:
 
![]()
- IP的广播地址255.255.255.255
 - 获取IP地址 
     
- 1,直接向ISP要
 - 2,DHCP 动态主机配置协议(Dynamic Host Configuration Protocol) 
       
- 一看名字就很好,动态,是即插即用的,在无线服务用常用。
 - DHCP客户-服务交互 
         
- DHCP服务器发现
 - DHCP提供
 - DHCP请求
 - DHCP确认ACK
 
 
 - 3网络地址转换NAT 
       
- Network Address Translation
 - NAT转换表
 - 很重要,嗯
 
 - 4,Upnp 
       
- 一种允许主机配置并发现NAT的协议
 - 对于解决 P2p被NAT隔绝有意义
 
 
 - 因特网控制报文协议ICMP 
     
 - IPV6 
     
- 版本:4比特:和IPV4一样,用于表示我使用的是IPV6
 
- 流量类型::和IPV4的服务类型相似,都是用来标识数据流量类型的,用于处理一些特殊的流量,比如视频。 (流在IPV6是一个新概念)
 - 流标签:20比特:也是标识特殊流量的。。。
 - 有效载荷长度:16比特:标识数据部分的长度,和IPV4的数据报长度字段有点像
 - 下一个首部::和IPV4中的上层协议作用一致,知名数据交付给TCP还是UDP还是巴拉巴拉~
 - 跳限制::和IPV4的生存时间一样
 - 源和目的地址:128.128:就是那样
 - 数据::就是那样~
 
 
- IPV4到IPV6 
     
- 双栈
 - 建隧道
 
 



![[python] 罗技动态链接驱动库DLL 控制 键鼠](https://img-blog.csdnimg.cn/direct/138bade997964d0c956d67afa82ba60a.png)


















