计网碎片内容

计网碎片内容

  • 1 基础概念小总结

    • 1.1 hub集线器

    • 1.2 交换机switch

    • 1.3 router路由

    • 1.4IP相关

      • 1.4.1 IPV4
      • 1.4.2 IPV6
  • 2 概念性解释

    • 2.1 CDN

    • 2.2 HTTP和HTTPS

      • HTTP的主要特点:
      • HTTP的基本工作流程:
      • 基本模式
      • HTTP的请求方法:
      • HTTP的状态码:
      • 安全性:
      • HTTPS的工作机制:
      • HTTPS的握手过程:
      • HTTPS的优点:
      • HTTPS的缺点:
    • 2.3 VPN

      • 2.3.1 VPN的工作原理:
      • 2.3.2 VPN的主要优点:
      • 2.3.3 VPN的类型:
      • 2.3.4 加密策略
    • 2.4 DNS

      • 2.4.1 DNS解析过程:
      • 2.4.2 DNS解析的类型:
      • 2.4.3 DNS的一些关键概念:
      • 2.4.4 DNS的安全问题:

1 基础概念小总结

check

让多个计算机之间相互通信

最开始是靠网线让每台设备之间互相连接,但是数量会呈指数级增长

1.1 hub集线器

专门用来转发消息的设备,多个计算机之间由一个hub连接,但是当某个计算机发送消息的时候,不知道哪个是目标设备,所以采用群发的方式,但是这样太蠢了,所有设备都接收消息。同时半双工工作,当一个机器在发送的时候,其他的所有机器只能等待

  1. image

1.2 交换机switch

  1. 会记录设备的唯一表示MAC物理地址,一般无法修改。交换机会将设备的MAC地址和端口号填入地址表,这样就可以点对点,全双工传输,提高带宽。
    同时支持桥接,两个交换机之间可以连接,交换机的端口会记录另一个交换机内部的所有机器为同一个端口,当传输的时候再进行转换​
  2. image
  3. 在局域网,小地方用,会比较好
  4. 记录的MAC一般几千到几万,数量不足;同时桥接过长的话,信号传输会很长

1.3 router路由

找出最优路径,管理来自多个网络的设备连接,使用IP进行表示。IP是临时的,只是便于使用,最终通信还是靠MAC。路由器中有路由表一一对应设备。后续通信也是一直靠路由器

  1. image

1.4IP相关

  1. 给每个电脑配置的数字的虚拟地址,为了方便找到,就像快递单上的地址一样。发送数据的时候带上这个地址就可以精准发送
  2. 小型局域网是靠交换机连接每个机器,但是越来越多的局域网会变成更大的局域网,每个小局域网之间也需要交换机连接
1.4.1 IPV4

note

232的数量,40多亿。每八个二进制转变为一个十进制

解决方法NAT,路由器相当于自己的网关,对应的ip到达网关,会变成另一个网关ip,然后发数据。以映射表发送,记录好原有ip。引入端口映射

此时各机器的ip就可看做私有ip,路由器的看作公网ip

image

1.4.2 IPV6

2的64次方,但是和IPV4的协议不同,无法直接互通,得做转换和映射

2 概念性解释

2.1 CDN

warn

对于数据的运输,本机和服务器之间的RTT可能过长影响效率,节点越多,阻塞和丢包的可能性也更多。所以解决方法之一是多开分店,备份多个服务器在世界各地,但是消耗也太多了。所以有了专门的人做这样的事情,Content Delivery Network,内容分发网络,由边缘服务器提供服务

是一种通过在地理位置分散的服务器上缓存内容来提高网站或网络应用性能和可靠性的技术。CDN的主要目的是减少内容传输的延迟,提高内容的访问速度,同时减轻原始服务器的负载。本质上是一种网络加速器。它通过在网络中增加多个缓存节点来加速内容的传输速度,从而提高用户访问网站或网络应用的体验。

CDN的工作原理如下:

  1. 内容缓存:当用户首次请求某个内容时,CDN会将该内容缓存到距离用户最近的节点上。
  2. 地理位置:CDN通过在全球范围内部署多个节点,确保用户可以从最近的节点获取内容,从而减少数据传输的时间。
  3. 负载均衡:CDN能够根据访问量和服务器负载情况,动态调整内容的分发,以优化性能。
  4. 冗余备份:CDN节点之间可以相互备份,当某个节点出现问题时,其他节点可以接管服务,保证内容的连续可用。

