当前位置: 首页 > news >正文

Internet协议

文章目录

  • Internet协议
    • 网络层协议
      • IPV4协议
        • IP地址:
        • IPv4数据报格式
        • IP数据报的封装和分片
    • Internet路由协议
      • 路由信息协议RIP
      • 开放最短路径优先协议OSPF
      • 外部网关协议BGP
      • 组播协议PIM和MOSPF
    • ARP和RARP
      • ARP协议:
      • RARP协议:
    • Internet控制报文协议ICMP
    • IPv6协议
      • IPv6协议特点
      • IPv6地址
    • 移动IP协议
      • 移动IP技术的功能实体
      • 移动IP技术中的几个关键技术
    • QoS支持
      • QoS概述
      • QoS性能指标
      • 主要的QoS技术
    • 传输层协议TCP和UDP
      • TCP协议
        • TCP建立与释放连接
        • TCP定时管理机制
        • TCP拥塞控制机制
        • 无线TCP
      • UDP协议
    • 应用层协议
      • 域名系统DNS
        • 域名服务器
        • 域名解析
      • 电子邮件协议
        • 接收协议
          • POP3
          • IMAP
      • 文件传输协议FTP
      • 远程登录协议Telnet
      • WEB应用和HTTP协议
        • Web资源组织方式与URL
        • Http协议工作原理
        • Cookie/Session和Web缓存
      • 动态主机配置协议DHCP
      • 无限Web协议WAP
        • WAP特点
        • WAP工作原理
      • P2P应用协议
    • 代理和NAT
      • 应用层代理
      • 网络地址转换NAT
        • NAT有三种类型
    • 搜索引擎
      • 搜索引擎工作原理

Internet协议

网络层协议

在这里插入图片描述

IPV4协议

IP地址:

IP地址的划分经过了三个阶段:分类的IP地址;子网的划分;构成超网。

  • 分类IP地址结构和类别:IP地址是由32位二进制数,即四个字节组成的,它与硬件没有任何关系,所以也称为逻辑地址。它由网络号和主机号两个字段组成,这样的IP地址称为两级IP地址

在这里插入图片描述

  • 特殊IP地址:IP定义了一套特殊的地址,称为保留地址。这些特殊的地址包括:网络地址,主机地址。直接广播地址,有限广播地址,本地机制

  • 子网和子网掩码:给每个物理网络分配一个网络号会使路由表变的太大,因而使得网络性能变化。在IP地址中增加了一个子网号字段,使得两级IP地址变成三级IP地址。这种做法叫做划分子网。划分子网纯属一个单位内部的事情,单位对外仍表现为没有划分子网的网络。因此子网号是从两级IP的主机号部分借用的若干个位。

    • 两级IP地址的缺点:IP地址空间利用率有时很低
  • VLSM和CIDR

    • 使用变长子网掩码VLSM可以进一步提高IP地址资源利用率。
    • CIDR常采用如128.14.32.0/20的表示方法,即在IP地址后面增加/,然后写上网络前缀所占用的比特数。并隐含的指出IP地址128.14.32.0的掩码是255.255.240.0。CIDR虽然不使用子网了,但仍然使用掩码这一名词
  • 另外IP地址还分为全球地址和专用地址。

    • 10.0.0.0到10.255.255.255
    • 172.16.0.0到172.32.255.255
    • 192.168.0.0到192.168.255.255
IPv4数据报格式

在这里插入图片描述

IP数据报的封装和分片

IP数据报处于网络层,在传送时它需要下层协议给它提供服务,把它封装在数据链路层的协议数据单元–帧的数据域中。而数据帧的格式和其数据域大小的定义和上层协议是独立的,它不会事先去考虑上层的协议数据单元的大小。所以如果下层帧的数据域小于IP数据报大小的话,IP数据报必须分片。如果数据报传送时进行了分片,IP首部的总长度字段不是指未分片前的数据报长度,而是指分片后每片的首部长度与数据长度的总和。

IP数据报的长度一定不能超过数据链路层的最大传送单元MTU,即下层帧的数据域的大小。通常以太网的MTU为1500B,PPP的MTU为296B。

Internet路由协议

众所周知,Internet是由多个网络互联在一起的网络,当数据包在这样一个复杂的网络上传输时,会遇到很多“十字路口”,到低该向那个路上走,必须有一个类似的交警的部件来完成这一功能。在Internet上这一部件就是路由器。而路由器又依靠运行路由协议来完成其功能的。换句话说,路由器上的路由表是根据路由协议生成的,路由协议核心就是路由算法。

路由信息协议RIP

RIP是一种分布式的基于短距离向量的路由选择协议。该协议定义距离就是经过的路由器的数目,距离最短的路由就是最好的路由。它允许一条路径最多只能包含15个路由器(限制网络的规模)。距离最大值为16时即为不可达。所以RIP不能在两个网络之间同时使用多条路由来进行负载均衡。

