Linux网络设置

一给  论坛元老 | 2024-8-20 13:57:18 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1853|帖子 1853|积分 5559

系列文章目录

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

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

  

前言

本章大概内容有:
       查看网络配置、修改主机名、ifconfig、route、netstat、ss、lostof、ping下令、nslookup、修改网络配置等
提示:以下是本篇文章正文内容,下面案例可供参考
一、查看网络配置

1.1查看网络接口信息ifconfig



  • 查看所有活动的网络接口信息

    • 实验ifconfig下令

  • 查看指定网络接口信息
  1. ifconfig 网络接口
复制代码



  • ifconfig常用选项
    | 选项 | 功能形貌 |
    | — | — |
    | -a | 显示所有的网络接口,包括正在运行和已关闭的接口。 |
    | -s | 显示接口的统计信息。 |
    | -v | 显示详细的接口信息。 |
    | -u | 更新接口信息,实际作用取决于后续参数。 |
    | -l | 列出所有网络接口。 |
    | -p | 显示接口和历程之间的映射关系。 |
    | -h | 显示帮助信息。 |
  1. ifconfig -a -v                                                                ###查看所有网络接口的详细信息ifconfig 网卡名称【up|down】                ###表示开启或关闭网卡# 为网络接口配置IP地点和子网掩码ifconfig 网络接口
  2. ip地点 [netmask 子网掩码]# 示例:为ens33接口配置IP地点为192.168.1.10,并设置子网掩码为255.255.255.0ifconfig ens33 192.168.1.10 netmask 255.255.255.0# 也可以利用CIDR表示法来设置子网掩码ifconfig 网络接口
  3. ip地点 [/子网掩码长度]# 示例:为ens33接口配置IP地点为192.168.1.10,并设置子网掩码为/24(等同于255.255.255.0)ifconfig ens33 192.168.1.10/24# 创建一个虚拟网卡(别名),并为其配置IP地点ifconfig 网络接口
  4. :0 地点# 示例:为ens33接口创建一个虚拟接口ens33:0,并配置IP地点为192.168.1.11ifconfig ens33:0 192.168.1.11# 关闭虚拟网卡ifconfig ens33:0 down# 示例:关闭ens33的虚拟接口ens33:0ifconfig ens33:0 down# 开启虚拟网卡ifconfig ens33:0 up# 示例:开启之前关闭的ens33的虚拟接口ens33:0ifconfig ens33:0 down
复制代码
  1. ifconfig -s                        ###显示接口的统计信息
复制代码

**_MTU: _**Maximum Transmission Unit,最大传输单元。指一个网络设备或链路能够传输的最大数据包或帧的大小,不包括链路层的头部和尾部信息
当地MTU值与网络MTU值的关系效果当地MTU值 > 网络MTU值需要拆包,导致效率下降当地MTU值 < 网络MTU值未发挥最大传输能力当地MTU值 = 网络MTU值理想状态 **PS: **一般以太网MTU都为1500, 以是在以太网中, 每每TCP MSS为1460
  1.      - MSS(Maximum Segment Size,最大段大小)
  2.      - 对于一个以太网连接,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.      1. **临时修改主机名**:
  2.         - 使用`hostname`命令可以临时修改主机名,但机器重新启动后会恢复到原来的名字。
复制代码
  1. hostname 新主机名               
复制代码
  1.      2. **永久性修改主机名**:
  2.         - 使用`hostnamectl`命令可以永久性地修改主机名。
复制代码
  1. hostnamectl set-hostname 新主机名
复制代码
  1.         - 或者,直接编辑`/etc/hostname`文件来永久性地修改主机名。
复制代码
  1. vi /etc/hostname
  2. reboot                                        ###重启系统以使更改完全生效
复制代码
1.2查看路由表条目 route

  1. route
  2. route -n
  3.         ###查看或设置主机中路由表信息
复制代码
**_route_**下令的常用选项 :
选项功能形貌-n直接利用数字地点及端口,而不是尝试剖析为名称。-v显示详细的路由信息。-e显示有效的路由条目。-h显示帮助信息。 示例:
  1. route -v                        ###显示详细的路由信息
  2. route -e                        ###显示有效的路由条目
复制代码
1.3查看网络连接情况 netstat (即端口扫描)

  1. netstat -natp                ### 只看TCP协议
  2. netstat -naup                ### 只看UDP协议
  3. netstat -antp | grep        ###端口号