对于动态内容的获取,CDN通常采用以下方法:

  1. 动态内容缓存:对于某些动态内容,CDN可以配置为缓存经过某种形式处理的动态内容,例如,将动态生成的页面或数据转换为静态HTML页面进行缓存。

  2. 请求转发:对于完全动态的内容,CDN可以将用户的请求转发到原始服务器,获取内容后再返回给用户。这种方式虽然不能直接缓存内容,但可以利用CDN的地理位置优势减少延迟。

  3. 边缘计算:CDN节点可以执行一些轻量级的计算任务,例如,对动态内容进行初步处理或聚合,然后再将结果返回给用户。

  4. 应用层优化:通过优化应用层的请求,例如,减少不必要的请求、合并请求等,来提高动态内容的加载速度。

  5. 分发内容

    1. 静态:就是长期不需要改变的,比如布局,固定的图表等。存储的时间,状态,要不要存是靠源服务器在http表头存储的cache-control来判断的
    2. 动态:数据等
  6. 分发流程

    1. 源服务器把静态内容备份发给CDN->1push,所以当用户->2发送请求想要访问内容,CDN直接->3回应
    2. 如果没有备份,那么当用户->1发送请求想要访问内容,CDN->2pull拉取备份,然后->3回应
  7. 安全性和可靠性

    1. 会实时监测每个CDN的运行状态,如果有问题就直接由最近的CDN来提供服务即可
    2. 由任播的通信方式,每个CDN对外都有一个一致的IP地址,所以一旦此IP被发送请求,就由最近的CDN服务器来提供服务
    3. 帮助把文件进行最小化或压缩文件
    4. 减少费用,减少了对于源服务器的性能、带宽的占用

2.2 HTTP和HTTPS

HTTP,全称为超文本传输协议(Hypertext Transfer Protocol),是一种用于分布式、协作式、超媒体信息系统的应用层协议。它是万维网(World Wide Web)数据通信的基础,允许将超文本标记语言(HTML)文档从网络服务器传输到客户端的浏览器。

HTTP的主要特点:
  1. 简单易用:HTTP协议的语法简单,易于实现和使用。
  2. 无状态:HTTP协议是无状态的,这意味着每个请求都是独立的,服务器不会保存之前请求的状态。但使用cookie技术保存信息就可以暂时的有状态
  3. 请求-响应模型:HTTP通信是一个标准的客户端-服务器模型,客户端发送请求,服务器响应请求。
  4. 支持多种数据格式:HTTP协议支持传输多种类型的数据,如HTML、图片、视频、音频等。
  5. 灵活的传输方式:HTTP协议支持多种传输层协议,如TCP/IP。
HTTP的基本工作流程:
  1. 建立连接:客户端通过TCP/IP协议与服务器建立连接。
  2. 发送请求:客户端发送HTTP请求到服务器,请求包含请求方法、请求URI、协议版本和可选的请求头信息。
  3. 服务器处理:服务器接收到请求后,根据请求的内容进行处理,如查找资源、执行脚本等。
  4. 发送响应:服务器将处理结果以HTTP响应的形式发送回客户端,响应包括状态码、响应头和响应体。
  5. 关闭连接:客户端接收到响应后,可以根据需要关闭连接,或者保持连接以便于后续请求。
基本模式
  1. 请求报文和响应报文都有起始行,首部和主体
  2. 请求报文的起始行需要有方法,请求的URL,版本​;响应报文的起始行有版本,状态码,原因短语
  3. 首部分别是请求首部和响应首部。提供关于请求的附加信息,如用户代理(User-Agent)、接受类型(Accept)等。提供关于响应的附加信息,如内容类型(Content-Type)、内容长度(Content-Length)等。
  4. 主体就是传输的具体数据
  5. 在HTTP2中就没有起始行了,使用帧来传递信息
HTTP的请求方法:
  • GET:请求指定的资源。
  • POST:向指定资源提交数据进行处理请求(例如表单提交)。数据被包含在请求体中。
  • PUT:上传文件至服务器。
  • DELETE:删除指定的资源。
  • HEAD:与GET方法类似,但只返回响应头,不返回响应体。
  • OPTIONS:用于获取目的资源所支持的通信选项。
  • PATCH:对资源进行部分修改。
HTTP的状态码:

HTTP状态码用于表示服务器对请求的处理结果,常见的状态码有:

  • 1xx:信息性状态码,表示请求已被接收,需要继续处理。

  • 2xx:成功状态码,表示请求已成功被服务器接收、理解并接受。

    • 200 OK:请求成功。
  • 3xx:重定向状态码,表示需要后续操作以完成请求。

    • 301 Moved Permanently:永久重定向。
    • 302 Found:临时重定向。
  • 4xx:客户端错误状态码,表示请求包含错误或无法完成。

    • 400 Bad Request:请求错误。
    • 401 Unauthorized:未授权。
    • 404 Not Found:未找到。
  • 5xx:服务器错误状态码,表示服务器在尝试处理请求时发生错误。

    • 500 Internal Server Error:服务器内部错误。
    • 503 Service Unavailable:服务不可用。
