计算机网络原理第七章——Internet 原理

网际层协议

IP协议与IP地址

 简介

  • 工作在网络层(属于TCP/IP协议集)
  • 提供无连接的数据报传送机制
  • 只提供服务  不保证可靠性(不排序,不确认)

主要功能

  • 无连接的数据报传输
  • 数据报路由
  • 分组 的 分段及重组

分类

A类: 

                                              0             1                                         8                                                        31

      0         网络标识符              主机标识符

 网络号:1\sim 2^{7}-2=126          主机号:1~2^{24}-2

 B类:

                                      0            1            2                                       16                                                        31

1 0 网络标识符 主机标识符

 网络号:1\sim 2^{15}-2      主机号:1\sim 2^{16}-2

C类: 

                                     0           1            2          3                                   24                                                   31

1 1 0 网络标识符 主机标识符

  网络号:1\sim 2^{22}-2      主机号:1\sim 2^{8}-2=254

私有地址与保留地址

私有地址:及在互联网不适用仅在局域网使用的地址

通信规则:不在同一个子网中的主机不能相互通信(子网号用子网掩码与上IP地址进行计算)

主机号全”1“为广播地址,全”0“为本网地址 

 IP分组及转发

IP分组由分组头与数据区两部分组成。

分组头:存放具体的控制信息

数据区:包含上层协议交给IP协议的传送数据

计算机网络原理第七章——Internet 原理_第1张图片

  •  版本:4位,表示分组对应的IP协议版本号
  • 头部长度:4位,指明分组头的长度
  • 服务类型:8位,表明质量要求(如优先级、可靠性、吞吐量、延时等)
  • 总长度:16位,指明分组总长度
  • 标识符:16位,唯一标识一个IP分组
  • 标志:3位(其中一位保留),两位中的  DF:用于表明分组是否允许分段  MF:是否有后续分段
  • 偏移量:13位,指明此分组在原始分组中的位置(用于分段、重组)
  • 生存时间:8位,分组在网络中传输的最长时间(每经一个路由器减1,0丢弃)
  • 协议:8位,指明高层的协议
  • 填充:若分组头不为4字节的整数倍,填入0

转发过程中的分段与重组

当分组长度大于MTU时分块

每个分块的长度位8的整数倍,最后一段可以任意小

每个分段含有一个分组头

除分段位移、MF标志位|校验和字段外,其余与原始分组相同

(重组是分段的反过程)->重组时  ,  只有当MF=0且offset=0时才位一个完整的分组

ARP协议(地址转换协议  address resolution protocol)

功能:

完成IP地址到物理地址的转换  (主机有两个地址,一个是物理地址,一个是IP地址)

因为数据链路层通过物理地址来发送

工作于网络层

转换方式:

通过查找ARP表来进行转换

计算机网络原理第七章——Internet 原理_第2张图片 

 在发送数据前,在ARP表中获得MAC地址(物理地址),若没有则进行广播,与IP地址对应的计算用自己的MAC地址更新ARP表并向请求主机发送响应。无响应则代表不存在。

ARP协议报文格式

计算机网络原理第七章——Internet 原理_第3张图片

 CIDR协议(无类别域间路由)

基本思想:

取消IP地址的分类结构(因为采用分类结构有些浪费空间)

使地址从三级编址变为两级编址

注意:

  1. 原则是线路聚合后的网络地址应该一致【如:要给A(192.168.128.0/19),B(192.168.0.0/19)分配网络不可以分配(192.168.128/17) 而应该分配(192.168.0.0/16)】(自己进行二进制转换)——>构成超网
  2. 在匹配路由的过程中,若目标IP与路由表进行对照的过程中,应选择网络号位最长的匹配的子网(因为在分配IP地址的时候不会出现一个主机出现在两个网络中的状况,因为网络号不会重复)——>最长前缀匹配

例题:

计算机网络原理第七章——Internet 原理_第4张图片

  计算机网络原理第七章——Internet 原理_第5张图片

 计算机网络原理第七章——Internet 原理_第6张图片

ICMP协议(控制报文协议)

 作用:

是一种网络差错与状态报告机制,将差错传给主机

工作与网络层,在IP协议之上工作

格式:

(封装在IP分组中进行传输)

计算机网络原理第七章——Internet 原理_第7张图片

拥塞控制与源抑制报文:

