让前端飞轮子工厂我爱编程

这是你知道的网络吗?

2018-08-19  本文已影响5人  在北方玩弹子球

前言

无论是 C/S 开发还是 B/S 开发,无论是前端开发还是后台开发,网络总是无法避免的,数据如何传输,如何保证正确性和可靠性,如何提高传输效率,如何解决会话管理问题,如何在网络拥堵环境下采取措施。这些都是需要了解的。

今天总结下与网络相关的知识,不是那么详细,但是包含了我认为重要的所有点。如果想深入了解的可以参考《图解HTTP[上野 宣]》、《图解TCP/IP(第5版)[竹下隆史]》以及计算机网络相关教材。

概要

网络知识我做了 8 个方面的总结,包括DNS协议,HTTP协议,HTTPS协议,TCP协议,IP协议,TCP/IP,Web攻击,其他协议。以下对这些内容做一些简单的总结。

网络知识大纲

细节

1. DNS 协议

作用:提供域名到IP地址之间的解析服务。或逆向从IP地址反查域名的服务

2. HTTP协议

2.1 特点

2.2 HTTP 报文

2.3 HTTP状态码

2.4 HTTP1.1 和HTTP1.0的区别

2.5 Cookie与Session的区别

2.6 电脑访问网页的过程

  1. DNS把域名解析成对应的IP
  2. 发送一次请求,服务器返回一个永久重定向响应,这样浏览器就知道要访问的正确网址
  3. 发送请求html的请求,这个连接过程基于TCP/IP三次握手四次挥手的,建立连接
  4. 服务器返回一个html响应
  5. 浏览器根据渲染引擎解析返回的html响应,呈现内容
  6. 继续发送内嵌在html文件其他资源的请求,比如css、js、图片资源等
  7. 加载整个页面

2.7 Ping

  1. 主机A要去Ping主机B, 主机A会封装两层报文,主机A先检查自己MAC地址中是否有B的MAC地址,如果没有就向外发送一个ARP广播包
  2. 交换机收到这个ARP后,会检查在交换机中是否包含B的MAC地址,如果有就直接返回给A;如果没有就向所有端口发送ARP,该网段的主机的MAC如果与B的MAC地址不同就丢弃,如果主机B收到了该ARP就马上返回相同格式的ARP
  3. 这时主机A已经有了B的MAC地址,就把B的MAC地址封装到ICMP报中,向主机B发送一个回显请求
  4. 主机B收到该报文后,知道是主机A的一个回显请求,就会返回一个相同格式的报文。这样就完成了同一个网段的Ping的过程
  1. 主机A要去Ping一个不同网段的主机C,主机A会去找网关转发
  2. 如果主机A不知道网关的MAC地址,就会发送一个ARP广播一下,这样就知道了网关的MAC地址
  3. 网关收到主机A的ICMP报文,根据上面的目的IP,会去查找路由表,找到一个出口指针,给主机C发送一个ICMP报文
  4. 如果网关不知道主机C的MAC地址,就会给网关内所有的主机发送一个ARP,从而找到主机C的MAC地址
  5. 主机C收到主机A的报文就会给主机A发送一个回显请求。这样就完成了不同网段的Ping的请求

2.8 路由器与交换机的区别

路由器包含了交换机的功能,交换机主要的作用是扩展接口

2.9 确认访问用户身份的认证

2.10 websocket

3. HTTPS协议

3.1 HTTP缺点

3.2 HTTP+加密+认证+完整性保护=HTTPS

3.3 HTTPS是身披SSL外壳的HTTP

3.4 HTTP采用混合加密机制

3.5 证明公开密钥正确性的证书

3.6 SSL协议

4. TCP协议

4.1 传输层

4.2 作用

4.3 大块数据分割成报文段(segment)

4.4 三次握手

  1. 发送端发带SYN标志的数据包给对方。
  2. 接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。
  3. 最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束

握手某个阶段中断,TCP会以相同的顺序发送相同的数据包

4.5 四次挥手

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

4.6 流量控制

4.7 差错控制

4.8 拥塞控制

  1. 由于刚开始不清楚网络的拥塞情况,所以会首先采用慢开始算法,开始阶段,窗口大小由1指数增大,直到窗口大小到达门限值。
  2. 窗口大小到达门限值后,就开始执行拥塞避免算法,之后窗口值按照线性规律增大,直到出现超时或者到达最大的窗口大小值。
  3. 这个时候,会开始执行拥塞检测算法,也就是把门限值变为窗口大小的一半,之后继续执行拥塞避免算法,窗口大小按照线性规律增大。

5. IP协议

5.1 网络层

5.2 作用

5.3 条件

5.4 使用ARP协议凭借MAC地址进行通信

5.5 路由选择

6. TCP/IP

6.1 协议族

6.2 分层管理

6.3 通信传输流

7. Web攻击

7.1 因输出值转移不完全引发的安全漏洞

7.2 因设置或设计上的缺陷引发的安全漏洞

7.3 因会话管理疏忽引发的安全漏洞

7.4 其他安全漏洞

8. 其他协议

8.1 IGMP协议

8.2 ICMP协议

8.3 ARP协议

微信搜索公众号:轮子工厂。机器学习 | 数据结构与算法 | 源码分析 | 资源与工具分享
后台回复关键字:
1.回复【图书】:获取15本新手自学编程,零基础入门经典学习教材;
2.回复【我要造轮子】:获取100多本我根据知乎上面关于计算机问题的高赞回答里面的介绍整理出来的书籍;
3.回复【开发工具】:获取几大主流编程语言的开发工具~
4.回复【ps教程】:获取ps视频免费教程;
5.回复【内推】:可帮你内推到大厂工作。

上一篇下一篇

猜你喜欢

热点阅读