HCIA --华为体系下的初级网络工程师

HCIP --高级网络工程师

HCIE -专家级网络工程师

网络的三大供货商?

华为

H3C

思科

计算机网络的处理--云技术(云计算)

云技术,就是不在你自己电脑 / 手机上存东西、跑程序,而是通过网络,用别人放在数据中心里的服务器。

计算机网络的存储-云存储

比如:阿里云盘 百度网盘

通信方式:包交换

数据组成数据包 在各个节点不断传递 最终到达目标

计算机技术

抽象语言---编码语言  --应用层

编码语言--二进制语言 --表示层

二进制语言--电信号  --介质访问控制层

处理电信号              ---物理层

通信技术

最早的网络是对等网络   ----------------

如何扩大呢?   1.无线延长传输距离

                          2.增加网络节点数量

1.延长传输距离

传输介质:

1.光纤:

光--->电的转换 ---光电二极管(接收到光之后会产生电流)

电---->光的转化--发光二极管(通电就会发光)、注入式激光二极管(效果好)

  • 单模光纤-用注入式激光二极管---信号畸变
  • 双模光纤-用光电二极管

2.网线:

RJ-45双绞线:8跟,两两相绞

RJ-11电话线

根据线类分:五类(百兆线)、超五类(千兆线)、六类

        超五类线(5e)--传输速率--1000Mbps ---传输距离100m ---限制:会产生信号衰弱

bps:b-bit(位)网络里的最小单位

byte-字节 计算机里的最小单位

bit和byte之间的关系:1bit=8字节

实际上:100M/8*0.85 = 10.625MB/s

        

屏蔽线和非屏蔽线

3.无线网

        WiFi 蓝牙

延长传输距离怎么解决?

放大器

引出--放大器(中继器)---物理层   解决信号衰弱的问题

增加网络节点数量怎么解决?

引出-网络拓扑结构

直线型拓扑结构:优点:简单

                              缺点:容错率高,可靠性差,传输效率低

环形拓扑结构:优点:简单 ,容错率提高了

                        缺点:传输效率不高

                        

星型拓扑结构:优点:容错高

                          缺点:依赖性高

中间设备--hrb(集线器)------物理层

问题:1.地址问题   --MAC地址         

           2.安全问题

           3.冲突问题--解决冲突方法 CSMA/CD 载波侦听多路访问/冲突检测技术

不会能量完全消失了,是有可能数据丢失,但是会有一定的反馈,这个反馈信息很重要

又造成了延迟问题,现在基本上已经淘汰---过度作用

核心思路:排队

           4.延迟问题

MAC地址:所有芯片出厂时烧录在芯片上,全球唯一,格式同一

网状拓扑 优点:可靠性高,容错率强,传输速率快

                缺点:成本高,结构复杂

树型拓扑

提出新的需求

1.无线延长传输距离

2.完全解决冲突---所有节点可以同时收发数据

3.实现单播---一对一的通信

A---B发 只能B收到,之前集线器其他人都能收到

如果A只给B发是不是解决了安全问题

其次延迟问题是不是也改善了

也解决了CSMA/CD带来的延迟问题

如果再能解决无线延长传输距离 那就实现了互联网想要的一切

交换机:全双工--双向通信

二层设备的原因:他可以实现二进制--电信号的相互转变

解决无线延长传输距离

完全解决冲突问题

从电信号进去已经变成数据了     数据和数据进到同一个设备他会相撞吗?--不会了

实现单播:

在把二进制转化为电信号之前,重要工作:把SMAC (源MAC地址 就是是谁发的)和DMAC(发给谁)地址加进去

跟原始数据放在一起全部变成二进制统一转换成电信号--流量来到交换机上---

交换机的转发原理:数据来到交换机上,交换机会先看源MAC地址,将源MAC地址和对应接口的关系

记录在本地MAC地址表中,之后再看目标MAC地址,根据MAC地址查看MAC地址表 找到对应的目标接口

如果MAC地址表中有记录 就根据记录实现单播

如果在MAC地址表上没有找到对应的接口,就泛洪,(除了进入的接口外,将流量转发到剩余的其他接口)

一个接口可以对应多个MAC地址  一个MAC地址不能对应多个多个接口

路由器--三层设备

应用层

表示层

网络层

介质访问控制层

物理层

