导航:首页 > 网络连接 > 计算机网络持久连接

计算机网络持久连接

发布时间:2023-09-06 05:53:42

‘壹’ 什么计算机网络计算机网络的发展历经了哪几个阶段

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。发展阶段如下:

第一阶段 (以单计算机为中心的联机终端系统)

特点:计算机网络主要是计算机技术和信息技术相结合的产物,它从20世纪50年代起神枣让步至今已经有50多年的发展历程,在20世纪50年代以前,因为计算机主机相当昂贵,而通信线路和通信设备相对便宜,为了共享计算机主机资源和进行信息的综合处理,形成了第一代的以单主机为中心的联机终端系统。

在第一代计算机网络中,因为所有的终端共享主机资源,因此终端到主机都单独占一条线路,所以使得线路利用率低,而且因为主机既要负责通信又要负责数据处理,因此主机的效率低,而且这种网络组织形式是集中控制形式,所以可靠性较低,如果主机出问题,所有终端都被迫停止工作。

面对这样的情况,当时人们提出这样的改进方法,就是在远程终端聚集的地方设置一个终端集中器,把所有的终端聚集到终端集中器,而且终端到集中器之间是低速线路,而终端到主机是高速线路,这样使得主机只要负责数据处理而不要负责通信工作,大大提高了主机的利用率。

计算机网络的应用包括但不限于以下几个方面:

1、互联网:将全球范围内的计算机与设备连接起来,提供各种在线服务,例如电子邮件、即时通讯、社交媒体、在线购物等。

2、局域网(LAN)和广域网(WAN):用于连接组织内部的计算机和设备,使得员工可以共享资源、协同工作。

3、无线网络:包括WiFi、蓝牙、移动通信网络等,使得人们可以在移动设备上访问互联网,并进行各种在线活动。

4、云计算:通过网络连接远程服务器,提供各种计算和存储资源,为用户提供各种在线服务。

5、物联网:通过网络连接各种智能设备,例如传感器、智能家居、智能汽车等,实现设备之间的互相通信和控制。

6、VPN(虚拟私人网络):通过加密技术建立安全的网络连接,实现远程访问或者远程办公等功能。

‘贰’ 为什么电脑连接wifi总是只能持续一段时间

我们在使用无线网络时,wifi速度慢、时断时续是为什么呢?本人给大家讲解Wifi信号弱的原因 :
一、产生原因
1、附近wifi信号干扰多,打开wifi搜索功能,发现有很多的wifi信号,就说明wifi的竞争很激烈,通道只有那么多,竞争大了,信号自然就弱了。
2、资源有限wifi就像一个母亲,用自己的努力让每个孩子都过上好日子(每个设备都畅通的连上网),但是也架不住孩子多呀(同时连接多台设备),所以有时就会出现偏心的状况(有些设备连接不稳定)。
3、设备陈旧老化无线路由器在信号传输上起很大的作用,通常老路由器使用的是效率比较低的802.11g标准,生产工艺相对过时,跟不上时代的快速发展,过热、信号不佳、驱动更新跟不上,功率输出低等问题,都会导致信号不好。
4、路由器摆放位置路平坦人走路就快,但是需要翻墙越障碍,时不时还有别的人来干扰一下,抵达时间就慢甚至到达不了终点。wifi信号也一样,墙体、家具电器都是无线信号需要越过的障碍,微波炉、冰箱等向外发射电磁辐射,也给wifi带去干扰,导致信号不好。
5、路由器从来不关路由器内部是有缓存区的,随着时间的推移,路由器一直保持工作状态,缓存的数据就越来越多,传输数据的速度也越来越慢,不仅如此,当路由器一直处于工作状态,路由器就始终在散热,当热量累积,温度过高,也会影响路由器的工作效率。
二、解决WiFi信号小妙招
1、调整 WiFi 信道wifi信道若不特意设置,一般默认使用通道6或者“自动”,网不好时可以尝试更改wifi信道,1、6、12、13挨着试一遍,哪个上网快用哪个。
2、定期修改wifi密码有时候网速慢,不是自己连接的设备太多,而是有人在蹭你家的wifi,这时就要定期修改wifi密码,并卸载一些偷网的app,如“wifi万能钥匙“之类的。
3、定时更换老旧设备路由器使用时间过长导致的wifi速度慢,只需要及时更换新款设备就可以了。
4、路由器科学摆放路由器摆放在家中最中间离地1米以上的位置,保证信号传播过程中不被物体遮挡,远离如电磁炉、冰箱等电子设备,这样路由器发射的讯号强度就能以同样的强度向四周扩散。路由器天线的位置同样有讲究,如果天线是两条,那么两条天线最好垂直摆放,一条横着、一条竖着。这样不管你的笔记本或者电子类产品是横着放、还是竖着放,都能与天线方向保持平行,网速自然就好啦~
5、路由器不用时保持关闭状态每日不使用路由器时,将路由器关掉,可以减少内部缓存的增加,同时让路由器得到休息、冷却,再次使用时,路由器就不会处于过热的状态,不仅让速度更快,还能减缓内部零件的使用频率,增加路由器的使用寿命。除了以上这些情况,有些时候,我们在家使用电子产品时,发现家中各种产品连网没有问题,只有电脑连不上,有可能就是电脑出现故障,这时就需要请专业人士进行维修。大家还知道其他加快网速的方法吗?

