概念:IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
作用:
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地
址,以此来屏蔽物理地址的差异。
格式:
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:
100.4.5.6
IP协议有两个版本,IPv4和IPv6。一般我们学习的,凡是提到IP协议,没有特殊说明的,默认都是
指IPv4。
IPv4数量=2^32,大约43亿左右,而TCP/IP协议规定,每个主机都需要有一个IP地址。对于全世
界计算机来说,这个数量是不够的,所以后来推出了IPv6(长度128位,是IPv4的4倍)。但因为
目前IPv4还广泛的使用,且可以使用其他技术来解决IP地址不足的问题,所以IPv6也就没有普及。
组成:
IP地址分为两个部分,网络号和主机号
通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。
特殊的IP地址:
为了解决IP地址浪费的问题,引入子网掩码来进行子网划分:
格式:
子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1
的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。
作用:
网络通信时,子网掩码结合IP地址,可以计算获得网络号(划分子网后的网络号)及主机号(划
分子网后的主机号)。一般用于判断目的IP与本IP是否为同一个网段。
(对于网络通信来说,发送数据报时,目的主机与发送端主机是否在同一个网段,流程是不一样的)
计算方式:
将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得
到的结果就是网络号。
将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。
MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址。
主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC
地址。
网络通信,即网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡接收数据。
硬件层面,只能基于MAC地址识别网络设备的网络物理地址。
MAC地址用来识别数据链路层中相连的节点;
长度为48位,及6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)
在网卡出厂时就确定了,不能修改。虚拟机中的MAC地址不是真实的MAC地址,可能会冲突;也有些网卡支持用户配置MAC地址。
特殊的MAC地址:广播数据报:发送一个广播数据报,表示对同网段所有主机发送数据报。广播数据报的MAC地址为:FF:FF:FF:FF:FF:FF
以下为主机B传输数据到主机C经过的网络设备:
对于以上经过的网络设备:
主机:配有IP地址,但是不进行路由控制的设备;
路由器:即配有IP地址,又能进行路由控制;
节点:主机和路由器的统称;
对于网络数据传输,不是想象中那样,数据直接从源主机到达目的主机,而是类似在地图中,从A到B的
过程;
发送数据报时,发送端主机都需要先根据网络分层从上到下封装:
由“一跳一跳的网络数据传输”可知,以上:
此时,需要根据发送端主机(源主机)与接收端主机(目的主机)是否在同一网段,来设置下一跳设
备:
下一跳设备IP地址都可以获取到,但该设备的MAC地址(即目的MAC)可能不知道,就需要使用以下ARP寻址:
首先,ARP是一个介于数据链路层和网络层之间的协议;ARP协议建立了IP地址与MAC地址的映射关系。
在数据链路层,寻找下一跳设备MAC地址的过程,称为ARP寻址:
(1)主机和路由器中都保存了一张ARP缓存表:通过IP地址可以找到对应的MAC地址。
(2)根据下一跳设备的IP地址,在ARP缓存表中能找到对应的MAC地址,则可以设置目的MAC并发送
数据报。
(3)如果找不到,则发送ARP广播数据报:目的MAC为广播地址,询问下一跳设备的MAC地址。
路由器主要有两个作用:
路由器作为网关,可以划分公网和局域网,某些路由器还可以将局域网划分为多个子网(不同网段)
公网端口即WAN口,为单独的网卡,具有公网IP地址和公网MAC地址。
划分的多个子网,是由局域网端口即LAN口划分,每个端口都有单独的网卡,具有该网段IP地址
和MAC地址。
(注意:家庭用的路由器不能划分局域网子网,企业级专业路由器才能划分)
路由器作为网关:
所谓路由,即在复杂的网络结构中,找出一条通往终点的路线;
网络通信(网络数据传输),路由器中的路由功能,就类似于规划路线,往哪个方向行进能更快到达目
的地。
DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。
TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息,于
是人们发明了域名,并通过域名系统来映射域名和IP地址。
网络通信发送数据时,如果使用目的主机的域名,需要先通过域名解析查找到对应的IP地址:
IPv4协议中,因为IP地址数量不充足的问题,引入NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能;
如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的。那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
NAPT就是解决这个问题的:使用IP+port来建立这个关联关系(IP+端口):
这种关联关系也是由NAT路由器自动维护的。例如在TCP的情况下,建立连接时,就会生成这个表项;
在断开连接后,就会删除这个表项
MTU相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制。
MTU对IP协议的影响:
由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。
ARP不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;
ARP协议的作用:
ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。
源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求
广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播);
目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据
包给源主机,将自己的硬件地址填写在应答包中;
每台主机都维护一个ARP缓存表,缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址
完结撒花:over ✨