功能:隔离泛洪范围(一个接口对应一个泛洪范围)

         转发

两种通信方式:①靠交换机通信  ②靠路由器通信 

如何区分?

IP地址:区分泛洪范围--逻辑地址(可变)

网络层------IP协议--互联网协议---定义出IP地址

IPv4--IPv4地址--32位二进制构成  (网络层在表示层之下 已经是二进制了,他用二进制来表示)

IPv4地址:172.20.10.3 --点分十进制

全世界有多少个IPv4地址?1位二进制构成,那他就有两个0和1,那就是2的1次方

32位 42.9亿------ 不够

于是就有了Ipv6--IPv6地址--128位二进制构成  可以让地球上每一粒沙子都拥有一个IP地址

IPv6地址:240e:457:ff20:51a6:af0d:6019:37d:8ff5   ---冒分16进制

172.20.10.3     IP地址是区分标识泛洪范围的

怎么区分?

32位二进制的构成

不单纯分为两部分

网络位 (区号):不同泛洪范围,网络位不同

主机位 (号码):在同一个泛洪范围内区分不同主机

 IPv4 地址 . . . . . . . . . . . . : 172.20.10.6    10101100. 0001 0100. 0000 1010.0000          0110

 子网掩码  . . . . . . . . . . . . : 255.255.255.0 -----区分网络位和主机位--规则:由连续的1和

连续的0组成     11111111.11111111.11111111 .1111 0000

1代表网络位 0代表主机位

网关--说是路由器不合适

出去要找接口,相当于不同关口派的大使,更合适的说应该是网关就是路由器接口

电脑配IP地址时要写网关,那所以我们应该先配路由器IP

路由器就充当一个DHCP服务器的作用

作为给别人分配地址的设备是不是得先自己有地址

0-255特殊地址 不让用

1-254可以用

GE--1000Mbps千兆口

Eth -100Mbps百兆口

路由器接口相对少一点,交换机主要是连主机 需要的接口就多,路由器连的是不同的泛洪范围就比较少,尽可能百兆口连百兆口-千兆口连千兆口,给他的速率发挥到最大

拿到一个规划好的网络架构下不要盲目

·1.第一步先看有几个泛洪范围---- 之前说的 一个接口对应一个泛洪范围,所以就是去数有几个接口

·2.规划IP地址     ---不同泛洪范围是不是要靠IP地址的网络位区分开

3.配IP

系统视图是能配置全局累的 比如影响整台路由器的 sysname r1

配置接口--接口视图 interface(接口) GigabitEthernet (GE)缩写

配IP   Ipaddress 192.168.1.1

查看 display IP interface brief

三步走完就成功了

怎么验证他通没通?检测网络连通性

Ping 工具

思考在这个过程中有没有什么问题,

交换机的工作原理

通过MAC地址转发的,我现在告诉的是pc2的IP地址

交换机的整个过程中靠的是MAC地址,我们没有用到IP地址,跟IP地址没有关系

为什么还能通呢

是不是得有一个通过IP地址知道他的MAC地址,交换机靠的就是MAC地址

获取到才能通

我们要根究pc2的IP地址获取他的MAC地址 才能通

重要的协议 地址解析协议ARP  ---我们现在学的就两个 一个MAC地址 一个IP地址

ARP协议 ---地址解析协议 ---可以根据一种地址获取另一种地址

没有必须是根据IP获取MAC 或者是根据MAC获取IP

那就意味着两种都可以实现

现在我需要的就是根据IP地址获取他的MAC地址

获取到对方的MAC地址后整个通信才能成立  整个逻辑才能通顺

怎么做的?

一个外卖员 只知道你的电话号码 不知道你的家庭地址 --那如何把这个快递送到你家

核心就是问

再网络里问谁

我只知道我的通信对象是1.20 但是不知道是pc2还是pc5

怎么办?

问所有人  -交换机里泛洪

什么情况下泛洪?

交换机一定会帮你泛洪吗?

如何逼交换机泛洪

给交换机里写一个不存在的MAC地址,他不存在是不是就会找不到

就一定会给我们泛洪

Pc1在发数据包时 要写一个SMAC和DMAC

DMAC要写一个很特殊很特殊的地址 一定要在MAC地址表里找不到

交换机里的MAC地址表一定是有数据发过来他才会记录SMAC地址

