> For the complete documentation index, see [llms.txt](https://note.niefee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://note.niefee.com/directory-10/ji-suan-ji-wang-luo.md).

# 计算机网络

* [计算机网络](https://note.niefee.com/directory-10/pages/-LjTb6g5-aNs8zWTNoSI#计算机网络)
  * [网络协议](https://note.niefee.com/directory-10/pages/-LjTb6g5-aNs8zWTNoSI#网络协议)
  * [网络三要素](https://note.niefee.com/directory-10/pages/-LjTb6g5-aNs8zWTNoSI#网络三要素)
  * [层次划分](https://note.niefee.com/directory-10/pages/-LjTb6g5-aNs8zWTNoSI#层次划分)

## 计算机网络

### 网络协议

`网络协议(network protocol)`，简称为协议，是为进行网络中的数据交换而建立的规则、标准或约定。

协议规定了通信实体之间所交换的消息的`格式`、`意义`、`顺序`以及针对收到信息或发生的事件所采取的“`动作`”（`actions`）。

### 网络三要素

* 语法（Syntax）
  * 数据与控制信息的结构或格式
  * 信号电平
* 语义（Semantics）
  * 需要发出何种控制信息
  * 完成何种动作以及做出何种响应
  * 差错控制
* 时序（Timing）
  * 事件顺序
  * 速度匹配

协议规范了网络中所有信息发送和接收过程。

> e.g., TCP, IP, HTTP, Skype, 802.11

### 层次划分

OSI将计算机网络体系结构划分为以下七层

| OSI 模型                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                            |                                                                                                                        |                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
|                                                                                                                                                                                                                                                                                                                                                                                                          | 数据单元                                                                                                                                                                                                                                       | 层                                                                                                                      | 功能                                                     |
| 主机层                                                                                                                                                                                                                                                                                                                                                                                                      | [Data](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/Data/README.md)（[数据](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/数据/README.md)）   | 7. [应用层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/应用层/README.md) | 网络进程到应用程序。针对特定应用规定各层协议、时序、表示等，进行封装 。在端系统中用软件来实现，如HTTP等 |
| 6. [表示层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/表示层/README.md)                                                                                                                                                                                                                                                                                   | 数据表示形式，加密和解密，把机器相关的数据转换成独立于机器的数据。规定数据的格式化表示 ，数据格式的转换等                                                                                                                                                                                      |                                                                                                                        |                                                        |
| 5. [会话层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/会话层/README.md)                                                                                                                                                                                                                                                                                   | 主机间通讯，管理应用程序之间的会话。规定通信时序 ；数据交换的定界、同步，创建检查点等                                                                                                                                                                                                |                                                                                                                        |                                                        |
| [Segments](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/w/index.php?title=Packet_segmentation\&action=edit\&redlink=1)（[数据段](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/数据段/README.md)）                                                                                                                 | 4. [传输层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/传输层/README.md)                                                                                                                     | 在网络的各个节点之间可靠地分发数据包。所有传输遗留问题；复用；流量；可靠                                                                                   |                                                        |
| 媒介层                                                                                                                                                                                                                                                                                                                                                                                                      | [网络分组](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/網路封包/README.md)/[数据报文](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/資料包/README.md) | 3. [网络层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/网络层/README.md) | 在网络的各个节点之间进行地址分配、路由和（不一定可靠的）分发报文。路由（ IP寻址）；拥塞控制。       |
| [Bit](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/Bit/README.md)/[Frame](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/w/index.php?title=Frame_\(networking\)\&action=edit\&redlink=1)（[数据帧](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/帧/README.md)） | 2. [数据链路层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/数据链路层/README.md)                                                                                                                 | 一个可靠的点对点数据直链。检错与纠错（CRC码）；多路访问；寻址                                                                                       |                                                        |
| [Bit](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/Bit/README.md)（[比特](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/比特/README.md)）                                                                                                                                                                   | 1. [物理层](https://github.com/niefee/front-end-records/tree/61c3f9cab93ae3e0a26a83ef378fa7aeca62587f/wiki/物理层/README.md)                                                                                                                     | 一个（不一定可靠的）点对点数据直链。定义机械特性；电气特性；功能特性；规程特性                                                                                |                                                        |

TCP/IP分层模型

| 分层模型                   | 功能                                                       |
| ---------------------- | -------------------------------------------------------- |
| 应用层(application layer) | 该层包括所有和应用程序协同工作，利用基础网络交换应用程序专用的数据的协议。                    |
| 传输层(transport layer)   | 传输层的协议，能够解决诸如端到端可靠性（“数据是否已经到达目的地？”）和保证数据按照正确的顺序到达这样的问题。  |
| 网络层(internet layer)    | 处理分组在网络中的活动，例如分组的选路。                                     |
| 链路层(link layer)        | 网络接口层实际上并不是因特网协议组中的一部分，但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。 |

两者区别 ![OSI与TCP/IP.png](https://4114926660-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LjTaw3l22eY6xguGexI%2F-LjTaxI_2PLJRc2sGXvR%2F-LjTb8lpbLYemDn0iHEY%2FOSI%E4%B8%8ETCP-IP.png?generation=1562807948678854\&alt=media)

> 参考:<http://www.cnblogs.com/ludashi/p/6232060.html> <http://www.cnblogs.com/davidwang456/p/3510782.html>
