Linux网络设置

系列文章目录

` 提示:仅用于个人学习,进行查漏补缺使用。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本章大概内容有:
       查看网络配置、修改主机名、ifconfig、route、netstat、ss、lostof、ping命令、nslookup、修改网络配置等

提示:以下是本篇文章正文内容,下面案例可供参考

一、查看网络配置

1.1查看网络接口信息ifconfig

  • 查看所有活动的网络接口信息
    • 执行ifconfig命令
  • 查看指定网络接口信息
ifconfig 网络接口

image.png

  • ifconfig常用选项
    | 选项 | 功能描述 |
    | — | — |
    | -a | 显示所有的网络接口,包括正在运行和已关闭的接口。 |
    | -s | 显示接口的统计信息。 |
    | -v | 显示详细的接口信息。 |
    | -u | 更新接口信息,实际作用取决于后续参数。 |
    | -l | 列出所有网络接口。 |
    | -p | 显示接口和进程之间的映射关系。 |
    | -h | 显示帮助信息。 |
ifconfig -a -v								###查看所有网络接口的详细信息
ifconfig 网卡名称【up|down】		###表示开启或关闭网卡

# 为网络接口配置IP地址和子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码]
# 示例:为ens33接口配置IP地址为192.168.1.10,并设置子网掩码为255.255.255.0
ifconfig ens33 192.168.1.10 netmask 255.255.255.0

# 也可以使用CIDR表示法来设置子网掩码
ifconfig 网络接口 ip地址 [/子网掩码长度]
# 示例:为ens33接口配置IP地址为192.168.1.10,并设置子网掩码为/24(等同于255.255.255.0)
ifconfig ens33 192.168.1.10/24

# 创建一个虚拟网卡(别名),并为其配置IP地址
ifconfig 网络接口:0 地址
# 示例:为ens33接口创建一个虚拟接口ens33:0,并配置IP地址为192.168.1.11
ifconfig ens33:0 192.168.1.11

# 关闭虚拟网卡
ifconfig ens33:0 down
# 示例:关闭ens33的虚拟接口ens33:0
ifconfig ens33:0 down

# 开启虚拟网卡
ifconfig ens33:0 up
# 示例:开启之前关闭的ens33的虚拟接口ens33:0
ifconfig ens33:0 down
ifconfig -s			###显示接口的统计信息

image.png
**_MTU: _**Maximum Transmission Unit,最大传输单元。指一个网络设备或链路能够传输的最大数据包或帧的大小,不包括链路层的头部和尾部信息

本地MTU值与网络MTU值的关系结果
本地MTU值 > 网络MTU值需要拆包,导致效率下降
本地MTU值 < 网络MTU值未发挥最大传输能力
本地MTU值 = 网络MTU值理想状态

**PS: **一般以太网MTU都为1500, 所以在以太网中, 往往TCP MSS为1460

     - MSS(Maximum Segment Size,最大段大小)
     - 对于一个以太网连接,MTU通常是1500字节,IP头部通常是20字节,TCP头部通常是20字节,所以MSS通常是1460字节(1500 - 20 - 20 = 1460)

启用、禁用网络接口配置

命令用途注释
systemctl restart network重启所有的网卡这个命令会重启网络服务,从而重启所有配置的网络接口。
ifdown ens33关闭某个网卡用于关闭名为ens33的以太网接口。
ifup ens33启动某个网卡用于启动名为ens33的以太网接口。
ifconfig ens33 down临时禁用某个网卡通过将ens33接口的配置设置为down来禁用它。
ifconfig ens33 up重新激活某个网卡ifdown相反,这个命令会将网卡的配置设置为up,使其重新激活,但不会更改IP地址。
ifconfig 设备名称 IP地址/子网掩码 [255.255.255.0]配置或查看网卡的IP地址和子网掩码如果后面带有IP地址和子网掩码,这个命令将配置网卡的IP地址。如果不带参数,它将显示当前的IP地址和其他网络配置。255.255.255.0是子网掩码的一个示例。
hostname查看主机名称显示当前系统的主机名。

修改主机名

     1. **临时修改主机名**:
        - 使用`hostname`命令可以临时修改主机名,但机器重新启动后会恢复到原来的名字。
hostname 新主机名		
     2. **永久性修改主机名**:
        - 使用`hostnamectl`命令可以永久性地修改主机名。
 hostnamectl set-hostname 新主机名
        - 或者,直接编辑`/etc/hostname`文件来永久性地修改主机名。
 vi /etc/hostname
 reboot					###重启系统以使更改完全生效

1.2查看路由表条目 route

route 
route -n	###查看或设置主机中路由表信息

**_route_**命令的常用选项 :

选项功能描述
-n直接使用数字地址及端口,而不是尝试解析为名称。
-v显示详细的路由信息。
-e显示有效的路由条目。
-h显示帮助信息。

示例:

route -v			###显示详细的路由信息
route -e			###显示有效的路由条目

1.3查看网络连接情况 netstat (即端口扫描)

netstat -natp		### 只看TCP协议
netstat -naup		### 只看UDP协议
netstat -antp | grep	###端口号 

**_netstat_**命令常用选项:

选项功能描述
-a显示所有网络连接,包括监听和非监听状态的端口。
-n以数字形式显示地址和端口号,不进行名称解析。
-t显示TCP连接信息。
-u显示UDP协议相关的信息。
-p显示与网络连接相关联的进程号和进程名称。
-l显示监听中的服务器套接字。
-r显示路由信息

示例:

netstat -antp		###查看所有活动的TCP网络连接信息,包括监听状态和服务端口
netstat -tcp		###查看TCP连接信息
netstat -udp		###查看UDP协议相关的信息
netstat -ap			###查看与网络连接相关联的进程号和进程名称
netstat -anultp ###除了路由表信息,其他全查询

1.4获取socket(套接字)统计信息 ss

  - **_基本语法_**
ss [选项] [参数]
  - **_常用选项_**
选项功能描述
-a显示所有套接字,包括监听套接字和非监听套接字。
-n不解析服务名称,以数字形式显示地址和端口号。
-t仅显示TCP套接字。
-u仅显示UDP套接字。
-x仅显示Unix域套接字。
-l仅显示监听(listen)套接字。
-o显示计时器信息。
-p显示使用套接字的进程号和进程名称。
-m显示套接字的**内存**使用情况。
-r–resolve , 把 IP 解释为域名,把端口号解释为协议名称
-i显示内部的TCP信息。
-s显示套接字使用概况。
-D将原始TCP套接字信息转储到文件。
  - **_示例:_**
ss -ta			###查看所有TCP套接字,包括监听和非监听状态
ss -u				###查看UDP套接字的信息
ss -p				###查看与套接字相关的进程信息
ss -nltp    ###显示TCP连接的详细信息,包括非监听状态的TCP端口,以及与这些端口相关联的进程ID和进程名称
ss -nltp | grep 22 	###查看tcp的所有包含22的端口	

PS:三次握手和四次挥手是TCP(传输控制协议)中用于建立和终止连接的两个重要过程。

三次握手(建立连接)
     1. **SYN**:客户端发送一个SYN(同步序列编号)报文到服务器,并进入SYN_SENT状态,等待服务器确认。
     2. **SYN-ACK**:服务器收到SYN报文后,会发送一个SYN-ACK(同步和确认)报文作为响应,并将连接状态设置为SYN_RECEIVED。这个报文中既包含SYN也包含ACK(确认字符)。
     3. **ACK**:客户端收到服务器的SYN-ACK报文后,会发送一个ACK报文作为响应,并将连接状态设置为ESTABLISHED。服务器在收到这个ACK报文后,也将连接状态设置为ESTABLISHED。

这样,双方都确认了对方的接收能力和同步序列编号,连接就建立了。

四次挥手(终止连接)

四次挥手是TCP连接终止的过程,确保客户端和服务器双方都同意关闭连接。这个过程如下:

     1. **FIN**:当连接的一端完成数据发送,它会发送一个FIN(结束)报文到另一端,并进入FIN_WAIT_1状态,等待对方确认。
     2. **ACK**:另一端收到FIN报文后,会发送一个ACK报文作为响应,并将连接状态设置为CLOSE_WAIT。发送端收到这个ACK后,进入FIN_WAIT_2状态。
     3. **FIN**:在发送了ACK报文并处理完剩余的数据传输后,另一端也发送一个FIN报文,并进入LAST_ACK状态。
     4. **ACK**:最初发送FIN报文的一端收到对方的FIN报文后,会发送一个ACK报文作为最后的确认,并进入TIME_WAIT状态。经过一段时间(称为2MSL,即最大报文生存时间的两倍)后,确保对方收到了最后的ACK报文,连接彻底关闭。

这个过程确保了双方都有机会处理结束连接的请求,并且确保所有未发送的数据都被对方接收。

1.5lsof(list open files)列出系统中打开文件的进程信息

     - 可以显示当前系统中打开的文件、目录、套接字、管道等资源,以及与它们相关联的进程信息。
  - **_常用选项_**
选项功能描述
-a显示所有打开文件或目录的进程,包括文件描述符为0、1、2的进程。
-c仅显示指定命令名的进程打开的文件。
-d仅列出指定的文件描述符。
-g使用NFS网络文件系统组映射显示。
-i列出指定类型的文件。
-n显示数字形式的地址和端口号。
-p仅显示指定进程ID打开的文件。
-r显示真实文件名,不显示符号连接。
-s仅显示自上次更新以来打开或关闭的文件。
-t仅显示终端相关文件。
-u仅显示指定用户打开的文件。
-v输出详细信息。
-h显示帮助信息。
  - **_示例:_**
命令功能描述
lsof列出指定用户打开的文件和网络连接
lsof -u root列出指定用户(root)打开的文件和网络连接。
lsof -i :22列出指定端口(22)被哪些进程占用。
lsof -i -a -p <PID>显示指定进程ID(PID)的网络连接信息,并且进行与查询条件的逻辑与操作。
lsof -i -s TCP:LISTEN以监听模式查看TCP网络连接。
lsof -c ssh列出运行了指定命令(ssh)的进程打开的文件。
  - lsof -i -a -p <PID>在命令中,	
        - -参数表示只显示网络连接信息,
        - -a参数表示进行与查询条件的逻辑与操作,
        - -p 参数表示指定要查询的进程ID。
  - 面试题:工作中一般用哪些命令,维护操作,具体是看什么的?
lsof -i -P -a -p 1026		###显示特定进程ID(PID)`1026` 打开的文件和网络连接信息包括少量端口号。
  -i	参数表示只显示网络连接信息
  -p	轻质显示端口号
  -a	参数表示进行与查询条件的逻辑与操作
  -P	参数表示指定要查询的进程ID

image.png

字段说明
COMMAND进程名,即正在运行的命令或进程的名称
PID进程ID,进程的唯一标识符
TID线程ID,特定进程中的线程的唯一标识符
USER进程所属的用户账户
FD文件描述符,表示与进程相关的文件或资源,如当前工作目录、根目录、文本文件等
TYPE与文件描述符关联的节点类型,如目录、普通文件、字符设备等
DEVICE设备编号,用于标识特定的硬件设备或网络资源
SIZE/OFF文件大小和文件偏移量,用于指示文件的数据位置和大小
NODE本地文件节点编号,是文件系统中的一个唯一标识
NAME文件系统挂载点名称,即文件系统挂载的目录名称

二、测试网络连接 —ping

选项功能描述
-c指定发送的ICMP数据包数量,默认是4个
-i指定发送数据包之间的延迟(以秒为单位),默认为1秒
-s指定发送的数据包大小(以字节为单位),最大为65507字节
-t持续发送数据包,直到手动中断
-a将目标地址解析成主机名
-n以数字形式显示地址和端口号
-r记录数据包经过的路由器
-l设置发送数据包的负载大小
-D启用数据包调试
-p设置发送的ICMP数据包pattern
  - **_示例:_**
ping -t 192.168.1.1					###连续发送数据包直到手动中断
ping -s 1472 192.168.1.1		###发送大尺寸的数据包进行网络测试

三、使用网络配置命令

跟踪数据包的路由路径—traceroute [需下载 yum install traceroute]

  • 概述:
    • 测试从当前主机到目的主机地址IP,用于追踪数据包从源主机到目标主机的路径。
  • 基本用法:
traceroute [选项] [目的地]
  • 常用选项:
    | 选项 | 作用 |
    | — | — |
    | -n | 不解析IP地址为主机名,直接显示IP地址 |
    | -q | 设置发送的数据包数量 |
    | -p | 设置UDP端口号 |
    | -s | 设置源地址 |
    | -i | 指定使用的接口 |
    | -w | 设置等待每个数据包的超时时间 |
    | -m | 设置最大TTL值 【TTL:生命周期】 |

  • 示例:

traceroute google.com					显示数据包到达Google网站的路径和每一跳的RTT
traceroute -w 1 google.com		查看路由器延迟,等待每个数据包的超时时间为1秒
traceroute -p 80 google.com		追踪特定端口80的连接
traceroute -u google.com			使用UDP协议
traceroute -s 192.168.1.1 google.com	从私有地址192.168.1.1发起追踪,这在测试内网到外网的连接时很有用
traceroute -n google.com			不解析主机名
traceroute -m 30 google.com		设置最大TTL值,数据包会在30个路由器中传播后停止

测试DNS域名解析—nslookup

  - **_概述_**
     - 用于查询域名系统(DNS)记录的命令行工具。
     - 它被用来解析域名并返回其对应的IP地址,或者查询与特定IP地址关联的域名。
  - **_基本用法_**
nslookup [选项] [查询类型] [域名或IP地址]
  - **_常用选项_**
参数/选项描述
-silent不显示欢迎消息和警告信息
-type=指定查询的记录类型,如 A(IPv4 地址)、AAAA(IPv6 地址)、MX(邮件交换记录)等
-class=指定 DNS 查询的类别,通常使用 IN 类别
-server=指定一个特定的 DNS 服务器来进行查询
-recurse递归查询,即查询 DNS 服务器的 DNS 服务器
-retry=设置重试次数
-lifetime=设置查询的超时时间
-ttl显示查询结果的 TTL(生存时间)值
-debug输出详细的调试信息
-rootserver列出根 DNS 服务器
-CNAME显示 CNAME(别名)记录
  - **_示例_**
# 查询域名的IP地址
nslookup example.com

# 使用特定的DNS服务器查询
nslookup -server 8.8.8.8 example.com

# 递归查询域名信息
nslookup -recurse example.com

# 显示域名的A记录和MX记录
nslookup -type=A,MX example.com

# 显示域名的完整DNS记录
nslookup -type=ANY example.com

# 查询IP地址对应的域名
nslookup 8.8.8.8

设置路由记录 route

  • 基本用法
route [选项] [命令] [目标] [网络掩码] [接口]
  • 常用命令
    • **_add_**:添加一个新的路由条目。
    • **_del_**:删除一个路由条目。
    • **_show_**:显示路由表。
    • **_delete_**:删除一个路由条目,与**_del_**相同。
  • 常用选项
    • **_-n_**:以数字形式显示地址和端口号。
    • **_-p_**:将路由条目添加为永久性条目,即使重启也不会丢失。
    • **_-host_**:指定目标是一个主机地址。
    • **_-net_**:指定目标是一个网络地址。
    • **_-default_**:设置默认路由。
    • **_-iface_**:指定数据包通过哪个网络接口发送。
  • 常用案例
    • 添加默认路由:
route add default gw 网关地址
  - **_删除默认路由:_**
route del default gw 网关地址
  - **_添加到特定网络的路由:_**
route add -net 网络地址 子网掩码 gw 网关地址
  - **_显示路由表:_**
route -n
  - **_示例:_**
(一)、添加到指定网段的路由记录
route  add  -net  网段地址    gw    IP地址 dev ens33
route add -net 192.168.14.0/24 gw 192.168.233.21 dev ens33

#添加一个静态路由,将目标网络地址192.168.14.0/24通过网关192.168.233.21发送到网卡ens33。
这个命令会告诉操作系统在发送到目标网络192.168.14.0/24的数据包时,
应该通过指定的网关192.168.233.21进行中转,并通过网卡ens33进行发送。

(二)、删除到指定网段的路由记录
route   del    -net   网段地址
route del -net 192.168.14.0/24

(三)、向路由表中添加默认网关记录
route   add   default    gw  IP地址

(四)、删除路由表中默认的网关记录
route  del   default  gw   IP地址

(五)、永久添加路由(重启network服务生效)

vim /etc/sysconfig/static-routes
any net any gw 192.168.233.21: 将所有网络流量都路由到192.168.233.21网关
any net 192.168.3.0/24 gw 192.168.233.21: 将目的网络为192.168.3.0/24的所有流量路由到192.168.233.21网关
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.233.21: 将目的网络为10.0.0.0的所有流量,使用掩码255.0.0.0,路由到192.168.233.21网关
any host 192.168.100.100 gw 192.168.233.21: 将目的IP为192.168.100.100的所有流量路由到192.168.233.21网关。

systemctl restart network
  • 相关信息
    | 字段 | 描述 |
    | — | — |
    | Destination | 目标网段或者主机,即数据包需要发送到的目的地 |
    | Gateway | 网关地址,* 表示目标是本主机所属的网络,不需要路由 |
    | Genmask | 网络掩码,用于决定网域的大小 |
    | Flags | 标记,表示路由的状态和特性,如 U(活动路由)、H(目标为主机)、G(指向网关)等 |
    | Metric | 路由距离,即到达指定网络所需的中转数(在 Linux 内核中已废弃) |
    | Ref | 路由引用次数(在 Linux 内核中已废弃) |
    | Use | 此路由项被路由软件查找的次数 |
    | Iface | 转发的网络设备,即虚拟网卡名称 |

四、修改网络配置文件

配置文件存在位置

vim   /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet					#设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33					#设置网卡的名称
ONBOOT=yes						#设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static			#设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.80.3		#设置网卡的 IP 地址
NETMASK=255.255.255.0	#设置网卡的子网掩码
GATEWAY=192.168.80.2	#设置网卡的默认网关地址
DNS1=192.168.80.2			#设置DNS服务器的 IP 地

配置DNS域名解析服务器

修改DNS域名解析配置文件:vim  /etc/resolv.conf 
配置文件解析:
nameserver 192.168.233.21            
#nameserver表示DNS服务器名称 8.8.8.8表示DNS解析服务器地址

修改完成后需要重启网卡服务:systemctl  restart  network
域名解析配置文件**
本地主机映射文件
/etc/resolv.conf
保存的是你DNS服务器的地址

/etc/hosts 文件
保存主机名与IP地址的映射记录
[root@localhost ~]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain  localhost4 localhost4. 
192.168.91.100     www.yun.com
[root@kgc ~]#ping www.yun.com
PING www.yun.com (192.168.91.100) 56(84) bytes of data.
64 bytes from www.yun.com (192.168.91.100): icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=3 ttl=64 time=0.067 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=4 ttl=64 time=0.062 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=5 ttl=64 time=0.071 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=6 ttl=64 time=0.130 

TYPE=Ethernet				 				 	网络接口类型,这里为以太网。
DEVICE=ens33				  				网络接口的设备名,即`ens33`。
ONBOOT=yes					  				系统启动时是否自动启用此网络接口。
BOOTPROTO=static		  				网络配置类型,这里为静态配置。
IPADDR=192.168.233.22 				接口的IP地址。
NETMASK=255.255.255.0 				子网掩码。
GATEWAY=192.168.233.2 				默认网关地址。
DNS1=192.168.233.2 		  			首选的DNS服务器地址。

常用接口类型

字段描述
TYPE接口类型,如以太网(Ethernet)或桥接(Bridge)
PROXY_METHOD应用到设备的代理方法,通常不需要用户设置
BROWSER_ONLY通常不需要用户设置,可能是浏览器代理配置的一部分
BOOTPROTO启动时使用的地址配置协议,如动态主机配置协议(DHCP)、静态(Static)、无(None)、引导协议(Bootp)
DEFROUTE设置是否使用默认路由,默认启用
IPV4_FAILURE_FATAL设置IPv4地址解析失败是否致命,默认关闭
IPV6INIT设置在引导时是否初始化IPv6,默认开启
IPV6_AUTOCONF设置是否使用IPv6自动配置,默认开启
IPV6_DEFROUTE设置是否为IPv6流量使用默认路由,默认开启
IPV6_FAILURE_FATAL设置IPv6地址解析失败是否致命,默认关闭
IPV6_ADDR_GEN_MODE设置IPv6地址生成模式,默认自动
NAME设备名称
UUID设备的唯一标识符
DEVICE网络设备名称
ONBOOT设置系统启动时是否自动启用此网络设备
IPADDR设备的IP地址
NETMASK设备的子网掩码
GATEWAY设备的默认网关地址
DNS1设备的域名服务器

五、小结

1.netstat、ss、lsof功能用法

命令/工具功能描述
netstat显示TCP/UDP网络连接状态,包括监听IP和端口,连接状态,PID/任务名字和command。
ss显示内存、socket信息,类似于netstat,但在性能和信息详细程度上有所优势。
lsof显示网络连接情况,打开文件情况,进程占用,可以根据pid查询,查看端口。

2.socket、套接字、fd文件描述符 大概是什么东西,是做什么的?

Socket、套接字、文件描述符(fd)是计算机网络编程中的几个基本概念,它们在网络通信中扮演着重要的角色。

  1. Socket
    • 定义:在计算机网络中,Socket是一种编程接口,用于应用程序之间的网络通信。它是一端或两端通信的端点。
    • 功能:Socket允许应用程序通过网络协议(如TCP/IP)与其他程序进行通信。它抽象了底层的网络细节,使得程序员可以更简单地开发网络应用程序。
  2. 套接字(Socket)
    • 定义:套接字是操作系统网络层与应用程序之间的接口,用于发送和接收网络数据。
    • 类型:套接字可以分为多种类型,如TCP套接字、UDP套接字等,它们分别对应不同的网络协议。
  3. 文件描述符(fd)
    • 定义:文件描述符(file descriptor,简称fd)是一个非负整数,通常用于指向一个打开的文件或套接字。
    • 功能:在操作系统中,文件描述符用于访问打开的文件或套接字。每个打开的文件或套接字都会被分配一个唯一的文件描述符。
    • 操作:文件描述符可以用于执行I/O操作,如读取、写入、关闭等。

在网络编程中,当应用程序通过套接字进行通信时,操作系统会为这个套接字分配一个文件描述符。这个文件描述符可以被应用程序用来发送和接收数据。例如,在TCP套接字中,当服务器准备好接收客户端连接时,它会打开一个TCP套接字,并获取一个文件描述符。客户端通过这个文件描述符与服务器进行通信。
总结来说,Socket是一种通信协议,用于网络应用程序之间的数据交换;套接字是操作系统中网络层与应用程序之间的接口;文件描述符是操作系统中用于访问打开文件的标识符,包括套接字。这些概念共同构成了网络编程的基础,使得应用程序能够通过网络进行有效的通信。

3.DHCP申请IP的过程-》几个报文,每个报文干啥的?

DHCP(动态主机配置协议)是用于自动分配IP地址和其他网络配置参数的网络协议。DHCP客户端通常是在启动时自动申请IP地址,这个过程涉及到客户端和服务器之间的一系列报文交互。以下是DHCP客户端申请IP地址的过程:

  1. DHCP Discover(DHCP发现):
    • 当客户端启动时,它会发送一个DHCP发现报文到广播地址(255.255.255.255),这个广播报文包含了客户端的MAC地址和它希望获取IP地址的信息。
    • 这个报文会通知网络中的所有DHCP服务器客户端的启动和IP地址请求。
  2. DHCP Offer(DHCP提供):
    • 接收到客户端的DHCP发现报文后,某个DHCP服务器(可能是多个服务器中的一个)会检查其地址池,并选择一个合适的IP地址。
    • 然后,这个服务器会发送一个DHCP提供报文给客户端,其中包含了为客户端提供的IP地址、子网掩码、默认网关、DNS服务器等信息。
  3. DHCP Request(DHCP请求):
    • 客户端接收到一个或多个DHCP提供报文后,会发送一个DHCP请求报文给广播地址,这个报文指定了它接受的IP地址。
    • 这个DHCP请求报文实际上是向所有DHCP服务器广播的,但是只有为客户端提供IP地址的服务器会响应。
  4. DHCP Ack(DHCP确认):
    • 提供IP地址的DHCP服务器收到客户端的DHCP请求报文后,会向客户端发送一个DHCP确认报文(Ack),确认客户端可以使用提供的IP地址。
    • 这个DHCP确认报文包含了客户端请求的IP地址以及其他必要的网络配置信息。
  5. DHCP NAK(DHCP否认):
    • 如果客户端提供的IP地址已经分配给其他设备,DHCP服务器会发送一个DHCP否认报文(Nak)给客户端,告知该IP地址不可用。
    • 客户端通常会重新发送DHCP发现报文,以获取一个新的IP地址。

这就是DHCP客户端申请IP地址的完整过程。这个过程中,DHCP服务器和客户端之间的交互保证了IP地址的自动和高效分配,无需手动配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值