计算机网络
文章平均质量分 85
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 [1]
计算机网络主要是由一些通用的、可编程的硬件互连而成的。这些可编程的硬件能够用来传送多种不同类型的
之乎者也·
机车疾驰在路上,代码飞舞在指尖,热血与逻辑交织,创造属于我的数字世界。
展开
-
JAVA面试题分享三百四十一:有了HTTP协议,为什么还要RPC协议?
RPC 服务和 HTTP 服务还是存在很多的不同点的,一般来说,RPC 服务主要是针对大型企业的,而 HTTP 服务主要是针对小企业的,因为 RPC 效率更高,而 HTTP 服务开发迭代会更快。总之,选用什么样的框架不是按照市场上流行什么而决定的,而是要对整个项目进行完整地评估,从而在仔细比较两种开发框架对于整个项目的影响,最后再决定什么才是最适合这个项目的。一定不要为了使用 RPC 而每个项目都用 RPC,而是要因地制宜,具体情况具体分析。原创 2024-01-26 12:24:24 · 915 阅读 · 0 评论 -
JAVA面试题分享三百二十八:一台服务器,支持的TCP连接数最大是多少?
总用户规模预计是1亿。可以建立100w+的TCP连接`】(当然这里只是计算所有的连接都只建立连接但不发送和处理数据的情况,如果真实场景中有数据往来和处理(数据接收和发送都需要申请内存,数据处理便需要CPU),那便会消耗更高的内存以及占用更多的CPU,并发不可能达到100w+)。因为目标IP和端口固定,有 n 个源IP,四元组中可变化的就是【源端口】+ 【源IP】,【源端口】的可用范围又是【0 ~ 65535】,所以一个IP最大能建立65535个连接,那么n个IP最大就能建立 n * 65535个连接了。原创 2024-01-25 20:30:13 · 824 阅读 · 0 评论 -
JAVA面试题分享三百零四:TCP的流量控制是如何实现的?
流量控制是为了控制发送方发送速率,保证接收方来得及接收。TCP 利用滑动窗口来实现流量控制,接收方根据自己的处理能力,动态调整自己的可接收数据窗口大小,通过ACK报文将窗口大小告知发送方,发送方根据收到的窗口大小,调整发送数据的流量。原创 2023-12-19 08:22:41 · 404 阅读 · 0 评论 -
JAVA面试题分享三百零三:HTTP 1.0 1.1 2.0 3.0有什么区别?
HTTP协议,又叫做超文本传输协议。是一种用于在Web浏览器和Web服务器之间交换数据的应用层协议。HTTP协议到目前为止,所有的版本可以分为HTTP 0.9、1.0、1.1、2.0、和3.0,其中普遍应用的是HTTP 1.1版本,正在推进是HTTP 2.0版本,以及未来的HTTP 3.0版本。原创 2023-12-18 18:28:53 · 418 阅读 · 0 评论 -
JAVA面试题分享二百八十:一次穿透NIO、Selector、Epoll底层原理
当struct file,struct socket,struct sock这些核心的内核对象创建好之后,最后就是把socket对象对应的struct file放到进程打开的文件列表fd_array中。随后系统调用accept返回socket的文件描述符fd给用户程序。原创 2023-12-17 11:08:57 · 1205 阅读 · 0 评论 -
JAVA面试题分享二百七十六:IO模型
但在目前的单线程Reactor模式中,在这种模式种IO操作和CPU操作是没有分开的,不仅I/O操作在该Reactor线程上,连非I/O的业务操作也在该线程上进行处理了,显然如果在Handler处理某个请求超时了将会阻塞客户端的正常连接,这可能会大大延迟I/O请求的响应。由于只使用了一个线程,对于多核利用率偏低,但是编程简单。这是一种比较原始的架构,思路也非常清晰,创建多个线程来提供处理能力,这种模式一定程度上极大地提高了服务器的吞吐量,由于在不同线程中,之前的请求在read阻塞以后,不会影响到后续的请求。原创 2023-12-17 09:16:54 · 788 阅读 · 0 评论 -
JAVA面试题分享二百七十四:epoll性能那么高,为什么?
一个有5个通知的地方三次握手完成之后接收数据回复ACK之后发送数据收到ACK之后接收FIN回复ACK之后接收RST回复ACK之后。原创 2023-12-17 08:27:18 · 848 阅读 · 0 评论 -
JAVA面试题分享九十二:Epoll 底层原理?
epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本。原创 2023-11-29 08:47:00 · 852 阅读 · 0 评论 -
JAVA面试题分享九十三:HTTPS和HTTP 原理?
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。原创 2023-11-29 08:50:00 · 846 阅读 · 0 评论 -
JAVA面试题分享九十四:https 协议的交互过程?
(3)服务器收到客户端的clientHello消息以后,取出客户端法发来的random1数字,并且取出客户端发来的支持的加密算法, 然后选出一个加密算法,并生成一个随机数random2,发送给客户端serverhello让客户端对服务器进行身份校验,服务端通过将自己的公钥通过数字证书的方式发送给客户端。所以实际上也看的出来,HTTPS的真正目的就是保证对称加密的 密钥不被破解,不被替换,不被中间人攻击,如果发生了上述情况,那么HTTPS的加密层也能获知,避免发生事故。另一个(比如K2)公开,称为公钥。原创 2023-11-29 08:52:18 · 925 阅读 · 0 评论 -
JAVA面试题分享九十五:TCP和HTTP的区别?
我一直以为Http和Tcp是两种不同的,但是地位对等的协议,虽然知道TCP是传输层,而http是应用层,今天学习了下,知道了 http是要基于TCP连接基础上的,简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。第二次:S收到了这个请求连接的位码,啊呀,有人向我发出请求了么,那我要不要接受他的请求,得实现确认一下,于是,发送了一个确认码 ACN(seq+1),和SYN,Seq给C,然后C收到了,这个是第二次连接。S收到了http请求,然后根据请求头,返回http响应。原创 2023-11-29 08:53:10 · 888 阅读 · 0 评论 -
JAVA面试题分享九十六:TCP三次握手四次挥手?
当建立了 3 次握手之后,客户端和服务端就可以传输数据啦!原创 2023-11-29 08:56:53 · 932 阅读 · 0 评论 -
JAVA面试题分享九十七:TCP和UDP的区别?
UDP协议面向报文,不拆分应用层报文,只保留报文边界,一次发送一个报文,接收方去除报文首部后,原封不动将报文交给上层应用。可以想象成流水形式的,发送方TCP会将数据放入“蓄水池”(缓存区),等到可以发送的时候就发送,不能发送就等着,TCP会根据当前网络的拥塞状态来确定每个报文段的大小。TCP 是面向连接的协议,建立连接3次握手、断开连接四次挥手,UDP是面向无连接,数据传输前后不连接连接,发送端只负责将数据发送到网络,接收端从消息队列读取。多长的报文,它统统发送,一次发送一个报文。也就是说无论应用层交给。原创 2023-11-29 08:59:13 · 874 阅读 · 0 评论 -
JAVA面试题分享九十八:Web socket原理?
WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,后由 RFC 7936补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。原创 2023-11-29 09:01:22 · 1062 阅读 · 0 评论 -
JAVA面试小结九:网络的三次握手原因?
在确认报文段中把同步比特位SYN设置为1,确认比特位ACK设置为1,由于TCP请求报文段中的序号是x,所以服务器在发送确认报文段中的确认号ack是x+1,同时把确认报文段中的序号seq设置为y,表明服务器发送数据的初始序列号为y。该报文段也不能携带数据(因为SYN=1,所以不携带任何数据)。客户端向服务器发出连接请求的TCP报文段,其TCP首部中的同步比特SYN置为1,并TCP首部中序号seq设置为x(TCP规定SYN报文段不能携带数据,但是要消耗一个序号),表明要转送数据时初始序列号是x。原创 2023-10-23 20:13:33 · 67 阅读 · 0 评论 -
JAVA面试小结十:TCP与UDP的区别?
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。2.对系统资源的要求(TCP较多,UDP少);3.UDP程序结构较简单;4.流模式与数据报模式;1.基于连接与无连接;原创 2023-10-23 20:14:05 · 57 阅读 · 0 评论 -
JAVA面试题分享一百一十五:简单说说计算机网络?
在进行 Java NIO 学习时,可能会发现:如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况。1. TCP 是基于字节流的,虽然应用层和 TCP 传输层之间的数据交互是大小不等的数据块,但是 TCP 把这些数据块仅仅看成一连串无结构的字节流,没有边界;2. 从 TCP 的帧结构也可以看出,在 TCP 的首部没有表示数据长度的字段。基于上面两点,在使用 TCP 传输数据时,才有粘包或者拆包现象发生的可能。原创 2023-11-30 14:03:10 · 844 阅读 · 0 评论 -
计算机网络面试知识整理(九):七层体系结构(OSI七层结构)
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。 每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。原创 2023-12-06 13:07:47 · 898 阅读 · 0 评论 -
计算机网络面试知识整理(八):TCP/IP四层模型
TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在!TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发,这两位科学家分为是 Vint Cerf 和 Bob Kahn,被称为 Internet 之父。原创 2023-12-06 12:52:23 · 1185 阅读 · 0 评论 -
计算机网络面试知识整理(七):应用层
应用层概述应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。原创 2023-12-06 12:44:09 · 815 阅读 · 0 评论 -
计算机网络面试知识整理(六):运输层
运输层概述走进运输层之前笔记中所了解到的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。转载 2023-12-06 12:00:37 · 821 阅读 · 0 评论 -
计算机网络面试知识整理(五):网络层
网络层概述走进网络层网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。转载 2023-12-06 11:10:17 · 1050 阅读 · 0 评论 -
计算机网络面试知识整理(四):数据链路层
概念补充:链路(Link):指从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。数据链路(DataLink):指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。数据链路层以帧为单位传输和处理数据。原创 2023-12-06 11:03:21 · 962 阅读 · 0 评论 -
计算机网络面试知识整理(三):物理层
物理层的基本概念物理层协议的主要任务1、机械特性指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置。2、电气特性指明在接口电缆的各条线上出现的电压的范围。3、功能特性指明某条显示行出现某一电平的电压表示何种意义。4、过程特性指明对于不同功能的各种可能事件的出现顺序。物理层的主要作用物理层考虑的是怎样才能连接各种尖酸的传输媒体上传输数据比特流物理层为数据链路层屏蔽了各种传输媒体的差异,是数据链路层只需要考虑如何完成本层的协议,不必考虑原创 2023-12-06 10:58:02 · 789 阅读 · 0 评论 -
计算机网络面试知识整理(二):概念介绍
计算机网络在信息时代的作用计算机网络已经由一种通信基础设施发展成为一种重要的信息服务基础设施。计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分。原创 2023-12-06 10:50:16 · 1019 阅读 · 0 评论 -
计算机网络面试知识整理(一):概述
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络主要是由一些通用的、可编程的硬件互连而成的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。原创 2023-12-06 10:34:44 · 957 阅读 · 0 评论