计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言。计算机网络协议同我们的语言一样,多种多样。而ARPA公司与 ...
分类:
其他好文 时间:
2020-05-06 21:31:16
阅读次数:
81
作者:小书go https://blog.csdn.net/qzcsu/article/details/72861891 背景描述 我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协 ...
分类:
其他好文 时间:
2020-05-06 19:56:51
阅读次数:
54
一面: hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移? Linux的共享内存如何实现,大概说了一下。 socket网络编程,说一下TCP的三次握手和四次挥手 同步IO和异步IO的区别? Java GC机制?GC Roots有哪些? 红黑树讲一下,五个特性,插入删除操作,时间复 ...
分类:
编程语言 时间:
2020-05-06 14:10:59
阅读次数:
134
前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文。 三次握手 在《计算机网络》一书中其中有提到,三次握手的目的是“为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”, ...
分类:
其他好文 时间:
2020-05-05 17:55:39
阅读次数:
87
TCP三次握手(1)第一次握手:当客户Client的标志位SYN设置成1,并且随机产生序列号seq=x;此时将数据包发送给服务端。客户端进入SYN_SENT状态。等待Server确认。第二次握手:当服务器端接收到数据包后根据SYN=1知道Client请求建立连接。此时服务器端会将SYN和ACK都合设置成1和ack=J+1,并且随生成一个seq=k,然后将数据包发送给客户端以便确认请求。服务器端进入
分类:
其他好文 时间:
2020-05-03 16:55:39
阅读次数:
85
网络并发知识点梳理 软件开发架构 软件目录结构: 互联网协议 网路通信过程 TCP协议:三次握手四次挥手 图片 socket——套接字 用来实现网络通信。 socket,是一个位于应用层,和tcp/ip等层的,中间层。是一个抽象层。将各种协议封装起来,供应用层调用。 TCP 服务端: TCP 客户端 ...
分类:
其他好文 时间:
2020-05-03 12:33:05
阅读次数:
53
知识热身 介绍tcp协议的三次握手四次挥手之前,首先我们来看一下tcp协议数据报文的组成,这样方便我们更好的理解下面将要介绍的三次握手四次挥手的过程,tcp协议报文如下图: 三次握手 1、以下介绍三次握手用到的TCP头部几个重要的字段标识 seq :序列号,占4个字节,用来标记数据段的顺序,TCP把 ...
分类:
其他好文 时间:
2020-05-02 20:59:30
阅读次数:
67
TCP的三次握手(Three-Way Handshake) 1.”三次握手”的详解 所谓的三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。以下为客户端主动发起连接的图解: 握手之前主动打开连接的客户端结束CLOSED阶段,被动打开的服务器端也结束CLOSED阶段,并进入LI ...
分类:
其他好文 时间:
2020-05-01 16:36:30
阅读次数:
58
我们经常会遇到在服务器上看到大量的TIME_WAIT,它们占用进程不释放,最后会导致所有进程数被耗完,服务器负载增高等生产事故,具体是什么原因导致的呢?我们先来看看TCP的三次握手四次挥手都是怎样的一个过程。 TCP三次握手 三次握手的过程如下图: 具体的过程如下:(1)、客户端主动发起连接,向服务 ...
分类:
系统相关 时间:
2020-04-30 09:35:58
阅读次数:
125
具体步骤 1.客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。 2.服务器收到连 ...
分类:
其他好文 时间:
2020-04-27 10:06:10
阅读次数:
77