为防止一次涌入路由器的分组过多,TCP/IP采用  源抑制技术

三个阶段:

  1. 路由器发现拥塞,发出ICMP 源抑制 报文(周期性测试、监视)
  2. 源主机收到1.的报文后,以一定速率降低到某目的节点的传输速率
  3. 拥塞接触后,源主机恢复原先的传输速率

路径控制与重定向报文:

在分组发送的过程中,不断使发送路径达到最优

ICMP重定向保证了主机拥有一个动态的、即小又优的路由表

NAT协议(网络地址转换协议)

作用:

将目的地址从外部地址转换为内部地址或反过来(是一种双向地址转换)

实现方式:

采用NAT表,其中记录:

  1. IP地址
  2. 端口号(路由器端口)
  3. 出:源地址信息替换;入:目的地址信息替换

3种转换方式:

  1. 静态转换:内部与外部IP地址一对一映射,固定不变
  2. 动态转换映射关系动态变化,且转换时可使用多个合法的外部IP地址集
  3. 多端口复用:内部所有主机共享合法外部IP地址,最大限度节约IP地址资源

DHCP协议

用途

为客户机指定IP地址与相关的一组配置参数

(手工分配、自动分配、动态分配)

工作过程

计算机网络原理第七章——Internet 原理_第8张图片

  1.  寻找服务器(DHCP discover)
  2. 提供IP租用地址(服务器选择 DHCP报文 并提供最前端的报文)(DCHP offer)
  3. 接受IP租约( 客户端 收到 DHCP服务器的提供报文,之后以广播的方式向选中的服务器请求IP地址)(DHCP request)
  4. 租约确认(服务器接受请求并判断IP地址与自己的是否匹配)(ACK)
  5. IP地址释放(客户端 向 服务器发送释放请求,服务器进行IP地址的释放)

计算机网络原理第七章——Internet 原理_第9张图片

 服务质量(QoS)

常用参数

  • 可用性:正常工作时间的百分比
  • 吞吐量:一段时间内流量的度量
  • 时延:服务从网络入口到出口的平均时间
  • 时延变化:同一业务  不同分组 所呈现的时延不同
  • 丢包率:源到目的的丢包的概率

主要模型

1.尽力而为模型:使用先入先出队列,无任何保证

2.综合服务模型:

通过监视,防止资源的过多消耗

采用RSVP(资源预留协议)为基础,保障QoS

RSVP:根据应用要求进行  资源预留  与  实时监控

该模型定义了3中业务:

  1. 有保证业务:保证带宽,限制延迟,无丢包
  2. 控制负载业务:在较轻的负载中类似于  尽力而为业务
  3. 尽力而为业务

3.区分服务模型(以DiffServ服务模型为例):

IP网络QoS技术中IntServ服务分类及DiffServ服务类型_weixin_33973600的博客-CSDN博客

其重点放在流集中

制定一个可扩展性相对较强的方法

DiffServ服务模型核心思想:  网络边界将数据量按QoS要求分类,不同类节点实现不同转发特性。

方法:设置DS字段为服务等级,DS值将数据报映射到PHB中,从而在转发过程中进行区别对待

其定义的三种服务类型:

  1. 尽力而为
  2. 奖赏服务(PS):是边界到边界的传输协议,用”三低一保证“策略防止局部超速导致排队
  3. 确保服务(AS):保证用户拥有一定的预约带宽,着眼丢失率,订购带宽内的流量与订购带宽外的流量丢弃概率不同。

IPv6协议

与IPv4的区别

IPV4与IPV6的区别(史上最详细)_程序猿来是你的博客-CSDN博客_ipv6和ipv4的区别

ipv4的缺点:地址空间不足、维护路由表数量过大、自动配置与重新编址不易、安全问题

ipv6的有点:128位地址空间充足、层次化网络结构、头部简单灵活、支持自动配置、端到端安全、更利于支持QoS、支持移动性

IPv6分组

计算机网络原理第七章——Internet 原理_第10张图片

其中,基本头部由一下字段控制:

  • 版本:4位
  • 通信量类型:8位(用于区分不同类别或优先级)
  • 流量标签:20位(用于区分不同的分组)
  • 有效载荷长度(指明字节数)
  • ………… 

计算机网络原理第七章——Internet 原理_第11张图片

IPv6是通过链式结构来进行扩展头部的长度的,有下一首部那一段指向下一段的头部

