最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
抽象语言(文字、语音、图片)------>电脑可以识别的机器语言
抽象语言------>编码
编码------>二进制数
二进制数----->电信号
计算机:处理电信号
一、OSI/RM七层参考模型
核心思想:分层
层次划分:
应用层:人机交互的接口
表示层:将编码转换为二进制,其本质是将格式进行统一
会话层:搭建一个端到端的连接
传输层:用于区分不同点的应用(端口号:0-65535)
网络层:IP地址(IP协议)--->逻辑寻址
数据链路层:MAC地址(以太网协议)--->物理寻址
物理层:物理特性(设备的端口数量大小、电气电压标准)
二、ARP协议—地址解析协议
1、正向ARP:根据已知的目标IP地址获取目标MAC地址
- ARP缓存表—>通过ARP协议获取到的信息为动态信息,180s
2、反向ARP:根据已知的目标MAC地址获取目标IP地址
3、免费ARP:1.自我介绍;2.地址的冲突检测;一般是在DHCP获取到IP地址后使用。
三、TCP/IP协议栈
TCP/IP标准模型----4层
TCP/IP对等模型----5层
跨层封装(OSPF协议)
四、DHCP服务
DHCP:动态主机配置协议--->C/S架构(客户端/服务端)
DHCP Discover报文---广播
DHCP offer报文
DHCP request报文
DHCP ack报文
应用层 | DHCP-Discover |
---|---|
传输层 | UDP;源端口:68;目的端口:67 |
网络层 | 源IP:0.0.0.0;目的IP:255.255.255.255 |
数据链路层 | 源MAC:PC的MAC;目的MAC:FFFF-FFFF-FFFF |
交换机转发原理:交换机收到电信号后,会将电信号转换为二进制,之后,截取数据帧。
1、首先查看数据帧中的源MAC地址,之后将该地址和数据进入接口的对应关系记录在本地的MAC地址表中。--->300s
2、查看数据帧中的目的MAC地址,基于本地MAC地址表进行查找,如果表中存在对应记录关系,则执行单播转发;如果表中不存在对应关系,则进行洪泛(交换机会将数据从除了进入的接口外的所有接口发送一遍)
交换机洪泛的情况:
1、收到广播帧或组播帧的情况下,会进行数据洪泛
2、收到未知单播帧
应用层 | DHCP offer(携带可用的IP地址及掩码、网关、DNS等信息) |
---|---|
传输层 | UDP;源端口:67;目的端口:68 |
网络层 | 源IP:68.85.2.1;目的IP:68.85.2.101(华为设备即将分配的IP作为目的IP地址) |
数据链路层 | 源MAC:服务器MAC;目的MAC:PC的MAC |
应用层 | DHCP request(正式请求自己想要的IP地址) |
---|---|
传输层 | UDP;源端口:68;目的端口:67 |
网络层 | 源IP:0.0.0.0;目的IP:255.255.255.255 |
数据链路层 | 源MAC:PC的MAC;目的MAC:FFFF-FFFF-FFFF |
应用层 | DHCP ack |
---|---|
传输层 | UDP;源端口:67;目的端口:68 |
网络层 | 源IP:2.1;目的IP:2.101 |
数据链路层 | 源MAC:服务器MAC;目的MAC:PC的MAC |
五、DNS服务–域名解析服务
www.baidu.com----域名
浏览器补充:
URL:http://www.baidu.com:80/news/index,html
**基于UDP/TCP 53号端口进行封装。**一般在客户端和服务端之间的查询和响应使用UDP协议;TCP协议用于主备服务器之间的数据传输。
DNS的查询过程----递归查询、迭代查询
1、递归查询
2、迭代查询
3、DNS的查询过程
4、DNS报文
应用层 | DNS请求报文 |
---|---|
传输层 | UDP;源端口:随机数;目的端口:53 |
网络层 | 源IP:PC;目的IP:本地记录的DNS服务器的IP地址 |
数据链路层 | 源MAC:PC;目的MAC:网关的MAC地址 |
5、路由器的转发原理:路由器基于数据包中的目的IP地址,查询本地路由表。若表中存在对应路由信息,则无条件转发数据;若表中不存在,则丢弃该数据包。
六、TCP—传输控制协议
是一种面向连接的可靠性传输协议。
特点:
1、TCP是一种面向连接的传输协议
2、每一条TCP连接有且只能存在两个端点,形成一种端到端的连接方式。
3、可靠、有序、无丢失和无重复。
4、TCP是提供全双工通讯的。
(1)发送缓存
- 想要发送的应用层数据
- 已经发送但未收到确认的数据
(2)接收缓存
- 按序到达但未被引用程序提取的数据
- 乱序到达的数据
5、TCP是面向字节流的。(TCP的单位是字节,发送缓存和接收缓存都是按字节进行数据传输的)
源IP、源端口、目的IP、目的端口-------->TCP会话的四元组信息。
套接字:IP:Port--->唯一用来确定通信双方的信息
TCP报文段
TCP首部:20字节(一定存在)
在传输层,TCP和UDP的校验方式相同:伪首部(在数据前面加了一个假的IP首部)校验--->校验和
TCP报文段是否携带数据:
携带数据,即数据不为空:TCP在传输数据
未携带数据,即数据为空:TCP在建立连接或释放连接。
序号:在携带数据传输,序列号增加的时候,增加的值是数据部分大小;在三次握手和四次挥手的时候,不携带数据,也会增加一个序列号,即序号+1
确认序列号 = 接收的序号字段 + 数据大小;
数据偏移:指的是数据部分的起始位置与整个报文段的起始位置的差值---->TCP首部大小;
保留字段:6bit,全部为0;
窗口:告诉对方,一次性能够接收多少报文;窗口大小:允许对方一次性发送的数据量;
紧急指针:与URG共同使用;
确认序列号表明是接收方期望收到发送方发送的下一个字节的序号;且表示之前的所有数据均已接受。—>确认机制:累积确认。
ACK确认位:当ACK=1时,确认序列号才有意义;在连接建立后,所有传输的报文段都必须将该标记位置为1。
SYN同步位:代表连接请求。
FIN终止位:表明此报文段发送方数据已发送完毕,要求释放连接。
RST复位:当TCP连接出现严重错误时,必须释放连接,然后重新建立传输连接。
URG紧急位:当URG=1时,表明此报文段中存在紧急数据,是高优先级数据,应尽快传输给应用层程序处理,不再缓存在排队;配合紧急指针使用。
PSH推送位:当PSH=1时,接收方应尽快交付数据给应用层程序,不再等待缓存填满再向上交付。
TCP的可靠性
TCP的分段是基于字节流的。
排序机制
MTU---最大传输单元(以太网-1500字节)----->包含网络层、传输层和数据层
MSS(在可选项字段填充)---最大段长度---TCP分段---->该参数是需要在TCP建立握手过程中通过前两次SYN报文段来进行协商确定。----只包含数据层;MSS=MTU-IP头部大小-TCP头部大小;在以太网中MSS最大值为1460字节。
规定:如果在本地进行了分段操作,则不需要进行分片操作。
IP头部:
DF字段:判断此时报文是否允许分片;
MF字段:判断此报文是否是最后一个报文;
确认机制和重传机制
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!