RIP协议的特点就是“好消息传的快,坏消息传的慢”。它的意思是如果路由器发现了一个更短的路由,这个消息可以很快的传播;但是如果网络出现了故障,这样消息就会传播的很慢。

开放最短路径优先协议OSPF

OSPF协议是分布式的链路状态路由协议。链路在这里代表该路由器和哪些路由器是相邻的,即通过一个网络是可以连通的;链路状态说明了该通路的连通状态以及距离、时延、带宽等参数。在该协议中,只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送路由信息。所发送的信息是与本路由器仙林的所有路由器的链路状态。为了保存这些链路状态信息,每个路由器都建立有一个链路状态数据库,因为路由器交换信息时使用的是洪泛法,所以每个路由器都存有全网的链路状态信息,也就是说每个路由器都知道整个网络的连通情况和拓扑结构。这样每个路由器都可以根据链路状态数据库的信息来构造自己的路由表。

外部网关协议BGP

BGP是不同自治系统的路由器之间交换路由信息的协议。由于Internet的规模太大,使得自治系统之间路由选择非常困难。另外,对于自治系统之间的路由选择,要寻找最佳路由很不现实。所以BGP只是尽力寻找一条能够到达目的网络且比较好的路由,而不像内部网关协议一样要寻找一条最佳路由

  • BGP-4共使用四种报文:
    • 打开报文,用来与相邻的另一个BGP发言人建立关系
    • 更新报文,用来发送某一路由的信息,以及列出要撤销的多条路由
    • 保活报文,用来确认打开报文和周期性地正式邻站关系
    • 通知报文,用来发送检测到的差错

组播协议PIM和MOSPF

IP组播路由协议根据网络中组播成员的分布可以分为两种基本类型;一种被称作密集模式的组播路由协议。第二种被称为稀疏模式的组播路由协议

  • PIM:PIM是一种组播传输协议,能在现存的IP网上传输组播数据。PIM是一种独立于路由协议的组播协议,可以工作在两种模式:密集模式(PIM_DM)和疏松模式(PIM_SM)。在PIM密集模式下,报文分组缺省向所有端口转发,直到发生裁减和切除。在密集模式下假设所有端口上的设备都是组播成员,可能使用组播包。疏松模式和密集模式相反,只向右请求的端口发送组播数据。

    • PIM-SM:围绕一个被称为几种点(RP)的路由器构建组播分布树。RP是所有叶路由器都知道的点。但某个叶路由器直接相连的网络中国如果有主机希望加入某个RP所代表的的组播时,该叶路由器沿着到达RP的最短路径向RP发出加入消息,所经过的路径构成基于RP的单向生成树的一个新枝。一旦形成新枝,叶路由器将可获得该组播源的信息。当某个源发出的信息速率超过某个门限,则叶路由器可以切换到基于源的最短路径树上去,当然叶路由器要向RP方向发出剪枝消息。
    • PIM-DM:使用了反向路径组播机制来构建分布树。PIM-DM的运作方式是当来源端送出组播信息时,它会使用先扩散再剪枝的方式来建立分布树,路由器某个接收端口接收到组播数据包被发送到所有的下行接口。当末端路由器接收到这个组播消息后,如果该路由器没有属于这个群组的成员,这个路由器就会向上游发出剪枝消息,而上游路由器收到这个小时时,如果该路由器也没有属于这个群组的成员,那么这个路由器又会向上游传送;反之如果该路由器有属于该群组的成员,那么这个剪枝的讯息就不会再往上传递,而这个路由器就不会再把组播的资料送到这个路径上面去了。
  • MOSPF:是为单播路由器使用设计的,属于密集模式的组播路由协议。MOSPF依赖于OSPF作为单播路由协议,在一个OSPF/MOSPF网络中每个路由器都维持一个最新的全网络拓扑结构图。这个链路状态的信息被用来构建组播分布树。每个MOSPF路由器都通过IGMP协议周期性的收集组播成员关系信息。这些信息和这些链路状态信息被发送到其路由域中的所有其他路由器。路由器将根据它们从邻近路由器接收到的信息更新其内部连接状态信息。由于每个路由器都清除整个网络的拓扑结构,所以能够独立的计算出一个最小开销的扩展树,将组播发送源和组播组成员分别作为树的根和叶。这个树就是用来将组播流从发送源发送到组播成员的路径。

ARP和RARP

地址解析协议ARP和反向地址解析协议RARP

网络中的一个机器机油逻辑地址也有物理地址。逻辑地址是为了管理方便而设置的,逻辑地址是网络层的协议数据单元使用地址,物理地址是数据链路层的协议数据单元MAC帧使用的地址

ARP协议:

在通常情况下,当我们访问一个机器时候,一定可以知道它的逻辑地址,而物理地址就不一定知道。如果不知道物理地址那么久不能把网络层的数据报封装成MAC帧,完不成通信。

在这里插入图片描述

RARP协议:

Internet控制报文协议ICMP

ICMP协议允许路由器报告差错情况提供友元异常情况的报告。当数据不能够正确的到达目的的站点,或者当路由器没有足够的缓存空间,或者当路由器能够向主机提供更短的路由时,ICMP协议会即使将这些信息发送出去,就像网上的交通警察即使解决交通中的问题和事故,保证交通快速、顺畅。

ICMP报文有ICMP差错报文和ICMP询问报文两种。

IPv6协议

IPv6协议特点

更大的地址空间。IPv6将地址从IPv4的32bit增大到了128bit。

扩展的地址层次结构

灵活的首部格式

改进的选项

增强的安全性

对QoS支持

IPv6地址

IPv6地址将128bit地址空间划分为两大部分。第一部分是可边长度的类型前缀,它定义了地址的目的。第二部分是地址的其余部分,其长度也是可变的。

  • IPv6数据报的目的地址可以是一下三种基本类型地址之一:

    • 单播:单播就是传统的点对点通信
    • 多播:多播是一点对多点的通信
    • 任播:这是IPv6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交互给其中的一个,通常是距离最近的一个
  • IPv6扩展了地址的分级概念,使用以下三个等级

    • 第一级:指明全球都知道的公共拓扑
    • 第二级:指明单个的地点
    • 第三极:指明单个的网络接口
  • IPv6地址自动配置:IPv6中地址自动配置有两种方式:有状态地址自动配置和无状态自动配置,当站点并不是特别关心主机所使用的精确地址时,只要它们是唯一的并且是可路由的,就能使用无状态方式;当站点严格控制地址分配时,就是用有状态的方式。

    • 有状态的自动配置:在这种模式下,主机可以从服务器获得接口地址,也可以从服务器上获取配置的信息和参数。服务器中维护着一个数据库,其中记录着主机和地址分配的列表。比较常用的是DHCPv6协议,即支持IPv6的动态主机配置协议。它允许DHCPv6服务器把诸如IPv6网络地址等信息传递给IPv6节点。DHCPv6服务器与客户端使用UDP来交换DHCPv6报文。服务器和中继代理使用UDP端口547来监听DHCPv6报文;客户端使用UDP端口546来监听报文
    • 无状态地址自动配置:无状态自动配置要求本地链路支持组播。而且网络接口能够发送和接收组播包。采用这种方式可以为任意主机配置一个IPv6地址,这个地址内嵌一个以太网地址,由于以太网地址全球唯一,因此获得的IPv6地址也是唯一的。
  • IPv4向IPv6的过渡:在IPv4向IPv6过渡时,只能采用逐步演进的办法,整个过渡需要一个比较漫长的过程。在过渡期间,由于IPv4和IPv6在很长一段时间需要共存,因此很有必要解决IPv4和IPv6之间互相通信的问题

    • 隧道技术:隧道策略是IPv4、IPv6过渡中经常使用到的一种机制。隧道技术的工作机理就是在IPv6网络与IPv4网络之间的隧道入口处,路由器将IPv6的数据分组封装到IPv4中,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道出口处再将IPv6分组取出转发给目的节点。隧道技术巧妙地利用了现有的IPv4网络,为分离IPv6子网提供了有效的通信手段
    • 双协议栈:双协议栈是指在完全过渡到IPv6之前,使一部分主机装有IPv4和IPv6两个协议栈。对于主机而言,双协议栈是指其可以根据需要来对上层协议所产生的数据进行IPv4封装或者IPv6封装。
    • 地址协议转换:地址转换和协议转换包括两个组成部分:网络地址转换协议和协议转换。
      • 其中地址转化是指通过使用NAT网关将一种IP网络的地址转换为另外一个IP网络地址,它允许内部网络使用一组在公网中从不使用的保留地址。在使用这项技术是可以将IPv6网视为一个独立而封闭的局域网,它需要使用一个地址翻译器进行地址翻译。
      • 协议转换是指根据IPv6和IPv4之间的差异对数据报的首部做相应的修改以符合对方网络的格式要求,并且由于网络层协议的改变要对上层的TCP,UDP,ICMP等数据包做相应的修改。将网络地址转换机制与协议转换机制相结合而产生的NAT-PT可通过对协议、地址的转换实现IPv6和IPv4之间的互相通信。

移动IP协议

移动IP技术的功能实体

