计算机网络 — 知识地图

← 学科总览 | ← 主页

下面是发送信息的整个流程,整个计算机网络也是层层引用的,可以从应用层开始,看看信息是如何发送的

🔗 一条请求的旅程

先看 HTTP万维网 知道怎么发数据

发送内容看 HTTP报文, HTTP状态码,加密 HTTP 看 HTTPS

还有顺应时代发展,为了提高效率对HTTP追加协议

知道发什么了, 下一步是把 URL 转化成 IP, 就需要用 DNS 把域名获得 IP 地址, 之后就可以传输了

应用层传输途径还分 与HTTP协作的web服务器(代理、隧道、网关、缓存)


应用层把数据准备好了,交给套接字,传输层接手。

传输层要解决一个问题:这份数据怎么送到对面机器上对应的进程?

先看 套接字,这是应用层和传输层的交接口,数据从这里往下走,靠端口号找到目标进程。

传输层有两条路可以走:

快但不保证到 → 看 UDP协议,DNS 查询、视频流都走这条路

要保证到 → 看 TCP,HTTP 走这条路,TCP 负责连接的建立与断开、数据不丢、流量和拥塞控制,代价是比 UDP 重


传输层把数据交给网络层,网络层要解决:这个数据包怎么从你的手机,穿越千里,送到朋友的手机?

1. 获得网络身份(寻址与分配)

先要有 IP 地址,看 IP地址与子网划分 知道地址怎么分配和划分

连上 WiFi 路由器自动分配 IP 的过程看 DHCP协议

2. 局域网内的准备(公私网转换与底层寻路)

你拿到的通常只是个”内网 IP”,数据要上公网,必须在路由器网关进行”身份替换”,这就是 NAT与内网穿透

有了 IP,还要知道对方的 MAC 地址才能在局域网里发帧,这靠 ARP与ICMP 的 ARP 协议解决

3. 跨越互联网的旅途(路由接力与移动网络)

出了局域网之后,数据包怎么一跳一跳找到目标,看 全球寻路与路由协议,里面的 OSPF、BGP 等路由协议说明了广域网是如何选路的

如果走的是手机流量,数据经过 4G 基站接力,基站是手机的唯一物理入口,看 移动网络与基站,换基站时 IP 不断的机制看 移动IP

不是所有数据都是一对一发的,直播、IPTV 是一对多,看 IP多播与广播

4. 质量监控与编程实战

数据包走丢了怎么排查、ping 背后是什么,看 ARP与ICMP 的 ICMP 部分

ARM 和 x86 字节序不一样,网络传输要转换,看 字节序与网络编程基础

想看数据包实际长什么样,用 Wireshark 抓,看 网络安全与抓包工具


核心章节(按 OSI / TCP-IP 模型)

🔴应用层

DNS,域名系统

FTP,文件传输协议

电子邮件

HTTP万维网

HTTP报文

HTTP状态码

HTTPS

HTTP追加协议

题目难度相关公司
在浏览器中输入网址后,整个过程发生了什么?中等蔚来
FTP和SFTP的区别?在文件传输中的使用?简单华为
HTTP和HTTPS的区别?TLS握手过程?简单小米
MQTT、CoAP、HTTP三种协议的区别和适用场景简单小米
什么是DNS?DNS解析的过程?中等华为
什么是TFTP协议?在嵌入式设备固件烧写中的应用?中等-
JSON和XML在嵌入式通信中的选择中等小米
什么是Protobuf?在嵌入式系统中的优势?中等字节跳动
什么是RESTful API?在嵌入式Web服务中的应用?中等涂鸦智能
什么是WebRTC?在嵌入式音视频通信中的应用?中等大华
什么是SSL/TLS?在嵌入式设备中如何实现加密通信?中等华为
mbedTLS在嵌入式系统中的使用方法中等小米
什么是OTA(Over-The-Air)?网络安全如何保证?中等涂鸦智能
嵌入式Web服务器(如Mongoose、libmicrohttpd)的选择中等海康威视
如何实现一个简单的HTTP服务器?中等海康威视
嵌入式系统中的NTP时间同步协议中等海康威视
什么是PTP(IEEE 1588)精确时间协议?中等华为
OSI七层网络模型各层的功能中等经纬恒润
网络模型的层级、功能和对应OSI层分别是什么?TCP和UDP的区别有哪些?中等OPPO