计算机网络原理第七章——Internet 原理_第12张图片

计算机网络原理第七章——Internet 原理_第13张图片

下面是几种扩展报头:

  • 逐跳选项头(Hop-by-hop Options Header)
    传送必须被转发路径中的每一个节点都检验处理的信息。例如,路由器告警和超大包有效载荷选项等。

  • 目的选项头(Destination Options Header)
    承载特别针对数据包目的地地址的可选信息

  • 路由头(Routing Header)
    本扩展报头类型值为43,通过列出在到达目的地的路径中数据包所要经过的节点列表来提供源路由选择的功能。

  • 分段头(Fragment Header)
    本扩展报头类型值为44,用于标识数据报的分段,在IPv4中就有对应的字段。当源节点发送的报文超过传输链路MTU(源节点和目的节点之间传输路径的MTU)时,需要对报文进行分段时使用。

  • 认证头(Authentication Header,AH)
    本扩展报头类型值为51,该包头由 IPSec 使用用,以提供认证、数据完整性和防重放保护。它还确保基本IPv6 包头中一些字段的保护。该包头在 IPv4 和 IPv6 中是相同的. 通常称之为 IPSec认证包头 (AH)用于IPSec,提供报文验证,完整性检查。

  • 封装安全有效载荷头(Encapsulating Security Payload,ESP)本扩展头类型值为50,用于IPSec,提供报文验证、完整性检查差和加密。

IPv6地址

每个16位用   16进制表示

简写:若两个:之间都位0则可以用::表示,例如:FF05:0:0:0:0:0:0:B3可以写成FF5::B3

CIDR中使用的网络前缀仍然可以使用(/掩码中1的个数)

基于数据的目的端地址可以将IPv6划分为一下三种类型

  • 单播 单播就是传统的点对点通信。
  • 组播 是一对多的通信数据报发送到一组计算机中的每一个。
  • 泛播 是IPV6新增加的类型。任播的终点是一组计算机但数据报只交付给其中的一个通常是距离最近的一个

IPv6是下一代互联网所使用的地址协议,是在IPv4的基础上发展起来的,有相同点也有异同点。

(除上述地址之外还有:未指明地址、回送地址、IPv4兼容的IPv6地址、IPv4映射的IPv6地址、本地链路单播地址)

因为单播的数量最多,所以IPv6将1/8的地址分给全球单播

全球单播的划分方法:计算机网络原理第七章——Internet 原理_第14张图片

  • 全球x路由选择前缀: 分配给各公司与组织
  • 子网标识符:用于他们创建子网
  • 接口标识符:指明主机或路由的网络接口

IPv4到IPv6的过度方案

1.双栈技术

双栈节点与IPv4节点通信使用IPv4协议栈,IPv6节点通信使用IPv6协议栈

IPv6应用 IPv4应用
Sockrt API
TCP/UDP v6 TCP/UDP v4
IPv6 IPv4
数据链路层
物理层

计算机网络原理第七章——Internet 原理_第15张图片

如何知道双栈地呢?——>使用DNS(域名系统)查询,观察其返回类型

2.隧道技术

提供两个IPv4节点之间用IPv6网络实现通信连接,提供两个IPv6节点之间用IPv4网络实现通信连接

采用的是将IPv4封装在IPv6协议中,采用的是将IPv6封装在IPv4协议中。

优点:只需要在  两种  网络的边缘  使用这种协议即可

计算机网络原理第七章——Internet 原理_第16张图片

3.IPv4/IPv6协议转换技术

两种网络(协议)之间的互通技术(协议转换技术)

与前面两种只为了实现节点之间的互通不同,这个实现的是协议上的互通
其有多种类型最常见的两种如下:

  • SIIT(无状态  IP/ICMP翻译)

        只转换,不记录状态(地址池空间限制IPv6节点的数量)

        是两种分组头之间的转换

  • NAT-PT(Network Address Translate-Protocol Transaction)

        允许  两种不同的  只支持其中一种协议的的几点进行互连

        一个位于网关边界的节点负责两种协议的翻译计算机网络原理第七章——Internet 原理_第17张图片

Internet 路由协议

Internet路由基本概念

为方便管理,INternet将整个网络划分为相对较小的自治系统(AS(一个行政单位独立管理的的网络)),不同AS通过边界互连。

