sejwy

导航

网络知识集锦

1、TCP/IP网络模型:

  • 应用层:为用户提供应用功能,不用去关心数据是如何传输的。
  • 传输层:为应用层提供网络支持。传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用。传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用的。
  • 网络层:网络层负责将数据从一个设备传输到另一个设备。IP地址分为网络号和主机号。IP协议生成的IP头部中包含了源、目的地址,IP协议的主要作用是:通过子网掩码实现IP地址分配和、IP地址寻址和路由。
  • 网络接口层:负责在IP头部前加上MAC头部并封装成数据帧。以太网是一种在「局域网」内,把附近的设备连接起来,使它们之间可以进行通讯的技术。MAC 头部是以太网使用的头部,它包含了接收方和发送方的 MAC 地址等信息,通过ARP协议可以获取接收方的MAC地址。网络接口层主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi这样的底层网络上发送原始数据包,工作在网卡这个层次,使用MAC地址来标识网络上的设备。

2、ARP协议:

地址解析协议(Address Resolution Protocol,ARP):ARP协议可以将IPv4地址转换为各种网络所需的硬件地址。换句话说,所谓的地址解析的目标就是发现逻辑地址与物理地址的映射关系。 ARP仅用于IPv4协议,IPv6使用邻居发现协议(NDP)替代。ARP协议目前最广泛应用于寻找32位IPv4地址与以太网的48位MAC地址之间的映射

  • 物理地址与IP地址:在TCP/IP分层体系结构中,数据链路层和物理层使用的地址是物理地址。而网络层、传输层和应用层使用的地址是IP地址(逻辑地址)。IP地址提供了更高层次的抽象,将不同的物理地址抽象为统一的逻辑地址。
  • ARP工作原理:ARP协议主要依赖ARP高速缓存(ARP cache)。ARP高速缓存就是一个映射表,它记录了IP地址和物理地址的映射关系,每一台主机和路由器都设有ARP高速缓存。高速缓存记录的映射表不是一开始就有的,需要通过广播ARP请求分组来获取。ARP请求分组有3个重要信息:源IP地址、源物理地址、目的IP地址。根据这三项来广播查询目的物理地址。
  • 工作流程:
    • APR请求:当主机 A 需要向主机 B 发送数据时,首先会在自己的 ARP 缓存表中查找主机 B 的 MAC 地址。如果缓存表中不存在相应信息,主机 A 会在局域网内广播一个 ARP 请求数据包。该 ARP 请求数据包的帧头中的目的 MAC 地址为广播地址 FF-FF-FF-FF-FF-FF,表示向局域网中的所有主机发出询问
    • ARP响应:局域网内的所有主机都会接收到主机 A 发送的 ARP 请求数据包,接收到请求的主机会检查该数据包中的目标 IP 地址是否与自己的 IP 地址相同。如果不相同,则该主机将不会响应该 ARP 请求报文。如果相同,则会向主机 A 发送一个 ARP 响应数据包
    • ARP缓存:主机 A 收到 ARP 响应后,会将主机 B 的 IP 地址与 MAC 地址的映射关系存储在自己的 ARP 缓存表中,同时也会将 ARP 报文中的主机B的MAC 地址和 IP 地址记录下来。ARP 缓存条目都有一个有效期,通常为 10 到 20 分钟,如果超过有效期还没有使用,系统就会自动删除那些 “陈旧” 的条目
    • ARP代理:在一些跨网段的通信场景中,如果路由器启用了代理 ARP 功能,当路由器收到主机 A 发送的 ARP 请求时,会查找路由表如果存在主机 B 的路由表项,路由器将会使用自己的某个接口的 MAC 地址回应该 ARP 请求。主机 A 收到 ARP 回复后,将以路由器的该接口 MAC 地址作为目的 MAC 地址进行数据转发。
  • 使用ARP协议的4种不同情况:
    • 如果源主机和目的主机在一个网络中,源主机直接通过ARP协议寻找目的主机的物理地址。即情况1:源主机直接通过ARP协议寻找同一个网络下目的主机的物理地址。(ARP 广播是通过交换机进行传播的。当一个设备(如主机)发送 ARP 广播请求时,它会将数据包发送到连接它的交换机端口。ARP 广播是通过交换机进行传播的。当一个设备(如主机)发送 ARP 广播请求时,它会将数据包发送到连接它的交换机端口。)

    • 如果源主机和目的主机不在一个网络中,就必须通过路由器路由。通过查找路由表,将目的主机的IP地址转换为下一跳的IP地址。再通过ARP协议,将下一跳的IP地址转换为对应的物理地址。细分有三种情况:

  • 情况2:源主机和目的主机不在一个网络中,并且目的主机所在网络可以通过路由器一次转发到达。源主机不知道下一跳路由器的物理地址(MAC 地址),所以通过 ARP 请求来获取下一跳路由器的 MAC 地址,然后将数据发送给路由器,由路由器进行转发。
  • 情况3:路由器和目的主机在同一个网络但不在同一个广播域中。当路由器收到发往该目的主机的数据时,路由器需要找到目的主机的物理地址才能将数据转发给目的主机。路由器会在它所连接的网络中通过 ARP 请求来寻找目的主机的 MAC 地址,找到后就可以将数据发送给目的主机了。
  • 情况4:路由器和目的主机不在同一个网络中并且从当前路由器到目的主机需要经过多个路由器的转发。当前路由器 A 需要找到下一跳路由器 B 的物理地址才能将数据转发给下一跳路由器。此时,路由器 A 会通过 ARP 请求来寻找下一跳路由器 B 的 MAC 地址,找到后将数据转发给路由器 B,路由器 B 再重复类似的操作,直到数据到达目的主机所在的网络,最后由该网络中的路由器找到目的主机的 MAC 地址并将数据发送给目的主机。
  •  ARP报文:

    • 硬件类型(16bit):指定运行ARP协议的物理网络类型,ARP协议可以运行在任何物理网络上。以太网是类型1。
    • 协议类型(16bit):指定高层协议的类型。ARP可用于任何高层协议。IPv4协议的值为0x0800。
    • 硬件长度(8bit):义物理地址的长度,以字节为单位。对于以太网,该值为6字节。
    • 协议长度(8bit):表示协议地址(如 IP 地址)的长度,单位是字节。
    • 操作(16bit):定义分组类型,目前常用2种。ARP请求分组和ARP响应分组。
    • 发送方硬件地址(可变长度)
    • 发送方协议地址(可变长度)
    • 接收方硬件地址(可变长度)
    • 接收方协议地址(可变长度)

 3、DNS域名解析:

因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,就是域名(Domain Name)。在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理。

  • DNS域名层级:DNS域名使用句点来分隔 "." ,在域名中,越靠右的位置表示其层级越高。

    • 根域:位于域名层级结构的最顶端,用一个点 “.” 来表示,它总是位于域名的最右边位置,通常是被省略的。它是整个域名系统的基础,所有的域名都源于根域。
    • 顶级域:根域下的第一层域名,分为通用顶级域(gTLD)国家和地区顶级域(ccTLD)新通用顶级域(new gTLD)
      • 通用顶级域(gTLD):例如.com(商业机构)、.org(非营利组织)、.net(网络服务机构)、.edu(教育机构)等。这些域名没有地域限制,被全球范围内的相关机构广泛使用。
      • 国家和地区顶级域(ccTLD):由两个字母组成,代表不同的国家或地区,如.cn(中国)、.us(美国)、.jp(日本)等。这些域名主要供相应国家或地区内的机构和个人使用。
      • 新通用顶级域(new gTLD):近年来新推出的顶级域,包括.biz(商业)、.info(信息)、.name(个人)等,以及一些更具特色的顶级域,如.app(应用程序)、.blog(博客)等,为用户提供了更多的域名选择。
    • 二级域:位于顶级域的下一层,是用户可以注册和使用的主要域名部分。例如,在域名 “baidu.com” 中,“baidu” 就是二级域,它是由域名注册者根据自己的需求选择和注册的。二级域通常代表一个特定的组织、公司、品牌或个人,是域名中最具辨识度的部分。
    • 子域:子域是二级域或更下层域名的进一步细分。例如,“mail” 就是 “baidu.com” 的一个子域,它通常用于区分组织内不同的服务或部门。子域可以根据组织的需求无限扩展每个子域都可以对应不同的 IP 地址或服务器,用于提供特定的服务
  • 域名解析过程:(参考小林coding)

  • DNS 域名缓存机制:
    • 客户端缓存:当客户端向 DNS 服务器发送域名解析请求并获得结果后,会将域名与对应的 IP 地址信息存储在本地缓存中。第一次解析域名后,后续在缓存有效期内再次访问相同域名时,客户端会直接从本地缓存中获取 IP 地址,而无需再次向 DNS 服务器发送请求。不同操作系统的客户端缓存时间可能有所不同,一般在几分钟到数小时之间,可由用户或系统管理员进行一定程度的配置。(浏览器访问域名时会先检查自身缓存,若无则询问操作系统,操作系统先查看自身缓存,若没有再查看 hosts 文件,若都没有则向本地 DNS 服务器请求。)
    • 本地DNS服务器缓存:本地 DNS 服务器在接收到客户端的域名解析请求后,如果在其缓存中存在对应的域名解析记录,就会直接将结果返回给客户端。本地 DNS 服务器会缓存大量经常被访问的域名信息,缓存时间通常也有一定的设置,比如可能是几个小时到一天不等。当缓存中的记录过期时,本地 DNS 服务器会重新向其他 DNS 服务器查询最新的域名解析信息
    • 缓存的更新与管理:为了保证缓存信息的准确性,DNS 服务器会根据域名的生存时间(TTL)来管理缓存。当缓存中的域名记录接近 TTL 过期时间时,DNS 服务器可能会提前向权威 DNS 服务器验证记录的有效性,或者在收到新的查询请求时进行更新。如果域名的 IP 地址发生变化,权威 DNS 服务器会更新其记录,而其他缓存该域名的 DNS 服务器和客户端在下次查询或缓存过期后也会获取到新的解析结果,从而确保域名解析始终指向正确的 IP 地址,维持互联网的正常运行。

