网络原理
假想迪
这个作者很懒,什么都没留下…
展开
-
浅谈HTTPS的加密原理
要了解HTTPS的加密原理,就需要先知道对称加密和非对称加密。1. 对称加密所谓对称加密,对称二字含义就是相同,也就是客户端和服务器双方共同使用一个密钥,无论解密或者解密,都可以通过这个密钥来完成。1.2 问题这样虽然保证了双方传输的效率,但是由于存储在浏览器的密钥很容易被窃取,一旦数据在传输过程中被拦截到,就很容易将加密数据包破解。2. 非对称加密...原创 2020-09-01 19:45:58 · 218 阅读 · 0 评论 -
转发和重定向的区别
重定向会发送两次request请求;转发只会有一次请求。重定向会改变url;转发则不会改变url。tomcat中,重定向是可以定向请求到外面的数据信息;但是转发只能访问内部资源。原创 2020-07-02 14:22:18 · 107 阅读 · 0 评论 -
TCP中的延迟应答与捎带应答
一. 延迟应答(接收端)1.1 应答方法通常一个数据段可以返回一个ACK应答,但是接收端如果立刻返回ACK应答,会让这个数据段中的窗口大小值比较小。假设我们接收缓冲区的为2M,收到了1M的数据,如果立刻应答,返回的窗口就是1M。实际上接收端处理数据可以很快,很短的时间内就把接收到的1M数据处理掉了。这种情况下,接收缓冲区并没有到达自己的接收数据的极限,窗口就算更大也有能力处理。如果接收端再晚...原创 2020-03-06 11:27:38 · 635 阅读 · 0 评论 -
TCP中的流量控制与拥塞控制
一. 流量控制(接收端)1.1 产生原因我们知道在接收端接收数据的时候,会先将数据保存在接收缓冲区中,等待应用程序调用recv()方法读取。如果接收缓冲区内的数据一直没有被应用进程读取,接收缓冲区空间被填满,发送端再继续发送数据的话,就会引起丢包等一系列的连锁问题。为了避免这种问题的发生,TCP中可以根据接收端的处理数据的速度和能力,来决定发送端的发送速度,这个机制就叫做流量控制。1.2 ...原创 2020-03-05 18:16:11 · 502 阅读 · 0 评论 -
TCP中滑动窗口介绍
我们知道TCP协议中有一个确认应答机制,每发送一个数据段,就需要有一个ACK来响应,如果这样一收一发的话,会让数据传输的效率变得很低。滑动窗口就是用来解决这个问题的,也就是我们一次发送多条数据。例如现在不需要等待确认应答可以发送数据的最大值为4000个字节,我们将4000个字节分为四个数据段来进行发送。在发送前四个数据段的时候,我们不需要等待任何的ACK应答,可以直接发送。当收到第一个数据段的AC...原创 2020-03-05 18:13:14 · 371 阅读 · 0 评论 -
详解TCP协议的连接管理机制——三次握手和四次挥手
一. 建立连接—三次握手首先客户端和服务端都是关闭状态,也就是CLOSED状态。服务器端进入一个监听的LISTEN状态,阻塞等待客户端的连接。第一次握手:客户端向服务端发送一个SYN的标志位以请求连接。此时客户端进入SYN_SEND状态,也就是开始阻塞等待服务器的应答。第二次握手:服务器收到了客户端的SYN连接请求,也就处于SYN_RCVD状态。由于现在客户端向服务端单方面请求连接了,但是...原创 2020-03-03 15:56:15 · 451 阅读 · 0 评论 -
TCP协议中的确认应答机制和超时重传机制
1. 确认应答机制在TCP协议中,发送端将数据发送到接收端,接收端会自动返回一个ACK的应答,告诉发送端我已经接收到数据。TCP会给每个字节的数据赋予序列号,每一个ACK应答都会携带对应的确认序号,也就是字段中的32位确认号,这个确认号用来告诉发送端,你的数据发送到哪里,你下一次发送应该从哪里开始。比如发送端先发送了1 - 1000 的数据到接收端,接收端再返回一个ACK响应,此时携带的确认号就...原创 2020-03-02 21:26:13 · 1794 阅读 · 0 评论 -
TCP协议传输的格式内容
TCP的全称为传输控制协议(Transmission Control Protocol),顾名思义,就是可以对传输流程有一个准确的控制。1. 格式上图为TCP协议的格式内容,相比于UDP协议段,TCP的内容就显得更加丰富多样,当然也有一部分有着同样的作用。16位源端口号:标识本机网络通信的进程。16位目的端口号:标识接收方主机进行通信的进程。32位序号:指发送数据的位置序号,每发送一...原创 2020-03-01 16:18:35 · 1643 阅读 · 0 评论 -
UDP协议格式及特点
UDP协议是一种传输速度较快的网络传输层协议,但提供了更快的传输速度,也让他失去了一定的可靠性,他也是一种无连接的网络协议。1. 格式上图为UDP协议的格式,可以看出UDP协议传输格式比较简单,他的头部的长度为固定八个字节。16位源端口号:标识本机传输通信的应用程序。16位目的端口号:标识接收端主机的应用程序。16位UDP长度:整个数据报的最大长度 —— UDP头部 + UDP数据...原创 2020-03-01 13:40:23 · 2557 阅读 · 0 评论 -
HTTP协议的格式及其内容
HTTP格式HTTP的格式主要以下图为主,左边是请求端(客户端),右侧是响应端(服务端)。其中请求端的数据主要为请求行(请求方法、URL和版本号),请求报头,空行以及请求正文。而响应端主要包括状态行(版本号、状态码和状态码描述),响应报头,空行以及响应正文。接下来我们就一一进行解释。URLURL就是我们俗称的“网址”,在客户端和服务器进行网络数据的传输时,URL也是数据信息中不可缺少的一部...原创 2020-02-18 16:54:34 · 1292 阅读 · 0 评论 -
Java模拟TCP协议的简单网络程序
服务端package tcp;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TCPServer { private static final int PORT = 8888; public static void main(String[] arg...原创 2020-02-13 19:19:07 · 756 阅读 · 0 评论 -
UDP协议和TCP协议数据传输流程及其特点
1. UDP协议1.1 流程服务器:new DatagramSocket(端口号) 启动服务器。服务器:receive()方法等待接收网络数据包(阻塞方法:服务端先调用该方法,会进入持续等待的状态)。客户端:通过目的ip+目的port(端口号),找到远程服务器(UDP无连接,但可以找到远程主机上的UDP进程)。客户端:通过send()方法发送请求数据。服务端:也通过send()方法响...原创 2020-02-13 19:01:14 · 1198 阅读 · 0 评论 -
局域网与广域网的网路数据传输流程
1. 局域网网络数据传输流程1.1 局域网内发送数据(没有交换机,没有路由器)应用技术通常我们只知道具体的目的IP地址,但不知道目的MAC地址,这里就要查找本机的ARP缓存表,所谓的ARP缓存表,就是用来保存我们ip和mac的映射关系。流程首先,查找本地的ARP缓存表,如果找到了对应的MAC地址,就直接发送我们封装过的数据。如果没有找到,就会广播一条请求MAC地址的数据(这里发送的是...原创 2020-02-11 20:37:47 · 1959 阅读 · 0 评论 -
TCP/IP网络模型中数据封装和解封装过程
但我们在网络上传输数据时,本机会从高层到底层将数据包进行几次封装,结果过程则是相反的顺序。如下图所示:封装首先在应用层,浏览器会将请求数据封装为HTTP协议数据包,在原本数据包中加入HTTP头。传输层:tcp协议将前一个封装的数据包再次封装为tcp数据包。网络层:封装ip协议。数据链路层:封装了数据帧。解包分用数据链路层:操作系统在网卡接收到数据之后,再解析接收到的数据包,其...原创 2020-02-10 18:48:20 · 10721 阅读 · 0 评论