【网络篇】IP知识

IPv4首部与IPv6首部

IPv6相对于IPv4的好处:

1.IPv6可自动配置,即使没有DHCP服务器也可以实现自动分配IP地址,实现即插即用。

2.IPv6包首部长度采用固定40字节,删除了选项字段,以及首部校验和,简化了首部结构,减轻了路由器负担,提高传输性能。

3.IPv6有应对伪造IP地址的网络安全功能以及防止路线窃听的功能,大大提升了安全性。

在解决IPv4地址枯竭中,IPv6和NAT分别有什么优缺点?

IPv6

优点:

1.巨大的地址空间:IPv6 使用 128 位地址,提供了约 21282128 个地址,远远超过 IPv4 的 232232 个地址。从根本上解决了地址枯竭问题。

2.简化网络配置:支持自动配置(如 SLAAC,无状态地址自动配置),减少了手动配置的需求。简化了网络管理。

3.更好的性能:简化了数据包头部结构,减少了路由器处理开销。支持更高效的路由和转发。

4.内置安全性:IPSec(IP 安全协议)是 IPv6 的强制组成部分,提供了端到端加密和认证。

5.支持新应用:更好的支持物联网(IoT)、5G 等新兴技术,满足大规模设备连接需求。

缺点:

1.兼容性问题:IPv6 与 IPv4 不直接兼容,需要双栈技术或隧道技术来实现互通。过渡期间需要额外的配置和维护。

2.部署成本高:需要升级网络设备(如路由器、交换机)和软件以支持 IPv6。对企业和运营商来说,初期投资较大。

3.普及速度慢:尽管 IPv6 已经推出多年,但其普及速度较慢,许多网络仍然依赖 IPv4。

NAT 

优点:

1.缓解地址枯竭:允许多个设备共享一个公共 IPv4 地址,显著减少了对 IPv4 地址的需求。

2.低成本解决方案:不需要升级硬件或软件,利用现有 IPv4 基础设施即可实现。

3.增强安全性:隐藏内部网络结构,对外部网络只暴露一个公共 IP 地址,增加了安全性。

4.易于部署:NAT 技术成熟,部署简单,广泛应用于家庭路由器和企业网络中。

缺点:

1.破坏了端到端通信:NAT 修改了数据包的 IP 地址和端口,导致端到端通信变得复杂。对某些应用(如 P2P 网络、视频会议)不友好。

2.性能瓶颈:NAT 设备需要维护连接状态表,可能成为网络性能的瓶颈。在大规模网络中,NAT 设备的负载较高。

3.不支持新协议:NAT 对某些新协议(如 IPSec)的支持有限,可能导致兼容性问题。

4.临时解决方案:NAT 只是缓解 IPv4 地址枯竭的临时方案,无法从根本上解决问题。

虚拟机中的NAT模式和桥接模式有什么区别?

NAT模式

工作原理

  • 虚拟机通过宿主机的 NAT 设备与外部网络通信。

  • 宿主机充当虚拟机的路由器,虚拟机的网络流量通过宿主机转发。

  • 虚拟机使用宿主机的 IP 地址对外通信,外部网络无法直接访问虚拟机。

优点

  1. 网络隔离:虚拟机与外部网络隔离,外部网络无法直接访问虚拟机,安全性较高。

  2. IP 地址管理简单:虚拟机使用私有 IP 地址(如 192.168.x.x),不需要额外的公网 IP 地址。

  3. 配置简单:虚拟机可以自动获取 IP 地址(通过 DHCP),无需手动配置网络。

  4. 适合单机环境:适合在单台宿主机上运行多个虚拟机,且不需要虚拟机与外部网络直接通信的场景。

缺点

  1. 外部无法直接访问虚拟机:虚拟机对外部网络不可见,外部设备无法直接访问虚拟机。

  2. 性能开销:所有虚拟机的网络流量都需要经过宿主机的 NAT 设备,可能成为性能瓶颈。

  3. 不适合集群环境:虚拟机之间无法直接通过外部网络通信,不适合需要虚拟机之间直接通信的场景。

适用场景

  • 虚拟机需要访问外部网络(如互联网),但不需要被外部网络访问。

  • 单机环境,如开发、测试或个人使用。 

桥接模式

