计算机网络
2021-08-28 16:03:42 0 举报
AI智能生成
计算机网络知识总结
作者其他创作
大纲/内容
链路层
点对点通信
物理链路、逻辑链路
链路打开的过程、咨询配置LCP、网络层NCP配置
广播信道
封装成帧
在两端加装头部,尾部进行检验
差错检验
首部检验和进行检查,由错误就丢弃
透明传输
进行透明转换,在中间进行转义首尾
MAC以太网帧硬件地址
源mac地址目的mac地址,报文头部长8字节
mac地址出厂就有的
数据部分最大传输单元MTU1500
超时重传数据过长不好
适配器、网桥、交换机
网络适配器网卡
网桥进行转发和过滤
交换机进行,多通道工作,有许多网桥对进行连接同时工作
Ip网络层
虚拟互联网概念
IP层向上透明,不负责差错检验,只尽最大努力交付的,无连接的
ICMP网际控制协议,有控制报文,提交差错报告的过程
ARP地址解析,RARP逆向地址解析
中间设备集合
物理层-转发器
链路层-网桥交换机
IP层-路由器
运输层应用层-网关
IP地址和物理地址ARP
主机号和网络号的分配,后面主机号2的指数幂-2
I级8/24(0)
II级16/16(10)
III级24/8(110)
ARP地址解析
在局域网上进行问询,不用管ip
有的话就应答,MAC传输过程中变,IP地址不变
进行缓存,超过20分钟清楚缓存
MAC转换到传出去的路由就行
IP报文
ipv4/ipv6,首部长度,数据长度
ipv4
32位的可以用四个点分十进制,每个8位
ipv6
128位,头部不一样有伪首部,然后是数据部分,不进行检验了
十六进制来表示,中间有0压缩
由于MTU可能分片,分片标志,片位移
跳数检验和,首部检验和
目的地址
源地址
IP分级和子网掩码CIRD直接进行分码
在二级子网的划分中演变成三级的划分有三级子网
使用子网掩码与有多少个11111,与目的网络进行按位与,获得网络号
不进行三级或者两级的划分,只进行前面多少位的按位与就可以
路由选择协议,选择的过程
路由表中的信息,目的地址,下一跳的地址,子网掩码
在子网中如果有多个子网掩码的过程需要用最长前缀匹配
主机中也有路由表,有路由表没有转发给默认路由
默认路由中求得网络号,然后转发给下一个的地址,没有就上网找
路由器选择的内部算法和外部算法
内部算法
短距离优先
距离算法,计算跳数
外部算法
运输层
运输层的逻辑通信
只有ip层是真的传输,运输层是一个逻辑通信
socket套接字和端口
计算机进程通信,应用进程的通信和运输的实体交互是由端口实现的
由源端口到目的端口的
UDP
无连接的,尽最大努力交付的,不可靠的通信
支持一对一,一对多的,面向报文的头部开销小
UDP报文8字节头部
源端口,目的端口直接上报文最后加首部检验和
TCP
有连接的,面向字节流的,可靠的通信,有流量,拥塞
TCP报文40字节头部
源端口目的端口
序列号
确认号
选项加接收发送窗口
可靠传输的实现
停止等待
没有收到报文进行等待,超时重传
连续的ARQ
连续进行确认的,对按序到达的最后一个进行确认
Tcp特殊的
滑动窗口
分别为接收缓冲区和发送缓冲区
发送缓冲区分为已经发出的未确认的,未发送的
接收缓冲区分为,已经接收未进行处理的,和未按序收到的
收到确认之后,发送的窗口不断向前滑动
接收处理之后也不断向前进行滑动
流量控制
不断进行向前滑动
在接收方会回复窗口大小
发送需要小于接收方窗口的大小(最后小于拥塞窗口)
拥塞控制
慢开始
一个确认发送窗口增加一个大小
拥塞避免
一次回复多个确认,一次回复增加一个发送窗口
快重传
在未收到确认是立刻重传
快恢复
不恢复到开始,恢复到阈值的一半
主动控制
主动进行丢弃的队列管理
连接管理
建立连接
三次握手
客户端向syn=1
服务器是syn=1ack=1回复
客户端回ack=1
为什么要三次握手:防止超时的syn连接到来占用客户端资源
关闭连接
四次挥手
客户端fin=1
服务器ack=1收到
服务器不发了ack=1fin=1
客户端ack=1收到
为什么要time-wait 防止没有收到最后一个ack服务器超时重传
状态机
三次握手
客户端
close-sendsyn
sendsyn-esh
服务器
close-recesyn
recsyn-esh
四次挥手
客户端
FIN WAIT_I-FIN WAIT_II
FIN WAIT_II-TIMEWAIT
TIMERwait大约两分钟,两个小时关闭连接10次10s
服务器
CLOSE-WAIT - LASK ACK
LASK ACK - CLOSE
表示,会话层
SPDY会话层
多路复用
压缩头部
赋予请求优先级
SSL表示层
加密原理
对称加密
一对公钥,使用对称的公钥加密解密
非对称加密
非对称密钥,公钥向外公布,私钥自己留着
证书的定义,数字签名
服务器给第三方的应用软件,使用第三方的私钥进行加密
用户使用浏览器,在内置的里面有第三方的公钥,可以解密来查看数字签名的完整性,并且获得完整的服务器公钥
普通散列md5
base64加密算法
最终的传输流程
应用层
DNS
域名解析协议
三级:二级:顶级域名
本地解析,代理或者浏览器有直接返回
迭代或者递归
本地-根-顶级-权限
HTTP
HTTP1.0
自带是无连接的,无状态的,是短链接每次发送需要TCP
HTTP1.1
自动支持长连接只用连一次TCP
后面可以keepalive改
非流水线
一次请求一次响应
流水线
多次请求多次响应
HTTP2.0
SPDY
报文
请求报文
请求头
方法
get
获取
post
想知道一些信息上传不再url中
head
只返回头部
delete
删除所选内容
trace
经过代理跟踪
optain
查看选项
connect
选择支持的SSL连接
URL
URL
协议:域名:端口号:路径
URI
多种协议下都可以
版本
请求首部
Accept
text,html
Authorization
信息
Host
hostname
IF-Match
满足条件发请求
proxy-Authorzaiton
代理的信息
通用首部(下同)
Connection
keep-alive
Cache-contorl
no-cache
no-control
via
TRACE
连接经过的所有路径
请求主体
具体内容
回复报文
响应头
1XX
正在处理
2XX
200
OK
204
不还有内容centent
206
Centent-Range只有部分内容
3XX
301
永久性重定向
302
临时请重定向
303
使用一个另一个URL访问
304
使用缓存
4XX
400
命令本身有错误
401
需要用户身份认证
403
禁止访问务无权限
404
文件内容未找到
5XX
500
应用层的编程出现问题
502
可能是php编程错误
503
服务器正忙请稍后再试
响应的首部
Accpect-range
接收的范围
location
资源重定向
server
apache/nginx
retry-after
503回复
通用首部
响应的主体
具体内容
HTTPS
SSL+HTTP
注入了安全嵌套字层SSL
附加了连接SSL的流程
客户端第一次TCP握手
服务器第一次接收
客户端第一次接收
服务器进行回复
第三次SSL连接发起基于可以连接的密码数
服务器从中选择加密算法
客户端收到选择算法
服务器进行回复消息
客户端收到数字证书
内部包含公钥和第三方电子签名
客户端根据内置浏览器解析服务器公钥
客户端选择通信秘密数服务器公钥加密
服务器私钥解密
沟通完成
服务器发送确认
HTTPS请求
收到HTTPS请求
收到响应
回复响应
TCP断开连接
收到FIN
收到回复
ack回复
收到最后发送
ack fin结束
last ack经过time wait结束
其他概念
计算机通信是进程与进程之间的通信
C/S模主机客户端,P2P模式双工通信
系统调用socket网络编程
TCP
客户端
socket
bind
connect
write
read
close
服务器
socket
bind
listen
accept
read
write
close
UDP
服务器没有listen和accept
0 条评论
下一页