复制代码
**_netstat_**下令常用选项:
选项功能形貌-a显示所有网络连接,包括监听和非监听状态的端口。-n以数字形式显示地点和端口号,不进行名称剖析。-t显示TCP连接信息。-u显示UDP协议相关的信息。-p显示与网络连接相关联的历程号和历程名称。-l显示监听中的服务器套接字。-r显示路由信息 示例:
  1. netstat -antp                ###查看所有活动的TCP网络连接信息,包括监听状态和服务端口
  2. netstat -tcp                ###查看TCP连接信息
  3. netstat -udp                ###查看UDP协议相关的信息
  4. netstat -ap                        ###查看与网络连接相关联的进程号和进程名称
  5. netstat -anultp ###除了路由表信息,其他全查询
复制代码
1.4获取socket(套接字)统计信息 ss

  1.   - **_基本语法_**
复制代码
  1. ss [选项] [参数]
复制代码
  1.   - **_常用选项_**
复制代码
选项功能形貌-a显示所有套接字,包括监听套接字和非监听套接字。-n不剖析服务名称,以数字形式显示地点和端口号。-t仅显示TCP套接字。-u仅显示UDP套接字。-x仅显示Unix域套接字。-l仅显示监听(listen)套接字。-o显示计时器信息。-p显示利用套接字的历程号和历程名称。-m显示套接字的**内存**利用情况。-r–resolve , 把 IP 解释为域名,把端口号解释为协议名称-i显示内部的TCP信息。-s显示套接字利用概况。-D将原始TCP套接字信息转储到文件。
  1.   - **_示例:_**
复制代码
  1. ss -ta                        ###查看所有TCP套接字,包括监听和非监听状态
  2. ss -u                                ###查看UDP套接字的信息
  3. ss -p                                ###查看与套接字相关的进程信息
  4. ss -nltp    ###显示TCP连接的详细信息,包括非监听状态的TCP端口,以及与这些端口相关联的进程ID和进程名称
  5. ss -nltp | grep 22         ###查看tcp的所有包含22的端口       
复制代码
PS:三次握手和四次挥手是TCP(传输控制协议)中用于创建和终止连接的两个重要过程。
三次握手(创建连接)

  1.      1. **SYN**:客户端发送一个SYN(同步序列编号)报文到服务器,并进入SYN_SENT状态,等待服务器确认。
  2.      2. **SYN-ACK**:服务器收到SYN报文后,会发送一个SYN-ACK(同步和确认)报文作为响应,并将连接状态设置为SYN_RECEIVED。这个报文中既包含SYN也包含ACK(确认字符)。
  3.      3. **ACK**:客户端收到服务器的SYN-ACK报文后,会发送一个ACK报文作为响应,并将连接状态设置为ESTABLISHED。服务器在收到这个ACK报文后,也将连接状态设置为ESTABLISHED。
复制代码
这样,双方都确认了对方的接收能力和同步序列编号,连接就创建了。
四次挥手(终止连接)

四次挥手是TCP连接终止的过程,确保客户端和服务器双方都同意关闭连接。这个过程如下:
  1.      1. **FIN**:当连接的一端完成数据发送,它会发送一个FIN(结束)报文到另一端,并进入FIN_WAIT_1状态,等待对方确认。
  2.      2. **ACK**:另一端收到FIN报文后,会发送一个ACK报文作为响应,并将连接状态设置为CLOSE_WAIT。发送端收到这个ACK后,进入FIN_WAIT_2状态。
  3.      3. **FIN**:在发送了ACK报文并处理完剩余的数据传输后,另一端也发送一个FIN报文,并进入LAST_ACK状态。
  4.      4. **ACK**:最初发送FIN报文的一端收到对方的FIN报文后,会发送一个ACK报文作为最后的确认,并进入TIME_WAIT状态。经过一段时间(称为2MSL,即最大报文生存时间的两倍)后,确保对方收到了最后的ACK报文,连接彻底关闭。
复制代码
这个过程确保了双方都有时机处理竣事连接的哀求,并且确保所有未发送的数据都被对方接收。
1.5lsof(list open files)列出系统中打开文件的历程信息

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

字段说明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
  1.   - **_示例:_**
复制代码
  1. ping -t 192.168.1.1                                        ###连续发送数据包直到手动中断
  2. ping -s 1472 192.168.1.1                ###发送大尺寸的数据包进行网络测试
