计算机网络总结

计算机网络课程学习都过去快一年了,总结一下有什么问题需要注意的:

1,HTTP和HTTPS的区别:
HTTP运行在TCP之上,明文传输,客户端与服务器都无法验证对方身份,
HTTPS是加上SSL的HTTP,运行在SSL上,SSL运行在TCP之上,是添加了加密和认证机制的HTTP。
HTTP与HTTPS使用的端口不同:使用的连接方式不同,用的端口也不一样,HTTP用的端口是80,HTTPS 用的是443,SSL端口是443.
HTTPS由于加减密处理会消耗更多的cpu和内存资源。
HTTPS 通信需要证书,证书需要向认证机构购买
HTTPS 是一种共享密钥加密和公开密钥加密混合加密。

2,对称密钥和对称密钥:
对称密钥:加密解密使用同一个密钥的方式,问题:密钥如何发送安全?
非 对此密钥:分公钥和私钥,公钥给对方加密发送,私钥用来自己解开加密,他的缺点是“慢”
所以一般采用两种方式结合:对称密钥用非对称加密方式发送出去。

3,tcp三次握手 和四次分手
(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。

(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。

(3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。

四次分手:
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。

(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。

4,为什么tcp链接需要三次握手:
防止已失效的链接请求报文突然又传送的服务端。
客户端发出请求链接报文未丢失,而是在某个网络节点长时间滞留了,以至于在链接释放以后某个时间 才到达服务端。服务端以为这是一个新的链接请求,于是向客户端发送确认数据包,这是如果采用了两次握手:即已经建链接,服务端会一直等待。如果采用三次握手就不会一直等待。

5,tcp协议如何保证传输的可靠性:
tcp是一种面向链接的,可靠的字节流服务
tcp提供以下方式保证可靠性:
数据包校验:检测数据在传输过程中的变化,如果包出错,丢弃报文不给响应,超时重发。
对失序数据包重排序:
丢弃重复数据:
应答机制:
超时重发:
流量控制:滑动窗口协议。

6,DDOS攻击
过程如下:
(1)客户端向服务器发送链接数据包
(2)服务端向客户端发送确认数据包
(3)客户端不服务端发送数据没服务端一直等待

预防方法:
(1)限制同时打开SYN半链接数目
(2)缩短SYN半链接的TimeOut时间
(3)关闭不必要的服务

7,tcp和udp的区别*:
都是传输层协议:
(1)tcp面向链接,udp面向无连接
(2)tcp可靠的传输协议,udp不可靠
(3)tcp支持点对点通信,udp支持点对点,一对多,多对一,多对多的通信模式
(4)tcp面向字节流,udp面向报文
(5)tcp有雍塞控制,udp没有
(6)tcp首部开销(20字节) udp(8字节)

8,从输入网址到获得页面的过程:
(1)浏览器查询DNS,获取域名对应的ip地址,查询先后是:自身DNS–》操作系统DNS 读取host文件向本地dns查询
(2)浏览器获得域名对应的ip地址以后,向服务器发起链接,tcp三次链接握手
(3)tcp/ip建立链接以后,浏览器向服务器发起HTTP请求
(4)服务器接受请求并处理,返回给浏览器
(5)浏览器解析渲染视图
(6)浏览器根据请求到的资源数据进行渲染,最终向用户展现一个完整的页面

9,为什么tcp是四次挥手,只要三次握手
解开链接过程是:
A–>B FIN
B–>A ACK
B–>A FIN
A–>B ACK
A给B发送FIN表示A不向B发送数据,但不是B不向A不发送数据,B先发送ACK 再发送FIN,A再发送ACK。
与三次链接不同的是:A发送链接请求以后,B同时发送ACK 和SYN

10,TCP拥塞控制方法
防止过多的数据注入网络,这样可以使网络中的路由器或链路不至于过载,拥塞控制是一个全局性的过程:
控制方法:
(1)慢启动
(2)拥塞避免
(3)快重传
(4)快恢复

11,GET和POST的区别
都是常用的http method
(1)get从服务器获取,post更新服务器资源
(2)get不改变服务器数据,post改变服务器资源
(3)get请求数据符在url后面,post请求数据会将数据放在HTTP请求报文的请求体中
(4)post安全性比get要高
(5)从请求大小来看,get受限于浏览器或服务器对url长度的限制,post请求没有大小限制。

对于上述问题的理解有什么问题欢迎指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值