4、协议栈:

也叫网络协议栈,是指计算机网络体系结构中各层协议的总和。在操作系统中,协议栈是实现网络通信功能的重要组件。它类似于一组嵌套的软件层,每一层都为上一层提供服务,并使用下一层的服务来实现网络数据的传输、处理和接收

  • Socket库是应用程序(如浏览器)与协议栈之间的接口:当浏览器中输入一个网址并按下回车键时,浏览器(应用程序)需要通过网络获取该网页的内容。浏览器并不直接处理网络连接、数据传输等底层操作,而是调用 Socket 库中的函数来完成这些操作。例如,浏览器会调用 Socket 库中的connect()函数来建立与目标服务器的连接,实质上则是通过这个函数向操作系统的协议栈发出请求,要求协议栈进行 TCP 连接的建立操作。操作系统协议栈接收到这个请求后,会执行 TCP 三次握手等操作来建立连接。
  • 协议栈的上半部分是负责收发数据的TCP、UDP协议,这两个传输层协议会接收应用层的委托并执行收发数据的操作;下半部分是用IP协议控制收发网络包,在互联网上传数据时,数据会被切分成一块块的网络包,而将网络包发送给对方的操作就是由 IP 负责的。
  • IP块中包含ICMP协议和ARP协议:
    • ICMP 用于告知网络包传送过程中产生的错误以及各种控制信息。
    • ARP 用于根据 IP 地址查询相应的以太网 MAC 地址。
  • IP下面的网卡驱动程序负责控制网卡硬件,而最下面的网卡则负责完成最实际的收发操作,也就是对网线中的信号执行发送和接收操作。

5、TCP协议:

  • TCP包头格式: 
    • 状态位:SYN(同步序列编号:用于创建连接)、ACK(确认)、PSH(传送:当 PSH=1 时,提示接收方应该尽快将这个报文段交给应用层,而不必等到整个缓冲区都填满后再交付,常用于实时性要求较高的数据传输场景)、RST(重置:表示出现了错误或异常情况,需要重置连接)、URG(紧急:当 URG=1 时,表示该报文中包含紧急数据,通知接收方优先处理紧急数据)、FIN(结束:请求关闭连接)。
    • 窗口大小:用于流量控制,通信双方各声明一个窗口(缓存大小),标识自己当前能够的处理能力,避免撑死饿死。
  • 三次握手:双方计算机里维护一个状态机,随着连接建立过程,双方发生状态变化。三次握手的目的主要是保证双方都有接收和发送的能力

