auto commit

This commit is contained in:
CyC2018 2018-02-27 11:49:30 +08:00
parent 8e78eb305c
commit d39654572e

View File

@ -41,9 +41,9 @@
* [网际协议 IP 概述](#网际协议-ip-概述)
* [IP 数据报格式](#ip-数据报格式)
* [IP 地址编址](#ip-地址编址)
* [1. 分类的 IP 地址](#1-分类的-ip-地址)
* [2. 划分子网](#2-划分子网)
* [3. 无分类编址 CIDR构成超网](#3-无分类编址-cidr构成超网)
* [1. 分类](#1-分类)
* [2. 子网划分](#2-子网划分)
* [3. 无分类](#3-无分类)
* [IP 地址和 MAC 地址](#ip-地址和-mac-地址)
* [地址解析协议 ARP](#地址解析协议-arp)
* [路由器的结构](#路由器的结构)
@ -340,13 +340,16 @@ CSMA/CD
MAC 地址是 6 字节48 位)的地址,用于唯一表示网络适配器(网卡),一台主机拥有多少个适配器就有多少个 MAC 地址,例如笔记本电脑普遍存在无线网络适配器和有线网络适配器。
MAC 帧用类型字段来标记上层使用什么协议;数据字段长度在 46-1500 之间如果太小则需要填充FCS 为帧检验序列,使用的是 CRC 检验方法;前面插入的前同步码只是为了计算 FCS 临时加入的,计算结束之后会丢弃。
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/50d38e84-238f-4081-8876-14ef6d7938b5.jpg)
- **类型**:标记上层使用的协议;
- **数据**:长度在 46-1500 之间,如果太小则需要填充;
- **FCS**:帧检验序列,使用的是 CRC 检验方法;
- **前同步码**:只是为了计算 FCS 临时加入的,计算结束之后会丢弃。
## 虚拟局域网
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到广播信息,例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息,例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/a74b70ac-323a-4b31-b4d5-90569b8a944b.png)
@ -372,35 +375,35 @@ MAC ֡
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/8681db55-0873-434b-aa98-83d07e8392ae.jpg)
**版本** : 有 4IPv4和 6IPv6两个值
- **版本** : 有 4IPv4和 6IPv6两个值
**首部长度** : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为首部固定长度为 20 字节,因此该值最小为 5。如果可选部分的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
- **首部长度** : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为首部固定长度为 20 字节,因此该值最小为 5。如果可选部分的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
**区分服务** : 用来获得更好的服务,一般情况下不使用。
- **区分服务** : 用来获得更好的服务,一般情况下不使用。
**总长度** : 包括首部长度和数据部分长度。
- **总长度** : 包括首部长度和数据部分长度。
**标识** : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
- **标识** : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
**片偏移** : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
- **片偏移** : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/45c86855-9b18-4cf4-a9a7-f8b6eb78d133.png)
**生存时间** TTL它的存在为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位当 TTL 为 0 时就丢弃数据报。
- **生存时间** TTL它的存在为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。
**协议**:指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
- **协议**:指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
**首部检验和**:因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
- **首部检验和**:因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
## IP 地址编址
IP 地址的编址方式经历了三个历史阶段:
1. 分类的 IP 地址
2. 子网划分;
3. 构成超网
1. 分类;
2. 子网划分;
3. 无分类
### 1. 分类的 IP 地址
### 1. 分类
由两部分组成,网络号和主机号,其中不同类别具有不同的网络号长度,并且是固定的。
@ -408,7 +411,7 @@ IP
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/2ddd6132-60be-4a72-9daa-3d9756191f4a.png)
### 2. 划分子网
### 2. 子网划分
通过在网络号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。注意,外部网络看不到子网的存在。
@ -416,9 +419,9 @@ IP
要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 000000也就是 255.255.192.0。
### 3. 无分类编址 CIDR构成超网
### 3. 无分类
CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。
无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。
IP 地址 ::= {< 网络前缀号 >, < 主机号 >}
@ -426,9 +429,9 @@ CIDR
CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为网络前缀的长度。
一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为构成超网。
一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 **构成超网**
在路由表中每个项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配。
在路由表中项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个
## IP 地址和 MAC 地址
@ -440,7 +443,7 @@ CIDR
实现由 IP 地址得到 MAC 地址。
每个主机都有一个 ARP 高速缓存,存放映射表。如果一个 IP 地址 到 MAC 地址的映射不在该表中,主机通过广播的方式发送 ARP 请求分组,匹配 IP 地址的主机会发送 ARP 响应分组告知 MAC 地址。
每个主机都有一个 ARP 高速缓存,存放映射表。如果一个 IP 地址到 MAC 地址的映射不在该表中,主机通过广播的方式发送 ARP 请求分组,匹配 IP 地址的主机会发送 ARP 响应分组告知 MAC 地址。
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/8bc6fc2c-d198-4759-b06c-18d94d851e97.png)