一、计算机网络基础
1. 网络的基本概念
1)网卡
- 网卡的基本概念
- 网卡: 网卡是电脑用来负责网络通信的一个硬件设备。
- 数量: 一台电脑可能有多个网卡,如有线网卡、无线网卡,使电脑可以连接有线网络和WIFI。
- 虚拟网卡: 安装虚拟机软件(如VMware)后,会产生虚拟网卡,如VMnet1、VMnet8等。
2)MAC地址与IP地址
- MAC地址
- IP地址
- 全名: Internet Protocol Address,互联网协议地址。
- 特性:
- 逻辑地址,可以修改和动态变化。
- 在同一网络环境内不能重复,否则会导致IP冲突。
- 格式:
- 通常由四个用点分隔的十进制数组成(如192.168.142.132)。
- 实际上,每个十进制数是由八位二进制数转换而来。
- 分类:
- 私有IP地址: 在局域网内使用,可能在全球多台电脑上重复使用(如192.168.x.x)。
- 公有IP地址: 在互联网上唯一,由阿里云等分配(如47.106.11.166)。
- MAC地址与IP地址的区别
- 物理与逻辑: MAC地址是物理地址,与硬件绑定;IP地址是逻辑地址,可以动态分配。
- 唯一性与可变性: MAC地址在出厂时即固定且唯一;IP地址在同一网络内唯一,但可以跨网络重复使用,且可以动态变化。
- 作用范围: MAC地址主要用于底层网络通信,如局域网内的数据链路层;IP地址则用于互联网上的网络通信,标识设备的网络位置。
3)IP地址
- IP地址的范围
- 公有IP与私有IP
- 实例说明
- 实例: 假设公司内有1000台电脑,它们访问外网时并非每台电脑都有一个独立的公有IP地址,而是通过NAT技术共享少量的公有IP地址。
- 说明: 这样做既节省了IP地址资源,又保证了公司内部网络的安全性。
- 注意: 图中展示了公有和私有IP地址的区分,以及私有IP地址在局域网内部的使用情况。
- 网络地址转换
- NAT的概念
- 私有IP与公有IP
- IPv4和IPv6
- 公网IP地址的分配
- 动态和静态IP
- 动态IP与静态IP的概念
- 动态IP与静态IP的区别
- 分配方式: 动态IP由DHCP服务器自动分配,而静态IP需要用户手动设置。
- 变化性: 动态IP会随时间或网络状态变化,而静态IP则保持不变。
- 适用场景: 动态IP适用于普通用户设备,方便管理且节省IP资源;静态IP则更适合需要稳定网络连接和固定IP地址的服务器或特定设备。
- 环回地址
- 端口
- 程序间通信的本质
- 程序间通信: 程序间通信的本质是一个程序(或代码段)与另一个程序(或代码段)之间进行数据交换和互动的过程。例如,Java客户端与Java服务端之间的通信,或浏览器访问Web服务器上的Apache程序。
- 端口号的定义与功能
- 端口号定义: 端口号是计算机上用于区分不同服务或应用程序的数字标识。
- 功能: 端口号用于标识和区分计算机上运行的不同程序或服务,使得数据能够准确发送到目标程序。
- 端口号的范围与分类
- 范围: 端口号的范围是0到65535。
- 分类:
- 系统端口(0-1023): 一般由系统保留和使用。
- 用户端口(1024-49151): 常用于各种应用程序。
- 动态/私有端口(49152-65535): 由系统动态分配,用于临时连接。
- 动态端口(临时端口)的概念
- 动态端口: 当一个程序(如浏览器)需要与服务端(如Apache服务器)通信时,系统会临时分配一个动态端口。通信结束后,该端口会被回收以供其他程序使用。这种临时分配的端口就是动态端口,其范围在49152到65535之间。
- 图中展示了系统端口、用户端口和动态端口的分布及其用途。
- 程序间通信的本质
- 域名
- 域名数量关系
- 域名与IP关系: 域名是用来替代IP地址的,方便人们记忆和访问网站。
- 数量关系: 域名与IP之间是多对一的关系,即多个域名可以解析到同一个IP地址,但一个域名只能解析到一个IP地址。
- DNS服务器后台配置
- 域名与IP的数量关系
- 多对一关系: 多个域名可以解析到同一个IP地址,但一个域名只能解析到一个IP地址。这种设计使得网站管理更加灵活,例如可以实现域名的备份、分发等功能。
- 子域名
- 子域名定义: 子域名是在主域名基础上,通过添加前缀(如www、map等)来进一步划分的域名。
- 常见子域名: 如www.example.com,其中www是一个常见的子域名,通常代表网站的首页。但并非所有网站都设置子域名,有些网站直接通过主域名即可访问。
- localhost
- localhost定义: localhost是一个特殊的域名,通常指向本机的回环地址127.0.0.1。
- 用途: 常用于本地开发和测试环境,通过localhost可以访问本机上搭建的服务。
- 配置内容: DNS服务器后台配置包括A记录、MX记录、NS记录等,用于指定域名与IP的映射关系、邮件服务器、名称服务器等信息。
- A记录: 用于将域名解析到特定的IP地址,如将www.example.com解析到192.168.1.1。
- MX记录: 用于指定邮件交换服务器,处理域名的邮件收发。
- NS记录: 用于指定名称服务器,负责解析该域名的DNS请求。
- 域名与IP的数量关系
- 网络配置文件
- ifcfg-ens33: 网卡配置文件,用于配置网卡的IP地址、子网掩码、网关等信息。
- ifcfg-lo: 环回地址配置文件,用于配置本机的回环地址127.0.0.1。
- hosts: 主机名与IP的映射文件,可以配置固定的域名解析,优先于DNS解析。
- resolv.conf: DNS配置文件,指定DNS服务器的地址,由网卡配置自动覆盖。该文件通常不需要手动修改。
- 域名数量关系
2. 查看及配置网络
1)ifconfig命令
- 全拼: network interfaces configuring,即网络接口配置。
- 所属工具包: net-tools,用于动态配置网络参数。
- 注意事项:
- ifconfig配置的网络参数是临时生效的,重启后会失效。
- 永久修改网络配置需编辑相关配置文件,如之前提到的某个配置文件。
2)ip命令
- 所属工具包: iproute,已逐渐替代net-tools中的ifconfig命令。
- 功能覆盖:
- 不仅覆盖了ifconfig的功能,还涵盖了netstat、route等命令的功能。
- 常用操作:
- 显示网络设备信息: ip link
- 显示网络设备的详细状态: ip -s link
- 显示当前路由表信息: ip route list
- 命令格式: ip [options] object {command | help}
- options: 包括显示版本(-V)、人类可读格式(-h)、指定协议族(-f)等。
- object: 包括地址(address)、链接(link)、路由(route)等。
- command: 包括新增(add)、删除(delete)、显示(show/list)、设置(set)等。
- 示例:
- 显示当前IP地址信息: ip address 或 ip addr
- 给设备设置IP地址: ip addr add 192.168.1.200/24 dev enp0s8
- 移除设备IP地址: ip addr delete 192.168.1.200/24 dev enp0s8
- 启动网络设备: ip link set enp0s8 up
- 设置MTU值: ip link set enp0s8 mtu 1000
- 设置MAC地址: ip link set enp0s8 address a0:0a:b0:0b:c0:0c
3. 连通性探测
- 目的: 确定两台计算机之间是否能够通信。
- 常用命令: ping
- ping命令全称: 未提及具体全称,但ping是最常用的网络连通性测试工具。
- 使用场景: 在发送数据包前,通过ping命令检测目标主机是否可达。
4. 连通性探测
1)ping命令
- ping命令简介
- ping命令定义与用途
- ping命令的跨平台性
- ping命令的实践应用
- 实践: 通过ping命令可以检查网络连接状态,如丢包率、延迟等,有助于诊断网络问题。
- 示例说明: 在实际操作中,如果ping命令成功返回数据,说明网络连接正常;如果返回超时或错误,则可能网络存在问题。
- ping命令的连通性探测
- ping命令的基本应用
- 功能: ping命令用于检测网络连通性,即判断当前设备与目标服务器(如百度的服务器)是否能够通过网络进行通信。
- 示例: 当使用ping命令访问一个存在的域名(如百度的服务器)时,如果能够收到数据返回和响应时间,则说明当前设备与该服务器是连通的。
- 反例: 如果访问一个不存在的域名,则会收到“name or service not known”的提示,表明无法找到该域名对应的服务器,因此无法连通。
- ping命令的基本应用
- ping命令的DNS解析
- DNS解析失败示例: 当使用ping命令去拼一个不可能联通的IP时,可能会出现DNS解析不出来的情况。例如,老师在课堂上尝试随便输入一个IP地址进行ping操作,但并不知道这个IP是否存在,这可能是一个检验DNS解析能力的方法。
- 网络连通性探测与远程登录
- ping命令的IP连通性探测
- 全拼: Packet Internet Groper,即因特网包探索器。
- 功能: 用于探测网络连通性,可以自动将域名转换为IP地址进行探测。
- 示例:
- ping baidu.com
- ping 192.168.142.151
- telnet命令的远程登录与端口探测
- telnet远程登录
- telnet端口探测
- 功能: telnet还可以用于探测服务器特定端口是否开放。
- 示例:
- telnet 192.168.142.132 80(探测80端口,即HTTP服务)
- telnet 192.168.142.132 22(探测22端口,即SSH服务)
- telnet的安全性问题
- SSH远程登录示例
- 网络协议的历史与发展
- ping命令的IP连通性探测
二、知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
网络基本概念 | 网卡、MAC地址、IP地址 | IP地址分类(公有/私有) | 中 |
IP地址 | IPV4与IPV6的区别 | IPV4地址耗尽问题 | 中 |
动态与静态IP | DHCP与Static配置 | DHCP动态分配原理 | 易 |
端口 | 端口号范围与分类 | 动态端口与临时端口区别 | 中 |
域名与DNS | 域名解析原理 | DNS服务器的作用 | 中 |
连通性探测 | ping命令使用 | ping与连通性关系 | 易 |
网络配置文件 | /etc/sysconfig/network-scripts/ifcfg-* | 配置文件修改与生效 | 中 |
查看与修改网络配置 | ifconfig与ip命令 | ip命令替代ifconfig | 中 |
网络连接查看 | netstat与ss命令 | ss命令查看socket信息 | 中 |
文件传输 | wget、scp、curl命令 | curl支持多协议 | 中 |
防火墙设置 | iptables工具 | 防火墙规则添加与移除 | 难 |