6、多播(组播):

用于将包发送给特定组内的所有主机。

  • 多播可用地址范围:从 224.0.0.0 ~ 239.255.255.255 都是多播的可用范围,其划分为以下三类:
    • 224.0.0.0 ~ 224.0.0.255 为预留的组播地址,只能是在局域网中使用,路由其不会对其转发。
    • 224.0.1.0 ~ 238.255.255.255 为用户可用的组播地址,可以用于Internet上。
    • 239.0.0.0 ~239.255.255.255 为本地管理组播地址,可供内部网络在内部使用,仅在特定的本地范围内有效。

7、CIDR无分类地址:

32 比特的 IP 地址被划分为两部分,前面是网络号,后面是主机号。

8、NAT协议:

将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信。NAT的使用是为了解决公网IP有限及局域网安全性的问题。

  • 内网地址来源:内网地址通常由 DHCP 服务器 动态分配,也可以手动静态配置。其范围为:
    • A 类:10.0.0.0 - 10.255.255.255              适用于大型网络
    • B 类:172.16.0.0 - 172.31.255.255          适用于中型网络
    • C 类:192.168.0.0 - 192.168.255.255      适用于小型网络
  • 端口号的来源:端口号用于标识主机上的不同服务或会话,其范围为:
    • 0 ~ 1023 :知名端口,用于特定的网络服务,如 80 端口用于 HTTP 服务,21 端口用于 FTP 服务等。
    • 1024 ~ 49151 :注册端口,由应用程序开发者自行分配使用,用于特定的应用程序或服务。
    • 49152 ~ 65535 :动态端口,由操作系统动态分配给客户端程序,主要用于客户端程序临时使用。

  • 工作原理:NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关,且网络访问只能先由私网侧发起,公网无法主动访问私网主机;NAT网关的存在对通信双方是保持透明的。为了实现双向翻译的功能,需要维护一张关联表,把会话的信息保存下来。
  • 静态NAT:把 一个私有地址 固定映射到 一个公有地址,是一种一对一映射的关系。一个公网 IP 只会分配给一个内网设备,不会共享。适用于需要对外提供服务的设备,比如公司的 Web 服务器、邮件服务器等,需要固定的公网 IP 供外部访问。
  • 动态NAT:基于地址池来实现私有地址和公有地址的转换。通过事先预置一个公网地址池,使用时公网地址与内网地址是动态分配的,网关会记录其映射关系,无法节约公网IP。
  • NATP:将 IP 地址 + 端口号一起进行转换。
    • 全锥型:来自同一个内部设备身份标签(内部 Tuple X)的所有向外发送的请求,都会被NAT统一转换成同一个外部网络的身份标签(外部 Tuple Y),而且这个转换不管这些请求是来自设备上的同一个软件,还是不同的软件。但是当X-Y的转换关系建立之后,任意外部主机均可随时将Y中的地址和端口作为目标地址和目标端口,向内部主机发送UDP报文,由于对外部请求的来源无任何限制,因此这种方式虽然足够简单,但却不那么安全。同一内网中的两个私有IP,经过NAT转换为公有IP后通过端口号来区分。
    • 受限锥形:所有来自同一个内部Tuple X的请求均被NAT转换至同一个外部Tuple Y,但只有当内部主机曾经发送过报文给外部主机(假设其IP地址为Z)后,外部主机才能以Y中的信息作为目标地址和目标端口,向内部 主机发送UDP请求报文,这意味着,NAT设备只向内转发(目标地址/端口转换)那些来自于当前已知的外部主机的UDP报文,从而保障了外部请求来源的安 全性。(其限制可以理解为:限制从未通信过的外部主机主动向内部设备发起通信)
    • 端口受限锥形:在受限锥型 NAT 中,只要内部主机曾经发送过报文给某个外部主机(假设其 IP 地址为 Z),外部主机 Z 就能以外部 Tuple Y 中的信息作为目标地址和目标端口,向内部主机发送 UDP 请求报文。而在端口受限锥型 NAT 中,不仅要求外部主机的 IP 地址是内部主机之前通信过的,还要求外部主机使用的端口号必须是内部主机之前发送报文时对方使用的端口号
    • 对称型:转换关系的建立是基于源(内部主机)和目标(外部主机)的组合来确定的。它不是仅仅根据内部主机自身的标识(内部 Tuple)来决定转换后的外部 Tuple,而是要综合考虑内部主机向哪个外部主机发送请求,这hi是一种一对一的映射关系。
  • NAT协议与DHCP协议的关系:NAT 路由器需要有一个专属的公网地址用于和外网通信,而这个地址是由网络服务提供商(ISP)的DHCP 服务器来分配的。