移动IP定义了三个功能实体:移动节点,归属代理和外区代理

  • 移动节点:当节点从一条链路切换到另外一条链路上时仍能够保持所有正在进行通信的移动主机。他有两个IP地址:一个是归属地址,用来标识TCP连接的永久地址;另一个是转交地址,是当移动节点漫游到其他子网时获得的供IP包选路使用的临时地址。转交地址可以由外地代理提供,称为代理转交地址。
  • 归属代理:移动节点本地网络上的路由器。它由一个端口与移动节点家乡链路连接,同时保存移动节点的位置信息。当移动节点离开归属网络时,它能够将发往移动节点的数据包传给移动节点。
  • 外区代理:移动节点当前连接到外地网络上的一个路由器,其作用是为移动节点提供路由服务。并且对经归属代理封装后发送给移动节点的数据报进行解封装,然后转发给移动节点。

移动IP技术中的几个关键技术

  • 隧道技术
  • 代理搜索
  • 注册

QoS支持

QoS概述

服务质量QoS是服务性能的总效果,此效果决定了一个用户对服务的满意程度。因此在最简单的意义上,有服务质量的服务就是能够满足用户的应用需求的服务。

在Internet上为用户提供高质量的QoS必须解决以下几个问题:

  • QoS的分类与定义
  • 准入控制和协商
  • 资源预约
  • 资源调度和管理

QoS性能指标

服务质量可用若干基本性能指标来描述,包括可用性、差错率、响应时间、吞吐量、分组丢失率、连接建立时间、故障检测和改正时间等

主要的QoS技术

当前主要的QoS技术有:继承服务、资源预留协议、区分业务,多协议标记转换,流量工程,QoS路由等

传输层协议TCP和UDP

TCP协议

tcp是面向连接的协议,提供可靠的,全双工的,面向字节流的,端到端的服务。

tcp的连接是一对端点的连接,为了清晰的表明这条连接的源地址和目的地址,给每一个端口分配一个套接字(socket)或者插口。虽然每台主机对端口号独立编码,但是IP地址是唯一的,和IP地址绑定之后所形成的插口就是唯一的。

套接字=IP地址:端口号

端口号对应主机中的一个应用进程,编程语言通常用port表示。由此可得

TCP连接::=(socket1, socket2)=({IP1:port1}{IP2:port2})

TCP建立与释放连接

TCP建立连接机制:TCP使用三次握手来建立连接,大大的增强了可靠性。如防止已经失效的连接请求报文到达被请求方,产生错误造成资源浪费。

TCP定时管理机制

重传机制是保证TCP可靠性的重要措施。TCP每次发送一个报文段,就对这个报文设置一次计时器。只要计时器设置的重传时间到了但是还没有收到确认,就要重传这一个报文段。超时重传时间设置的长短,恰当与否关系到网络的工作效率。如果设置的太短,会引起很多报文段的重传,增大网络的负荷;如果设置的太长,则会增大网络的空闲时间,降低网络的传输效率。

具体步骤如下:

首先计算出来第一个RTT。然后把第一个RTT的值设置为RTTs的初始值。以后再计算新的RTTs采用如下公式
新的 R T T s = ( 1 − α ) × 旧的 R T T s + α × 新的 R T T 样本 新的RTTs=(1-α)\times旧的RTTs+α\times新的RTT样本 新的RTTs=(1α)×旧的RTTs+α×新的RTT样本
其中α的值常用1/8。计算RTO的公式为:
R T O = R T T s + 4 × R T T D RTO=RTTs+4\times RTTD RTO=RTTs+4×RTTD
RTTD的初始值为RTT样本值的一般,以后再计算RTTD时采用公式:
新的 R T T D = ( 1 − β ) × 旧的 R T T D + β × ∣ R T T s − 新的 R T T 样本 ∣ 新的RTTD=(1-β)\times旧的RTTD+β\times|RTTs-新的RTT样本| 新的RTTD=(1β)×旧的RTTD+β×RTTs新的RTT样本
其中β常取值1/4。

TCP拥塞控制机制

传输层的主要任务是保证端到端的可靠的传输。端到端之间跨越的是若干个网段。所以要在保证网络高效传输,必须保障网络通畅,不然就会发生拥塞现象。因为一旦网络发生拥塞,不但网络的传输速度会降低,而且还会导致数据的丢失和重传。

TCP永爱控制方法主要有四种:慢开始、拥塞避免、快重传和快恢复。

  • 慢开始和拥塞避免:
  • 快重传和快恢复:
  • 随机早期检测RED:
无线TCP

由于移动计算机环境存在着BER高、带宽低、移动性以及能量有限等特点,使得原本为固定主机、有线网络设计的TCP协议在这种环境下出现了很多不适应的问题。即使在拥塞控制机制不断改进的情况下,TCP在无线网络中的传输性能仍无根本提高。针对无线网络的TCP方案大致可以划分为三类

  • 端到端方案
  • 分段连接方案
  • 数据链路层方案

UDP协议

UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。虽然UDP用户数据包只能提供不可靠的交付,但是UDP在某些方面具有其特殊的优点:

  • 发送之前不需要建立连接

  • UDP的主机不需要位置复杂的连接状态表

  • UDP用户数据报只有8个字节的首部开销

  • 网络出现的拥塞不会使得源主机的发送速率降低

应用层协议

域名系统DNS

域名系统DNS的功能是把Internet中的主机域名解析为对应的IP地址。域名系统DNS是一个联机分布式数据库系统。工作方式采用客户服务器方式。域名服务器是运行域名服务器程序的机器

  • DNS名字空间:目前,依尼特网的命名方法是层次树状结构。采用这种命名方法,任何一个连接在因特网上的主机或者路由器都有一个唯一的层次结构的名字,即域名。域是名字空间中的一个可被管理的划分。域可继续划分为子域,如二级域、三级域等等。域名的结构由若干个分量组成,各个分量之间用点隔开;各个分量代表不同级别的域名。
域名服务器

可以把域名服务器分为根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器四种不同类型

  • 根域名服务器:根域名服务器是最高层次的域名服务器。每一个根域名服务器都要存有所有顶级域名服务器的IP地址和域名。
  • 顶级域名服务器:顶级域名服务器负责管理在本地顶级域名服务器上注册的所有二级域名。当收到DNS查询请求时,能够将其管辖的二级域名转换为该二级域名的IP地址。或者是下一步应该找寻的域名服务器的IP地址。
  • 权限域名服务器:DNS采用分区的办法来设置域名服务器。一个服务器所管辖的范围称为区的范围小于或者等于域的大小。各个单位可以根据自己单位的情况来换分区的范围。每一个区都设置有服务器,这个服务器的叫权限服务,它负责将其关系区内的主机域名转换为该主机的IP地址,在其上保存有所有管辖区内的所有主机域名到IP地址的映射。
  • 本地域名服务器:也称为默认域名服务器。当一个主机发出DNS查询报文时,这个查询报文就首先被送往该主机的本地域名服务器。
域名解析

域名解析过程的要点:当某个应用进程需要把某个主机的域名解析对应的IP地址时,它将调用解析程序,称为DNS的客户方,并把要解析的主机域名放在DNS请求报文中,然后把UDP用户数据报将其发往本地域名服务器。本地域名服务器对其进行对应查询,如果查找成功,就将结果放入DNS回答报文中,同样使用UDP用户数据报将返回给请求方。

需要再次强调的是各种服务器之间的查询都是以客户端服务器方式进行的,在域名解析过程中,本地域名服务器采用递归查询和迭代查询两种查询方式。

电子邮件协议

电子邮件是因特网上使用最多的和最受用户欢迎的一种应用。电子邮件将邮件发送到ISP的邮件服务器上,并放在其中的收信人邮箱中,收传人可随时上网到ISP的邮件服务器进行读取。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉等优点。现在电子邮件不仅可以传送文字信息,还可以附上声音和图像。

接收协议
POP3

POP3也是用客户服务器的工作模式。在接收邮件的用户PC机中必须运行POP客户程序,而在用户所连接的ISP的邮件服务器中则运行POP3服务器程序。POP3服务器具有身份鉴别功能,用户只有输入鉴别信息之后才允许对邮箱进行读取,另外它还具有从服务器读取邮件并且存放到本地机器上的以及对邮件删除、备份等其他操作功能。

POP3也是用TCP协议,对邮件进行传输

IMAP

IMAP是一个连接协议。当用户PC机器上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可以看到邮件的首部。用户打开某个邮件时,那个邮件才传到用户的计算机上。所以用户可以在不同的地方使用不同的计算机反复阅读自己的邮件,知道用户发出删除邮件的命令,IMAP服务器邮箱中的邮件会一直保存着

文件传输协议FTP

FTP主要功能是减少或者消除在不同的操作系统下处理文件的不兼容性。FTP的主要作用就是让用户连接上一个远程计算机,查看远程计算机上有哪些文件,然后把文件从远程计算机拷贝到本地计算机或者把本地计算机传输到远程计算机上去。

FTP支持两种模式,一种方式叫做Standard,一种是Passive。Standard模式FTP的客户端发送PORT命令到FTP服务器。Passive模式下FTP客户端发送PASV命令到FTPServer.

远程登录协议Telnet

Telnet是因特网的登录和仿真程序。基本功能是允许用户登录进入远程主机系统。目的是提供一个相对通用的,双向的,面向八位字节的通信机制。一个Telnet连接就是一个用来传输带有Telnet控制信息数据的TCP的连接。

  • 基本服务

Telnet定义一个网络虚拟终端为远地系统提供一个标准接口。客户机程序不必详细了解远地系统,他们只需构造使用标准接口程序;Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

WEB应用和HTTP协议

Web资源组织方式与URL

