计算机网络
文章平均质量分 76
NeilNiu
日拱一卒无有尽,功不唐捐终入海!
展开
-
HTTPS协议实现的原理
HTTPS协议,相关的概念包括SSL、非对称加密、CA证书先说一下什么是对称加密和非对称加密。双方加密解密都用相同密钥的算法,称为对称加密算法。使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。非对称加密,在非对称加密中,加密和解密用的不是一个密钥,当开发一个网站,我们的用户之间的通信用非对称加密。用户发送请求时,用户用一把钥匙加密数据,服务端用另一把钥匙解密。在这个过程中,服务端拥有的是私钥,用户拥有的是公钥,很多用户可以使用同一个公钥原创 2021-07-11 09:16:06 · 312 阅读 · 2 评论 -
DNS域名解析过程
当我们在浏览器输入一个URL的时候,域名系统(Domain Name System)就开始工作。域名系统是将互联网资源和地址关联起来的一个分布式数据库。DNS和统一资源定位符,域名系统本质就是定位资源,互联网中的各种资源,比如视频、图片、文件、网页。。。。下面就是一个URL的示例:https://www.example.com:8080/test?id=1000#Good【https】Scheme部分是协议,不仅只有https,还有ftp、ssh等,不同的协议代表着不同类型的应用在提供资源。【ww原创 2021-06-26 20:19:59 · 274 阅读 · 1 评论 -
对于IPv4协议,寻址和路由有什么区别呢?
IPv4协议是IP协议的第4个版本,IPv4为传输层提供Host-To-Host,同时IPv4需要底层的数据链路层的支持。IP协议不负责数据的可靠性,传输数据时,数据被切分为一个个数据封包,IP协议上层的传输层协议会对数据进行一层拆分,然后再IP协议会在一次拆分,两次拆分是为了适合底层的设备。数据在网络中传输,不需要建立连接,任由数据在网络中传输,每个节点由路由算法来控制数据选择下一个目的地。IP协议自身不能保证可靠性。例如IP协议可能会遇到以下问题:封包损坏(数据传输过程中被损坏)丢包(数据发送原创 2021-06-14 22:48:24 · 497 阅读 · 0 评论 -
TCP和UDP对比的优势和劣势
TCP和UDP都是传输层协议。TCP最核心的是提供了可靠性,而UDP核心是灵活性高。HTTP1.0和2.0用的是TCP,到了HTTP3.0用的就是UDP了。UDP应用数据传输、网络控制、音视频、Web技术应用较多。UDP,目标是在传输层提供直接发送报文的能力,Datagram是数据传输的最小单位,UDP协议不会帮助拆分数据,它的目标只有一个,就是发送报文。UDP的报文格式,只有五个部分组成。Source Port是源端口号,因为UDP协议的特性(不需要ACK),因此这个字段是可以省略的,但有时候对原创 2021-06-05 09:38:44 · 3486 阅读 · 0 评论 -
如何保证TCP的稳定性和流速控制
TCP粘包和拆包中保证顺序的具体算法是TCP滑动窗口算法。TCP作为一个传输层协议,最核心的能力是传输。传输需要保证可靠性,还需要控制流速,这两个核心能力均由滑动窗口提供。滑动窗口数据结构如何保证TCP的稳定性和流速控制如上图所示:深色代表已经收到ACK的段浅色代表发送了,但是还没有收到ACK的段白色代表没有发送的段紫色代表暂时不能发送的段假设一次最多发送5个封包,也就是窗口大小=5,窗口中的数据被同时发送出去,然后等待ACK。如果一个封包ACK到达,就标记为已接收。如何保证TCP的原创 2021-05-16 20:55:08 · 332 阅读 · 0 评论 -
TCP拆包和粘包的作用是什么
首先我们思考一个问题,应用层的传输一个10M的文件是一次性传输完成,而对于传输层的协议来说,为什么不是一次性传输完成呢。这个有很多原因,比如稳定性,一次发送的数据越多,出错的概率越大。再比如说为了效率,网络中有时候存在并行的路径,拆分数据包就就能更好的利用这些并行的路径。再有,比如发送和接收数据的时候,都存在缓冲区,缓冲区是在内存中开辟的一块空间,目的是缓冲大量的应用频繁的通过网卡收发数据,这个时候,网卡只能一个一个处理应用的请求。当网卡忙不过来的时候,数据就需要排队了。也就是将数据放入缓冲区。如果每个应原创 2021-05-16 20:46:51 · 259 阅读 · 0 评论 -
TCP协议为什么是3次握手,4次挥手
TCP(Transport Control Protocol)是一个传输层协议,提供Host-To-Host数据的可靠传输,支持全双工是一个连接导向的协议。TCP/IP五层模型应用层传输层网络层数据链路层物理层TCP是在传输层的协议,主要实现主机到主机通信,前提是需要知道主机们的网络地址(IP地址),但是TCP不负责实际地址到地址的传输,因此TCP协议把IP地址给底层的网络层处理。网络层,提供地址到地址的通信,IP协议就是在这一层工作。互联网层解决地址到地址的通信,但是不负责信号在具体两个设原创 2021-04-24 10:10:20 · 229 阅读 · 0 评论