计算机网络与系统

计算机网络

OSI 七层模型:物链网,传话表应

​ 物理层:节点之间的传输介质

​ 数据链路层:管理相邻节点的数据通信

​ 网络层:路由和寻址

​ 传输层:两台主机进程之间的通讯传输

​ 会话层:管理应用程序之间的会话

​ 表示层:数据处理

​ 应用层:用户服务

TCP/IP 四层模型

​ 网络接口层:两个相邻节点间的链路上传送帧

​ 网络层:路由分组交换网上的不同主机提供通信服务

​ 传输层:数据传输服务

​ 传输控制协议TCP:提供面向连接的,可靠的数据传输服务。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景

​ 用户数据协议UDP:提供无连接的,不保证数据传输的可靠性。UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认。比如: QQ 语音、 QQ 视频 、直播等等

​ 应用层:两台主机进程之间的通讯服务

网络分层的理由

​ 各层之间相互独立

​ 提高了整体灵活性

​ 大问题化小

HTTP 协议与HTTPS协议

HTTP 协议:超文本传输协议。无状态协议。应用层协议。默认端口为 80

HTTPS协议:加强安全版本。额外使用 SSL/TLS 协议用作加密和安全认证。默认端口号是 443.

SSL/TLS协议:
对消息的加密使用的是对称加密。对称加密的密钥用服务器方的证书进行了非对称加密。

HTTP和HTTP 1.0

连接方式 : HTTP 1.0 为短连接,HTTP 1.1 支持长连接。
​状态响应码 : HTTP/1.1中新加入了大量的状态码,光是错误响应状态码就新增了24种。
比如说,100 (Continue) ——在请求大资源前的预热请求,206 (Partial Content)——范围请求的标识码,409 (Conflict)——请求与当前资源的规定冲突,410 (Gone)——资源已被永久转移,而且没有任何已知的转发地址。
​缓存处理 : 在 HTTP1.0 中主要使用 header 里的 If-Modified-Since,Expires 来做为缓存判断的标准,HTTP1.1 则引入了更多的缓存控制策略例如 Entity tag,If-Unmodified-Since, If-Match, If-None-Match 等更多可供选择的缓存头来控制缓存策略。
​带宽优化及网络连接的使用 :HTTP1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1 则在请求头引入了range 头域,它允许只请求资源的某个部分,即返回码是 206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。
​Host头处理 : HTTP/1.1在请求头中加入了Host字段

邮箱协议

SMTP:简单邮件传输(发送)协议

POP3/IMAP:邮件接收的协议

FTP:文件传输协议

TCP 三次握手

目的是建立可靠的通信信道
客户端–发送带有 SYN 标志的数据包–一次握手–服务端
服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端
客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端

TCP四次挥手

客户端-发送一个 FIN,用来关闭客户端到服务器的数据传送
服务器-收到这个 FIN,它发回一 个 ACK,确认序号为收到的序号加 1 。
服务器-关闭与客户端的连接,发送一个 FIN 给客户端
客户端-发回 ACK 报文确认,并将确认序号设置为收到序号加 1

TCP 协议如何保证可靠传输

应用数据被分割成 TCP 认为最适合发送的数据块。
TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层
TCP 将保持它首部和数据的检验和。
TCP 的接收端会丢弃重复的数据
TCP 连接的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接纳的数据。
当网络拥塞时,减少数据的发送
ARQ 协议每发完一个分组就停止发送,等待对方确认
超时重传
ARQ 协议:使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输
停止等待 ARQ 协议:每发完一个分组就停止发送,等待对方确认,如果过了一段时间(超时时间后),还是没有收到 ACK 确认,说明没有发送成功,需要重新发送,直到收到确认后再发下一个分组。
续 ARQ 协议:发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。

网络请求过程

在浏览器中输入 url 地址 ->> 显示主页的过程:DNS 解析->TCP 连接->发送 HTTP 请求->服务器处理请求并返回 HTTP 报文->浏览器解析渲染页面->连接结束

Cookie和Session

Cookie 一般用来保存用户信息
Cookie 数据保存在客户端(浏览器端),
Session 数据保存在服务器端。
Session 的主要作用就是通过服务端记录用户的状态

操作系统

是管理计算机硬件与软件资源的程序,屏蔽了硬件层的复杂性
进程在系统上的运行分为两个级别:
用户态: 用户态运行的进程可以直接读取用户程序的数据。
系统态:系统态运行的进程或程序几乎可以访问计算机的任何资源

进程间的通信方式