工作原理

  • 虚拟机通过虚拟网桥直接连接到物理网络,虚拟机在物理网络中表现为一个独立的设备,拥有独立的IP地址。

  • 虚拟机获取与宿主机同一网段的 IP 地址,可以直接与外部网络通信。

  • 虚拟机对外部网络可见,外部设备可以直接访问虚拟机。

 优点

  1. 直接访问外部网络:虚拟机可以直接与外部网络通信,外部设备也可以直接访问虚拟机。

  2. 性能更好:虚拟机的网络流量直接通过物理网卡传输,不经过 NAT 设备,性能更高。

  3. 适合集群环境:虚拟机之间可以通过外部网络直接通信,适合需要虚拟机之间协作的场景。

 缺点

  1. IP 地址需求:虚拟机需要独立的 IP 地址(通常与宿主机在同一网段),可能消耗大量 IP 地址。

  2. 安全性较低:虚拟机对外部网络可见,可能面临更多的安全风险。

  3. 配置复杂:需要手动配置虚拟机的网络参数(如 IP 地址、子网掩码、网关等)。

 适用场景

  • 虚拟机需要与外部网络直接通信(如服务器、集群环境)。

  • 虚拟机需要对外提供服务(如 Web 服务器、数据库服务器)。

DNS

层级关系由高到低:

作用:将域名转换成IP地址。

具体流程

1.将客户端要访问的域名传到本地DNS服务器,如果缓存中有就直接返回IP地址,如果没有,本地DNS服务器将询问它的根域名服务器。

2.根域名服务器收到后,发现是.com域,会把.com顶级域名服务器的地址给本地域名服务器。

3.本地域名服务器收到顶级域名服务器地址后,将请求发送给顶级域名服务器,此时顶级域名服务器会返回权威域名服务器的地址。

4.本地域名服务器询问权威域名服务器,权威域名服务器查询后将对应IP地址告诉本地DNS。然后本地DNS服务器将IP地址返回给客户端。

DNS 有几种解析方式?

递归解析:

  • 当客户端向本地 DNS 服务器发送 DNS 查询请求时,本地 DNS 服务器承担起整个查询的责任。如果本地 DNS 服务器没有存储对应的域名 - IP 映射信息,它会代替客户端向其他 DNS 服务器进行查询。本地 DNS 服务器会依次向根 DNS 服务器、顶级域名 DNS 服务器、权威 DNS 服务器等进行查询,直到获取到正确的 IP 地址,然后将结果返回给客户端。

特点:

  • 对客户端来说比较方便,客户端只需要向本地 DNS 服务器发送一次请求,然后等待结果即可,无需关心具体的查询过程。
  • 本地 DNS 服务器的负担较重,因为它需要完成整个查询过程。

迭代解析:

  • 客户端向 DNS 服务器发送查询请求,DNS 服务器如果没有所需的信息,不会代替客户端继续查询,而是返回一个它认为可能知道答案的其他 DNS 服务器的地址。客户端再向这个新的 DNS 服务器发送查询请求,如此反复,直到获取到最终的 IP 地址。

特点:

  • 客户端需要参与多次查询过程,相对复杂一些。
  • DNS 服务器的负担相对较轻,因为它只需要提供下一个可能的查询地址。

反向解析:

  • 与正向解析相反,反向解析是将 IP 地址解析为域名。客户端向DNS服务器发送反向DNS查询请求,DNS服务器通过查询特殊的 DNS 区域(in - addr.arpa 或 ip6.arpa 分别用于 IPv4 和 IPv6)来完成。在这个区域中,IP 地址被反向排列并映射到对应的域名。
  • 已知一个 IP 地址 192.0.2.1,通过反向解析可以查询到该 IP 地址对应的域名。在 DNS 服务器中,会有类似 1.2.0.192.in - addr.arpa 这样的记录指向对应的域名。

 特点:

  • 常用于验证 IP 地址的真实性和身份,例如在邮件服务器中,会通过反向解析来验证发送邮件的 IP 地址是否合法。
  • 反向解析的配置和管理相对复杂,需要在 DNS 服务器上进行专门的设置。

缓存解析:

  • DNS 服务器和客户端都会对之前查询过的域名 - IP 映射信息进行缓存。当再次查询相同的域名时,首先会检查本地缓存,如果缓存中存在对应的记录且未过期,就直接使用缓存中的 IP 地址,而无需再次进行完整的查询过程。

特点:

  • 可以显著提高 DNS 查询的效率,减少查询时间和网络流量。
  • 缓存的有效性依赖于设置的缓存时间,如果缓存时间设置的不合理,可能会导致使用过期的 IP 地址。

什么是 DNS 劫持,如何预防?

DNS 劫持又称域名劫持,是指攻击者通过篡改 DNS 服务器的配置信息或利用网络漏洞,将用户对特定域名的 DNS 查询请求指向错误的 IP 地址,从而使用户访问到恶意网站或虚假内容,而不是原本想要访问的合法网站。