我要写的这个MAC地址一定不可能有其他的长这个样子,这种情况他是不是肯定找不到

那肯定就会泛洪

我们确实有这么一个地址

那就是全F

我们一般发48位二进制 写成12位16进制

12位16进制全F是啥意思

代表48位二进制全1 的这个地址 非常特殊

 MAC地址是有规则的 前24位代表厂商 后24位随机分配

是不是不会有哪个厂商前24位全是1 后24为业全是1

那就是说世界上不可能会有一个芯片他全是1

那我写目标MAC地址全是1 ,交换机是不是一定会帮我泛洪

广播地址:全F

广播:逼交换机泛洪

逼交换机泛洪的这个效果就叫做广播

广播域=泛洪范围

他的范围是不是跟泛洪的范围一样

广播域可以平替泛洪范围这个词

广播(被动) 不等于泛洪(主动)

动作不一样

源IP和目标IP+源MAC和目标MAC 打包好来到交换机上,交换机pc1和接口0/0/2的关系记录到MAC地址表,之后再看目标MAC地址

一看全F,再泛洪,这是时pc5和pc2都收到了

如果p5收到IP是问1.20的人MAC地址是多少,把你的MAC地址告诉我

Pc3一看我是1.30 不是找我要呢,把数据包丢弃

如果pc2收到,你请求的IP地址就是1.20,我就是1.20,你就问我要MAC地址呢

那我就应该给你回一个消息把我的MAC地址告诉你

所以pc2就会回复一个ARPresponse的应答报文,这个也是一问一答的过程

因为来时把源IP对应的MAC地址已经记下来

应答报文就不需要广播了,只需要单播,你会发现他知不知道pc1的MAC地址,已经把1.10的MAC地址记录下来了

所以他在回复的时候 源MAC地址写pc2的,目标MAC地址写pc1的,这个时候数据包来到交换机上,交换机根据记录的接口关系再转发给pc1

Pc1收到后也在他的缓存表里记录下 pc2对应的MAC地址,有了这个记录他再发

ARP工作原理,设备以广播的形式发送ARP请求报文,广播域内搭设备都可以收到这个请求报文

所有收到请求报文的设备,先将请求报文中的源IP地址和MAC地址对应关系记录在本地的ARP缓存表中,之后再看请求的目标IP地址是不是自己 ,如果不是自己则丢掉。如果是自己则回复应答报文,告知自己的MAC地址。之后在发送数据前,先通过ARP缓存表查看目标MAC地.用自己的源MAC地址,和对方的目标MAC地址执行,如果没有,则将再发送APR请求报文

ARP缓存表默认老化时间 180s

Arp -a 查看缓存信息

ARP分类:

正向arp:根据IP获取MAC地址

反向arp:根据MAC地址获取IP地址

免费arp:基于正向ARP的工作原理 只不过请求的IP地址是自己本地的IP地址

问别人要根据自己的IP地址要自己的MAC地址

1.自我介绍

2.检测地址冲突

跨范围通信

路由表

路由器转发原理: 数据来带路由器上,路由器会根据目标IP地址查看路由表,如果路由表中有记录,无条件按记录执行,如果路由表中没有记录,则将会丢弃该数据包

Display IP routing table---查看路由表

192.168.1.0/24 等价于 192.168.1.x/24      0代表的一个范围

IPv4地址  ABCDE

A,B,C----单播地址--既可以作为源IP也可以作为目标IP

D------组播地址----只能作为目标地址使用

E-------保留地址

单播---一对一

组播----一对多(同一个组播组) 

广播----一对所有(同一个广播域)

A:0xxx xxxx    ----1-126

B:10xx xxxx    ----128-191

C:110x xxxx   -----192-223

D:1110 xxxx   ----224-239

E:1111 xxxx    ----240-255

A:子网掩码:255.0.0.0

B:255.255.0.0

C:255.255.255.0

特殊IP地址

  1. 127.0.0.0 - 127.255.255.255     环回地址
  2. 255.255.255.255  ----受限广播地址  --在不确定目标IP地址是谁时想发给所有人  --只能作为目标IP使用

(受限)这样的数据包到路由器这里就终止了 ,只会在当前广播域扩散不会在其他广播域扩散

  1. 主机位全1的地址   ----192.168.1.x/24  ---192.168.1.255---直接广播地址