‘叁’ 计算机网络连接原理是什么(越详细越好)

连接原理是TCP/IP原理..
我目前也正在学.

TCP/IP的通讯协议

这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。

TCP/IP整体构架概述

TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:

应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

TCP/IP中的协议

以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:

1. IP

网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

2. TCP

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

3.UDP

UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。

欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

4.ICMP

ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。

5. TCP和UDP的端口结构

TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。

两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:

源IP地址 发送包的IP地址。

目的IP地址 接收包的IP地址。

源端口 源系统上的连接的端口。

目的端口 目的系统上的连接的端口。

端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

‘肆’ 操作系统是如何将socket接受的数据发送给应用层的

在正篇开始之前,我先提问几个问题,不知道你是否全都了解:

(1) 网络请求是通过http发送的吗?

(2) http与tcp之间的关系?

(3) 网络请求是怎么发送的,通过什么形式去发送的?

在过往对于http与tcp的理解其实只是一个简单模糊的概念,仔细想想其实http只是一种协议,tcp只是用于建立一个持久连接,它们都不是用于网络发送数据的根本,真正发送数据的是我们的物理层,http协议只是作为一个标识的作用,简单来说是定位到某一主机。

下面来介绍一下计算机网络体系结构

计算机网络分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层以及应用层,由于7层太多所以后面经过演变之后定为5层,把应用层,会话层,表示层给合统称为应用层,我们客户端的每一步操作,举个例子,当我们点击发送按钮请求网络的时候,这时候会通过应用层逐渐往下传递直到物理层,物理层会提供一个互联网网络接口,这时候才真正通过互联网开始传输数据,这里最主要介绍的是传输层以及物理层,其它的网络一下,传输层是第一个端到端的层次,也是进程——进程的层次。

主要功能是实现端到端的可靠数据传输、复用与分解、连接控制、流量控制和拥塞控制(这些东西都是定义去网络一下,比如说流量控制,其实就是控制数据的发送量,你不能一次性发送很多数据,原因想一下就知道了),客户端的每一步操作都会在这5层体现出来,查下定义之后就会一目了然(比如说在我们终止会话,这时候就是由会话层管理,实体间交换数据的语法,解决格式和数据表示的差别是由表示层来完成等),在我们建立连接的时候比如说发送一个http请求(原理跟后面的socket数据传输模块是一样的),我们会先建立一个tcp连接,然后发送http请求,这时候数据会经过传输层,传输层里携带了发送数据的报文(比如ip地址,端口号之类的,数据内容),向下传递到物理层,物理层最后会提供一个互联网网络接口去发送数据,数据是以比特流的形式发送,发送到交换机上面(交换机是什么,去网络查一下,不做解释),交换机是有多个的,当我们数据非常大的时候,数据会被分解发送到多个交换机上面,传到对方客户端或者服务器的时候数据会重新整合起来,上面的是一个简单的http请求,下面来介绍一下Socket。

