IP地址:标识每个主机的具体位置,它为互联网上的每一个网络和每一台主机分配一个逻辑地址.来屏蔽物理地址上的差异.
IP地址,其实是一个32位的整数(4个字节),按照32位的表示方式,使整个数字会变得很大,于是就采用点分十进制的方式表示,使用三个".",把32位分成4个部分,每个部分就是8位,1个字节,每个字节的范围就是0-255.
IP地址分为两个部分:网络号和主机号
1.网络号:表示网段,保证相互连接的两个网段有不同的标识
2.主机号:标识主机,同一个网段内,主机之间具有相同的网络号,但必须有不同的主机号
如何区分主机号和网络号?
将IP地址和子网掩码进"按位与"操作(二进制相同位,与操作,两个都是1结果为1,否则就为0)就得到的就是网络号
将子网掩码二进制按位取反,再与IP地址按位与,得到的就是主机号
特殊的IP地址:
- 将IP中的主机地址全都设为0,就成了网络号,代表这个局域网
- 将IP地址中的主机地址全设为1,就成了广播地址,用于给同一个链路中互相连接的所有主机发送数据包,例如手机投屏到电视,处于同一个局域网中.
127.0.0.1本机环回测试
其实32位表示的数据量非常有限,也就是42亿9千万,并且IP不能够重复.这就会导致IP地址不够用的问题.针对这样的问题有多种解决方案,这里采用两点:1.动态分配IP地址(DHCP),2.NAT机制(网络地址转换)
1.动态分配IP地址:采用的按需分配,当一个设备不需要上网时,就不会分配IP地址,只有需要的时候,才会分配.通过优化DHCP配置,确保IP地址的有效和及时回收
2.NAT机制(网络地址转换):
把IP地址分为两类:
1.内网IP:不同的局域网内的设备,内网IP可以重复,同一个局域网内的设备,IP不能重复.比如以:10.,172.16.-172.31.*,192.168.开头的都属于是内网IP.
2.外网IP:外网IP不能重复.
1)局域网内之间的设备进行通信,是可以通信的,局域网内部IP地址都是唯一的.
2)A局域网中的设备,想和B局域网中的设备通信,这个时候就需要带有一个外网IP的设备进行中转
3)局域网内部的设备访问带有外网IP的设备.
我们平时使用到的手机等电子设备,他们都会有一个内网IP,还有一类设备就是"服务器",服务器可以有外网IP,
客户端请求:
1)客户端向服务器发送一个请求,其中包含源IP(例如10.0.0.10)和目标IP(例如202.244.174.37)。此请求包括IP头和有效载荷。
NAT转换(出站):
2)当请求通过带有NAT的路由器时,路由器会将IP头中的源IP(10.0.0.10)替换为自己的外部IP地址(例如163.221.120.9)。这是为了确保服务器的响应可以正确路由回内部网络中的正确设备。
服务器响应:
3)服务器接收到具有翻译后源IP(163.221.120.9)的请求并发送响应。响应包括源IP(例如202.244.174.37)和目标IP(例如163.221.120.9),以及源端口和目标端口。
NAT转换(入站):
4)当响应通过路由器时,NAT机制使用其映射表将IP头中的目标IP(163.221.120.9)替换为原始的内部IP地址(例如10.0.0.10)。这确保了响应被正确定向到内部网络上的正确客户端。
客户端接收响应:
5)客户端接收响应,通信成功完成。
其实当触发NAT的时候,就会维护一个映射表,其中记录了替换前的IP和替换后的IP.
3.IPv6
IPv6是16个字节,128位,表示IP地址,相比IPv4的32位地址提供了更多的地址组合,解决了IPv4地址空间有限的问题。