9、正向代理与反向代理:

  • 正向代理是一个位于客户端和目标服务器之间的服务器,客户端并不直接访问目标服务器,而是先访问代理服务器,由代理服务器代替客户端去访问对应的目标服务器,并将目标服务器的响应结果返回给客户端。代理客户端,为客户端收发请求,使真实客户端对服务器不可见。通过正向代理可以实现:提高访问速度、访问控制、内容过滤(根据预设的规则对请求或响应进行过滤,如屏蔽广告、阻止恶意网站等)、隐藏客户端身份。
  • 反向代理:反向代理服务器是一种网络架构模式,其作为Web服务器的前置服务器,接收来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回给客户端。对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置。通过反向代理可以实现负载均衡(根据所有真实服务器的负载情况,将客户端请求分发到不同的真实服务器上)、提高访问速度、提供安全保障(反向代理服务器可以作为应用层防火墙,为网站提供对基于web的攻击行为;还可以为后端服务器统一提供加密和SSL加速(如SSL终端代理),提供HTTP访问认证等)、隐藏服务器真实IP。

10、ICMP(互联网控制报文协议):

用于IP 协议中发送控制消息。有两个主要功能:第一个功能是确认 IP 包是否能够成功到达目标地址。(当一个设备发送 IP 包给另一个设备时,如果 IP 包没有成功到达目标设备,网络中的某个设备(通常是中间设备,如路由器,或者目标设备本身)会生成一个 ICMP 数据包将 IP 包传输失败的消息反馈给源设备。)第二个功能是进行网络诊断,经常使用 ICMP 数据包的两个终端程序是 ping 和 traceroute,traceroute 程序用于显示两台互联网设备之间可能的路径并测量数据包在 IP 网络上的时延。ping 程序是 traceroute 的简化版本,我们经常使用 ping 命令来测试两台设备之间网络是否正常,ping 还可以显示两台设备之间的延迟情况,并准确报告数据包到达目的地并返回后所花费的时间。

  •  ICMP 数据包的具体通知类型:

    信息类报文包括回送请求和回送应答(类型 8 和 类型 0 ),路由器公告和路由器请求(类型 9 和 类型10 )。最常见的差错报文类型包括目标不可达(类型 3 )、重定向(类型 5)、超时(类型 11)。

    • ICMP重定向消息:如果路由器发现发送端主机使用了次优的路径发送数据,那么它会返回一个 ICMP 重定向的消息给这个主机。这个 ICMP 重定向消息包含了最合适的路由信息和源数据
    • ICMP超时消息:在 IP 数据包中有一个叫做 TTL,它的值在每经过路由器一跳之后都会减 1,IP 数据包减为 0 时会被丢弃。此时,IP 路由器会发送一个 ICMP 超时消息发送给主机,通知该包已经被丢弃
    • ICMP回送消息:用于判断相互通信的主机之间是否连通,也就是判断所发送的数据包是否能够到达目标主机。可以向对端主机发送回送请求的消息,也可以接收对端主机发送来的回送消息。网络上最常用的 ping 命令就是利用这个实现的。
    • ICMP源点抑制消息:用于应对低速网络下的网络拥堵情况,当路由器向低速线路发送数据时,其发送队列的残存数据报变为 0 从而无法发送时(解释:路由器是按照一定的节奏和速率从发送队列中提取数据报进行发送的,但因为低速路线,数据包迟迟未到达路由器,无数据可发),可以向 IP 数据报的源地址发送一个 ICMP 源点抑制 消息,收到这个消息的主机了解到线路某处发生了拥堵,从而抑制 IP 数据报的发送。
    • ICMP路由器探索消息:主要分为路由器请求和路由器响应。主机会在任意路由连接组播的网络上发送一个 RS消息(一种 ICMPv6 消息,用于请求其他路由器发送 RA 消息) ,想要选择一个路由器进行学习,以此来作为默认路由,而相对应的该路由会发送一个 RA 消息(一种 ICMPv6 消息,通告其自身的存在以及相关的网络配置信息)来作为默认路由的响应。
    • ICMP地址掩码消息:用于主机或者路由器想要了解子网掩码的情况。可以向那些目标主机或路由器发送 ICMP 地址掩码请求消息和 ICMP 地址掩码应答消息获取子网掩码信息。
  • ICMP在IPv4和IPv6的不同封装:

  • ICMP报文头部:

 类型字段指明通知类型,代码字段用于进一步细化 ICMP 报文的类型信息。它与类型字段配合使用,提供更详细的控制消息内容。当代码段用于指明错误细节时如下:

  • ICMPv6邻居探索:邻居请求消息用于查询 IPv6 地址于 MAC 地址的对应关系。邻居请求消息利用 IPv6 的多播地址实现传输
    • 基于目标主机 IPv6 地址生成的多播地址:格式为 FF02::1:FFXX:XXXX(其中 XX:XXXX 是目标 IPv6 地址的最后 24 位)。

    • 即插即用功能:如果是一个没有路由器的网络,就使用 MAC 地址作为链路本地单播地址。如果在一个有路由器的网络环境中,可以从路由器获得 IPv6 地址的前面部分,后面部分使用 MAC 地址进行设置。此时可以利用路由器请求消息和路由器公告消息进行设置。