安全性:

随着网络的发展,HTTP协议的安全性问题逐渐显现,例如数据在传输过程中可能被窃听或篡改。为了解决这些问题,HTTPS(HTTP Secure)被引入,它在HTTP的基础上通过SSL/TLS协议提供了加密、身份验证和数据完整性保护。

HTTP/1.1是当前广泛使用的HTTP版本,而HTTP/2和HTTP/3作为后续版本,引入了头部压缩、多路复用等特性,以进一步提高网络通信的效率和性能。

image

image


light

实际上http的报文传输的内容是明文的,很容易被盗取

HTTPS(超文本传输安全协议)是一种用于安全通信的网络协议,它是HTTP协议的安全版本,通过在HTTP下层使用SSL/TLS(安全套接层/传输层安全)协议来实现加密通信。HTTPS的主要目的是提供数据加密、身份验证和数据完整性保护,确保网络通信的安全性。

HTTPS的工作机制:
  1. 加密:HTTPS使用SSL/TLS协议对数据进行加密,确保数据在传输过程中不被窃听或篡改。

    1. 对称加密: 是一种加密方法,其中加密和解密过程使用相同的密钥。这意味着,如果你加密了一段数据,你需要使用相同的密钥来解密它。

      1. 速度较快:因为加密和解密的过程使用相同的算法和密钥,所以对称加密通常比非对称加密要快。
      2. 密钥分发问题:对称加密的主要问题是密钥分发。在通信双方之间安全地共享密钥是一个挑战,因为如果密钥在传输过程中被截获,加密就不再安全。
    2. 非对称加密: 也称为公钥加密,使用一对密钥:一个公钥和一个私钥。公钥可以公开给任何人,而私钥必须保密。

      1. 发送方使用接收方的公钥加密数据。
      2. 加密后的数据只能通过接收方的私钥解密。
      3. 以自己的私钥和公钥进行加密,然后把结果传过去。收到的信息也是经过对方的私钥和公钥加密的,如果要解密的话就是以自己的私钥和收到的信息进行解密,这样才能得到真正的内容
  2. 身份验证:通过使用数字证书,HTTPS可以验证服务器的身份,防止中间人攻击(MITM)。

  3. 数据完整性:SSL/TLS协议提供了消息完整性检查,确保数据在传输过程中未被篡改。

HTTPS的握手过程:
  1. 客户端发起请求:用户通过浏览器发起对服务器的HTTPS请求。
  2. 服务器发送证书:服务器响应客户端的请求,并发送其SSL证书,该证书通常由受信任的证书颁发机构(CA)签发。
  3. 证书验证:客户端(浏览器)验证服务器的SSL证书是否有效,包括证书是否过期、证书颁发机构是否可信等。
  4. 密钥交换:如果证书验证通过,客户端和服务器将使用SSL/TLS协议协商出一个会话密钥,用于加密和解密后续通信的数据。
  5. 加密通信:客户端和服务器使用会话密钥对数据进行加密,然后通过安全的连接发送和接收数据。
  6. image
HTTPS的优点:
  • 安全性:通过加密,HTTPS保护了用户的隐私和敏感数据,防止数据泄露。
  • 信任:通过身份验证,HTTPS确保用户连接的是他们预期的服务器。
  • 搜索引擎优化:Google等搜索引擎优先考虑使用HTTPS的网站,因为它们提供了更安全的用户体验。
  • 合规性:对于需要遵守数据保护法规的企业和组织,HTTPS是必需的。