Pc1有一种可能是需要发给右边网段里的设备,但是不知道IP,或者或想发给右边网段内的所有主机

  1. 主机位全0的地址   ----192.168.1.x/24   ----192.168.1.0/24---网段/网络号---不能作为源IP地址使用
  2. 0.0.0.0   -----1.可以代表没有地址

                              2.可以代表任意地址(路由中使用)

     3.169.254.0.0/16 ----本地链路地址自动私有地址

这个地址里的,子IP可以相互通信,但是不能上网

假如一台电脑加入这个广播域中,开始没有地址要发广播去问服务器要,有一种可能这个广播域中并没有DHCP服务器,并没有人能给我IP地址,就像是咱们的电脑在大庭广众之下喊了半天发现没人理他,那如果没有的话,咱们就自己给自己配,就会在169.25.0.0/16这个范围内给自己选一个地址。

VLSM ---可变长子网掩码--子网划分

172.16.0.0/16-----划分为8个网段

172.16.000 0 0000 .0/16  --172.168.0.0/19-----172.16.0.1--172.16.31.254

172.16.001  0 0000.0---172.168.32.0/19   ---172.16.32.1-172.16.63.254

172.16.010  0 0000.0---172.168.64.0/19   ---172.168.64.1-172.168.95.254

172.16.011  0 0000.0---172.168.96.0/19   ---172.168.96.1-172.168.127.254

172.16.100  0 0000.0 ---172.168.128.0/19 ---172.168.128.1-172.168.159.254

172.16.101  0 0000.0 --172.168.160.0/19  ---172.168.160.1-172.168.191.254

172.16.110  0 0000.0 ---172.168.192.0/19 ---172.168.192.1-172.168.223.254

172.16.111  0 0000.0 ---172.168.224.0/19 ---172.168.224.1-172.168.255.254

CIDR  --无类域间路由---“汇总”

“取相同 去不同”----针对二进制

192.168.0.0/24---192.168.0000 0000.0000 0000

192.168.1.0/24---192.168.0000 0001.0000 0000

192.168.2.0/24---192.168.0000 0010.0000 0000

192.168.3.0/24---192.168.0000 0011.0000 0000

C类:255.255.255.0--/24

C类192.168.0.0/22---超网--比原本C类可容纳的主机数量变多

172.16.0.0/24

172.16.1.0/24

172.16.2.0/24

172.16.3.0/24

B类:255.255.0.0  

B类:172.16.0.0/22--子网汇总--比原本B类可容纳的主机数量变少

OSI/RM ----开放式系统互联参考模型

ISO---国际标准化组织

应用层----提供人机交互的接口

表示层----转化成二进制

会话层 :   建立维护网络应用和网络服务器之间的会话连接

传输层 ----实现端到端的传输--应用-应用之间的传输---端口号  

                16位二进制构成---1-65536

                1-1023为知名端口号

                HTTP-超文本传输协议-80

                FTP-文件传输协议-20/21

                DNS-域名解析协议--53

                HTTPS ----HTTP + SSL/TLS(安全传输协议)

                             数据传输过程中的一个加密更安全---443端口

                Tftp --简单文件传输协议--69

                DHCP--动态主机配置协议--67,68

                Telnet--远程控制协议--23

网络层---

数据链路层---  MAC介质访问控制,LLC逻辑链路控制

物理层

第二章

互联网

TCP/IP模型

TCP/IP协议簇(组)

把这一堆协议簇里面的协议也给他从功能上去进行一个划分,也就行成一个层次

OSI的逻辑先有了框架,先有了层次,再有了标准 、协议、

TCP/IP先有了协议组成了互联网借鉴了OSI分层的思想,再划分层次

数据在每一层的状态是不一样的

PDU--协议数据单元    例如单位,相当于给每一层设置一个单位

应用层------数据报文(报文就是应用层的一个单位)

传输层------数据段(段就是传输层的单位)

网络层------数据包

数据链路层--数据帧

物理层-------比特流

封装和解封装的概念

封装:数据加工的过程,每一层加入东西进去的这个过程就叫封装的过程

例如:一层一层去包信封的这个过程

应用层---不同的应用协议封装的内容不同

传输层---端口号(把端口号封装到原始数据当中)---这是传输层需要干的事---具体的事需要具体的人(协议)去干----协议:TCP/UDP---完成封装动作的协议

