不同的app进行相同的http请求时,为什么互不干扰

1、当手机上的两个app同时发起对一个服务请求时

一个应用发起HTTPS请求时,操作系统会为该连接分配一个临时的端口号,也就是源端口。即便两个应用请求相同的服务器和端口(比如:IP地址为123.123.123.123的服务器的443端口),每个应用的请求都会有一个独特的源端口号,使得返回的数据可以根据端口号被路由到正确的应用程序。这个过程如下所述:

  1. App A 发起请求:App A 想要与服务器上的某个HTTPS服务通信,它发送一个从手机的随机端口(例如:50000)到服务器的443端口的TCP连接请求。

  2. App B 发起请求:同时,App B 也想要与相同的服务器上的HTTPS服务通信,所以它同样发起一个连接请求,同时系统给App B分配了另一个端口,例如:50001。

  3. TCP四元组唯一性:现在有两个不同的连接,它们通过源端口进行区分:

    • App A 的连接四元组:源IP:手机IP地址, 源端口:50000, 目的IP:服务器IP地址, 目的端口:443
    • App B 的连接四元组:源IP:手机IP地址, 源端口:50001, 目的IP:服务器IP地址, 目的端口:443
  4. 服务器处理并响应:服务器接收到这两个来自不同源端口的请求并分别处理它们。当它发送响应回去时,它会使用正确的源/目的端口对来确保响应发给了发起请求的应用。

  5. 操作系统路由响应:当响应到达手机时,操作系统检查TCP头信息中的目的端口,并将数据包路由至之前发起该请求的应用。所以App A会接收到发往端口50000的数据;App B会接收到发往端口50001的数据。

通过这种方式,每个应用会接收到自己的数据,即使它们都连接到同一服务器的同一服务端口。因此,TCP协议通过端口和IP地址的组合确保了对每个应用或进程的准确通信,使得多个网络应用可以同时在同一设备上运行而不会造成数据交付的混乱。

HTTP服务通常监听端口80;HTTPS服务监听端口443

2、信过程中IP地址和端口的作用

  • 现在让我们看一个具体的例子,一个服务器上的网页服务(通常运行在端口80或443)和客户端设备上的网页浏览器之间的通信:

  • 客户端知道服务端IP和端口
    客户端浏览器知道服务器的IP地址和提供网页服务的端口号(假设是443)。这可以通过域名系统(DNS)获得,其中浏览器将域名解析为服务器的IP地址。

  • 客户端发送请求
    浏览器向服务器的IP地址发送HTTP请求,并指明目的端口号443。

  • 服务端接收和响应
    服务器在端口443上监听。它接收到请求,处理该请求,并发送包含所请求网页内容的HTTP响应回客户端。

  • 服务端使用客户端的端口
    当服务器发送数据回客户端时,它会使用客户端操作系统随机分配给浏览器进程的临时端口号。这个端口号在请求时会告诉服务器,并用来确保响应被送回到发起请求的正确应用程序。

  • 通过这样的机制,IP地址确定了网络包的目的设备,而端口号确定了该设备上的哪个程序或进程应该接收该包。这样即使在同一IP地址下运行着多个网络服务,数据也可以被准确地交付给特定的服务。

3、在局域网内自动为设备分配IP地址

在局域网内自动为设备分配IP地址,通常是通过一个叫做动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)的网络管理协议来完成的。

为了实现自动IP地址分配,网络上需要有一个DHCP服务器。在多数家庭和小型企业网络中,这个服务器通常是内置于路由器中的。

这整个过程允许设备加入网络而无需任何手动配置,并可在网络结构变化时动态适应。此外,DHCP服务器通常能够为每个设备预留固定的IP地址(基于设备的MAC地址),这被称为DHCP地址保留。这样可以确保某些设备每次都能够获得相同的IP地址,这对于需要固定IP地址的服务器或打印机等设备来说非常有用(或者通过网关限制浏览某些网页)。

这就是你入职公司,为什么连接网络时,让你提供MAC地址了。

4、网关

局域网(LAN)网关

局域网网关通常是指连接局域网到其他网络的设备,最典型的场景就是连接到因特网。在家庭或者小型办公室环境中,路由器通常充当局域网的网关。局域网网关的职责包括:

  • 路由:网关作为路由器设备,将局域网中的设备与外部网络相连。它负责决定数据包从本地设备到其他网络的路由路径,例如从你的计算机到因特网上的服务器。
  • NAT(网络地址转换):网关在将私有IP地址的流量传输到公网前,会执行NAT转换,将私有地址替换为公网地址。它还管理多个设备共用一个公网IP地址的连接状态。
  • 防火墙功能:为局域网提供一定的安全保护,防止未授权访问和各种网络攻击。
  • DHCP(动态主机配置协议):自动为局域网内的设备分配IP地址。