10、网际组管理协议(Internet Group Management Protocol,IGMP):

让连接在本地局域网上的多播路由器知道本局域网上是否有主机(实际上是主机中的某个进程)加入或退出了某个多播组。IGMP仅在本网络有效,它并不能知道多播组所包含的成员数量,也不能知道多播组的成员都分布在哪些网络中。

  • IGMP报文类型:
    • 成员报告报文:通知本地路由器它想加入某个多播组。当主机加入一个新的多播组时,会主动发送成员报告报文,这样路由器就能知道有新成员加入了多播组,并且开始向该主机转发对应的多播数据。
    • 成员查询报文:路由器通过发送成员查询报文来查询其直连网络中有哪些主机属于特定的多播组。通过定期查询,可以及时发现哪些主机离开了多播组,哪些主机仍然是活跃成员。
    • 离开组报文:当主机想要离开一个多播组时,会发送离开组报文通知本地路由器。这样路由器就可以更新其多播组的成员列表,停止向该主机转发对应的多播数据。
  • IGMP封装:IGMP 报文被封装在 IP 数据报中传送,TCP/IP 的网际层会为其添加一个 IP 首部,使之成为 IP 数据报。
  • IGMP抑制机制:为了抑制同网络的每个主机都毫无限制地发送成员报告报文,IGMP有一个抑制机制防止网络中出现大量的相同目的的报文。其原理为:当多个主机同时准备加入一个多播组时,假设主机 A 首先发送了 IGMP 成员报告报文。这个报文会通过网络传输到达路由器。同时,本地网络中的其他主机也会收到主机 A 发送的成员报告报文,这些主机在检测到已经有其他主机发送了加入同一多播组的报告报文后,就会抑制自己发送相同报告报文的行为。路由器在收到一个主机对某个多播组的成员报告报文后,就会将该多播组的数据转发到本地网络。所以其他主机即使不发送自己的报告报文,也能够接收到多播组的数据;而那些不期望接收的主机则会在网络协议栈或者操作系统的缓存中丢弃这些数据

11、HTTP(超文本协议传输):

HTTP是一个在”两点“之间传输文字、图片、音频、视频等”超文本“数据的约定和规范。

12、UDP协议:

无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。其特点体现在:无连接(知道对端的IP和端口号就直接进行传输, 不需要建立连接);不可靠(没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息;);面向数据报(不存在发送缓冲区,应用层交给UDP多长的报文, UDP原样发送, 既不会拆分, 也不会合并。有接收缓冲区. 但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一致,如果缓冲区满了, 再到达的UDP数据就会被丢弃)。

