From b3a244ab2d65c87e766b20049d384a9c1afeffc2 Mon Sep 17 00:00:00 2001 From: _Wh0ami <1603568522@qq.com> Date: Sat, 14 Sep 2024 17:27:07 +0800 Subject: [PATCH] 1111 --- _posts/.obsidian/workspace.json | 46 +++++++++++++++---- ...21\347\273\234\346\200\273\350\277\260.md" | 35 ++++++++++++-- ...72\347\232\204\345\216\206\347\250\213.md" | 10 ---- ...13\347\232\204\345\216\206\347\250\213.md" | 13 ++++++ ...41\346\201\257\345\256\211\345\205\250.md" | 3 ++ ...52\347\275\221\345\215\217\350\256\256.md" | 43 +++++++++++++++++ 6 files changed, 127 insertions(+), 23 deletions(-) rename "_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" => "_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\346\200\273\350\277\260.md" (88%) delete mode 100644 "_posts/2024-09-11-ping\344\270\273\346\234\272\347\232\204\345\216\206\347\250\213.md" create mode 100644 "_posts/2024-09-11-ping\346\216\242\346\265\213\347\232\204\345\216\206\347\250\213.md" create mode 100644 "_posts/2024-09-14-\344\273\245\345\244\252\347\275\221\345\215\217\350\256\256.md" diff --git a/_posts/.obsidian/workspace.json b/_posts/.obsidian/workspace.json index da09305..57c8858 100644 --- a/_posts/.obsidian/workspace.json +++ b/_posts/.obsidian/workspace.json @@ -6,14 +6,38 @@ { "id": "697d5a33b3301ddf", "type": "tabs", + "dimension": 75.06702412868633, "children": [ { - "id": "52ecd4b0ef0ff92d", + "id": "ebc7a8a3c2841616", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "2024-09-14-以太网协议.md", + "mode": "source", + "source": false + } + }, + "group": "dff09daf9d8f86b7" + } + ] + }, + { + "id": "3da84a9a4ae296a3", + "type": "tabs", + "dimension": 24.932975871313673, + "children": [ + { + "id": "807b850dfcc3af16", "type": "leaf", "state": { "type": "outline", - "state": {} - } + "state": { + "file": "2024-09-14-以太网协议.md" + } + }, + "group": "dff09daf9d8f86b7" } ] } @@ -81,6 +105,7 @@ "state": { "type": "backlink", "state": { + "file": "2024-09-14-以太网协议.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -97,6 +122,7 @@ "state": { "type": "outgoing-link", "state": { + "file": "2024-09-14-以太网协议.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -130,7 +156,9 @@ "type": "leaf", "state": { "type": "outline", - "state": {} + "state": { + "file": "2024-09-14-以太网协议.md" + } } } ] @@ -150,8 +178,12 @@ "command-palette:打开命令面板": false } }, - "active": "52ecd4b0ef0ff92d", + "active": "ebc7a8a3c2841616", "lastOpenFiles": [ + "2023-09-21-计算机网络总述.md", + "2024-09-14-以太网协议.md", + "2024-09-11-ping探测的历程.md", + "2023-09-21-计算机网络.md", "2024-09-13-信息安全.md", "2021-12-31-SQL语法.md", "2023-01-02-MySQL压缩包式安装.md", @@ -163,8 +195,6 @@ "2024-09-10-Taro开发实践.md", "2024-09-02-React开发总结.md", "2024-07-29-网页访问的历程.md", - "2023-09-21-计算机网络.md", - "2024-09-11-ping主机的历程.md", "新建文本文档.txt", "2024-06-25-数据库系统概论.md", "2023-09-30-操作系统.md", @@ -177,8 +207,6 @@ "2024-07-09-数据库.md", "2023-12-30-Node.md", "2023-12-30-node.md", - "2024-09-09-前端框架中的状态管理.md", - "2024-02-07-Vue项目结构.md", "2024-09-09-什么是状态.tx", "Untitled" ] diff --git "a/_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" "b/_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\346\200\273\350\277\260.md" similarity index 88% rename from "_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" rename to "_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\346\200\273\350\277\260.md" index 8f78822..bb2232c 100644 --- "a/_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" +++ "b/_posts/2023-09-21-\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\346\200\273\350\277\260.md" @@ -10,7 +10,7 @@ tags: **定义** -以太网是一种计算机网络技术,用于在局域网(LAN)内实现设备之间的数据通信。它定义了物理层和数据链路层的标准,允许设备通过有线连接交换数据。 +以太网是一种计算机网络技术,用于在局域网(LAN)内实现设备之间的数据通信。它定义了 **物理层和数据链路层** 的标准,允许设备通过有线连接交换数据。 **特点** @@ -81,16 +81,43 @@ tags: 协议关系:以太网主要涉及物理层和数据链路层协议,而互联网使用的是TCP/IP协议栈,涵盖传输层和网络层。 # 2. 网络体系结构 +## 2.1. 网络模型 + +**开放式系统互联模型**( _open system interconnection model_ ),简称 **OSI模型** 。 + +OSI模型是一种概念模型,用于指导通信系统设计,并实现标准化。 + +事实上,我们比较常见,也比较实用的是四层模型,即 TCP/IP 网络模型,Linux 系统正是按照这套网络模型来实现网络协议栈的。 TCP/IP 网络参考模型共有4层,其中需要我们熟练掌握的是应用层、传输层和网络层,至于网络接口层(数据链路层和物理层)我们只需要做简单的了解就可以了。 对于应用层,当然重点要熟悉最常见的HTTP 和 HTTPS,传输层 TCP 和 UDP 都要熟悉,网络层要熟悉IPv4,IPv6 可以做简单点了解。 -五层OSI模型:更简化,适用于理解互联网协议(TCP/IP)的基本工作原理,广泛用于实际网络设计和实现。 +![网络模型图](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409130852870.png) +## 2.2. 数据封装 + +每一层都把上层的协议包当成数据部分,再加上自己的协议头部,组成自己的协议包。这些头部信息的主要作用是用来帮助中间传输系统将数据传输到一个正确的目的地,它不是为了给接收方看的。 + +![image.png](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409141446121.png) +## 2.3. 各层的数据单元和设备 + +**应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP)** + +**传输层: (典型设备: 进程和端口) 数据单元:数据段 (Segment)** + +**网络层: (典型设备:路由器,防火墙、多层交换机) 数据单元:数据包(Packet )** + +**数据链路层: (典型设备: 网卡,网桥,交换机) 数据单元:帧 (Frame)** + +**物理层:(典型设备:中继器,集线器、网线、HUB) 数据单元:比特 (Bit)** +## 2.4. 各层的协议 + +![网络协议图.jpg](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409141613485.jpg) + + + -七层OSI模型:更详细,用于教学和理论研究,有助于深入理解网络通信的各个方面。 -![网络模型图](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409130852870.png) # 3. 冲突域和广播域 diff --git "a/_posts/2024-09-11-ping\344\270\273\346\234\272\347\232\204\345\216\206\347\250\213.md" "b/_posts/2024-09-11-ping\344\270\273\346\234\272\347\232\204\345\216\206\347\250\213.md" deleted file mode 100644 index 0814b1f..0000000 --- "a/_posts/2024-09-11-ping\344\270\273\346\234\272\347\232\204\345\216\206\347\250\213.md" +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: post -catalog: true -tags: - - 计算机网络 ---- - - - - ping 你舍友或同事的电脑的过程 \ No newline at end of file diff --git "a/_posts/2024-09-11-ping\346\216\242\346\265\213\347\232\204\345\216\206\347\250\213.md" "b/_posts/2024-09-11-ping\346\216\242\346\265\213\347\232\204\345\216\206\347\250\213.md" new file mode 100644 index 0000000..ff4c843 --- /dev/null +++ "b/_posts/2024-09-11-ping\346\216\242\346\265\213\347\232\204\345\216\206\347\250\213.md" @@ -0,0 +1,13 @@ +--- +layout: post +catalog: true +tags: + - 计算机网络 +--- + +进行网络通信时,我们经常需要判断一台主机是否活跃。 + +A主机跟 B主机 进行通信之前,可以先 _ping_ 一下他的 _IP_ 地址,看主机是否有应答 + +那么,_ping_ 命令是如何工作的呢?掌握 _ICMP_ 协议后,我们可以着手研究 _ping_ 的通信过程了 + diff --git "a/_posts/2024-09-13-\344\277\241\346\201\257\345\256\211\345\205\250.md" "b/_posts/2024-09-13-\344\277\241\346\201\257\345\256\211\345\205\250.md" index e2c52be..28a7316 100644 --- "a/_posts/2024-09-13-\344\277\241\346\201\257\345\256\211\345\205\250.md" +++ "b/_posts/2024-09-13-\344\277\241\346\201\257\345\256\211\345\205\250.md" @@ -86,3 +86,6 @@ tags: 设计一个系统,要求以加密的形式进行传输,传输文件最大2GB,发送者不可抵赖,若文件被第三方截获,第三方无法篡改 ![加密的案例.jpg](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409131636640.jpg) + +# 4. 访问控制 + diff --git "a/_posts/2024-09-14-\344\273\245\345\244\252\347\275\221\345\215\217\350\256\256.md" "b/_posts/2024-09-14-\344\273\245\345\244\252\347\275\221\345\215\217\350\256\256.md" new file mode 100644 index 0000000..85cab27 --- /dev/null +++ "b/_posts/2024-09-14-\344\273\245\345\244\252\347\275\221\345\215\217\350\256\256.md" @@ -0,0 +1,43 @@ +--- +layout: post +catalog: true +tags: + - 计算机网络 +--- + +# 1. 物理层 + +## 1.1. 通讯模型 +![697a2f1f97f5f09cff4390c5b5458241.png](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409141636474.png) +想在两台主机间传输数据,该怎么办呢?用一根电缆将两台主机连接起来 + +![90c371e185fc7cdde7718d2059e7789e.png](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409141637982.png) + + +## 1.2. 冲突仲裁 + +如果两台服务器同时向信道发送数据,会发生什么事情呢,肯定冲突了嘛!有什么办法可以解决冲突吗? + +**方法一** + +引入一根新电缆,组成双电缆结构,每根电缆只负责一个方向的传输。这样一来,两个方向的传输保持独立,互不干扰,可以同时进行。这样的传输模式在通讯领域称为 **全双工模式** + +**方法二** + +在硬件层面实现一种仲裁机制:当检测到多台主机同时传输数据时,及时叫停,并协商哪一方先发。这样一来,信道同样支持双向通讯,但不可同时进行。这种传输模式则称为 **半双工模式** +## 1.3. 常见物理介质 + +- 电信号,例如电缆,网线就是电缆中的一种; +- 光信号,例如光纤; +- 电磁波,例如 _WiFi_ ,无线网卡,蓝牙等; + + +# 2. 数据链路层 + +第一节我们以两台主机为例,讨论了一个理想化的物理层模型。 现在,我们将问题进一步延伸:多台主机如何实现两两通讯呢?我们以三台主机为例进行讨论 +![b5b564016c666f6ccfe37ca00839df33 (1).png](https://blog0912pic.oss-cn-beijing.aliyuncs.com/blog/202409141652678.png) +## 2.1. 主机寻址 + + + +## 2.2. 信道复用 \ No newline at end of file