1.Socket的整体流程:

udp客户端:创建套接字,发送数据,接收数据,关闭套接字。

udp服务端:创建套接字,绑定地址和端口号,接收数据,发送数据,关闭套接字。

tcp客户端:创建套接字,建立连接,发送数据,接收数据,关闭套接字。

tcp服务端:创建套接字,绑定地址和端口号,设置监听,建立连接,发送数据,接收数据,关闭套接字。

这些理解起来很容易,我们客户端是要发送数据的,服务端需要接收数据,所以服务端要绑定地址和端口号,而tcp是需要三次握手的所以要有监听。

2.Socket三次握手

第一次握手,客户端发送请求给服务端(询问是否可以建立连接)。

第二次捂手,服务端回应给客户端一个确认,接受连接或者拒绝连接

第三次握手,经过确认之后,客户端回应给服务端(意思是我要开始发送数据了,下一步就开始发送了)。

理解三次握手,为什么要三次,第一次握手确认客户端可以发送请求,第二次握手确认服务端可以接收并且发送,第三部确认客户端可以接收。

3.Scoket四次挥手

第一次挥手,客户端向服务器发送断开连接请求

第二次挥手,服务端回应客户端(意思是,稍等等我数据传完(处理完的意思),在断开)

第三次挥手,服务端回应客户端断开请求(可以断开了)

第四次挥手,客户端与服务端请求断开。

tcp连接是面向连接的,数据发送可靠,udp是面向无连接的,数据发送过后就不管了,下面介绍一下tcp为什么数据可靠

具体方法如下:

差错检测:我们发送数据的时候刚刚说过是由物理层提供的互联网网络接口以比特流的形式进行发送,那么这个时候差错检测利用差错编码实现数据包传输过程中的比特差错检测,保证数据正确性

确认:接收方向发送方反馈接收状态。ACK(肯定确认);NAK(否定确认)

重传:当没有接收到反馈状态。ACK(肯定确认);NAK(否定确认)的时候,或者请求超时的时候进行重新发送

计时器:内部检测,一个定时器,当数据在一定时间没有接收到确认的时候就认为发送失败,进行重传操作。

序号:刚刚说了重传有两种情况,那么当重传是因为网络超时引起的,那么这个时候计时器进行了一次重传,然后上次超时后并没有发送失败这个时候也发送成功了,这个时候就会造成数据错乱,那么序号就起了一个作用,就是给数据进行排序,以至于不错乱。

下面来说一下tcp可靠传输协议滑动窗口协议

左边的代表的是接收的数据,中间代表的是正在处理的,右边代表的是没有处理的,在我们发送数据的时候比如56789这些数据发送,56成功了,这时候窗口就会往右移动,接收的时候呢,当我们接收比如56,接收成功了,这时候窗口往右移动,这里有一个需要注意一下,比如说当我们5没有发送成功或者说5没有接收成功,而6发送成功了,这时候窗口是不会往右移动的,它会等待5发送成功后在往右移动,浮动窗口协议里还有GBN协议和SR协议,这两个的主要区别是,GBN协议的发送窗口只能发送一个,比如上面中间准备发送的5678就只能存在5一个,但是接收窗口是可以有多个的,SR协议是可以发送窗口与接收窗口都是可以多个的。

最后总结一下http请求与socket的差异,socket是套接字,用于将报文传输到传输层,http请求在发送的时候会建立tcp连接,所以http也会分为http持久性连接和非持久性连接,至于网络传输都是要经过物理层才能传输,数据经过多个交换机进行分解,传到服务器的时候在进行整合。