🔴传输层

套接字

UDP协议

TCP协议

题目难度相关公司
TCP三次握手和四次挥手的过程是什么?为什么握手三次挥手四次?中等蔚来
TCP的三次握手和四次挥手过程中等华为
TCP和UDP的区别?各自的优缺点?简单经纬恒润
TCP和UDP各自会出现粘包和拆包吗?为什么?中等蔚来
TCP粘包问题的原因和解决方法中等CVTE
TCP的TIME_WAIT状态的作用和影响简单字节跳动
什么是TCP的RST报文?触发条件有哪些?简单字节跳动
什么是半连接队列和全连接队列?SYN Flood攻击原理?中等字节跳动
什么是TCP Keepalive?在嵌入式长连接中的应用?中等海康威视
什么是TCP的滑动窗口机制?流量控制如何实现?中等字节跳动
TCP的拥塞控制算法有哪些?慢启动和拥塞避免的原理?中等华为
什么是Nagle算法?什么情况下需要禁用?中等腾讯
什么是长连接和短连接?各自的适用场景?中等海康威视
socket通信的基本流程中等经纬恒润
什么是Unix域套接字?与TCP Socket的区别?简单腾讯
什么是套接字选项?SO_REUSEADDR和SO_REUSEPORT的作用?简单字节跳动
epoll、select、poll的区别和性能比较简单智元机器人
什么是心跳包?在嵌入式网络通信中如何设计?中等涂鸦智能
什么是断线重连机制?如何实现?中等涂鸦智能
嵌入式系统中轻量级TCP/IP协议栈lwIP的特点中等小米
什么是uIP协议栈?与lwIP的比较?中等格力

🔴网络层

IP地址与子网划分

DHCP协议

NAT与内网穿透

ARP与ICMP

全球寻路与路由协议

移动网络与基站

移动IP

IP多播与广播

字节序与网络编程基础

网络安全与抓包工具

题目难度相关公司
IP地址的分类和子网掩码的计算中等华为
什么是IPv6?与IPv4的主要区别?简单华为
DHCP的工作流程(DORA过程)中等海康威视
什么是多播(Multicast)?在嵌入式系统中的应用?中等海康威视
什么是组播和广播?各自的使用场景?中等-
什么是网络字节序?如何进行主机字节序和网络字节序的转换?中等华为
跨平台通信时如何处理字节序问题?中等大疆
嵌入式设备的网络安全威胁和防护措施中等海康威视
什么是防火墙?iptables的基本使用?中等新华三
网络抓包工具Wireshark和tcpdump的使用方法中等-
网络请求处理慢,可以从哪些地方排查?中等智元机器人

🔴数据链路层

奇偶校验码:1位校验位,只能检测奇数个错误,不能纠错

CRC循环冗余校验:生成多项式 + 模2除法,检错能力强,以太网常用CRC-32

海明码:插入多个校验位,能定位并纠正1位错误

滑动窗口:可靠传输机制

组帧//字符计数,字符填充,零比特填充,

信道划分介质访问控制//时分复用(TDM),频分复用(FDM),波分复用(WDM),码分复用(CDM)

随机访问控制// 纯ALOHA协议,时隙ALOHA,坚持CSMA,非坚持,P非坚持,令牌

以太网//,简单介绍局域网,4种传输介质,IEE802.3,MAC地址,MAC帧格式,CSMA/CD,IEEE802.11WIFI,CSMA/CA,以太网交换机

广域网//PPP点对点

🔴物理层

性能指标

基础概念//码元是什么,WIFI码元8bit,奈奎斯特,香农

编码与调制//二进制数据,归零编码,非归零,曼彻斯特,差分曼彻斯特,幅移键控,频移键控,相移键控,正交幅度

传输介质//双绞线,同轴电缆,光纤,无线电,红外微波激光