原理

  • 篡改 DNS 服务器配置:攻击者如果能够获得 DNS 服务器的管理权限,就可以直接修改域名与 IP 地址的映射记录。例如,将 www.example.com 的正确 IP 地址修改为恶意服务器的 IP 地址。

  • 中间人攻击:在用户与 DNS 服务器通信的过程中,攻击者通过拦截网络数据包,篡改其中的 DNS 查询响应信息,将正确的 IP 地址替换为恶意 IP 地址。比如,当用户在一个不安全的公共 Wi-Fi 网络中,攻击者可以通过中间人攻击手段篡改 DNS 响应。

DNS 劫持的预防措施

1. 使用可靠的 DNS 服务器

  • 选择公共 DNS 服务器:像 Google 的 8.8.8.8 和 8.8.4.4、Cloudflare的 1.1.1.1 和 1.0.0.1 等公共 DNS 服务器,具有较高的安全性和稳定性。

2. 使用 DNS over HTTPS (DoH) 或 DNS over TLS (DoT)

  • DoH 和 DoT:通过加密协议(HTTPS 或 TLS)传输 DNS 查询,防止 DNS 查询被窃听或篡改。

3. 安装安全防护软件

  • 安装杀毒软件和防火墙:杀毒软件可以实时监测和防范恶意软件的攻击,防火墙可以阻止未经授权的网络访问。

4. 手动验证网站信息

  • 查看网站证书:在浏览器中访问网站时,注意查看网站的 SSL 证书。如果网站使用了 HTTPS 协议,地址栏会显示锁图标,点击锁图标可以查看证书的详细信息,确保访问的是合法网站。

ARP与RARP

ARP

地址解析协议,根据IP地址获取MAC地址的一个TCP/IP协议,用于双端设备在通讯收发数据之前,如果不知道对端的MAC地址,就可以通过ARP协议获取。

具体流程:

RARP

与ARP作用相反,ARP是已知IP求MAC,RARP是已知MAC求IP。

DHCP

动态主机配置协议,用于动态获取IP地址。

具体流程:

问题:如果 DHCP 服务器和客户端不是在同一个局域网内,路由器又不会转发广播包, 那不是每个网络都要配一个 DHCP 服务器?

为了解决这一问题,就出现了 DHCP 中继代理。有了 DHCP 中继代理以后,对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。

具体流程:

NAT

5.NAT的缺点

6.如何解决 NAT 潜在的问题呢?

方法一:使用IPv6,NAT主要为了节省IP,IPv6地址足够多,用不着NAT进行转换了。

方法二:使用NAT穿透技术:客户端主动从NAT设备获取公共IP地址,自己建立映射条目,然后用这个映射条目对外通信,就不需要NAT设备来进行转换了。

ICMP

互联网控制报文协议,作用:确认IP包是否成功到达目的地址、报告发送过程中IP包被废弃的原因和改善网络设施等。

查询报文类型

回送消息:回送请求与回送应答

差错报文类型

目标不可达消息:

原点抑制消息:

重定向消息:

超时消息: 

IGMP

ping的工作原理

ping命令执行的时候,源主机会构建一个ICMP回送请求消息的数据包,在数据包中有类型(回送请求对应字段为8)和序号字段(区分连续ping的时候发出的多个数据包,每发送一个,序号自动加1),还会在数据部分插入发送时间。然后再加上IP头、MAC头最终发送到目的主机。目的主机接收后,检查目的依次拆MAC头、IP头,最终将数据交给ICMP协议。

此时目的主机会构建一个ICMP回送响应消息的数据包,数据包中类型字段为0,序号为接收到的请求数据包中的序号,然后发送给源主机。在规定时间内,源主机如果没有收到ICMP应答包,则说明目标主机不可达;反之,说明目标主机可达。

源主机收到后会用当前时刻减去该数据包最初从源主机上发出的时刻,就是ICMP数据包的延迟时间。

traceroute——差错报文类型的使用

作用:

1.故意设置特殊的TTL,来追踪去往目的地时沿途经过的路由器:

traceroute 的参数指向某个目的 IP 地址:traceroute 192.168.1.2

这个作用是如何工作的?

发送方如何知道发出的 UDP 包是否到达了目的主机呢?

traceroute在发送UDP包时,会填入一个不可能的端口号作为UDP的目标端口号。当目的主机收到UDP包后,会返回差错报文,类型是端口不可达。当发送方收到差错报文类型是端口不可达时,说明发出的UDP包到达了目的主机。

2.故意设置不分片,从而确定路径的MTU:

关于ping了解多少?

什么是ping?

TCP发数据和ping有什么区别?

 断网了,还能ping通127.0.0.1吗?

能。在有网的情况下,ping最终都是通过网卡将数据发送出去的。

ping环回地址和ping本机IP地址有什么区别?

没有区别。

127.0.0.1 和 localhost 以及 0.0.0.0 有区别吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值