13、网络接口类型:

  • 路由接口
    • 用于连接不同网络,在网络层实现数据包转发。
    • 主要作用是根据路由表转发数据包,实现网络间通信,支持不同协议和地址空间互联。
    • 多用于企业连接不同子网、互联网中自治系统互联、家庭路由器连接内外网。
  • 桥接接口
    • 用于连接多个网络段在数据链路层基于 MAC 地址转发帧
    • 主要作用是扩展网络范围,减少冲突域,统一网络分段。
    • 多用于局域网内连接多个网段、虚拟化环境中桥接虚拟与物理网络。
  • 点对点接口
    • 用于建立两个设备间的专用直接连接。提供可靠专用链路,确保高效数据传输。
    • 多用于远程办公室专线连接、路由器间专用链路传输数据。
  • 队列接口
    • 用于管理数据包队列,处理流量控制与优先级调度,是网口在处理数据包时的一种管理机制,用于优化网络流量的处理效率。
    • 主要包括发送队列(TX 队列)和接收队列(RX 队列):
      • TX 队列:管理待发送的数据包,应用程序产生的输出请求先放入 TX 队列,再由网口按顺序或优先级发送。
      • RX 队列:处理接收到的数据包,数据包到达网口后,按规则(如轮询、基于流的分配等)分发到不同 RX 队列。
  • ADSL
    • 利用电话线路的非对称宽带接入技术,下行速率高于上行。
    • 主要作用是为家庭 / 小企业提供宽带互联网接入,复用现有电话线路
  • VDSL
    • 是ADSL 升级版,提供更高速率,适用于短距离线路
    • 支持高清视频、在线游戏等高带宽需求
  • 以太网
    • 是常见的局域网技术,遵循 IEEE 802.3 标准,使用双绞线 / 光纤。
    • 实现局域网内设备高速数据传输,支持文件共享、打印等。
    • 多用于企业办公室、学校、家庭等局域网环境。

14、TLS(Transport Layer Security,传输层安全协议)

TLS是保障网络通信安全的核心协议(主要用于TCP连接),位于传输层和应用层之间,分为 记录协议 和 握手协议。提供 保密性、完整性、身份认证能力,其核心作用是确保通信双方的数据在传输过程中不被窃听、篡改或伪造,广泛应用于 HTTPS、邮件、即时通讯等场景。

  • 记录协议

上述MAC是指 “消息认证码”

  • 握手协议

  • 三层保护机制

  • 如何使用TLS

TLS 的使用需要通信双方(如客户端和服务器)协同配置,核心流程包括 “证书准备”“握手协商” 和 “数据传输” 三个阶段:

  1. TLS 需要数字证书验证身份并协商密钥,服务器需先获取可信证书。

  2. 配置服务器支持TLS。 服务器需配置 TLS 协议,并关联证书和私钥,以启用加密通信。

  3. 客户端与服务器建立连接时,会先自动通过 “TLS 握手” 协商加密规则,然后进行加密通信,无需人工干预。
  • 应用场景
  1. HTTPS,普通 HTTP 协议传输数据是明文的,而HTTPS = HTTP + TLS,通过 TLS 加密浏览器与网站服务器之间的通信。
  2. 电子邮件传输,通过 “STARTTLS” 命令升级连接为 TLS 加密。
  3. 即时通讯与社交应用,用户发送的文本、图片、语音、视频等内容,在客户端与服务器之间通过 TLS 加密传输。
  4. ......TLS 的应用场景覆盖了几乎所有 “需要在网络中传输敏感数据” 的场景,核心目标是通过加密、完整性校验和身份认证,解决 “窃听、篡改、伪造” 三大安全问题。

15、 DTLS(Datagram Transport Layer Security,数据报传输层安全协议)

DTLS是一种基于 TLS 协议设计的加密协议,专门用于保护UDP等面向无连接的数据包传输。与 TLS 主要为 TCP提供安全保障不同,DTLS 解决了 UDP 等协议在安全性上的空白,同时保留了 UDP 的低延迟特性,适用于对实时性要求高的场景。    

  • 工作原理

  • DTLS 与 TLS 的核心区别

    总结:TLS 依赖TCP传输来保证可靠性;DTLS 通过序列号、重传、Cookie、分片等机制,在无连接的 UDP 上实现了 “类 TCP 的可靠握手”,从而保证了UDP的实时性。

 

 16、网桥

 

 

 

 

 

 

 

 

 

 

 

    

 

posted on 2025-01-03 15:39  小小卷心菜  阅读(82)  评论(0)    收藏  举报