内部网关协议(IGP)

内部路由器交换路由信息的协议。因为AS内部路由器在统一管理下,所以一般的通信方式为:全部参与、直接交换的方式 。之后的RIP、OSPF协议都是IGP

外部网关协议(EGP)

不同AS之间的路由器之间交换路由信息的协议。因为位于不同的路由器,路由信息的交换只在相邻的边界进行

RIP协议(路由信息协议)

是距离向量路由算法直接而简单的实现

RIP中使用跳数来衡量达到目的节点的距离。(到其直接相连的路由器的距离为1,并设置最大跳数为16即一条路径只能包含15个路由器)

计算机网络原理第七章——Internet 原理_第18张图片

  • 命令:指明是请求报文还是应答报文
  • 版本号
  • 地址家族标识(AFI)指出地址类型
  • 路由标记(Route Tag):标记 自治系统号(ASN),提供从外部路由中分离内部路由的方法,用于传播从(EGP)获得的路由信息
  • 下一跳地址(Next Hop):到达目的节点的下一个路由器
  • 距离:跳数

OSPF协议(开放式最短路径优先)

一种链路状态开放协议。在这个AS中,所有路由器共同维护一个相同的描述这个AS结构的  存放该路由域中相应链路状态信息  的  数据库。并通过该路由器计算出其OSPF路由表。

比RIP的优势:

  • 开放性好
  • 距离尺度多样
  • 支持负载均衡
  • 支持分层系统
  • 支持隧道技术

OSPF路由层次

其将网络划分为4种类型:

广播式 非广播式 点到点 点到多点

思想:一个AS可以划分成多个区域,其中有一个主干(区域0),所有区域与主干相连,可以将OSPF路由器分为以下几类计算机网络原理第七章——Internet 原理_第19张图片

  1. 内部路由器:这个路由器的所有直连链路都处于同一个区域
  2. 主干路由器:这个路由器链接主干区域的端口
  3. 区域边界路由器:这个路由器与多个区域相连
  4. AS边界路由器: 这个路由器是与AS外部路由器互相交换路由信息的路由器

OSPF数据包

OSPF协议的链路状态广播数据包共分成以下5类:

  1. 路由链路信息数据包:描述路由器上联接到某一个区域的链路或是某一端口状态信息
  2. 网络链路信息数据包:描述该网段上所连接的所有路由器状态信息
  3. 区域边界路由器产生,描述的是到某一个区域外部的路由信息,只会在某一个特定的区域内广播(与4并称总结链路数据包)
  4. AS边界路由器产生,描述的是到某一个区域外部的路由信息,只会在某一个特定的区域内广播
  5. 链路状态信息数据包:AS边界路由器产生的,用于描述到AS外的目的地的路由信息,在AS中除残域以外的所有区域中广播

协议操作

OSPF协议由Hello协议、交换协议、扩散协议组成

 OSPF协议的具体工作过程如下:

  1. 建立路由器的邻接关系(发送hello报文初始化相邻关系,以及确认通信状态)
  2. 发现路由器(用Hello报文中的ID信息确定主从关系然后主从路由器进行交换,路由器之间建立完整的相邻关系)
  3. 选择适当的路由器(采用最短路径算法建立路由表)
  4. 维护路由信息(定时更新、通告路由信息)

BGP协议(边界网关协议)

BGP协议_枫淮的博客-CSDN博客
计算机网络原理第七章——Internet 原理_第20张图片

在不同AS之间路由器进行路由交换的协议。(前身是EGP)

也是一种距离向量路由协议,其会存放一张AS的拓扑图

通过TCP连接传送路由信息;

采用路径向量(path vector)算法,路由信息中记录路径的轨迹

IBGP与EBGP

建立了BGP会话连接的路由器被称作对等体(peers or neighbors)

对等体的连接有两种模式:IBGP(Internal BGP)和 EBGP(External BGP)

计算机网络原理第七章——Internet 原理_第21张图片

IBGP :内部BGP邻居

EBGP:外部BGP邻居

IBGP邻居的防环机制:IBGP 水平分割机制(IBGP只传一跳规则,通过一个IBGP邻居学习的路由不能传递给其他的IBGP邻居);next-hop、起源者属性、簇ID列表.


EBGP邻居的防环机制:AS-Path AS路径防环,不接收AS-Path中包含自身AS号的路由信息