网卡接收到数据根据数据头,将数据写到对应的内存,并发出中断,系统接收到中断,然后通知应用吧?

VC中客户端socket与服务器连接后,需要执行一个封状的操作

朝服务器发送一些数据(命令),然后返回结果

假设全部才字符串,类似这样的函数

CString SendCommand (CString cmd,socket sk)

要求在执行这个函数的时候能同时响应用户界面操作

也就是要用异步方式

而且这个socket已经建立好,有RecvTheard在处理

我目前是用Event实现的,很别扭:

m_hevtReadStore=CreateEvent(NULL,false,FALSE,NULL);

//m_tcp是封装的socket基本操作类

‘伍’ 计算机网络

应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用
表示层(数据):主要解决用户信息的语法表示问题,如加密解密
会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的
传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠
与不可靠的传输,传输层的错误检测,流量控制等
网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的
传输
数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正
物理层(比特流):设备之间比特流的传输,物理接口,电气特性等

IP 地址编址方案将IP地址空间划分为 A、B、C、D、E 五类,其中 A、B、C 是基本类,D、E 类作为多播和保留使用,为特殊地址。
A 类地址:以 0 开头,第一个字节范围:0~127 。
B 类地址:以 10 开头,第一个字节范围:128~191 。
C 类地址:以 110 开头,第一个字节范围:192~223。
D 类地址:以 1110 开头,第一个字节范围:224~239 。
E 类地址:以 1111 开头,保留地址。

物理地址(MAC 地址),是数据链路层和物理层使用的地址。
IP 地址是网络层和以上各层使用的地址,是一种逻辑地址。
其中 ARP 协议用于 IP 地址与物理地址的对应。

网络层的 ARP 协议完成了 IP 地址与物理地址的映射。

TCP(Transmission Control Protocol),传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
主要特点如下:

FTP :定义了文件传输协议
Telnet :它是一种用于远程登陆
SMTP :定义了简单邮件传送协议
POP3 :它是和 SMTP 对应,POP3 用于接收邮件
HTTP :从 Web 服务器传输超文本到本地浏览器的传送协议。

防止了服务器端的一直等待而浪费资源

服务器端准备为每个请求创建一个链接,并向其发送确认报文,然后等待客户端进行确认后创建。如果此时客户端一直不确认,会造成 SYN 攻击,即SYN 攻击,英文为 SYN Flood ,是一种典型的 DoS/DDoS 攻击。

TCP 协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP 是全双工模式,这就意味着:

TIME_WAIT 表示收到了对方的 FIN 报文,并发送出了 ACK 报文,就等 2MSL后即可回到 CLOSED 可用状态了。如果 FIN_WAIT_1 状态下,收到了对方同时带 FIN 标志和 ACK 标志的报文时,可以直接进入到 TIME_WAIT 状态,而无须经过 FIN_WAIT_2 状态。
如果不等,释放的端口可能会重连刚断开的服务器端口,这样依然存活在网络里的老的 TCP 报文可能与新 TCP 连接报文冲突,造成数据冲突,为避免此种情况,需要耐心等待网络老的 TCP 连接的活跃报文全部死翘翘,2MSL 时间可以满足这个需求(尽管非常保守)!

建立连接后,两台主机就可以相互传输数据了。如下图所示:

因为各种原因,TCP 数据包可能存在丢失的情况,TCP 会进行数据重传。如下图所示:

TCP 协议操作是围绕滑动窗口 + 确认机制来进行的。
滑动窗口协议,是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的。
TCP 的滑动窗口解决了端到端的流量控制问题,允许接受方对传输进行限制,直到它拥有足够的缓冲空间来容纳更多的数据。

计算机网络中的带宽、交换结点中的缓存及处理机等都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。

通过拥塞控制来解决。拥堵控制,就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。注意,拥塞控制和流量控制不同,前者是一个 全局性 的过程,而后者指 点对点 通信量的控制。

拥塞控制的方法主要有以下四种:

1)慢开始
不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。