WWW是一种分布式的超媒体系统,它是超文本系统的扩充。一个超文本由多个信息源连接成。利用一个连接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。WWW基于客户/服务器模式,它改进了传统的客户/服务器计算模型,将原来客户端一侧的应用程序模块与用户界面分开,并将应用程序模块放到服务器上,形成基于web浏览器的用户界面、应用程序和服务程序等三个部分。

WWW使用统一的资源定位符来标识分布在整个因特网上的文档,所谓统一资源定位符就是用于完整地描述在因特网上网页和其他资源的地址的一种标识方法。因特网上的每一个网页都具有唯一的名称标识,通常称之为URL地址。

URL采用相同的基本语法,无论寻址哪种特定飞行的资源或描述通过哪种机制获取该资源。语法如下:

protocol:指定使用的传输协议,最常用的是http协议

hostname:是指存放资源的服务器的域名系统主机名或者IP地址

prot:整数,可选,省略时使用方案的默认端口,各种传输协议都有默认端口号,如HTTP的默认端口号为80

path:由零个或者多个/分开的字符串,一般用来表示主机上的目录或者文件地址

:parameters:可选,这是用于置顶特殊参数的可选项

? query:可选,用于给动态网页传递参数,可有多个参数用&符号隔开,每个参数名称和值之间用=隔开

fragment:信息片段,字符串,用于置顶网络资源中国的一个片段

Http协议工作原理

为了使超文本的连接能够高效的完成,需要使用http协议来传送一切必须的信息。从层次角度看,http是面向事务的应用层协议,它使用tcp连接进行可靠的传送。http是一个无状态的协议,即服务器向客户机发送被请求的文件时,并不存储任何关于该客户机的状态信息。http协议定义了web客户机是如何向web站点请求web页,以及服务器如何将web页传送给客户机。

Cookie/Session和Web缓存

开发网站设计到页面数据间共享时,常常需要使用某一种方式来持久化数据,持久化数据的方式由很多种,下面我们介绍Cookie、Session、和Cache三种

  • Cookie:提供了一种在web应用程序中存储用户特定信息的方法。

  • Session:为当前用户会话提供信息。还提供对可用于存储信息的会话范围的缓存访问,以及控制如何管理会话的方法。存储在服务器的内存中,因此在与数据库中存储和检索信息相比,它的执行速度更快。

  • Cache:存储与服务器内存中,允许自定义缓存项以及将缓存多长时间。

动态主机配置协议DHCP

动态主机配置协议是一种使网络管理员能够集中管理和分配IP网络地址的通信协议。在IP网络中,每个连接因特网的设备都需要分配唯一的IP地址。DHCP使网络管理员能够从中心节点监控和分配IP地址。当某个计算机移到网络中的其他位置时,能够自动收到新的IP地址。

  • DHCP工作过程:DHCP采用客户服务器的工作方式
    • 第一步:DHCP服务器打开UDP67端口,监听请求
    • 第二步:DHCP客户端从端口68利用UDP像服务器发送DHCPDISCOVER报文
    • 第三步:DHCP服务器发送DHCPOFFER报文
    • 第四步:DHCP客户从多个DHCP服务器中选择一个,然后向其发送DHCPREQUEST报文
    • 第五步:DHCP服务器回送DHCPACK,包含分配的IP地址
    • 第六步:租用期过了一般,DHCP客户端发送请求报文DHCPREQUEST要求更新租用期
    • 第七步:DHCP服务器若同意,则发回确认报文DHCPACK,DHCP客户端将获得新的租用期,重新设置计时器
    • 第八步:DHCP服务器若是不同意,则发回DHCPNACK。这时候DHCP必须立即停止使用原来的IP地址,而不需重新申请IP地址(回到步骤2)
    • 第九步:DHCP客户端可以随时终止服务器所提供的租用期,这时只需要向DHCP服务器发送释放报文DHCPRELEASE即可

无限Web协议WAP

WAP特点
  • WAP只要求移动电话和WAP代理服务器的支持,而不要求现有的移动通信网络协议做任何的改动,所以WAP能同时适用于多种不同的移动通信系统
  • WAP协议堆栈的设计力求使所需带宽最小化,并对各种网络技术和服务提供广泛的支持
  • WAP层次结构比较松散,每层的开发独立于其他层,容易引入新的传输协议和服务类型
WAP工作原理

为适应无线设备屏幕小,无线传输带宽小等特殊环境要求,WAP采取了以下措施:

  • 使用二进制传输经过高度压缩的数据,并对长延时和中低带宽进行优化
  • WAP的会话功能可以处理不连续覆盖的问题,并能自动地在IP不可用时改用其他优化协议来进行各种信息传输
  • 使用WML语言编写网页,WAP解决因特网页面不能在移动通信设备商显示的问题
  • 运用WML编辑的网页可以在手机的微浏览器上产生按钮、图示等超链接功能,并且可提供信息浏览,数据输入、文本和图像显示、表格显示等功能,大大的减小了在移动设备商浏览网页内容的复杂程度。
  • WAP通过加强网络功能来弥补便携式移动设备本身的缺陷,工作时尽可能减少占用移动通信设备的资源
  • WAP在应用层上隐藏了GSM的复杂性,给用户提供了类似于普通Web页面的友好性。
  • WAP通过使用类似于js的脚本语言WMLScript,来使移动设备先将信息进行处理后再发送给服务器

