基本概念
主机:配有IP地址,但是不进行路由控制的设备;
路由器:即配有IP地址,又能进行路由控制;
节点:主机与路由器的统称;
协议头格式
- 4位版本号:指定IP协议的版本,对于IPv4来说,就是4;
- 4位头部长度:IP头部的长度是多少个32bit,也就是length*4的字节数,4bit表示最大的数是15,因此IP头部最大长度是60字节;
- 8位服务类型:3位优先权字段,4位TOS字段,和1位保留字段(必须置为0).4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本.这4者相互冲突,只能选择一个.
- 16位总长度:IP数据报整体占多少个字节.
- 16位标识:唯一的标识主机发送的报文.如果IP报文在数据链路层被分片了,那么每一个片里面的这个id都是相同的.
网段划分
IP地址分为两个部分,网络号和主机号
- 网络号:保证相互连接的两个网段具有不同的标识
- 主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
- 不同的子网其实就是把网络号相同的主机放在一起
- 如果在子网中新增一台主机,则这台主机的网络和这个子网的网络号一致,但是主机号必须不能和子网中的其他主机重复。
怎么管理和分配IP:DHCP
- 有一种技术叫DHCP,能够自动的给子网内新增主机节点分配IP地址,避免了手动管理的不便.
- 一般的路由器都带有DHCP功能,因此路由器也可以看作一个DHCP服务器.
怎么划分网络号和主机号
过去有种划分网络号和主机号的方案,把所有的IP地址分为五类
- A类:0.0.0.0~127.255.255.255
- B类:128.0.0.0~191.255.255.255
- C类:192.0.0.0~223.255.255.255
- D类:224.0.0.0~239.255.255.255
- E类:240.0.0.0~247.255.255.255
但是这种划分方式存在问题,例如大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量地址.针对这种情况提出了新的划分方案,称为CIDR.
- 引入一个额外的子网掩码来区分网络号和主机号.
- 将子网掩码和IP地址按位相与,得到的结果就是网络号.
- 网络号和主机号的划分与这个IP地址是A类、B类无关.
IP地址和子网掩码做按位与运算还有一种简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68,子网掩码的高24位是1,也就是255.255.255.0
特殊IP地址
- 将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网.
- 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包.
- 127.*的IP地址用于本机环回测试,通常是127.0.0.1
IP地址的数量限制
CIDR在一定程度缓解了IP地址不够用的问题(提高了利用率,减少了浪费,但是IP地址的绝对上限并没有增加),仍然不是很够用,这时候有三种方法解决:
- 动态分配IP地址:只给接入网络的设备文件分配IP地址,因此同一个MAC地址的设备,每次接入互联网时,得到的IP地址不一定是相同的.
- NAT技术;
- IPV6:IPV6并不是IPV4的简单升级版,这是两个互不相干的协议,彼此互相不兼容;目前IPV6还没有普及.
私有IP地址和公网IP地址
如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上使用任意的IP地址都可以,但是规定了用于组建局域网的私有IP地址
- 10.*,前8位是网络号
- 172.16.~172.31.,前12位是网络号.
- 192.168.*,前16位是网络号,共65536个地址