复制代码
三、利用网络配置下令

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



  • 概述:

    • 测试从当前主机到目的主机地点IP,用于追踪数据包从源主机到目的主机的路径。

  • 基本用法:
  1. traceroute [选项] [目的地]
复制代码


  • 常用选项:
    | 选项 | 作用 |
    | — | — |
    | -n | 不剖析IP地点为主机名,直接显示IP地点 |
    | -q | 设置发送的数据包数量 |
    | -p | 设置UDP端口号 |
    | -s | 设置源地点 |
    | -i | 指定利用的接口 |
    | -w | 设置等待每个数据包的超时时间 |
    | -m | 设置最大TTL值 【TTL:生命周期】 |
  • 示例:
  1. traceroute google.com                                        显示数据包到达Google网站的路径和每一跳的RTT
  2. traceroute -w 1 google.com                查看路由器延迟,等待每个数据包的超时时间为1秒
  3. traceroute -p 80 google.com                追踪特定端口80的连接
  4. traceroute -u google.com                        使用UDP协议
  5. traceroute -s 192.168.1.1 google.com        从私有地址192.168.1.1发起追踪,这在测试内网到外网的连接时很有用
  6. traceroute -n
  7. google.com                        不解析主机名
  8. traceroute -m 30 google.com                设置最大TTL值,数据包会在30个路由器中传播后停止
复制代码
测试DNS域名剖析—nslookup

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



  • 基本用法
  1. route [选项] [命令] [目标] [网络掩码] [接口]
复制代码


  • 常用下令

    • **_add_**:添加一个新的路由条目。
    • **_del_**:删除一个路由条目。
    • **_show_**:显示路由表。
    • **_delete_**:删除一个路由条目,与**_del_**相同。

  • 常用选项

    • **_-n_**:以数字形式显示地点和端口号。
    • **_-p_**:将路由条目添加为永久性条目,纵然重启也不会丢失。
    • **_-host_**:指定目的是一个主机地点。
    • **_-net_**:指定目的是一个网络地点。
    • **_-default_**:设置默认路由。
    • **_-iface_**:指定数据包通过哪个网络接口发送。

  • 常用案例

    • 添加默认路由:

  1. route add default gw 网关地址
复制代码
  1.   - **_删除默认路由:_**
复制代码
  1. route del default gw 网关地址
复制代码
  1.   - **_添加到特定网络的路由:_**
复制代码
  1. route add -net 网络地址 子网掩码 gw 网关地址
复制代码
  1.   - **_显示路由表:_**
复制代码
  1. route -n
复制代码
  1.   - **_示例:_**
复制代码
  1. (一)、添加到指定网段的路由记录
  2. route  add  -net  网段地址    gw    IP地址 dev ens33
  3. route add -net 192.168.14.0/24 gw 192.168.233.21 dev ens33
  4. #添加一个静态路由,将目标网络地址192.168.14.0/24通过网关192.168.233.21发送到网卡ens33。
  5. 这个命令会告诉操作系统在发送到目标网络192.168.14.0/24的数据包时,
  6. 应该通过指定的网关192.168.233.21进行中转,并通过网卡ens33进行发送。
  7. (二)、删除到指定网段的路由记录
  8. route   del    -net   网段地址
  9. route del -net 192.168.14.0/24
  10. (三)、向路由表中添加默认网关记录
  11. route   add   default    gw  IP地址
  12. (四)、删除路由表中默认的网关记录
  13. route  del   default  gw   IP地址
  14. (五)、永久添加路由(重启network服务生效)
  15. vim /etc/sysconfig/static-routes
  16. any net any gw 192.168.233.21: 将所有网络流量都路由到192.168.233.21网关
  17. any net 192.168.3.0/24 gw 192.168.233.21: 将目的网络为192.168.3.0/24的所有流量路由到192.168.233.21网关
  18. 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网关
  19. any host 192.168.100.100 gw 192.168.233.21: 将目的IP为192.168.100.100的所有流量路由到192.168.233.21网关。
  20. systemctl restart network
复制代码


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

配置文件存在位置

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

  1. 修改DNS域名解析配置文件:vim  /etc/resolv.conf
  2. 配置文件解析:
  3. nameserver 192.168.233.21            
  4. #nameserver表示DNS服务器名称 8.8.8.8表示DNS解析服务器地址
  5. 修改完成后需要重启网卡服务:systemctl  restart  network
  6. 域名解析配置文件**
  7. 本地主机映射文件
  8. /etc/resolv.conf
  9. 保存的是你DNS服务器的地址
  10. /etc/hosts 文件
  11. 保存主机名与IP地址的映射记录
