愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

IP协议总结

一、IP地址

1、IP地址是一个32位的二进制串
2、常用点分十进制计法,即每8位用等效的十进制表示,之间用“.”分隔,如:
计算机中存储的IP地址:10000000000010110000001100011111
点分十进制计法,首先每8位分隔开:
10000000 00001011 00000011 00011111
然后转为对应的十进制,中间用“.”连接:128.11.3.31
3、分类编址法
分类编址中IP地址 := {<网络号>, <主机号>},其中A类、B类、C类编址示意图如下:

D类编址,则主要用于多播(它的IP地址是以1110开头的)
此外,10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255保留用作内网
4、无分类编址法(CIDR)
主要是引入子网掩码的概念,子网掩码是由前面的一串1和后面的一串0组成,使用子网掩码的好处是我们无需使用固定的长度来表示网络号。我们要得到网络号,只需要子网掩码 & IP地址即可获得,如:

CIDR中,可以使用斜线计法,如上例中子网掩码为18位,则可以表示为:141.14.72.24/18

二、ARP(地址解析协议)

ARP是地址解析协议,用于通过IP地址找到MAC地址
工作原理:
1)每个主机的ARP缓冲区中,都建立有一个ARP列表,表示IP -> MAC地址的映射
2)源主机要发送数据给IP(X)的时候,首先检查自己的ARP列表中是否有IP(X),若有,则直接获得MAC地址发送数据 MAC(IP)
3)当ARP列表中没有IP(X)的时候,源主机给本网段的其他主机发送一个ARP请求,包含{<源主机IP>, <源主机MAC地址>,<目的主机IP>}
4)本网段的其他主机,收到ARP请求后检查<目的主机IP>是否和自己的IP相同,如果相同,就覆盖或者在ARP列表中新增条目<源主机IP> -> <源主机MAC地址>,然后发送一个响应包,包含自己的MAC地址;如果和自己IP不相同,就忽略。
5)源主机收到响应包后,则更新ARP列表,如果等待一段时间后一直没收到响应包,则查询失败
注意:广播发送ARP请求,单播发送ARP响应

三、各种协议

1)ICMP协议:因特网控制报文协议(Internet Control Message Protocol),用于在IP主机、路由器之间传递控制信息
2)DHCP协议:动态主机配置协议,让系统得以连接到网络上,并获取所需要的配置参数的协议,允许一台计算机加入新的网络和获取IP地址,不需要手工参与
3)NAT:网络地址转换协议,将私有地址(保留地址)转化为合法IP地址的转换技术(内网地址->外网地址)