diff --git a/notes/pics/arp-hops.png b/notes/pics/arp-hops.png new file mode 100644 index 00000000..a8e34915 Binary files /dev/null and b/notes/pics/arp-hops.png differ diff --git a/notes/pics/arp-request.png b/notes/pics/arp-request.png new file mode 100644 index 00000000..0d5c0d7e Binary files /dev/null and b/notes/pics/arp-request.png differ diff --git a/notes/pics/bgp.png b/notes/pics/bgp.png new file mode 100644 index 00000000..1d6184f9 Binary files /dev/null and b/notes/pics/bgp.png differ diff --git a/notes/pics/icmp-format.png b/notes/pics/icmp-format.png new file mode 100644 index 00000000..9fb7e298 Binary files /dev/null and b/notes/pics/icmp-format.png differ diff --git a/notes/pics/ip-classes.png b/notes/pics/ip-classes.png new file mode 100644 index 00000000..3549c71b Binary files /dev/null and b/notes/pics/ip-classes.png differ diff --git a/notes/pics/ip-fragment.png b/notes/pics/ip-fragment.png new file mode 100644 index 00000000..73788040 Binary files /dev/null and b/notes/pics/ip-fragment.png differ diff --git a/notes/pics/ip-header.png b/notes/pics/ip-header.png new file mode 100644 index 00000000..5a239cf4 Binary files /dev/null and b/notes/pics/ip-header.png differ diff --git a/notes/pics/nat.png b/notes/pics/nat.png new file mode 100644 index 00000000..fff6f366 Binary files /dev/null and b/notes/pics/nat.png differ diff --git a/notes/pics/route-lookup.png b/notes/pics/route-lookup.png new file mode 100644 index 00000000..89e8f191 Binary files /dev/null and b/notes/pics/route-lookup.png differ diff --git a/notes/pics/router-structure.png b/notes/pics/router-structure.png new file mode 100644 index 00000000..dd8ecac2 Binary files /dev/null and b/notes/pics/router-structure.png differ diff --git a/notes/pics/vpn-tunnel.png b/notes/pics/vpn-tunnel.png new file mode 100644 index 00000000..a5252a9d Binary files /dev/null and b/notes/pics/vpn-tunnel.png differ diff --git a/notes/计算机网络 - 网络层.md b/notes/计算机网络 - 网络层.md index 2f382744..e8227300 100644 --- a/notes/计算机网络 - 网络层.md +++ b/notes/计算机网络 - 网络层.md @@ -38,7 +38,7 @@ ## IP 数据报格式 -

+

- **版本** : 有 4(IPv4)和 6(IPv6)两个值; @@ -58,7 +58,7 @@ - **片偏移** : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。 -

+

## IP 地址编址方式 @@ -74,7 +74,7 @@ IP 地址的编址方式经历了三个历史阶段: IP 地址 ::= {\< 网络号 \>, \< 主机号 \>} -

+

### 2. 子网划分 @@ -104,27 +104,33 @@ CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为 网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。 -

+

ARP 实现由 IP 地址得到 MAC 地址。 -

- 每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。 如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。 -

+

## 网际控制报文协议 ICMP ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。 -

+

ICMP 报文分为差错报告报文和询问报文。 -

+| 类型 | 名称 | 种类 | 用途 | +| --- | --- | --- | --- | +| 0 | 回送回答 | 询问 | ping 收到的回答 | +| 3 | 终点不可达 | 差错报告 | 主机、网络或端口不可达,Traceroute 到达终点时收到端口不可达 | +| 5 | 改变路由(重定向) | 差错报告 | 路由器告诉主机有更好的下一跳 | +| 8 | 回送请求 | 询问 | ping 发出的请求 | +| 11 | 时间超过 | 差错报告 | TTL 减到 0 时由路由器发出,Traceroute 靠它得到沿途的路由器 | +| 12 | 参数问题 | 差错报告 | 首部字段的值有错 | +| 13、14 | 时间戳请求、回答 | 询问 | 很少使用 | ### 1. Ping @@ -155,9 +161,9 @@ Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报 VPN 使用公用的互联网作为本机构各专用网之间的通信载体。专用指机构内的主机只与本机构内的其它主机通信;虚拟指好像是,而实际上并不是,它有经过公用的互联网。 -下图中,场所 A 和 B 的通信经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信,IP 数据报的源地址是 10.1.0.1,目的地址是 10.2.0.3。数据报先发送到与互联网相连的路由器 R1,R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 125.1.2.3,目的地址是路由器 R2 的全球地址 194.4.5.6。路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.3,就交付给 Y。 +下图中,场所 A 和 B 的通信经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信,IP 数据报的源地址是 10.1.0.5,目的地址是 10.2.0.8。数据报先发送到与互联网相连的路由器 R1,R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 203.0.113.1,目的地址是路由器 R2 的全球地址 198.51.100.2。路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.8,就交付给 Y。 -

+

## 网络地址转换 NAT @@ -165,7 +171,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。 在以前,NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把传输层的端口号也用上了,使得多个专用网内部的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。 -

+

## 路由器的结构 @@ -173,7 +179,7 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。 分组转发结构由三个部分组成:交换结构、一组输入端口和一组输出端口。 -

+

## 路由器分组转发流程 @@ -184,7 +190,9 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。 - 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器; - 报告转发分组出错。 -

+实际的路由器用最长前缀匹配统一处理以上几种情况:特定主机路由的前缀长度为 32,默认路由为 0,查找时在匹配的表项中选前缀最长的一个。 + +

## 路由选择协议 @@ -241,4 +249,4 @@ BGP 只能寻找一条比较好的路由,而不是最佳路由。 每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。 -

+