复制代码
  1. [root@localhost ~]# cat /etc/hosts
  2. 127.0.0.1  localhost localhost.localdomain  localhost4 localhost4.
  3. 192.168.91.100     www.yun.com
  4. [root@kgc ~]#ping www.yun.com
  5. PING www.yun.com (192.168.91.100) 56(84) bytes of data.
  6. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=1 ttl=64 time=0.047 ms
  7. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=2 ttl=64 time=0.065 ms
  8. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=3 ttl=64 time=0.067 ms
  9. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=4 ttl=64 time=0.062 ms
  10. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=5 ttl=64 time=0.071 ms
  11. 64 bytes from www.yun.com (192.168.91.100): icmp_seq=6 ttl=64 time=0.130
  12. TYPE=Ethernet                                                                          网络接口类型,这里为以太网。
  13. DEVICE=ens33                                                                  网络接口的设备名,即`ens33`。
  14. ONBOOT=yes                                                                          系统启动时是否自动启用此网络接口。
  15. BOOTPROTO=static                                                  网络配置类型,这里为静态配置。
  16. IPADDR=192.168.233.22                                 接口的IP地址。
  17. NETMASK=255.255.255.0                                 子网掩码。
  18. GATEWAY=192.168.233.2                                 默认网关地址。
  19. 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)是计算机网络编程中的几个基本概念,它们在网络通讯中扮演偏重要的脚色。

  • Socket

    • 界说:在计算机网络中,Socket是一种编程接口,用于应用程序之间的网络通讯。它是一端或两端通讯的端点。
    • 功能:Socket允许应用程序通过网络协议(如TCP/IP)与其他程序进行通讯。它抽象了底层的网络细节,使得程序员可以更简单地开发网络应用程序。

  • 套接字(Socket)

    • 界说:套接字是操作系统网络层与应用程序之间的接口,用于发送和接收网络数据。
    • 类型:套接字可以分为多种类型,如TCP套接字、UDP套接字等,它们分别对应不同的网络协议。

  • 文件形貌符(fd)

    • 界说:文件形貌符(file descriptor,简称fd)是一个非负整数,通常用于指向一个打开的文件或套接字。
    • 功能:在操作系统中,文件形貌符用于访问打开的文件或套接字。每个打开的文件或套接字都会被分配一个唯一的文件形貌符。
    • 操作:文件形貌符可以用于实验I/O操作,如读取、写入、关闭等。

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

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

  • DHCP Discover(DHCP发现):

    • 当客户端启动时,它会发送一个DHCP发现报文到广播地点(255.255.255.255),这个广播报文包含了客户端的MAC地点和它希望获取IP地点的信息。
    • 这个报文会通知网络中的所有DHCP服务器客户端的启动和IP地点哀求。

  • DHCP Offer(DHCP提供):

    • 接收到客户端的DHCP发现报文后,某个DHCP服务器(大概是多个服务器中的一个)会查抄其地点池,并选择一个合适的IP地点。
    • 然后,这个服务器会发送一个DHCP提供报文给客户端,此中包含了为客户端提供的IP地点、子网掩码、默认网关、DNS服务器等信息。

  • DHCP Request(DHCP哀求):

    • 客户端接收到一个或多个DHCP提供报文后,会发送一个DHCP哀求报文给广播地点,这个报文指定了它接受的IP地点。
    • 这个DHCP哀求报文实际上是向所有DHCP服务器广播的,但是只有为客户端提供IP地点的服务器会响应。

  • DHCP Ack(DHCP确认):

    • 提供IP地点的DHCP服务器收到客户端的DHCP哀求报文后,会向客户端发送一个DHCP确认报文(Ack),确认客户端可以利用提供的IP地点。
    • 这个DHCP确认报文包含了客户端哀求的IP地点以及其他须要的网络配置信息。

  • DHCP NAK(DHCP否认):

    • 如果客户端提供的IP地点已经分配给其他设备,DHCP服务器会发送一个DHCP否认报文(Nak)给客户端,告知该IP地点不可用。
    • 客户端通常会重新发送DHCP发现报文,以获取一个新的IP地点。

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表