From a95e217bcdb35567fd661903a776022aebe10559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=85=E8=AF=97?= <1101928181@qq.com> Date: Wed, 3 Apr 2024 12:14:22 +0800 Subject: [PATCH] 49 --- ...2\347\241\200\357\274\2101\357\274\211.md" | 130 ++++++++++++++++++ ...\345\261\202\346\250\241\345\236\213.webp" | Bin 0 -> 20612 bytes 2 files changed, 130 insertions(+) create mode 100644 "49\351\253\230\351\233\205\350\257\227/20240402/20240402_\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\237\272\347\241\200\357\274\2101\357\274\211.md" create mode 100644 "49\351\253\230\351\233\205\350\257\227/20240402/OSI\344\270\203\345\261\202\346\250\241\345\236\213.webp" diff --git "a/49\351\253\230\351\233\205\350\257\227/20240402/20240402_\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\237\272\347\241\200\357\274\2101\357\274\211.md" "b/49\351\253\230\351\233\205\350\257\227/20240402/20240402_\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\237\272\347\241\200\357\274\2101\357\274\211.md" new file mode 100644 index 0000000..086e7e5 --- /dev/null +++ "b/49\351\253\230\351\233\205\350\257\227/20240402/20240402_\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\237\272\347\241\200\357\274\2101\357\274\211.md" @@ -0,0 +1,130 @@ +# 计算机网络基础(1) + +计算机网络 + +​ 最简单的网络=>两个终端+用一条能承载数据传输的物理介质(传输介质) + +1. 至少有两个终端 +2. 有一个连接这两个终端的介质 +3. 网线(俗称),双绞线(学名) + +有了网络后,传输数据 + +1. 传输数据 + +2. 有源地址 + +3. 有目的地址 + +4. 数据会被封装 + + 当有3台以上的终端需要想通时=>交换机 + + 集线器: + + 1. 将众多终端相连,形成网络 + 2. 某终端发给它的数据会被无脑转发 + 3. 网络中的终端通过MAC地址识别 + - 每台能上网的设备都必须有MAC地址 + - MAC地址是上网设备一出厂就有的 + - MAC地址:物理地址,以太网地址 + - 全球唯一(DNA) + +交换机数据传输方式 + +1. 一对一 单播 + +2. 一对一组 组播 + +3. 一对多 广播 + + ​ 当目的地址MAC:全是F 就表示广播方式 + +交换机 + +1. 很多的网口 +2. 负责同一网络的数据转发 +3. 交换机的端口都有端号 +4. 可以学习MAC地址维护一张表,这个表记录了端口和MAC的关系 +5. 广播域 +6. 局域网核心设备 +7. 交换机可以接交换机 + +路由器 + +1. 隔离广播域(及连通广播域) + +2. 维护路由表(记录IP的下一跳) + +3. 用IP识别设备 + + ​ IP地址构成: + + - 网络号+主机号 + - 每个上网设备都有一个ip才就可已给路由器连接 + - 不同网络访问要用到路由器 + - 通过ip的网络号就可以识别到是不是同一网络 + +##### MAC是物理地址 + +##### IP是逻辑地址,是一个人收件地址 + +##### 实际工作中,先识别ip,再通过ip决定要不要经过网关(同一网段就是网关) + + + + + +作业 + +1. ARP RARP + + 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 + + ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。 + + + + 反向地址转换协议,即RARP(Reverse Address Resolution Protocol)。 反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。 + + + + ARP(地址解析协议)是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议。 + + RARP以与ARP相反的方式工作。RARP发出要反向解析的物理地址并希望返回其对应的IP地址,应答包括由能够提供所需信息的RARP服务器发出的IP地址。 + +2. OSI七层模型 + + + + - **物理层**: + + 解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 + + 它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 + + - **数据链路层:** + + 该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 + + 它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。 + + - **网络层:** + + 该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。 + + - **传输层:** + + 主要功能就是:监控数据传输服务的质量,保证报文的正确传输。 + + - **会话层:** + + 虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。但我们总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由,所以我们要建立一个自动收发包,自动寻址的功能。于是会话层出现了:它的作用就是建立和管理应用程序之间的通信。 + + - **表示层:** + + 表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。 + + - **应用层:** + + 应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。前端同学对应用层肯定是最熟悉的。 \ No newline at end of file diff --git "a/49\351\253\230\351\233\205\350\257\227/20240402/OSI\344\270\203\345\261\202\346\250\241\345\236\213.webp" "b/49\351\253\230\351\233\205\350\257\227/20240402/OSI\344\270\203\345\261\202\346\250\241\345\236\213.webp" new file mode 100644 index 0000000000000000000000000000000000000000..a312c9f0fb493ccf71db7e314f1a96932b9b11f1 GIT binary patch literal 20612 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 literal 0 HcmV?d00001 -- Gitee