AS内部的BGP路由器必须将相同的路由信息发送给边界的EBGP路由器。

路由信息     在通过IBGP链路时不发生改变   在通过EBGP链路时发生改变

BGP的消息类型

BGP以下四种消息类型 :

  • Open消息:用于确定邻居关系,并和邻居路由器建立BGP连接(在建立TCP连接后,向对方发出第一条消息)
  • Update消息:用于更新路由信息,包括传输单一路由信息、取消路由等
  • Notification消息:用于报告协议操作过程中检测到的差错
  • Keepalive消息:用于验证连接的可用性(定期向邻居路由器发送Keepalive消息,以保证计时器不会超时)

工作流程

计算机网络原理第七章——Internet 原理_第22张图片

1.建立会话  2.交换Open消息  3.交换初始路由信息(包括所有BGP路由,及BGP路由表所有条目) 4.初始化完成后,只有当路由表出现改变或失效时,才会发出增量的、触发性的更新

传输层协议

传输层有两个并列的协议:TCP是面向连接的面向连接的、可靠的、端到端的、基于字节流的传输协议;UDP是无连接的。前者可靠,后者高效

端口分为两部分,一部分为保留端口,另一部分为自由端口

计算机网络原理第七章——Internet 原理_第23张图片

进程与远地进程通信前,要获得自己的带端号,同时要获取远方端口号

获得远方端口号的3种方式:

  1. 对方是服务进程,使用保留端号
  2. 通信前约定了端口号
  3. 在注册服务器中注册了自己的端口号,通过查询注册服务器来获取其端口号

UDP协议

UDP报文的封装

其是封装到IP分组中进行传输的

过程:

  1. UDP报文作为IP数据加上IP报头构成IP分组
  2. 为了通过物理接口送到物理介质中进行传输,要  将IP分组作为帧数据  后  加上帧头构成数据帧进行传输

UDP报文格式

计算机网络原理第七章——Internet 原理_第24张图片

伪报头

计算机网络原理第七章——Internet 原理_第25张图片

伪报头位于UDP报头之前,用于验证UDP数据报是否被送到正确的目的节点。

 伪报头的5个字段:

  •  前两个是要保证源地址与目的地址相一致
  • 填充字段:使伪报头的长度道道32位的整数倍
  • 协议类型:IP上层的协议类型
  • UDP数据报的长度

UDP中的多路分解

计算机网络原理第七章——Internet 原理_第26张图片

 路由节点将IP分组转发到目的主机,目的主机的IP协议处理后交给UDP,UDP再根据目的端口号进行多路分解。

TCP协议

牺牲效率换取高可靠

报文长度限制在64k,长报文需要分段处理后才能进行传输。

面向字节流,无法确定边界

采用全双工的连接方式

数据的传输过程

计算机网络原理第七章——Internet 原理_第27张图片

TCP报文格式

计算机网络原理第七章——Internet 原理_第28张图片

  •  源端口和目的端口:各16位
  • 序号和确认号:以字节为单位编号,各32位
  • TCP头的长度:4位,长度单位为32位字,包含可选项域
  • 6位的保留域
  • 6位的标识位置1表示有效:(URG:和紧急指针配合使用,发送紧急数据 ACK:确认号是否有效  PSH:指示发送方和接收方将数据不做缓存,立刻发送或接收  RST:由于不可恢复的错误重置连接  SYN:用于连接建立指示  FIN:用于连接释放指示)
  • 窗口大小:用于基于可变滑动窗口的流控,指示发送方从确认号开始可以再发送窗口大小的字节流
  • 校验和:为增加可靠性,对TCP头,数据和伪头计算校验和
  • 可选项域。

 TCP连接管理

建立连接阶段采用三次握手协议,连接释放阶段采用对称释放方式

建立连接

计算机网络原理第七章——Internet 原理_第29张图片

 过程如下

  1. 主机A发送一个SYN被置为1的连接请求报文
  2. 主机B收到报文后,发送SYN与ACK均被置为1的报文
  3. 最后,A再发送一个ACK为1的报文(通知B双方已建立连接)

(在建立连接的同时还对两方的起始序号进行了确认)

连接释放

计算机网络原理第七章——Internet 原理_第30张图片

两边的连接都要释放 

TCP传输控制

