计算机网络笔记

1、说一说osi七层模型

从上到下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

应用层 (Application):
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
 
表示层(Presentation Layer):
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、DECOIC、加密格式等
协议有:HTTP、FTP、Telnet
 
会话层(Session Layer):
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
协议有:RTCP、SMPP、SCP、SSH、ZIP、SDP
 
传输层 (Transport):
定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP、UDP,数据包一旦离开网卡即进入网络传输层
 
网络层 (Network):
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
 
数据链路层 (Link):
建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正
协议有:PPP、L2TP、ISDN、STP
 
物理层(Physical Layer):是计算机网络OSI模型中最低的一层
物理层规定:为传输数据所需要的物理链路创建、维持、拆除
而提供具有机械的,电子的,功能的和规范的特性
简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层
物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础
物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境
如果您想要用尽量少的词来记住这个第一层,那就是“信号和介质”

2、http和https的区别

1、HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
2、使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。
3、HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
4、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
5、HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
http原理
1、登陆所有从库查看post信息,使用POST最大的做为新的主库,然后将从为提升为新的主库,登陆从库(新的主库)执行stop slave,
2、修改my.cnf配置文件,开启log-bin并重新启动数据库服务,登陆数据库执行restet master ,show master status\G;查看主库信息,最后创建授权同步用户与权限和网站使用数据库的用户与权限,同步所有机器的/etc/hosts文件(这时就体现了之前全网用域名则不是用IP的作用了,不然还得修改网站程序切换到新主库服务器IP上,否则无法连接到数据库
3、登陆其它从库,执行change master操作,查看同步状态。

3、tcp协议和udp协议

tcp:传输控制协议   udp:用户数据报协议
TCP  VS   UDP
tcp:面向连接的 可靠的                 基于字节流的   
udp:无连接的   不可靠(尽最大努力交付) 面向报文      qq视频、dns域名解析
tcp有三次握手和四次挥手,udp没有,udp速度快

tcp可靠性怎么保证?  
  博客: https://blog.csdn.net/u014401141/article/details/122961741
  校验和、确认应答与序列号、超时重传、连接管理(三次握手、四次挥手)、流量控制、拥塞控制

UDP速度快但不能保证不丢失,一般用于qq视频、dns域名解析

4、三次握手与四次挥手

三次握手

三次握手:三次握手是tcp建立连接的过程
刚开始的时候,客户端是处于一个closed的状态,服务器端由closed的状态被动的变为listen状态。
第一次握手:客户端打开端口,客户端给服务器端发送一个SYN标志位为1,此时,客户端处于SYN_SENT状态。
第二次握手:服务器端收到客户端的SYN包,会给客户端发送一个SYN标志位为1,ACK标志位为1的确认包。此时,服务端处于SYN_RCVD状态。
第三次握手:客户端收到服务端的确认包之后,会发送一个ACK标志位为1的确认包。此时,客户端处于established状态,服务端收到ACK包之后,也处于established状态
自此,双方就都建立了连接,可以传送数据了。

问题

为什么是三次握手?
三次握手才能确认双方都有收发(消息)的能力

超时会重新发几次包? 默认5次
超时重传计时器 保证数据发送过去了

四次挥手

四次挥手
四次挥手是断开连接的过程
在断开连接之前: 客户端和服务器都处于 ESTABLISHED 状态,双方都可以主动断开连接,以客户端主动断开连接为优。
第一次挥手:客户端打算断开连接,向服务器发送一个FIN标志位为1的包,之后客户端进入 FIN_WAIT_1 状态。
第二次挥手: 服务器收到FIN标志位为1包后,就向客户端发送ACK标志位为1的包,接着服务器进入 CLOSE_WAIT状态。客户端收到来自服务器的ACK包后,进入 FIN_WAIT_2 状态。
第三次挥手: 服务器也打算断开连接,向客户端发送FIN标志位为1,ACK标志位为1的包,之后服务器进入LAST_ACK 状态,等待客户端的确认。
第四次挥手: 客户端收到来自服务器的包之后,会向服务器发送一个ACK标志位为1的包,之后客户端进入 TIME_WAIT 状态,服务器收到客户端的包后,服务器就进入CLOSED 状态,至此,服务器的连接已经完成关闭。
客户端处于 TIME_WAIT 状态时,此时的 TCP 还未释放掉,需要等待 2MSL 后,客户端才进入 CLOSED 状态。

问题

为什么要等待2MSL?

5、访问网址发生了什么

在浏览器中输入www.baidu.com后底层会发什么事情
1、 浏览器分析超链接中的URL
2、 浏览器向DNS请求解析 www.baidu.com
3、 DNS将解析出来的IP地址返回到浏览器
4、 浏览器与服务器建立TCP连接  三次握手
5、 浏览器请求html页面文档
6、 服务器给出响应,将文档index.html发送给浏览器
7、 浏览器显示index.html中的内容
8、 释放TCP连接  四次挥手

6、如果访问不了百度是什么原因

如果访问不了www.baidu.com,可能是什么原因?
1、物理层面  网线,路由器(光猫)是不是使用正常(ping 网关)
2、如果能ping通网关,但是还是访问不了
    中间运营商问题(这是什么?)
    DNS本地域名服务器的问题
    百度服务本身的问题

7、开机自检的流程

开机自检的流程
1.power on开机
2.POST开机自检,如果有问题会发出蜂鸣声,没有问题就加载bios程序
3.bios是基本输入输出系统,通过BIOS加载boot
4.boot启动顺序检查,启动第一启动顺序
我们的电脑在没有连接外驱设备的情况下,一般是选择硬盘作为第一启动顺序
5.然后找到硬盘的第一个扇区,读取MBR主引导记录,MBR中有一个grub2引导程序,是用来启动Linux系统的
6.加载/boot里文件系统里的驱动
7.运行/boot里的内核文件vmlinuz、initramfs
8.启动systemd进程
9.启动对应的运行级别的里的服务,我们一般是启动multi-user多用户模式
10.启动相应运行级别的的服务,比如/etc/rc.local以及/etc/fstab文件
11.然后进入login登录,用户输入用户名和密码以后,Linux系统会自动进入/etc/passwd文件和/etc/shadow文件里验证用户名和密码是否正确
12.验证成功之后,运行用户家目录下的初始化文件, ~/.bash_profile、~/.bashrc  局部配置
/etc/profile和 /etc/bashrc  全局配置

8、https的四次握手

https的四次握手
1、首先,客户端向服务端发送请求报文,请求与服务端建立连接。
2、服务端生成一对公私钥,然后将自己的公钥发送给CA机构,CA机构也有一对公私钥,然后CA机构使用自己的私钥将服务端发送过来的公钥进行加密,产生一个CA数字证书。)