P2P应用协议

代理和NAT

应用层代理

代理处于客户机和服务器之间,对于服务器来说,代理是客户机,代理提出请求,服务器响应;对于客户机来说,代理是服务器,它接收客户机的请求,并将服务器上传来的数据转给客户机

应用层代理工作在TCP/IP模型的应用层之上,它只能用于支持代理的应用层协议

应用层代理的原理是车里隔断通信两端的直接通信,所有的通信必须经过应用层代理转发,访问者任何时候都不能与服务器建立直接的TCP连接,应用层的协议会话过程必须符合代理的安全策略要求。

网络地址转换NAT

因特网IP地址由本地地址和全球地址两类。本地地址仅在机构内部使用,由本机构自行分配,而不需要向因特网的管理机构申请。全球地址顾名思义在全球唯一的,必须向因特网管理机构申请。由于本地地址可以由机构自行分配,在一定程度上缓解了IP地址不足的问题。RFC1918为私有和内部使用的网络预留了31个地址块作为专用地址,也就是本地地址。但是因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。这就需要使用网络地址转换。通常由路由器担任IP转换功能,且要在专用网连接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球地址。

NAT有三种类型
  • 静态NAT:设置起来最容易,内部网络中的内阁主机都被永久映射成某个全球地址

  • 动态NAT:以地址池的方式。地址池中有多个全球地址用来对内部地址进行映射,但不固定绑定

  • 端口地址转换PAT:一个外网地址可以和多个内网地址进行映射,同时在该地址上加上一个由NAT设备指定的TCP/UDP的端口号来区分

搜索引擎

搜索引擎是指因特网上专门提供查询服务的一类网站,这些网站通过网络搜索软件或者网站登录等方式,收集因特网上大量的网站页面,经过加工处理后建库,从而能够对用户提出的各种查询作出响应,提供用户所需的信息。它是一个对互联网资源进行搜索整理和分类,并且存储在网络数据库中供用户查询的系统,包括信息搜索、信息分类、用户查询三个部分

搜索引擎工作原理

简单的来说,搜索引擎是通过从互联网上提取的各个网站的信息来建立数据库、检索与用户查询条件最匹配的相关记录,然后按照一定的排列顺序将结果返回给用户。根据搜索引擎提取数据的方法,可将搜索引擎系统分为三大类

  • 目录式搜索引擎
  • 机器人搜索引擎
  • 元搜索引擎

相关文章:

Internet协议

文章目录 Internet协议网络层协议IPV4协议IP地址:IPv4数据报格式IP数据报的封装和分片 Internet路由协议路由信息协议RIP开放最短路径优先协议OSPF外部网关协议BGP组播协议PIM和MOSPF ARP和RARPARP协议:RARP协议: Internet控制报文协议ICMPIP…...

深度学习基础(一)神经网络基本原理

之前的章节我们初步介绍了机器学习相关基础知识,目录如下: 机器学习基础(一)理解机器学习的本质-CSDN博客 机器学习基础(二)监督与非监督学习-CSDN博客 机器学习基础(四)非监督学…...

2024年2月22日 - mis

rootyy3568-alip:/sys# ls /sys/class/gpio/gpio* -F /sys/class/gpio/gpio114 /sys/class/gpio/gpiochip511 /sys/class/gpio/gpiochip0 /sys/class/gpio/gpiochip64 /sys/class/gpio/gpiochip128 /sys/class/gpio/gpiochip96 /sys/class/gpio/gpiochip32符号表示该文…...

拼接 URL(C 语言)【字符串处理】

题目来自于博主算法大师的专栏:最新华为OD机试C卷AB卷OJ(CJavaJSPy) https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 给定一个 url 前缀和 url 后缀 通过,分割 需要将其连接为一个完整的 url 如果前缀结尾和后缀开头都…...

故障排除:Failed to load SQL Modules into database Cluster

PostgreSQL 安装和故障排除 重新安装前的准备工作 在重新安装 PostgreSQL 之前,确保完成以下步骤: 重新卸载 PostgreSQL 并重启电脑。 删除以下目录: C:\Program Files\PostgreSQL\13C:\Users\admin\AppData\Roaming\pgadmin 重启安装过…...

【超详细】HIVE 日期函数(当前日期、时间戳转换、前一天日期等)