https://blog.csdn.net/qq_56289291/article/details/126120401?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167397952116782429764639%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167397952116782429764639&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-126120401-null-null.142^v71^control,201^v4^add_ask&utm_term=TCP%E7%9A%84%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6&spm=1018.2226.3001.4187

发送机制
TCP 维持一个变量,它等于。 只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去最大报文段长度 MSS
由发送方的应用进程指明要求发送报文段,即 TCP 支持的操作推送(push)
发送方的一个计时器期限到了,这时把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去
 

TCP管理的4个主要定时器

1.重传定时器:重要的使对一个特定连接往返时间的测量

2.坚持定时器:为防止ACK报文的失效,用坚持定时器周期性地检查接收方

3.保活定时器:用于检查空闲连接地另一端是否崩溃

4.2MSL定时器:测量一个处于TIME_WAIT状态地时间

TCP流量控制

主要用于解决收发双方处理能力不匹配的问题(处理慢,报文到来快)

采用滑动窗口协议实现流量控制 基于确认和可变窗口大小

窗口大小为0时,正常情况下,发送方不能再发TCP段,但有两个例外 紧急数据可以发送

为防止死锁,发送方可以发送1字节的TCP段,以便让接收方重新声明确认号和窗口大小。

设定窗口大小为2kb,在B的回送报文中,如果WIN(窗口大小)的值为0则A停止发送

TCP拥塞控制

主要参数

  • 最大数据段长(MSS):通信时最大数据段的大小
  • 慢启动阈值(ssthread)

包含以下几个阶段 

  1. 慢启动:基本思想:采用由少到多的发送策略(防止因刚开始不清楚网络状态而引起的拥塞)当到达拥塞窗口大小(cwnd)等于ssthread时改用拥塞避免算法        ,
    1. 拥塞窗口cwnd初始化为一个MSS
    2. 收到一个ACK后cwnd增加一个MSS
    3. 开始时,发送方发送一个报文段,等待ACK收到ACK后拥塞窗口以指数的方式增长直到cwnd<=ssthread
  2. 拥塞避免:
    1. 拥塞窗口以一个往返时间单位线性增长(此阶段与ACK的数量无关,即与ACK无关)
    2. 产生3个相同ACK的确认帧,进行拥塞控制
    3. 将ssthread设置为窗口值的一半,窗口值取rwnd与cwnd的最小值,进入慢启动阶段
  3. 快速重传:
    1. 接收方收到紊乱次序的TCP报文后,立即向发送方发送重复的ACK应答,用来重申接收方期望的序号
    2. 当接收方收到发送方填补的缺失后,接收方发送一个新的ACK(避免发送方重传定时器超时)
  4. 快速恢复:
    1. 收到3个ACK确认帧后将ssthread窗口设置为当前拥塞窗口的一半
    2. 重传丢失数据,并将cwnd的值设置为ssthread(也有的设置为ssthread+3)

应用层

网络的应用层是互联网访问的接口

常用的应用层协议包括:DNS、FTP、SMTP、HTTP

应用层协议

网络应用

采用的传输层协议

SMTP

电子邮件

TCP

FTP

远程文件传输

TCP

Telnet

虚终端

TCP

HTTP

Web服务

TCP

DNS

域名解析

TCP或UDP

SNMP

网络管理

UDP

RTP

流媒体传输

TCP或UDP

一个应用层协议考虑的设计内容:

  • 使用的传输层协议(TCP或UDP)
  • 对等应用实体之间传送的数据类型及格式
  • 对等应用层实体之间的通信规则以及时序关系

网络的应用模式

是指处理、组织网络上数据的方式(如P2P、客户/服务器、浏览器/服务器)

客户/服务器模式

主要采用2两种方式支持多客户同时访问,重复型服务程序、并发型服务程序

重复型

系统资源要求不高

处理一个请求时,其他请求必须等待

一般用于处理可在预期时间内完成的请求

并发型

实时性与灵活性好

系统资源调用要求较高

一般用于处理不可在预期内完成的请求

浏览器/服务器(B/S技术)

一部分事务逻辑在前端实现,但主要是在服务器端实现,客户主机的访问接口是通过www浏览器实现的

P2P模式

与前两种不同的是:任意一个节点都可以作为服务器或者客户端,其优点在于分布式自控能力,降低了对服务器的依赖程度

其机构主要有3种:

集中式结构