2)拥塞避免
拥塞避免算法,让拥塞窗口缓慢增长,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1 ,而不是加倍,这样拥塞窗口按线性规律缓慢增长。

3)快重传
快重传,要求接收方在收到一个 失序的报文段 后就立即发出 重复确认 (为的是使发送方及早知道有报文段没有到达对方),而不要等到自己发送数据时捎带确认。
快重传算法规定,发送方只要一连收到三个重复确认,就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。

4)快恢复
快重传配合使用的还有快恢复算法,当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把 ssthresh 门限减半。

UDP(User Data Protocol,用户数据报协议),是与 TCP 相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。
主要特点如下:

DNS :用于域名解析服务
SNMP :简单网络管理协议
TFTP:简单文件传输协议

TCP 只支持点对点通信;UDP 支持一对一、一对多、多对一、多对多的通信模式。
TCP 有拥塞控制机制;UDP 没有拥塞控制,适合媒体通信,对实时应用很有用,如 直播,实时视频会议等

既使用 TCP 又使用 UDP 。

HTTP 协议,是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。
主要特点如下:

请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP版本信息
b、请求首部字段
c、请求内容实体
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应首部字段
c、响应内容实体

GET: 对服务器资源的简单请求。
POST: 用于发送包含用户提交数据的请求。
HEAD:类似于 GET 请求,不过返回的响应中没有具体内容,用于获取报头。
PUT:传说中请求文档的一个版本。
DELETE:发出一个删除指定文档的请求。
TRACE:发送一个请求副本,以跟踪其处理进程。
OPTIONS:返回所有可用的方法,检查服务器支持哪些方法。
CONNECT:用于 SSL 隧道的基于代理的请求。

1.明文发送,内容可能被窃听
2.不验证通信方的身份,因此可能遭遇伪装
3.无法证明报文的完整性,可能被篡改

综上所述:
需要 IP 协议来连接网络,TCP 是一种允许我们安全传输数据的机制,使用 TCP 协议来传输数据的 HTTP 是 Web 服务器和客户端使用的特殊协议。HTTP 基于 TCP 协议,所以可以使用 Socket 去建立一个 TCP 连接。

HTTPS ,实际就是在 TCP 层与 HTTP 层之间加入了 SSL/TLS 来为上层的安全保驾护航,主要用到对称加密、非对称加密、证书,等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。

端口不同:HTTP 与 HTTPS 使用不同的连接方式,端口不一样,前者是 80,后者是 443。
资源消耗:和 HTTP 通信相比,HTTPS 通信会由于加解密处理消耗更多的 CPU 和内存资源。
开销:HTTPS 通信需要证书,而证书一般需要向认证机构申请免费或者付费购买。

SSL 协议即用到了对称加密也用到了非对称加密

1)客户端发起 https 请求(就是用户在浏览器里输入一个 https 网址,然后连接到 server
的 443 端口)
2)服务端的配置(采用 https 协议的服务器必须要有一套数字证书,可以自己制作,
也可以向组织申请,这套证书就是一对公钥和私钥,这是非对称加密)。
3)传输证书(这个证书就是公钥,只是包含了很多信息)
4)客户端解析证书(由客户端 tls 完成,首先验证公钥是否有效,若发现异常,则弹出
一个警示框,提示证书存在问题,若无问题,则生成一个随机值(对称加密的私钥),然后用证书对随机值进行加密)
5)传输加密信息(这里传输的是加密后的随机值,目的是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密了)
6)服务端解密信息(服务端用私钥(非对称加密)解密后得到了客户端传来的随机值(对称加密的私钥),然后把通信内容通过该值(对称加密的私钥随机值)进行对称加密。所谓对称加密就是,将信息和私钥(对称加密的私钥)通过某种算法混在一起,这样除非知道私钥(对称加密的私钥),不然无法获取内容,而正好客户端和服务端都知道这个私钥(对称加密的私钥),所以只要加密算法够彪悍,私钥够复杂,数据就够安全)
7)传输加密的信息
8)客户端解密信息,用随机数(对称加密的私钥)来解。