管道/匿名管道:具有亲缘关系的父子进程间或者兄弟进程之间的通信
有名管道:实现本机任意两个进程通信
信号:通知接收进程某个事件已经发生
消息队列
信号量:一个计数器,用于多进程对共享数据的访问
共享内存:多个进程可以访问同一块内存空间
套接字:主要用于在客户端和服务器之间通过网络进行通信

进程的调度算法

先到先服务(FCFS)调度算法
短作业优先(SJF)的调度算法
时间片轮转调度算法
多级反馈队列调度算法
优先级调度

内存管理机制

主要负责内存的分配与回收。主要分为连续分配管理方式和非连续分配管理方式
块式管理:将内存分为几个固定大小的块,每个块中只包含一个进程。如果程序运行需要内存的话,操作系统就分配给它一块
页式管理:把主存分为大小相等且固定的一页一页的形式
段式管理:段式管理把主存分为一段段的,段是有实际意义的,每个段定义了一组逻辑信息

页面置换算法

地址映射过程中,若在页面中发现所要访问的页面不在内存中,则发生缺页中断 。当发生缺页中断时,如果当前内存中并没有空闲的页面,操作系统就必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。
OPT 页面置换算法(最佳页面置换算法)
FIFO(First In First Out) 页面置换算法(先进先出页面置换算法)
LRU (Least Recently Used)页面置换算法(最近最久未使用页面置换算法)
LFU (Least Frequently Used)页面置换算法(最少使用页面置换算法)

内核

是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理CPU属于硬件, 主要包括两个部分:控制器+运算器

linux

inode :记录文件的属性信息,可以使用 stat 命令查看 inode 信息
block :实际文件的内容,如果一个文件大于一个块时候,那么将占用多个 block,但是一个块只能存放一个文件。

常见目录

/bin: 存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里
/sbin: 存放二进制可执行文件,只有 root 才能访问。
/lib : 存放着和系统运行相关的库文件
/etc: 存放系统管理和配置文件
/dev: 用于存放设备文件;
/proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息
/mnt: 系统管理员安装临时文件系统的安装点
/boot: 存放用于系统引导时使用的各种文件
/tmp: 用于存放各种临时文件
/var: 用于存放运行时需要改变数据的文件
/home: 存放所有用户文件的根目录,是用户主目录的基点
/root: 超级用户(系统管理员)的主目录
/usr : 存放系统应用程序
/opt: 额外安装的可选应用程序包所放置的位置

Linux 基本命令

目录切换命令
cd usr: 切换到该目录下 usr 目录
cd …(或cd…/): 切换到上一层目录
cd /: 切换到系统根目录
cd ~: 切换到用户主目录

目录的操作命令(增删改查)
mkdir 目录名称: 增加目录。
ls/ll:查看目录信息。
mv 目录名称 新目录名称:修改目录的名称
mv 目录名称 目录的新位置: 移动目录的位置—剪切
cp -r 目录名称 目录拷贝的目标位置: 拷贝目录(改)
rm [-rf] 目录 : 删除目录(删)

文件的操作命令(增删改查)
touch 文件名称: 文件的创建(增)
cat/more/less/tail 文件名称 :文件的查看(查) 。命令 tail -f 文件 可以对某个文件进行动态监控
vim 文件: 修改文件的内容(改)
rm -rf 文件: 删除文件(删)

打包并压缩文件
tar -zcvf 打包压缩后的文件名 要打包压缩的文件
z:调用 gzip 压缩命令进行压缩 c:打包文件 v:显示运行过程f:指定文件名
解压压缩包
tar [-xvf] 压缩文件

权限:
r:代表权限是可读,r 也可以用数字 4 表示
​w:代表权限是可写,w 也可以用数字 2 表示
x:代表权限是可执行,x 也可以用数字 1 表示

用户
在 linux 中的每个用户必须属于一个组,不能独立于组外
所有者(u) :一般为文件的创建者。
文件所在组(g) :当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
其它组(o) :除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

​用户命令
groupadd 选项 用户组 :增加一个新的用户组
groupdel 用户组:要删除一个已有的用户组
groupmod 选项 用户组 : 修改用户组的属性

权限命令
修改文件/目录的权限的命令:chmod
ls -l : 查看某个目录下的文件或目录的权限

其他常用命令
pwd: 显示当前所在位置
sudo + 其他命令:以系统管理者的身份执行指令
grep 要搜索的字符串 要搜索的文件 --color: 搜索命令,–color 代表高亮显示
ps -ef/ps -aux: 这两个命令都是查看当前系统正在运行进
kill -9 进程的pid: 杀死进程(-9 表示强制终止。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值