TCP/UDP就像是传输层车间的两个员工,负责将端口号封装到原始数据里,TCP、UDP两个不同的员工添加的方法就不一样

网络层----IP地址--IP协议

数据链路层----MAC地址---以太网协议(并不是说非得把MAC地址添加进去,主要是电信号和二进制的转换)

靠交换机组件的二层网络叫做以太网

MAC地址是以太网的一个产物,是被需要再靠交换机组建的网络中,以后我们不需要交换机,,靠其他的组件的网络可能就不需要MAC地址

物理层--不需要封装

解封装

数据链路层

以太网帧结构:以太网II型帧

Type:--类型---上一层所使用的协议类型

二层直接解封装收到帧后,网卡 / 交换机先读 Type,直接决定把载荷交给哪个上层协议栈处理。

FCS----帧校验序列---CRC循环冗余算法

Preamble--前导符:前导符是一个明确的 “唤醒信号”,让网卡 / 交换机知道:接下来是一个有效以太网帧,准备接收

 运输层

TCP和UDP

1.TCP协议是面向链接的协议,UDP协议是无连接的协议;

2.TCP协议的传输是可靠的,UDP协议的传输是“尽力而为”不可靠的;

3.TCP协议可以实现流量控制,UDP不行;

4.TCP协议可以实现分段,UDP不行;

5.TCP协议速度较慢,占用资源较大,UDP协议速度较快,占用资源小。

两种协议的工作场景:TCP更适合工作可靠性较高,但是对效率要求较低的场景

                                     UDP更适合可靠性要求较低,但对效率要求较高的场景

什么是面向链接?

连接的目的就是保证对方能收到信息,属于在发送信息之前的一次喊话

所谓面向链接,就是在数据传输前,先使用预定的协议建立链接

URG紧急标记位:当置为1时,开启紧急标记为,同时印发紧急指针

ACK确认标记位:回复时 置为1,与确认序号一起用

RST标记位:RST=1,强制断开会话

PSH标记位:置为1 表示分段不会在缓存区再等待了,会直接推送给进程

SYN请求标记位:请求标记位,建立链接时喊话的过程,SYN=1,表示我要建立连接(喊话)

FIN标记位:结束标记位,FIN=1 表示我现在要跟你断开连接了

TCP的三次握手

三次是因为B在确认的时候把请求也发了

TCP的四次挥手

TCP保证可靠性的机制:确认。重传。排序。流控

流控机制:(滑动窗口)

 网络层

IP协议的头部

TTL--生存时间---数据包每经过路由器的一次转发,如果一个数据包中的TTL值减到0,则将不在转发这个数据包,将该数据包丢弃

8位协议---上层所使用的协议。TCP-6,UDP-17协议号

分片:传输层叫分段,网络层叫分片

为什么传输层已经分段了,为什么到网络层还要分片?

因为传输层TCP可以分段,UDP不行,所以这个数据包如果是UDP封装的,并且特别大的话到网络层就应该分片。                                                                                                                                                                                                                                                                         

MTU---最大传输单元---数据链路层数据帧能携带的最大数据量,默认1500

MSS--最大段长度---1460字节---这个参数需要协商,如果双方不同则按小的执行

带内管理--telnet

                SSH

                web

                SNMP

带外管理---console线

                 MiniUSB

telnet----远程登录协议

C/S架构的协议----client--server

telnet条件

1.登录设备--我的电脑(telnet客户端)和被登录设备(telnet服务器)之间网络联通;

2.被登录设备需要开启telnet服务

第一步

<r1>system-view 
Enter system view, return user view with Ctrl+Z.
[r1]aaa
aaa ----所有名用户管理和存储用户名和密码的地方

第二步:创建用户名和密码

[r1-aaa]local-user test123 privilege level 15 password cipher 123456

15-----给客户端的权限等级

第三步:告诉这个用户可以拥有那个权利

[r1-aaa]local-user test123 service-type telnet

第四步:给登陆者提供一个视图

[r1]user-interface vty 0 4---开启虚拟端口
[r1-ui-vty0-4]

vty----虚拟接口

0-4-----0-4,同时开启5个虚拟端口给用户使用,同一时间可以允许5个用户登录

第五步:登录到之后需要的认证

[r1-ui-vty0-4]authentication-mode aaa-----认证模式

应用层:剩下的就是应用数据,直接交给应用程序

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