主要特点是集中控制,系统种存在着中央服务器

效率高,容错率低

分布式

是一种无中心化的分布式结构

以广播形式散发查询消息

效率,容错率高

混合式

域名服务

域名系统是一个典型的客户/服务器模式的系统

是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制。

网络规模比较小时,找到与IP地址有对应关系的文件

网络规模很大时,采用DNS系统

DNS(根域名服务器)

其将域名空间划分为许多无重叠区域

每个区域有本地服务器,对这个空间进行管理

区域边界是人工划分设置的

在每个区域中,有

  • 主域名服务器:管理主文件数据
  • 备份域名服务器:为主域名服务器提供备份
  • 缓存服务器:缓存从其他名字的服务器中获取到的信息

域名的解析过程:

  1. 传送域名
  2. 解析器向本地服务器传送要查询的域名
  3. 若本地 服务器找到了要查询的域名返回
  4. 若无本地服务器向根域名服务器传送要查询的域名
  5. 根域名通过向下查找对应的资源记录,并返回给本地域名服务器
  6. 最后资源记录被返回给发起域名解析的机器并在该区域的域名服务器中最缓存,达到的便是域名所对应的资源记录()一定时间间隔将条目消除

根域名服务器:

  • 如果域名映射未知,则向授权域名服务器查询
  • 取得映射
  • 将映射返回本地域名服务器

DNS的查询:

  • 递归查询:在DNS服务器中找到对应的IP地址的过程,需要多次查询,可之间由域名服务器来完成
  • 迭代方式:先查询到顶级域名服务器,再由本地DNS服务器来完成

DNS所采用的资源记录:RR(分布式数据库)

        RR 格式: (name, value, type,ttl)

电子邮件传输协议

SMPT协议(简单电子邮件传输协议)

可以跨网络传输邮件

通过“SMTP邮件中继”,既可以实现相同网络上处理机之间的邮件传输,也可以实现跨网络邮件传输

发送者将邮件发送到接收者的邮箱,经历了以下三个步骤

  1. 发送者用户代理通过SMTP协议将邮件发送到自己的本地邮件服务器
  2. 在时机成熟后(例如发送缓存队列到达一定的长度,或者等待了一定的时间),发送者的邮件服务器通过SMTP协议将邮件发送到接收者的邮件服务器
  3. 接收者用户代理通过邮件访问协议(例如POP3,IMAP4等)访问自己邮件服务器上的邮箱

电子邮件格式:

  • 信封:接收方信息
  • 信件内容:
    • 首部:由用户代理使用
    • 正文:发送给接收用户报文的内容

MIME协议(多用途Internet邮件扩展协议)

用于支持SMTP简单性的一个补充协议

邮件报头的各个关键词的含义

  • From:表示邮件发送者,包括邮件地址,还可能包括发送方的“真实姓名”
  • Received:接收邮件的路径、日期、时间以及邮件传输代理程序的版本号。
  • Date:发信时间。
  • Message-ID:由传输代理分配给该邮件的唯一标识。
  • To:收件人的电子邮件地址。
  • Subject:邮件主题,是发件人写的,告诉收件人发送该邮件的目的。
  • Content-type:邮件正文的类型,是文本还是MIME格式。
  • Content-length:邮件正文的长度。  
  • Cc:表示抄送,它是“Carbon copy”的缩写,意为“复写副本”,它用来指定那些将收到该邮件副本的人的邮件地址。
  • Reply-To:表示对方回信时用的地址。该地址可能和发送方发信时用的地址不一致。

数据编码方法分为base64与QP

SMTP的实现

为确保邮件能够正常发送SMTP再传输层使用面向连接的TCP

在这幅图中

  1. 服务器通过三次握手协议建立TCP连接
  2. 发送者等待接收者先传输信息
  3. 服务器首先发出准备接受SMPT的消息
  4. 邮件传输过程:服务器确认收信人的存在后,继续发送指示,客户发送的真正消息以“.”作为结束
  5. 客户发送完所有邮件后,服务器开始发送邮件给客户
  6. 两个方向都发送完后,释放TCP连接