默认情况下建立 TCP 连接不会断开,只有在请求报头中声明 Connection: close 才会在请求完成后关闭连接。
在 HTTP/1.0 中,一个服务器在发送完一个 HTTP 响应后,会断开 TCP 链接。但是这样每次请求都会重新建立和断开 TCP 连接,代价过大。所以虽然标准中没有设定,某些服务器对 Connection: keep-alive 的 Header 进行了支持。意思是说,完成这个 HTTP 请求之后,不要断开 HTTP 请求使用的 TCP 连接。这样的好处是连接可以被重新使用,之后发送 HTTP 请求的时候不需要重新建立 TCP 连接,以及如果维持连接,那么 SSL 的开销也可以避免.

如果维持持久连接,一个 TCP 连接是可以发送多个 HTTP 请求的。

HTTP/1.1 存在一个问题,单个 TCP 连接在同一时刻只能处理一个请求,在 HTTP/1.1 存在 Pipelining 技术可以完成这个多个请求同时发送,但是由于浏览器默认关闭,所以可以认为这是不可行的。在 HTTP2 中由于 Multiplexing 特点的存在,多个 HTTP 请求可以在同一个 TCP 连接中并行进行。

TCP 连接有的时候会被浏览器和服务端维持一段时间。TCP 不需要重新建立,SSL 自然也会用之前的。

有。Chrome 最多允许对同一个 Host 建立六个 TCP 连接。不同的浏览器有一些区别。

如果图片都是 HTTPS 连接并且在同一个域名下,那么浏览器在 SSL 握手之后会和服务器商量能不能用 HTTP2,如果能的话就使用 Multiplexing 功能在这个连接上进行多路传输。不过也未必会所有挂在这个域名的资源都会使用一个 TCP 连接去获取,但是可以确定的是 Multiplexing 很可能会被用到。

如果发现用不了 HTTP2 呢?或者用不了 HTTPS(现实中的 HTTP2 都是在 HTTPS 上实现的,所以也就是只能使用 HTTP/1.1)。那浏览器就会在一个 HOST 上建立多个 TCP 连接,连接数量的最大限制取决于浏览器设置,这些连接会在空闲的时候被浏览器用来发送新的请求,如果所有的连接都正在发送请求呢?那其他的请求就只能等等了

‘陆’ 【计算机网络】http协议的持久连接的非流水线方式和非持久连接有区别么

有区别。
非持续连接是每访问一个对象就要建立一次TCP连接,TCP连接的三次握手加上HTTP的响应报文总共所需时间是2RTT,文件传送结束后断开TCP连接。
而持续连接的非流水线方式特点是(既然是持续连接TCP连接就不断开),每访问一个对象要等到收到前一个响应后才能发出下一个请求,因此客户每访问一个对象要用去一个RTT时间。
综上,持续连接的非流水线方式比非持续连接节省了建立TCP连接的一个RTT时间。

阅读全文

与计算机网络持久连接相关的资料

热点内容
电脑以太网没有网络怎么回事 浏览:215
魅族手机总是跳出无网络服务 浏览:188
网络有钱的人都在哪里 浏览:553
电脑下载网络软件 浏览:109
扫描枪网络不好怎么办 浏览:981
移动网络电影收费 浏览:744
计算机网络技术组织机构 浏览:250
能发网络奖状的软件 浏览:335
武侯新城网络安全培训 浏览:162
为什么手机网络总显示不可用 浏览:969
路由器网络灯闪烁是因为什么 浏览:877
应用网络权限在哪里开启 浏览:331
钉钉为何出现网络异常 浏览:579
椒江税务局网络密码 浏览:966
如何练习无线网络连接 浏览:188
计算机网络科学出版社 浏览:869
手机怎么给移动网络限速 浏览:511
如何制止网络侵犯 浏览:434
手机网络共享总是断怎么回事 浏览:947
手机网络站点出现异常怎么办 浏览:509

友情链接