网络层最重要的协议—IP协议
IP协议格式
- 4位版本:此处取4或6
- 4位首部长度:描述IP报头的长度。(单位也是4字节)
- 16位总长度:描述一个IP数据报的总长度(报头+载荷)
- 16位标识:同一个数据拆成的多个包,标识相同
- 3位标志:是结束标志
- 13位片偏移:标识了拆分后多个包的先后顺序
- 8位生存时间(TTL): 一个数据报在网络上能够传输的最大时间,这个时间的单位不是秒,而是次数。
- 8位协议:描述当前载荷部分内容是属于哪个协议的。(TCP/UDP)
- 16位首部校验和:此处只需要针对首部进行校验,载荷部分(TCP/UDP数据报),自身已经有校验和了。
- 32位源IP地址/32位目的IP地址:是IP协议中最重要的部分。
解决IP地址不够用问题的三种方法
方法一: 动态分配IP地址
方法二: NAT网络地址转换
- 本质上是使用一个IP,代表一批设备。也能够大大提高IP地址的利用率。使用端口号区分。
注意:
如果某个私网里的设备想访问公网的设备,就需要对应的NAT设备(路由器),把IP地址进行映射,从而完成网络访问。
反之,公网的设备无法直接访问私网的设备,不同局域网里的私网设备没法直接相互访问。
方法三: IPv6(根本上解决IP不够用的问题)
小结:
实际上,世界上仍然是以NAT+IPv4+动态分配来进行网络组建的,真正使用IPv6的地方非常少。
IP协议之地址管理
IP协议地址管理,把一个IP地址分成两个部分,一个叫做网络号,一个叫做主机号。
主机号/网络号
- 主机号: 标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号。
- 网络号:标识网段,保证相互连接的两个网段具有不同的标识,也就是局域网
子网掩码
作用:用来给一个IP地址划分网络号和主机号
- 子网掩码中1的部分就描述了IP有多少位是网络号。
特殊IP
- 将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网。
- 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据。
- 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1(测试程序是否能正常工作)