HTTPS的缺点:
  • 性能开销:SSL/TLS握手和加密/解密过程会消耗更多的计算资源,可能导致性能略有下降。
  • 配置复杂性:需要购买和配置SSL证书,对于一些非技术用户来说可能较为复杂。
  • 成本:虽然现在有许多免费证书颁发机构(如Let's Encrypt),但传统的商业证书仍然需要一定的费用。

2.3 VPN

info

为了就是保密。允许用户通过互联网建立一个加密的、安全的连接到另一个网络。VPN可以用于多种目的,包括保护数据传输、访问远程资源、绕过地理限制等。

加密->保持完整->认证

2.3.1 VPN的工作原理:
  1. 建立连接:用户设备(如电脑或手机)上安装VPN客户端软件,并通过互联网连接到VPN服务器。
  2. 身份验证:用户通过输入用户名和密码,或者使用证书等方式,对VPN服务器进行身份验证。
  3. 加密隧道:一旦身份验证成功,VPN客户端和服务器之间建立一个加密的隧道。这个隧道使用强加密算法(如AES)来保护数据传输的安全。
  4. 源地址ip会改为和vpn服务器相同的ip,从而进行ip判断上的保护隐私,其他人不知道源ip
  5. 数据传输:用户的所有网络流量都通过这个加密隧道传输,从而确保数据在传输过程中的安全和隐私。
  6. 有全隧道和半隧道,所有的数据都走vpn就是全,否则就是半
  7. 访问远程资源:通过VPN连接,用户可以访问位于VPN网络内部的资源,就像他们直接连接到该网络一样。
  8. 结束连接:用户可以随时断开VPN连接,结束加密隧道。
2.3.2 VPN的主要优点:
  • 安全性:VPN通过加密技术保护数据传输,防止数据被窃听或篡改。
  • 隐私保护:VPN隐藏用户的IP地址,保护用户的网络活动不被追踪。
  • 远程访问:VPN允许用户访问公司或学校的内部网络,实现远程工作或学习。
  • 绕过地理限制:VPN可以让用户连接到世界任何地方的服务器,从而访问受地理限制的内容。
  • 防止网络审查:在某些国家或地区,VPN可以用来绕过网络审查,访问被封锁的网站。
2.3.3 VPN的类型:
  1. 企业VPN:由公司提供,用于员工远程访问公司内部网络资源。
  2. 个人VPN:由VPN服务提供商提供,用户购买服务后可以连接到VPN服务器,用于个人用途。
  3. 开放式VPN:允许任何人免费使用,但安全性和隐私保护可能不如付费VPN服务。
  4. 点对点VPN:用户之间直接建立VPN连接,不需要通过中央服务器。
2.3.4 加密策略
  1. SSL/TLS:在表示层进行加密,针对客户端/站点
  2. IPsec就是ip加密,在网络层就可以加密

2.4 DNS

check

DNS(域名系统,Domain Name System)是互联网上用于将域名转换为IP地址的系统。它允许用户通过易于记忆的域名(如 www.example.com​)来访问网站,而不需要记住复杂的IP地址(如 192.0.2.1​)。DNS本质上是一个分布式数据库,存储了域名和IP地址的映射关系。

2.4.1 DNS解析过程:
  1. 用户输入域名:当用户在浏览器中输入一个网址或点击一个链接时,浏览器需要将域名解析为IP地址。
  2. 递归查询:浏览器首先查询本地DNS缓存,看是否已经有了该域名的IP地址。如果没有,浏览器会向配置的本地DNS服务器发起查询。
  3. 根服务器查询:如果本地DNS服务器也没有该域名的记录,它会向上查询根DNS服务器。
  4. 顶级域服务器查询:根服务器知道顶级域(TLD,如.com、.org)服务器的地址,并将查询请求转发到相应的顶级域服务器。
  5. 权威DNS服务器查询:顶级域服务器知道负责该域名的权威DNS服务器的地址,并将查询请求转发过去。
  6. 获取IP地址:权威DNS服务器拥有域名到IP地址的映射关系,它会将查询结果返回给本地DNS服务器。
  7. 缓存结果:本地DNS服务器将IP地址返回给用户,并可能将其缓存起来,以便未来更快地响应相同的查询。
  8. 建立连接:浏览器得到IP地址后,就可以通过这个IP地址与目标服务器建立连接,并请求网页内容。
2.4.2 DNS解析的类型:
  • 迭代查询:客户端向一个DNS服务器发出请求,如果该服务器没有响应,客户端再向另一个服务器发出请求,直到获得结果。
  • 递归查询:客户端向一个DNS服务器发出请求,该服务器负责向其他服务器查询,直到获得结果,然后返回给客户端。
2.4.3 DNS的一些关键概念:
  • DNS记录:DNS数据库中的条目,包括A记录(将域名映射到IPv4地址)、AAAA记录(映射到IPv6地址)、CNAME记录(域名别名)、MX记录(邮件服务器地址)等。
  • TTL:生存时间(Time to Live),DNS记录在DNS服务器上缓存的时间。
  • DNS缓存:为了提高效率,DNS查询结果会在本地或ISP的DNS服务器上缓存一段时间。
2.4.4 DNS的安全问题:
  • DNS劫持:恶意更改DNS记录,导致用户被重定向到错误的网站。
  • DNS污染:通过篡改DNS响应来阻止用户访问某些网站。

image

image

image

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值