广域网(WAN)网关

广域网网关一般用于较大的网络环境,如企业网或服务提供商的网络,它连接的是两个或更多的广域网络。广域网网关通常用于网络的边缘,有时被称为边界网关或边缘路由器。WAN网关的重要职责包括:

  • 复杂路由:执行复杂的路由协议,确保数据包在广大的复杂网络中能正确传输至目的地。
  • 协议转换:在必要情况下,WAN网关可能需要在不同的网络协议之间转换数据格式。
  • 带宽管理:对通过网关的数据流量进行控制和优化,以确保网络的效率和公平性。
  • 高级安全功能:执行更高级的安全协议,如VPN连接(虚拟私人网络)和入侵检测系统(IDS)等。

简言之,局域网网关主要处理局域网络的内部设备与外部网络之间的交互,而广域网网关则处理更大规模的网络之间的连接和数据传输。两者在不同的网络环境中各自发挥重要的作用,保证了网络的流畅通信和信息的安全性。

形象化解释网关

网关在计算机网络中对应的实体可以是一个硬件设备,也可以是软件程序。要形象化解释网关,可以将其比喻为一个多功能的门卫或邮局,它位于不同网络或网络区域的入口/出口处,管理和监控出入的所有数据传输。下面我将通过一些形象的比喻来解释网关的职责:

作为门卫:

想象一座拥有大量房间(服务器)的大楼,而网关就像是大楼的主门卫(设备/程序)。所有想要进入大楼(发送给服务器)和离开大楼(来自服务器的响应)的人(数据包)都必须经过这位门卫。

  • 加密和解密:门卫负责确认访客的身份,给访客提供一把只有他们和房间里的人知道的特殊钥匙(加密密钥),以确保外人无法理解他们之间的对话(数据加密)。
  • SSL/TLS 终止:所有外来的访客都必须经过门卫处的安全检查,而屋内人员不需要做这项检查(SSL终点)。
  • 身份认证和安全:门卫有责任检查每一个人的凭证,只允许有准入权的人进入,同时防止可疑行动或未经邀请的客人(安全和身份验证)。

作为邮局:

另一个形象化的例子是邮局,网关就像一个处理发出和收到的邮件(数据包)的邮局。

  • 反向代理和缓存:邮局有可能已经存储了一些常见的信件内容(网站资源缓存),当收到客户询问时,邮局可以直接提供这些信息,而不是再去请求远处的房间(服务器)。
  • 负载均衡:如果有大量的信件(网络流量)要发送到相同的地址(服务器群),邮局可以决定将它们分发给多个处理窗口(后端服务器),以此提高处理速度和效率。

综上所述,无论是门卫还是邮局,网关在网络世界中都扮演着类似保护和服务的角色,它负责确保数据的安全性、数据的合理分配,并为数据的顺利传输提供便利条件。

那么试试理解一下下面的话。

HTTPS网关是一种网络节点,它充当了HTTP/HTTPS流量的中介机制,处理客户端(如浏览器)和服务器之间的加密通信。它在实际服务器和客户端之间创建了一个安全的传输层(TLS),确保数据的安全性、隐私性和数据完整性。HTTPS网关的主要功能如下:

加密和解密

HTTPS网关负责对进出的流量进行加密和解密。当客户端的请求到达网关时,该请求通常使用SSL或TLS协议进行加密。当HTTPS网关收到请求后,它将其解密并可能以HTTP形式将请求转发到目标服务器。类似地,当它从服务器收到响应时,HTTPS网关会再次加密响应,然后将加密的数据发送回客户端。

SSL/TLS 终止

通常情况下,HTTPS网关是SSL/TLS连接的终点。这意味着客户端与网关之间的连接使用HTTPS,而网关与内网服务器之间的连接可能只使用HTTP(如果环境被视为安全的话)。在这种情况下,HTTPS网关被称为SSL终止代理或SSL终点,它负责处理与SSL/TLS证书相关的所有工作。这也减轻了内部服务器的计算压力,因为它们不必处理加密工作负载。

身份认证和安全

HTTPS网关可以强制实施安全策略,比如验证客户SSL证书、执行访问控制、进行DDoS防御等。它可以检查进来的请求,确保只有合法的访问能到达服务器。

负载均衡

HTTPS网关还可以执行负载均衡的功能,将流量分配给后端的多个服务器,提高网站的可靠性和性能。

反向代理和缓存

HTTPS网关有时也作为反向代理使用,它可以缓存内容,减少服务器的工作负载,并提供更快的响应速度给终端用户。

简言之,HTTPS网关是硬件或软件的形式,提供了一个安全的网关,它加密和解密数据,保护信息不被未经授权访问,同时也提供了网络流量管理和性能优化的功能。在今天的网络架构中,HTTPS网关是保障数据传输安全和网站稳健运行的关键组件之一。

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值