内核网络
重要的数据结构 struct sockaddr 通信用的地址表, 记录了使用什么来通信和目的地址 这是一个在套接字编程中用来表示"地址"的通用结构, 核心作用是为不同的通行提供一个统一的地址表示接口 ...
重要的数据结构 struct sockaddr 通信用的地址表, 记录了使用什么来通信和目的地址 这是一个在套接字编程中用来表示"地址"的通用结构, 核心作用是为不同的通行提供一个统一的地址表示接口 ...
现代操作系统的内核(如 Linux 内核)中有一个专门的模块叫做: 网络协议栈(Network Stack) 主要职责详解 职责 类比说明 技术术语 1. 接收和发送数据包 公司前台接收快递 & 发送包裹 数据链路层、IP 层、传输层 2. IP 地址管理 给每个员工分配邮箱地址 IPv4 / IPv6 地址配置 3. 路由选择 快递要走哪条路线最短最快 路由表(Routing Table) 4. 封装与解封装 包裹加标签 / 拆标签 数据封装(Encapsulation)与解封装(Decapsulation) 5. 传输控制(TCP) 控制文件是否完整送达 TCP 流量控制、拥塞控制 6. 端口号管理 不同部门接收不同类型的快递 端口绑定、监听、转发 7. 安全防护(防火墙) 保安检查包裹内容 Netfilter / iptables / nftables 8. NAT 转换 公司统一出口代理 Network Address Translation 9. 域名解析支持 内部电话簿查询联系方式 DNS 解析缓存、本地 hosts 10. 支持多种协议 公司支持各种沟通方式(电话、邮件、视频会议) 支持 TCP、UDP、ICMP、HTTP、HTTPS、FTP 等 类比图:操作系统网络部门的组织架构 小组 类比角色 职责 套接字接口组(Socket Layer) 客户接待员 接收进程请求(如浏览器访问网页) 传输组(TCP / UDP) 快递打包组 控制可靠传输或快速发送 网络组(IP 层) 邮政分拣中心 决定发往哪个城市(IP 地址) 链路组(MAC 层) 快递站 决定发给哪个局域网内的目标主机 路由组(Routing) 导航调度中心 选择最优路径(下一跳) 设备驱动组(NIC Driver) 快递员 实际把包裹送出去(通过网卡) 安全组(Netfilter / Firewall) 保安检查岗 检查是否允许通行 NAT 组 公司代理出口 统一管理内部员工对外通信 DNS 缓存组 内部电话簿管理员 记录域名与 IP 的对应关系 Linux 的网络部分是一个庞大的子系统,主要包括以下几个关键模块: ...