黄玮
本课特供无《计算机网络》基础同学
本课不能代替《计算机网络》课程
本课仅限服务于《Linux系统与网络管理》课程讲授所需的最小化《计算机网络》概念与技术
I. 分层模型
II. 查表寻址
III. 应用层协议
IV. 网络协议实现离不开操作系统
V. Virtualbox 虚拟网络实战
| 应用层 | DHCP | DNS | FTP | NFS | Samba | HTTP |
| 传输层 | TCP | UDP |
| 网络层 | IP | ICMP* |
| 数据链路层/物理层 | IEEE 802.3 | IEEE 802.11 | IEEE 802.15 |
ICMP 是否属于「网络层」此处存在争议,我在本课程中如无特别说明一律将 ICMP 视为网络层连通性诊断工具。
「客户端」-「服务器」
模型,又称 CS 模型
。「服务器」
。HTTP
协议使用的 「客户端」
我们通常又称为 浏览器(Browser)
。所以,HTTP
应用的 软件架构 模型又称为 BS 架构
。CS 模型
通信流程:「客户端」
发起 请求 ,「服务端」
接收并处理 请求 后发回 响应 。本地
是相对于 远程
的成对出现概念。例如:
SSH 客户端
的主机我们称为「本地主机」。SSH 服务器
被称为「远程主机」。负载(Payload)
都指的是「相对于本层的上一层」协议数据。
HTTP 协议数据
就是通过 TCP 负载层承载的。本地
看通信:「上行」或「出站」就是向 远程
发送 数据,「下行」或「入站」就是从 远程
接收 数据。Packet-by-Packet
Packet
(报文)分段定义Virtualbox
虚拟网络连通性矩阵ping
nc
/ ssh -vv
ssh -vv
ping
一下比弯腰查网线更快捷DHCP 解决的就是「根据主机提供的 身份标识 」自动分配一个在局域网中「不会引起 身份冲突」的 IP 地址以及其他常用网络配置信息。
# 推荐命令
ip neigh
# ping 一下「局域网」内另一台 VM 后再执行以上命令
# 过时命令
arp -n
# 推荐命令
ip route
# ⚠️ 删除虚拟机内默认路由后再执行以上命令 ⚠️
sudo ip route delete default
# 此时还可以 ping 通 www.baidu.com 吗?
# 把之前的默认网关再重新添加进路由表
# sudo ip route add default via 10.0.2.1
# 过时命令
route -n
netstat -rn
# 执行域名解析
## 使用本地默认域名解析服务器
dig www.baidu.com
## 使用指定域名解析服务器 114.114.114.114 忽略 /etc/hosts
dig @1.1.1.1 www.baidu.com
hosts
文件10.0.2.15
和 192.168.56.101
,则只要满足网络层连通性,这 2 个 IP 地址都可以被用来作为访问时的目的 IP 。loopback
)」地址,常用于单机条件下模拟和调试网络程序时的服务端程序监听地址。hosts
文件中通常默认定义为解析到 127.0.0.1
或 ::1
,但也可以定义指向其他 IP 地址。连通性总结
网卡模式 | VM ➡️ Host | VM ⬅️ Host | VM1<–>VM2 | VM ➡️ Net/LAN | VM ⬅️ Net/LAN | 典型应用场景 |
---|---|---|---|---|---|---|
Host-only | ✅ | ✅ | ✅ | ❌ | ❌ | Host 访问 VM 内网络服务 |
NAT-网络 | ✅ | 端口转发 | ✅ | ✅ | 端口转发 | VM 上网且需要 VM 组网实验 |
NAT | ✅ | 端口转发 | ❌ | ✅ | 端口转发 | VM 上网 |
Internal | ❌ | ❌ | ✅ | ❌ | ❌ | 网络安全实验 |
Bridged | ✅ | ✅ | ✅ | ✅ | ✅ | 借用 Host 物理网卡 |
# 查看可捕获的网卡名称
tcpdump --list-interfaces
# 对照系统中网卡信息
ip a
# 开始抓包
## -i 指定抓包网卡
## -w 抓包结果保存到文件
sudo tcpdump -i enp0s8 -w http.pcap