计算机网络知识点

TCP UDP

1、传输层,对网络层的报文解封装,交给上层使用,对上层的报文添加头交给下层
2、结构上,udp首部8,tcp 20-60字节
3、TCP面向连接,一对一,可靠(流量控制、拥塞控制);
UDP 无连接,多播,不可靠

Tcp为什么分包:

  1. 稳定性,数据包越长越容易出错
  2. 拆分数据包能更有效的利用网络中的并行路径
  3. 缓冲区大小有限,某个应用的数据包过大会降低其他应用数据的实时性

UDP:
不拆分数据包直接发送;
为什么不直接使用IP:UDP传输层协议承接应用层的调用,提供应用到应用的通信,通过端口号的指定来区分应用。ip协议不能区分应用。

TCP核心价值就是提供了一套封装好的解决可靠性的方案,优点是现成好用。不能足够专业自己解决可靠性问题,那么TCP是一个很好的选择。
UDP提供传输层协议的最小实现,只提供封包和校验和的功能,优点是灵活轻量速度快。

QUIC

由于 TCP 是在操作系统内核和中间件固件中实现的,因此对世界上已存在的 TCP 协议进行重大更改几乎是不可能的,因此基于UDP,谷歌提出了Quick UDP internet COnnection协议

  • QUIC 协议可以在 1 到 2 个数据包(取决于连接的服务器是新的还是已知的)内,完成连接的创建(包括 TLS)

QUIC 与现有 TCP + TLS + HTTP/2 方案相比,有以下几点主要特征:

1)利用缓存,显著减少连接建立时间;

2)改善拥塞控制,拥塞控制从内核空间到用户空间;

3)没有 head of line 阻塞的多路复用;

4)前向纠错,减少重传;

5)连接平滑迁移,网络状态的变更不会影响连接断线。

为什么3次握手

在不可靠的信道上可靠的传输消息
1、 防止过期的建立连接请求突然到达服务器,建立连接,浪费资源
2、 tcp是可靠的传输,对消息编号,3次握手能够同步双方发送的序号

四次挥手中的time_wait等待2MSL

max segment life
2个报文最大生存时间

原因1、实现TCP全双工连接的可靠终止,如果收到收到第三次挥手的FIN立刻关闭连接,发送ACK, 这个ACK有可能丢失,那么被动关闭方会再次发送FIN,而此时主动关闭方已经close,被动关闭方就会报错。
2、允许老的重复分节在网络中消失 :2MSL期间不允许以相同的端口建立新的连接,因此第三第四次挥手的信号不会对后面的新TCP连接产生干扰

Close_wait
被动关闭的一方在发送完ACK后,进入closewait,然后把没有发完的消息发完,再发送FIN 并close连接

HTTP 和HTTPS

http:明文传输-窃听;数据完整性-篡改丢失 ; 身份未校验-冒充
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

在这里插入图片描述
最耗时的环节就是 秘钥交换环节

http2:

二进制传输,多路复用、 (http1.x)头部压缩、服务器推送
二进制:指消息被格式化为带有id的帧,给每个帧分配一个流,指具有特殊的编码格式。而http1头部是ASCii编码,http2头部和数据分别对应头部帧和数据帧。帧头24bit表示长度,一帧最长16MB。

HTTP/1.x 协议以换行符作为纯文本的分隔符,而 HTTP/2 将所有传输的信息分割为更小的消息和帧,并采用二进制格式对它们编码。
这样一来,客户端和服务器为了相互理解,都必须使用新的二进制编码机制:HTTP/1.x 客户端无法理解只支持 HTTP/2 的服务器,反之亦然。 不过不要紧,现有的应用不必担心这些变化,因为客户端和服务器会替我们完成必要的分帧工作。

http2 分帧加标识实现TCP连接多路复用,帧中的数据采用二进制编码,减少消息体积
虽然http1的纯文本在链路层也会变成二进制传送,但是这个二进制和二进制编码不同,二进制编码服务器和客户端都采用同种编码解码方式。而http1比如以换行符作为纯文本的分隔符,效率就比较低。

拥塞控制

慢开始:拥塞超时后或者最开始只发送1个报文段 而后逐渐加倍
拥塞避免:达到threshold的时候停止加倍,发送的报文数每次只加1

快重传:连续3个ack,说明其后某个报文段丢失,直接重传那个报文
快恢复:快重传后直接进入拥塞避免,从当时的一半cwnd开始逐渐加一

可靠传输

RTO超时重传,发送的报文在RTO内没有返回则重传

应用层

ftp

既要处理数据又要处理控制,容易出错
FTP 控制连接 21端口,传输控制信息,用户标示,口令,put,get等命令
数据连接为20端口(当数据连接为主动连接),主动连接时客户端发送port到服务端

dhcp

提供即插即用的联网方式,自动配置ip,子网掩码,网关等信息
1 使用广播以UDP发送discover报文给同一个子网的主机 68-67
2 DHCP服务器收到discover报文后,回复offer报文
3 客户端选择需要的offer报文,然后发送Request报文给DHCP服务器
4 服务器ACK

arp

在这里插入图片描述

dns解析过程

  1. 浏览器检查缓存
  2. 若1未命中则检查本地host文件,操作系统级别的解析域名
  3. 请求LDNS,本地DNS服务器,离主机不会太远,缓存有大多数域名的解析结果
  4. 请求根域名服务器,根域名返回顶级域名的ip,然后主机再请求顶级域名,获取权限服务器的ip,再查询权限域名服务器,权限域名服务器返回要查询的主机的ip地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值