文章目录 相关文献常量:当前日期、时间戳前一天日期、后一天日期获取日期中的年、季度、月、周、日、小时、分、秒等时间戳转换时间戳 to 日期日期 to 时间戳 日期之间月、天数差 作者:小猪快跑 基础数学&计算数学,从事优化领域5年&#…...

[ffmpeg] x264 配置参数解析

背景 创建 x264 编码器后,其有一组默认的编码器配置参数,也可以根据需要修改参数,来满足编码要求。 具体参数 可修改的参数,比较多,这边只列举一些常用的。 获取可以配置的参数 方式1 查看 ffmpeg源码 libx264.c…...

GO语言基础总结

多态: 定义一个父类的指针(接口),然后把指针指向子类的实例,再调用这个父类的指针,然后子类的方法被调用了,这就是多态现象。 Golang 高阶 goroutine 。。。。。 channel channel的定义 …...

飞天使-linux操作的一些技巧与知识点7-devops

文章目录 简述devopsCICD 简述devops 让技术团队,运维,测试等团队实现一体式流程自动化 进阶版图 CICD 持续集成, 从编译,测试,发布的完成自动化流程 持续交付,包含持续集成,并且将项目部署…...

Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结…...

FairyGUI × Cocos Creator 3.x 使用方式

前言 上一篇文章 FariyGUI Cocos Creator 入门 简单介绍了FairyGUI,并且按照官方demo成功在Cocos Creator2.4.0上运行起来了。 当我今天使用Creator 3.x 再引入2.x的Lib时,发现出现了报错。 这篇文章将介绍如何在Creator 3.x上使用fgui。 引入 首先&…...

基于Java的养生健康管理系统

物质生活的丰富而使得人们已经不仅仅满足于吃饱而向着吃好、吃健康的方向阔步前进。生活方式的改变使人们在日常摄入了大量的营养却没有足够的运动进行消耗,因此而导致肥胖成为当前城市生活的主要标志,而高血压、糖尿病等慢性疾病也在偷偷吞噬着人们健康…...

Python课堂16——异常查找及处理

文章目录 前言一、异常是什么?二、异常处理1. 根据提示2. 捕获异常3.抛出异常——raise4.应用场景 总结 前言 我们在日常编写代码的时候,难免会遇到一些不可控的错误,这无疑会导致程序的终止,大大降低了程序的实用性,…...

任务书参考答案-模块1任务一

1.根据网络拓扑图所示,按照IP 地址规划表,对防火墙的名称、各接口IP 地址进行配置。共8 分,每错1 处(行)扣1 分,扣完为止。地址、安全域、接口(状态为UP)、名称都正确。 2.根据网络拓扑图所示,按照IP 地址规划表,对三层交换机的名称进行配置,创建VLAN 并将相应接口划…...

2023最新盲盒交友脱单系统源码

源码获取方式 搜一搜:万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新,会陆续更新上 或 源码软件库 最新盲盒交友脱单系统源码,纸条广场,单独抽取/连抽/同城抽取/高质量盒子 新增功能包括心动推荐&#xff…...

Half-Band filter(半带滤波器)

Half-Band filter 引言正文symmetric half-band filtersamplitude half-band filterspower half-band filters引言 今天看文章的时候遇到了一个名词,Half-Band filter,中文名称半带滤波器,特来记录一下。 正文 假设我们通过采样获取到的信号带宽为 f s f_s...

2024年环境安全科学、材料工程与制造国际学术会议(ESSMEM2024)

【EI检索】2024年环境安全科学、材料工程与制造国际学术会议(ESSMEM2024) 会议简介 我们很高兴邀请您参加将在三亚举行的2024年环境安全科学、材料工程和制造国际学术会议(ESSMEM 2024)。 ESSMEM2024将汇集世界各国和地区的研究人员&…...

常用路径规划算法简介及python程序

目录 1、前言2、D*算法2.1简介2.2优缺点2.2.1 优点2.2.2 缺点 2.3 python程序 3、A*算法3.1 优缺点:3.1.1 优点:3.1.2 缺点: 3.2 python程序 4、人工势场算法4.1优缺点4.1.1优点:4.1.2缺点: 4.2 python程序 5、Dijkstr…...

计算x的对数math.log(x)math.log(x, a)math.log2(x)math.log10(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算x的对数 math.log(x) math.log(x, a) math.log2(x) math.log10(x) [太阳]选择题 以下说法错误的是() import math print("【执行】e math.exp(1)") e …...

Golin 弱口令/漏洞/扫描/等保/基线核查的快速安全检查小工具

下载地址: 链接:https://pan.quark.cn/s/db6afba6de1f 主要功能 主机存活探测、漏洞扫描、子域名扫描、端口扫描、各类服务数据库爆破、poc扫描、xss扫描、webtitle探测、web指纹识别、web敏感信息泄露、web目录浏览、web文件下载、等保安全风险问题风险…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...