IP地址是 IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
IPV4 :32 位无符号整数
IPV6:128 位无符号整数
点分发表示 192.168.3.154 < - > 32无符号整数 C0 A8 03 9A
IP地址,存在网络号和主机号
网络号:标注出主机所在网络
主机号:标注出主机在网络是多少编号
1.划分网络号和主机号的方式
1.1 早期:采用固定方式划分
192.168.3.154 ——> C类地址
A类地址的网络中,一个子网,最多有多少台主机? 2^24
这样的划分方式很导致大量的IP地址浪费
1.2 动态的进行划分
采用网络掩码的方式划分
网络掩码(mask):通常表示成前面全为1,后面全为0
IP & mask -> 网络号
IP &(~mask) -> 主机号
IP +mask 的几种表示形式:
IP:192.168.3.154 mask:240.0.0.0
IP + mask:192.168.3.154/4 (4的意思是前4个比特是1,剩下的是0)
2.特殊的 IP 地址
1.主机号全 0 的,不会分配给主机使用,保留成网络号
61.135.0.0 0.0.28.147
2.主机号全 1 的,不会分配给主机使用,保留成广播地址
61.135.31.255
3.127.*.*.* 保留成环回地址(代表本机),最常使用的是 127.0.0.1
4.公网 IP VS 私网(内网) IP
比如酒店中的电话号码,在酒店内部可以随意使用,酒店外部无法使用,这就相当于是内网IP
公开的电话,在世界上任意位置都可以打 ,就相当于是 公网IP
去为什么会有公网IP和内网IP:增加了IP的重复使用
带来的缺陷:
- 公网 IP 可以对外提供服务,内网不行。没有公网 IP 地址,没法做服务器(因为可以连接到我们)
- 内网地址可以主动发起连接,但需要一定的处理机制(NAT...)
3.关于IP 协议:网络层协议
职责:跨 LAN 主机 to 主机;路由(寻路)/跨路由转发
IPV4
IP 接收方:首先读 4 个bit。根据值,确定 IP 包采用的版本。
解包:首部长度 + 总长度
分用:8 位协议
校验和:保证数无损失
TTL:Time To Live 生存时间(单位:跳)
4.IP 协议是怎么做路由的?
( IP 协议是如何根据长期目标(目标IP)确认下一跳的主机是什么的)
1.目标IP + 本机的路由表 -> 下一跳的 IP 地址
2.根据下一跳的 IP 地址 + ARP 表(IP 地址 -> MAC地址)查询出下一跳 MAC 地址。
3.把下一跳的 MAC 地址交给数据链路层,作为数据链路层填充的目标 MAC 地址(短期目标)
1.目标IP + 本机的路由表 -> 下一跳的 IP 地址
目标IP如何知道?应用层告诉的 。Socket s = new Socket("182.254.183.132",8080); telnet 182.254.183.132 8080
本机的路由表:维护在内核中,允许用户通过命令查看,修改
5. 认识MAC地址
- 主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC地 址。
- 网络通信,即网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡接收数据。
- 硬件层面,只能基于MAC地址识别网络设备的网络物理地址
特殊的MAC地址