1.IP 协议的定义和作用
IP 协议(Internet Protocol)又称互联网协议,是支持网间互联的数据包协议。该协议工作在网络层,主要目的就是为了提高网络的可扩展性,和传输层 TCP 相比,IP 协议提供一种无连接/不可靠、尽力而为的数据包传输服务,其与TCP协议(传输控制协议)一起构成了TCP/IP 协议族的核心。IP 协议主要有以下几个作用:
-
寻址和路由:在IP 数据包中会携带源 IP 地址和目的 IP 地址来标识该数据包的源主机和目的主机。IP 数据报在传输过程中,每个中间节点(IP 网关、路由器)只根据网络地址进行转发,如果中间节点是路由器,则路由器会根据路由表选择合适的路径。IP 协议根据路由选择协议提供的路由信息对 IP 数据报进行转发,直至抵达目的主机。
-
分段与重组:IP 数据包在传输过程中可能会经过不同的网络,在不同的网络中数据包的最大长度限制是不同的,IP 协议通过给每个 IP 数据包分配一个标识符以及分段与组装的相关信息,使得数据包在不同的网络中能够传输,被分段后的 IP 数据报可以独立地在网络中进行转发,在到达目的主机后由目的主机完成重组工作,恢复出原来的 IP 数据包。
2.域名和 IP 的关系,一个 IP 可以对应多个域名吗
整个互联网是一个单一的、抽象的网络。互联网上每一台主机或者路由器在连入互联网时需要被分配一个唯一的标识符,即 IP 地址,在 IPv4 协议下,这个标识符是一个 32 位无符号二进制数。互联网上和一个设备通信时,需要知道其 IP 地址。互联网最常见的应用之一是向某个特定主机请求一些服务,例如请求某个网页的信息,请求某个邮件服务器的服务。然而,数字 IP 地址不方便人们记忆和描述。为此,域名系统(Domain Name System,DNS)被开发和应用,使得人们可以方便地将一串便于记忆和描述的字符串,称为域名,利用 DNS 自动转换为 IP 地址。互联网上分布运行着许多域名服务器,其他互联网上的设备可以向他们询问域名对应的 IP 地址是什么,此即域名解析。网站的运营者可以在域名注册商处注册域名,使其指向自己的网站服务器的 IP 地址,使得这一域名被其他互联网上的用户使用。
在最简单的情形下,一个域名只对应一个 IP 地址,一个 IP 地址只对应一个域名。
实际中,根据需求,多个域名可以被解析为同一个 IP 地址。例如具有一个 IP 地址的服务器上的运营的网站,为了推广自己给自己注册了许多朗朗上口的域名;或者提前注册多个类似域名,防止被竞争者不当利用;或者一个网站历史上使用了另一个域名,现在多个域名同时可用,并被解析到同一个 IP 地址。 此外,相对少见地,一个域名可能会被解析出多个 IP 地址。例如,这个网站为了平衡负载,在多个服务器上提供了同一类服务。这可能表现为:不同时间,同一个域名被解析为不同的 IP;一个域名解析的结果可能有若干备选 IP;一个域名不同的网络服务提供商的网络中会被解析出不同的 IP。
3.IPV4 地址不够如何解决
-
DHCP:动态主机配置协议。动态分配 IP 地址,只给接入网络的设备分配IP地址,因此同一个 MAC 地址的设备,每次接入互联网时,得到的IP地址不一定是相同的,该协议使得空闲的 IP 地址可以得到充分利用。
-
CIDR:无类别域间路由。CIDR 消除了传统的 A 类、B 类、C 类地址以及划分子网的概念,因而更加有效的分配 IPv4 的地址空间,但无法从根本上解决地址耗尽问题。
-
NAT:网络地址转换协议。我们知道属于不同局域网的主机可以使用相同的 IP 地址,从而一定程度上缓解了 IP 资源枯竭的问题。然而主机在局域网中使用的 IP 地址是不能在公网中使用的,当局域网主机想要与公网进行通信时, NAT 方法可以将该主机 IP 地址转换成全球 IP 地址。该协议能够有效解决 IP 地址不足的问题。
-
IPv6 :作为接替 IPv4 的下一代互联网协议,其可以实现 2 的 128 次方个地址,而这个数量级,即使是给地球上每一颗沙子都分配一个IP地址,该协议能够从根本上解决 IPv4 地址不够用的问题。
3.路由器的分组转发流程
① 从 IP 数据包中提取出目的主机的 IP 地址,找到其所在的网络;
② 判断目的 IP 地址所在的网络是否与本路由器直接相连,如果是,则不需要经过其它路由器直接交付,否则执行 ③;
③ 检查路由表中是否有目的 IP 地址的特定主机路由。如果有,则按照路由表传送到下一跳路由器中,否则执行 ④;
④ 逐条检查路由表,使用每一行的子网掩码与目的IP匹配。若找到匹配路由,则按照路由表转发到下一跳路由器中,否则执行步骤 ⑤;
⑤ 若路由表中设置有默认路由,则按照默认路由转发到默认路由器中,否则执行步骤 ⑥;
⑥ 无法找到合适路由,向源主机报错。
4.路由器和交换机的区别
-
交换机:交换机用于局域网,利用主机的物理地址(MAC 地址)确定数据转发的目的地址,它工作于数据链路层。
-
路由器:路由器通过数据包中的目的 IP 地址识别不同的网络从而确定数据转发的目的地址,网络号是唯一的。路由器根据路由选择协议和路由表信息从而确定数据的转发路径,直到到达目的网络,它工作于网络层。
5.ICMP 协议概念/作用
CMP(Internet Control Message Protocol)是因特网控制报文协议,主要是实现 IP 协议中未实现的部分功能,是一种网络层协议。该协议并不传输数据,只传输控制信息来辅助网络层通信。其主要的功能是验证网络是否畅通(确认接收方是否成功接收到 IP 数据包)以及辅助 IP 协议实现可靠传输(若发生 IP 丢包,ICMP 会通知发送方 IP 数据包被丢弃的原因,之后发送方会进行相应的处理)。