常用的网络知识

2020-05-05  本文已影响0人  Rockerliang

七层网络协议

互联网的本质是一系列的网络协议,这个协议就叫做OSI协议
OSI模型有7层结构,每层都可以有几个子层。OSI的7层从下到上分别是7-应用层、6-表示层、5-会话层、4-传输层、3-网络层、2-数据链路层、1-物理层。

image.png image.png

TCP/IP 与 UDP

互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。


image.png

TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。

TCP三次握手(重点)

TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。
所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。
下面来看看三次握手的流程图:


image.png

TCP四次挥手(重点)

image.png

TCP实现可靠传输:过序列号与确认应答提高可靠性
序列号是按照顺序给发送数据的每一个字节(8位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP 能够识别是否已经接收数据,又能够判断是否需要接收,从而实现可靠传输。

TCP重发超时的确定

DNS 域名解析

DNS是Internet上作为域名和IP地址相互映射的一个分布式数据库,是用户更方便的访问Internet,而不用去记住那些IP地址

浏览器如何通过域名去查询URL对应的IP地址?

1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。
  2、操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中找。
  3、路由缓存:路由器也有DNS缓存。
  4、ISP的DNS服务器:ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。
  5、根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。
** DNS优化与DNS负载均衡?**
了解了DNS的过程,如果每次都经过这么多步骤,是否太耗时间?如何减少该过程的步骤呢?
那就需要DNS优化了

DNS存在着多级缓存,从离浏览器的距离排序的话,有以下几种: 浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。

互联网用户巨大的今天,假如亿万请求请求的资源都位于同一台机器上面,那么这台机器随时可能会蹦掉。处理办法就是用DNS负载均衡技术,它的原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。例如可以根据每台机器的负载量,该机器离用户地理位置的距离等等。

大家耳熟能详的CDN(Content Delivery Network)就是利用DNS的重定向技术,DNS服务器会返回一个跟用户最接近的点的IP地址给用户,CDN节点的服务器负责响应用户的请求,提供所需的内容。

CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。

Socket/WebSocket

Socket:套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

建立socket连接:
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

WebSocket 与 Socket 的区别:

HTTP/HTTPS

HTTPS : http+ssl(tls)

上一篇 下一篇

猜你喜欢

热点阅读