学完TCP/IP协议后,接着学习每层设备和对应的协议内容。这节主要记录物理层和数据链路层的设备及其他内容。
标准:
T568A:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕
T568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
网线的用途分类
(1)交叉线:一端为A,一端为B。同种设备间使用!
Eg:两台电脑间可以只用一根网线连接。(三层以上的设备一律视为同种设备)
(2)直通线:两端都是A或都是B(一般是B)。异种设备间使用!用的最多
(3)全反线:一端为A,另一端为反A,也称console线。(对设备初始化配置)需要用com转USB的线就能连接电脑。
8bit = 1Byte;
1024B = 1KB;
1024KB = 1MB
1024MB = 1GB;
1024GB = 1TB;
1024TB = 1PB
帧结构:
工作在数据链路层的设备:
交换机的工作原理:
交换机的端口:
交换机5大基本工作模式:

交换机的工作原理:
交换机厂家:H3C(华为和3C)&锐捷(主攻客户为政府、学校、医疗等)&Cisco。

收到一个数据帧后:
(1) 首先学习帧中的源MAC地址来形成MAC地址表;
(2) 然后检查帧中的目标MAC地址,并匹配MAC地址:
如MAC地址表中有匹配项,则单播转发;
如MAC地址表中无匹配项,则除接收端口外广播转发。
MAC地址表的老化时间默认是300秒(可修改),同一个MAC地址来自不同端口则立即更新MAC地址表。
交换机的端口:
E Ethernet 10Mb/s
F FastEthernet 100Mb/s
G GigabitEtherrnet 1000Mb/s
Te TenGigabitEtherrnet 10000Mb/s
F0/1(0模块号,1接口号)
接口速率自适应:1000/100/10,速率工作模式可为10/100/1000任一种状态。
交换机端口状态:up/down
交换机down的3种可能:
1)人工down掉
2)速率不匹配
3)双工模式不匹配:双工(duplex)模式包括单工、半双工、全双工。
交换机5大基本工作模式:
第一次配置网络设备,需使用console线。在PC上使用”超级终端“或其他软件即可。
switch> (进别人房子只能看看别想着改)
可以查看交换机的基本简单信息,但不能做任何修改配置!
switch> enable/en
switch#>
可以查看所有配置,且可以做测试、保存、初始化等操作,但不能修改配置。
switch# congigure terminal
switch(config)#
默认不能查看配置,可以修改配置,且全局生效!
switch(config)#interface f0/1
switch(config-if)# //if是interface的缩写
默认不能查看配置!但可以修改配置,且对该接口生效!
switch(config)#line console 0
switch(config-line)#
默认不能查看配置!但可以修改配置,且对console口生效!
凡是配置模式,一律不可查看配置,但能够不同程度的修改配置。
交换机基本命令:支持命令缩写
1. exit 退出一级,这些模式都得一级一级的进入。
2. end 直接退到特权模式。
3. ?的用法:帮助你知道该命令的参数写法和用法。
4. 历史命令(上键)、tab补全键
5. 配置主机名:hostname sw1 //修改设备名称,立即生效。
6. 设置用户密码:路由器开着端口,就可以进行暴力破解。
line co 0
password 密码
login
exit
7. 快捷键:
ctrl+u : 快速删除光标前所有字符
ctrl+a : 快速定位光标到行首
ctrl+e : 快速定位光标到行尾
8. 文件running-config
每一次开机,系统会在内存中自动创建一个新的干净的running-config。所以需要保存配置:(在特权模式保存)
copy running-config startup-config //从内存复制到硬盘中
或write (思科的,有些厂家可能不适用)
9. 交换机开机动作:
先去硬盘中查找startup-config是否存在:
如果不存在,内存中创建新的running-config,
如果存在,则将其复制到内存中并改名为running-config。
10. 清空/擦除/初始化配置:特权模式下
erase start-config
11. 查看running-config配置和startup-config是否配置成功。
show running-config
show startup-config
凡是查看命令都在特权模式下进行,思科用show,华为用display。
12. 重启设备:特权模式下
reload
13. 配置特权密码:全局配置模式,还能配两个,同时配的话以密文为准。
enable password 密码(明文)
enable secret 密码 (密文hash值)
14. 查看MAC地址表:
show mac-address-table
15. 查看接口状态列表:
show ip int brief
16. 手工关闭接口:
shutdown
手工开启接口:
no shutdown
17. do的用法:其他模式加do空格可以强制使用特权模式的命令。但是do无法用tab补全命令。
do sh run
do sh ip int b
do wr
18. 删除配置
1)在哪配置的,就在哪删!
2)命令前加no 空格。
3)原命令中有参数,并且参数具有唯一性,则删除时不需要加参数。
如:hostname sw1
no hostname
19. 为3层端口(路由器、防火墙等)配置IP:先进入端口再配置,最后开启端口
int f0/0
ip add 10.1.1.254 255.255.255.0
no shutdown
20. 开启远程控制Telnet和SSH:
先进入全局,然后进入虚拟终端,选择远程控制方式,设置密码。
login local方式登录时需要进行身份验证,新建用户数据库,用户可以使用账号密码远程控制路由器。
身份验证:必须输入账号和密码。
Telnet没得ssh安全,ssh必须输账号和密码。SSH还需要新建域名后生成密钥。
如何远程管理一个设备:
首先配IP,配网关;
然后利用路由器或交换机打开Telnet;
之后去PC上检验是否成功进入Telnet,这样用户PC就可以远程管理该网络(路由器和交换机均可被管理,被远程控制)
因为路由器有两个接口,且这两个接口配的都是网关IP,这两个网关IP都是路由器名称,所以Telnet 10.1.1.254和Telnet 20.1.1.254一样。(相当于人的左右手)
Telnet:
line vty 0 4 //进入虚拟端口
transport input telnet/ssh/none/all
password 密码
login
exit
SSH:
hostname r1
ip domain-name r1.qf.com //配一个域名
crypto key generate rsa //生成密钥对
line vty 0 4
transport input telnet/ssh/none/all
login local
exit
username xx password 123.com //新建用户数据库,全局配置模式下
SSH不管是哪种方式都需要输入账号,login验证时SSH的账号是路由器名称。
21. 为交换机配置管理IP:
conf t
int vlan 1 //进入虚拟接口
ip add 10.1.1.253 255.255.255.0
no shut
交换机的远程管理IP地址,虚拟接口。为了让交换机可以被远程管理。
23 为交换机配置默认网关(目的:可跨网段管理)conf t
交换机无法隔离网段,路由器用来隔离网段,必须连接不同网段。
想要远程管理一个设备,首先得能ping通对方。
网关的存在是为了能够ping通其他网段。Ping本网段所在主机的话用不到网关。
交换机虚拟接口的IP还可以配网关,方便被跨网段管理。
ip defaut-gateway 10.1.1.254
24 关闭自动解析功能:conf t
no ip domain-lookup
就是输错命令后不会卡住,很顺畅的会让你重新输入命令。
参考内容:B站千锋网络安全学习视频
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同