邮件接受收协议

  • POP: Post Office Protocol [RFC 1939]
    • 认证 (agent <-->server) 和下载(确认身份,认证成功进入操作阶段)
    • 用户代理和邮箱不在同一机器上,用户代理使用此协议将邮箱中的信件取回本地
  • IMAP: Internet Mail Access Protocol [RFC 1730]
    • 更多功能(更为复杂) (在线方式(邮件保留于服务端),离线方式(邮件保留于客户端),分离方式(一半一半))
    • 收信人使用多个用户代理访问同一邮箱,邮件始终保持在邮箱中
    • 在服务器中操作存储在那里的报文
  • webmail方式即使用浏览器,通过HTTP访问
    • 这种方式下,用户需要在web站点上,按照要求,输入用户命令口令,最后客户的邮件就可以以HTML的格式传送到客户的浏览器上,用户还可以通过浏览器完成发送邮件,管理邮件的功能

 万维网

信息由对象组成,统一组成,管理。

采用超文本组织这些web对象,采用超链接将自己与其他对象进行关联

WWW服务报包含3个部分:

  1. web服务器:管理文档、资源,并按照需要返回指定内容
  2. 客户端用户代理:向web服务器发送请求,下载、解释、显示
  3. 通信协议:定义了如何请求web对象以及如何将对象传送给用户

www通过一个统一资源定位器(URL)提供一个唯一的定位方法格式为:协议(protocol)://域名(machineaddress)[:端口][/文档路径][/filename(文件名)]

浏览器确定URL,通过DNS解析IP地址,建立TCP连接

向服务器发指定协议的get请求,取回网页

释放连接,显示文本

HTTP(超文本传输协议)

采用客户/服务器工作模式

HTTP协议由一套从浏览器发往服务器的请求和一套从服务器发往浏览器的响应组成。

非持久和持久连接:

非持久:HTTP1.0工作过程(用户键入一个URL后)

  • 客向服发送TCP请求并建立连接
  • 服确认连接后,客向服发送一个HTTP请求报文
  • 服收到请求报文后返回HTTP响应报文(包含web主页面)
  • 释放TCP连接
  • 客一边解释文件一边显示

持久:HTTP1.1

在非持久的基础上在某个连接闲置一段时间后再关闭它

持久连接http2.0和1.1的主要区别:二进制分帧、首部压缩、流量控制、多路复用、请求优先级、服务器推送

HTTP报文格式:

        请求报文:

        GET /somedir/page.html HTTP/1.0

        User-agent: Mozilla/4.0

        Accept: text/html, image/gif,image/jpeg

        Accept-language:fr

        (额外的 carriage return, line feed)

        应答报文:

        HTTP/1.0 200 OK

        Date: Thu, 06 Aug 1998 12:00:15 GMT

        Server: Apache/1.3.0 (Unix)

        Last-Modified: Mon, 22 Jun 1998 …...

        Content-Length: 6821

        Content-Type: text/html

        data data data data data ...

HTML

超文本编辑语言

基于标准通用 标记语言(SGML)开发的,通过各种  标记  描述web的外观等

web网页一般可以分为3类:

  1. 静态网页
  2. 动态网页:由服务器上的应用程序动态创建,将控制权转移到这个程序,该应用程序对浏览器发送的数据进行处理,并输出HTML格式的网页
  3. 活动网页:活动网页的刷新由客户端浏览器本地实现

Cookie:

希望建立起同一用户不同请求之间的关联

过程:

客户端浏览器会将Cookie的值保存起来,下次发送HTTP报文,就包含该Cookie的值,web通过Cookie将请求报文与客户建立起关联

远程文件传输

FTP(文件传输协议):是Internet完成从一台主机到另一台主机的文件传输协议

如果用户希望将文件从本地传输带FTP服务器,成为上传

希望文件从FTP服务器传输到本地称为下载

两种连接:

  1. 控制连接:以被动方式打开FTP端口,等待客户连接
    1. 在一次对话中要保持
  2. 数据连接:为数据传输创建一个独立的数据连接
    1. 在一次对话中可以进行动态连接

被动模式和主动模式:(是针对端口选择的方式来说的)

主动模式:在建立连接时,Port命令中包含客户端用哪个端口接收数据,服务器需要通过自己的数据端口连接至客户端指定的端口发送数据。这种情况下FTP服务器和客户端建立一个新的连接用来传送数据

被动:由服务器随机打开一个端口发送给客户端,,FTP直接用这个端口进行数据传输,不需要建立一个新的和客户端之间的连接

简单网络管理协议

你可能感兴趣的:(网络,服务器)