3、服务端响应客户端的请求,将CA机构生成的数字证书发送给客户端。
4、客户端将服务端发送过来的数字证书进行解析,验证这个数字证书是否合法,如果不合法,会发送一个警告。如果合法,取出服务端生成的公钥。
5、客户端取出公钥并生成一个随机码key(其实就是对称加密中的密钥)

6、客户端将加密后的随机码key发送给服务端,作为接下来的对称加密的密钥
7、服务端接收到随机码key后,使用自己的私钥对它进行解密,然后获得到随机码key。

8、服务端使用随机码key对传输的数据进行加密,在传输加密后的内容给客户端
9、客户端使用自己生成的随机码key解密服务端发送过来的数据,之后,客户端和服务端通过对称加密传输数据,随机码Key作为传输的密钥。

9、路由器与交换机的工作原理

路由器工作在网络层,作用:实现跨网段通信,不同的网络之间通信
路由器工作原理:根据路由表做转发,默认情况下路由器在转发数据的时候,不修改ip包里的源ip和目的ip,
但是会修改帧里的源mac和目的mac,路由表里有目标网段就转发,没有就丢弃数据
流程:把IP包解开,查目的IP到哪里去,查路由表,路由表里有目标网段(如果有就转发,没有就丢弃)

交换机工作在数据链路层,作用:组建局域网,就是将电脑通过网络连接起来
交换机的工作原理:先学习后转发
学习源mac地址写到mac地址表里
转发,根据目的mac转发
如果目的mac地址在交换机的mac地址表里没有,交换机会复制帧给交换机的每个接口都转发一份,来的那个接口不发

10、电脑中病毒怎么办?

  1、查看进程,是否有可疑进程:消耗比较高的cpu、内存、磁盘io、网络带宽等、进程的名字
  2、查看端口,是否有可疑的端口被打开--》查找那个进程并杀死(知道他们的关系,先杀master)
  3、计划任务:检查系统里的计划任务,用户自定义,操作系统里的每小时、每天等自动执行的计划任务
  4、开机启动流程:开机自启/bash
  还要防备木马是否留后门,比如新建用户,登录Linux系统
  5、其他的漏洞
  6、重新安装系统

具体操作:
top 命令找到cpu使用率最高的进程
一般病毒文件命名都比较乱,可以用ps aux找到病毒文件位置
rm -f 命令删除病毒文件

删掉病毒文件又新建了怎么办?
使用iftop,ps,netstat,chattr,lsof,pstree这些工具顺藤摸瓜
如mysql中,如果kill掉mysql进程,mysql_safe又会再启动一个,所以直接kill mysql_safe进程

11、常见状态码

状态码分类
1xx 提示信息
2xx 服务器成功处理了客户端的请求
3xx 客户端请求的资源发生了变动,需要客户端用新的URL 重新发送请求获取资源,也就是重定向
4xx 客户端发送的报文有误,服务器无法处理,也就是错误码的含义
5xx 客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码

一些常见的状态码
200 OK 表示访问成功

301 Moved Permanently 表示永久重定向,说明请求的资源已经不存在了,需改用新的URL 再次访问
302 Found 表示临时重定向,说明请求的资源还在,但暂时需要用另一个URL 来访问
304 not modified 表示资源未修改

401 Unauthorized 表示认证失败
403 Forbidden 表示访问被拒绝
404 Not Found 表示资源不存在或未找到
405 Method Not Allowed 表示请求方法不被允许
499 Client has closed connection 表示客户端已经关闭了连接

500 Internal Server Error 表示服务器内部错误
502 Bad Gateway 表示网关故障
503 Service Temporarily Unavailable 表示服务临时不可用
504 Gateway Time-out 表示响应超时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值