ch0_OSI 七层网络协议介绍

目录

概述


1、三网融合的概念

三网:电信网络、有线电视网络、计算机网络

概念:把上述三种网络融合成一种网络

2、计算机网络的定义、分类

定义:计算机网络是将地理位置不同的独立计算机系统,通过传输介质链接起来,它们遵守共同的协议,达到通信和资源共享的目的。

计算机网络(简称网络)有若干节点和连接这些节点的链路组成。

按照网络的作用范围分类:

广域网WAN:几十到几千公里

城域网MAN:城市基础数据网络 、5~50公里

局域网LAN:一个单位的局域网(较小范围) 、一公里左右

个人区域网PAN:范围很小、 大约在10米左右

按照网络的使用者分类:公用网、专用网

用来把用户介入到互联网的网络

接入网AN,称为本地接入网或居民接入网。起到让用户能够与互联网连接的“桥梁”作用

3、互连网的定义、组成

//补充:互联网(Internet):也叫因特网,它指当前全球最大的、开放的、由众多网络相互连接而成的特定的互连网,它采用TCP/IP协议族作为通信的规则,是一个专用名词,

定义:互连网(internet):泛指由多个不同类型计算机网络互联而成的计算机网络,除TCP/IP外,还可以使用其他协议,是一个通用名词。

网络和网络之间通过路由器连接起来,构成了互连网——即网络的网络

因此,网络把许多计算机连接在一起,互连网将许多网络连接在一起组成:

边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

端系统之间的通信方式通常可划分为以下两大类:

客户-服务器方式(C/S方式)、对等连接方式(P2P方式): P2P中通信双方既是客户端又是服务器端

核心部分:有大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换)

在网络核心部分起特殊作用的是路由器,它是一种专用计算机(但不叫做主机)。路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

4、客户-服务器通信方式

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。

客户-服务器方式所描述的是进程之间服务和被服务的关系

客户是服务请求方,服务器是服务提供方

服务请求方和服务提供方都要使用网络核心部分所提供的服务

5、分组交换、电路交换、报文交换

互联网核心部分采用了分组交换技术。

电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传输。

必定是面向连接的。

建立连接(占用通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)

分组交换——单个分组(整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

采用存储转发技术,面向无连接,利用冗杂链路来保障传输的可靠性,更灵活高效迅速可靠

主机是为用户进行信息处理的,并且可以和其他主机通过交换网络信息。

路由器则用来转发分组,即进行分组交换。

报文交换——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。

6、计算机网络性能指标

  • 速率:数据的传送速率,也称为数据率或比特率。单位是bit/s (比特每秒)(或b/s,bps)。

  • 带宽:表示网络中某通道传送数据的能力,因此表示在单位时间内某信道所能通过的“最高数据率”,单位是bit/s (比特每秒)。

       一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
    
  • 吞吐量:表示在单位时间内通过某个网络(或信道、接口)的实际数据量

       吞吐量受网络带宽或网络额定速率的限制。
    
  • 时延:数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

    网络中的时延由以下几个部分组成。发送时延:主机或路由器发送数据帧所需要的时间。发送时延=数据帧长度(bit)/发送速率(bit/s)传播时延:电磁波在信道中传播一定的距离需要花费的时间。传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)处理时延:主机或路由器在收到分组时进行处理需要花费的时间。排队时延:分组在进入路由器后再输入队列中排队等待花费的时间。总时延=发送时延+传播时延+处理时延+排队时延 
    
  • 时延带宽积:时延带宽积=传播时延*带宽

  • 往返时间RTT:从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间

  • 利用率:有信道利用率和网络利用率两种,信道利用率或网络利用率过高会产生非常大的时延

7、分层的思想

分层:将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

好处:各层之间是独立的、灵活性好、结构上可分割开、易于实现和维护、能促进标准化工作。

缺点:有些功能会在不同的层次中重复出现,因而产生额外开销。

分层不能太多或太少

各分层所要完成的功能:差错控制、流量控制、分段和重装、复用和分用、连接建立和释放

8、透明的概念

协议的实现保证了能够向上一层提供服务,本层的服务的用户只能看见服务而无法看见下面的协议,即下面的协议对上面的实体是透明的。

9、网络协议、实体、服务、服务访问点

同步含有时序的意思。

网络协议定义:这些为进行网络中的数据交换而建立的规则、标准或约定

网络协议由以下三个要素组成:

语法:即数据与控制信息的结构或格式

语义:即需要发出任何控制信息,完成何种动作以及做出何种响应

同步:即事件实现顺序的详细说明

实体:表示任何可发送或接收信息的硬件或软件进程。

协议是“水平的”,即协议是控制对等实体之间通信的规则。

服务是“垂直的”,即服务是由下层向上层通过层间接口提供的

服务访问点:同一系统相邻两层的实体进行交互的地方

10、OSI/RM体系结构,TCP/IP体系结构,五层体系结构

OSI: OSI (Open Systems Interconnection)
开放系统互联网络模型;

1.物理层


1、物理层的四大规程

物理层规程:用于物理层的协议。

物理层的主要任务:确定与传输媒体的接口有关的一些特性,即:

  • 机械特性
  • 电气特性
  • 功能特性
  • 过程特性

数据在计算机内部多采用并行传输方式。但数据在通信线路(传输媒体)上的传输方式一般是串行传输(处于经济考虑),即逐个比特按照时间顺序传输。因此物理层还需要完成传输方式的转换。

2、通信基础知识

数据通信系统分为三大部分:

源系统(或发送端、发送方):分为源点(源站或信源)和发送器

传输系统(或传输网络)

目的系统(或接收端、接收方):分为接收器和终点(目的站或信宿)

通信的目的是传送消息,数据是运送消息的实体。

信号:根据信号中代表消息的参数的取值方式不同,信号可分为以下两大类:

  • 模拟信号(连续信号):代表消息的参数取值是连续的。
  • 数字信号(离散信号):代表消息的参数取值是离散的。

调制

解调

信道: 信道和电路不等同。信道一般表示向某一个方向传送信息的媒体。一条信道往往包含一条发送信道和一条接收信道。从通信的双方信息交互的方式来看,分为三种基本方式:

  • 单向通信(单工通信)
  • 双向交替通信(半双工通信)
  • 双向同时通信(全双工通信):传输效率最高

曼彻斯特编码: 位周期中心的向上跳变代表0,位周期中心的向下跳变1,也可以反过来定义。

差分曼彻斯特编码: 在每一位的中心处都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1。

基本的带通调制方法

调幅(AM):即载波的振幅随基带数字信号而变化。eg:0或1分别对应于无载波或有载波输出。

调频(FM):即载波的频率随基带数字信号而变化。eg:0或1分别对应于频率f1或f2。

调相(PM):即载波的初始相位随基带数字信号而变化。eg:0或1分别对应于相位0度或180度。

3、香农公式

信道的极限信息传输速率C是 C=W log2(1+S/N)
W是信道的带宽,S为信道内所传信号的平均功率,N为信道内部的高斯噪声功率。
香农公式表明:信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高。

4、常见有线传输介质

双绞线: 无屏蔽双绞线UTP、屏蔽双绞线STP

光纤: 多模光纤、单模光纤

光纤不仅具有通信容量非常大的优点,还具有以下其他一些的特点:

  • 传输损耗小,中继距离长,对远距离传输特别经济
  • 抗雷电和电磁干扰性能好
  • 无串音干扰,保密性好,也不易被窃听或截取数据
  • 体积小,重量轻

同轴电缆

5、复用技术(频分复用、时分复用、统计时分复用、波分复用、码分多址)

频分复用FDM:把各路信号分别搬移到适当的频率位置,使彼此不产生干扰,同样的时间占用不同的带宽资源。

时分复用TDM:(同步时分复用)将时间划分为一段段等长的时分复用帧。所有用户在不同的时间占用同样的频带宽度。

统计时分复用STDM:(异步时分复用)一种改进的时分复用,它能明显提高信道的利用率。

集中器常使用这种统计时分复用。

复用器:使得可以用一个共享信道传送多路信道。
分用器:把告诉信道传送过来的数据进行分用。

波分复用(WDM):光的频分复用

码分复用(CDM): 是另一种共享信道的方法,当码分复用信道为多个不同地址的用户所共享时,就称为码分多址CDMA。

6、宽带接入技术(ADSL\HFC\FFTx)

ADSL技术: 非对称数字用户线ADSL技术是用数字技术对现有模拟电话的用户线进行改造,使它能够承载宽带数字业务。

HFC网: 光纤同轴混合网(HFC网)是在目前覆盖面很广的有线电视网的基础上开发的一种居民宽带接入网。除可传送电视节目外,还能提供电话、数据和其他宽带交互型业务。

FTTx技术: 多种宽带光纤接入方式。只有光纤进入用户家门后,才把光信号转化为电信号。

2.数据链路层


1、数据链路层三个基本问题

封帧封装:在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,能够根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

帧的长度=帧的数据部分长度+帧首部长度+帧尾部长度

首部和尾部的作用是进行帧定界(即确定帧的界限)

每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传输单元MTU

帧开始符SOH:十六进制编码为01(00000001)2
帧结束符EOT:十六进制编码为04(00000100)2

因此,封装成帧能够识别出不完整的帧。

透明传输:

解决透明传输问题方法:字节填充(字符填充)

发送端的数据链路层在数据种出现的“SOH”或“EOT”前面插入一个转义字符“ESC”(十六进制编码为1B)。然后接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

差错检测: 指的是在传输过程中产生的比特差错。

比特差错:比特在传输过程中可能会产生差错,1可能变成0,0可能变成1。

误码率: 在一段时间内,传输错误的比特占所传输比特总数的比率;与信噪比有很大的关系

目前在数据链路层广泛采用的差错检验方式是循环冗余检验CRC:

  1. 在发送端把数据划分为k组,每组k个比特。
  2. CRC运算求出n位的冗余码(帧检验序列FCS)
  3. 将冗余码添加到数据后面
  4. 发送帧(k + n位)

如果在传输过程中无差错,那么经过CRC检验后得出的余数R肯定是0

2、PPP协议

IETF认为在设计PPP协议应满足的需求:
1)简单

2)封装成帧

3)透明性

4)多种网络协议

5)多种类型链路

6)差错检测

7)检测连接状态

8)最大传输单元

9)网络层地址协商

10)数据压缩协商

PPP协议只支持点对点的链路通信,只支持全双工链路。

点对点协议PPP是目前使用得最广泛的数据链路层协议。

定义:是用户计算机和ISP进行通信时所使用的数据链路层协议。

组成:

  • 一个将IP数据报封装到串行链路的方法
  • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP
  • 一套网络控制协议NCP,其中的每一个协议支持不同的网络层协议

PPP协议的帧格式

各字段的意义:

PPP协议首部为4个字段,分别为标志字段F、地址字段A、控制字段C、协议字段。

PPP协议尾部有2个字段,分别为帧检验序列FCS、标志字段F。

标志字段F**:** 表示一个帧的开始或结束,PPP帧的定界符

FCS:2字节

**字节填充(异步传输)😗*信息部分中出现了和标志字段一样的组合时需要对出现的比特组合进行转义

填充方法:

  1. 把信息字段中每一个0X7E字节转变为2字节序列(0x7D,0x5E)
  2. 把信息字段中的0x7D转变为(0x7D,0x5D)
  3. 若信息字段出现ASCII码控制字符(即数值小于0x20的字符),则在该字符前加0x7D,同时将该字符的编码加以改变。eg:0x03转变为(0x7D,0x23)

零比特填充(同步传输):

方法:

在发送端,扫描整个信息字段,只要发现有5个连续1,则立即填入一个0。
在接收端,发现5个连续1,则把后一个0删除掉。

PPP协议包含物理层和网络层的内容。

3、局域网常见拓扑

局域网的本质是总线网。

4、网卡的功能(适配器)

  • 进行数据串行传输和并行传输的转换
  • 缓存数据
  • 实现以太网协议

5、CSMA/CD

CSMA/CD原理

  1. 先监听总线
  2. 边发送数据边监听总线
  3. 若发生碰撞则停止发送数据,再发强干扰信息,随机退避

CSMA/CD要点如下:

协议的实质是“载波监听”和“碰撞检测”

多点接入:总线型网络,计算机以多点介入方式连接在总线上

载波监听:载波监听就是检测信道。不管在在发送前还是发送中,每个站都必须不停地检测信道

碰撞检测:边发送边监听,一旦总线上出现碰撞,其适配器就要立即停止发送

eg:检测信道->忙则继续等待->如空闲则发送数据->一边发送一边检测->如碰撞,暂停->发送强干扰信号->指数退避算法

6、MAC地址、MAC帧格式、无效帧

MAC地址:在局域网中硬件地址又称为物理地址或MAC地址。是局域网中的每一台计算机中固化在适配器的ROM中地址。MAC地址为48位,6字节。其中高三位称为组织唯一标识符,另外的低三位由产家自行指派。在以太网上传输数据时是以帧为单位传输的。

MAC地址三种类型:单站地址、组地址、广播地址

发往本站的帧类型有:

  1. 单播帧:一对一(收到的帧的MAC地址与本站的MAC地址相同)
  2. 广播帧:一对全体(发送给本局域网上所有站点的帧,全1地址)
  3. 多播帧:一对多(发送给本局域网上一部分站点的帧)

MAC帧格式:

有效的MAC帧长度为64~1518字节之间。

长度小于64字节的帧都是由于冲突而异常中止的无效帧

IEEE802.3标准规定凡出现一下情况之一,即为无效MAC帧

  1. 帧的长度不是整数个字节
  2. 用收到的帧检验序列FCS查出有差错
  3. 收到的帧的MAC客户数据字段长度不在46~1500字节之间。考虑到MAC帧首部和尾部长度共有18字节,(即有效MAC帧长度为64~1518字节之间)

7、集线器、网桥的工作原理

集线器:是采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备。

集线器速成HUB,集线器连接的是共享以太网。

集线器的特点:

  • 集线器使用电子器件模拟实际电缆线的工作,因此整个系统仍像一个传统的以太网那样运行。
  • 使用集线器的以太网在逻辑上还是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
  • 集线器很像是一个多接口的转发器,工作在物理层
  • 集线器采用专门的芯片,进行自适应串音回波抵消,减少了近端串音。

星形以太网10BASE-T

10:速率为10Mbit/s

BASE:基带

T:双绞线

在数据链路层扩展以太网要使用网桥。**网桥工作在数据链路层**,根据MAC帧的目的地址对收到的帧进行**转发**和**过滤**。网桥根据转发表来转发帧,转发表也称为转发数据库或路由目录。

网桥自学习帧步骤:

  1. 网桥收到一个帧后先进行自学习
  2. 查找转发表中与收到帧的源地址有无相匹配的项目
  3. 没有就在转发表项中增加一个表项,表项内容为帧中的源地址、进入网桥的接口和进入网桥接口的时间
  4. 在转发表项里有与源地址匹配的项则更新原有表项

交换式集线器(以太网交换机):工作在数据链路层,实质上是一个多端口的网桥,全双工方式

以太网交换机是一种即插即用设备,其内部帧的交换表(地址表)是通过自学习算法自动地逐渐建立起来的。以太网交换机由于使用了专用的交换结构芯片,用硬件转发收到的帧,其转发速率要比使用软件转发的网桥快得多。

8、虚拟局域网的概念、原理

虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。

实质:只是局域网给用户提供一种服务,而并不是一种新型局域网

虚拟局域网的作用:限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即广播风暴)而引起性能恶化。即能够抑制广播风暴,并提高数据安全性

3.网络层


1、网络层提供的两种服务

虚电路服务(所有的数据在此虚电路上传送)

数据报服务(数据传送的路径是不确定的)

2、IP地址

与IP协议配套使用的三个协议:

  • ARP(地址解析协议)
  • ICMP(网际控制报文协议)
  • IGMP(网际组管理协议)

将网络互相连接起来的中间设备有:

  • 物理层使用的设备叫做转发器
  • 数据链路层使用的设备叫做网桥桥接器
  • 网络层使用的设备为路由器
  • 网络层以上使用的中间设备为网关

IP地址就是给连接到互联网上的每一台主机(路由器)的每一个接口,分配一个在全世界范围内是唯一的32位的标识符。

IPv4:32位

IP地址 ::= { <网络号>,<主机号>}

“::=”表示“定义为”

分类编址的IPv4地址:

A类地址:第一位固定为0

可指派的网络数量为28−1−2=126(-2是除去最小网络号0和最大网络号127)

每个网络中可分配的IP地址数量为224−2(-2是除去主机号全0的网络地址和全1的广播地址)

B类地址:最高两位固定为10

可指派的网络数量为216−2= 16384

每个网络中可分配的IP地址数量为216−2= 65534

C类地址:最高三位固定为110

可指派的网络数量为224−3

每个网络中可分配的IP地址数量为28−2=254

划分子网的IPv4地址

方法:在IP地址的主机号中,插入一个子网号,把两级的IP地址变为三级IP地址

A类地址默认子网掩码:255.0.0.0

B类地址默认子网掩码:255.255.0.0

C类地址默认子网掩码:255.255.255.0

无分类编址的IPv4地址(CIDR)

网络号改称“网络前缀”(简称“前缀”)。
主机号也称“后缀”。

CIDR使用“斜线记法”,或称为CIDR记法,即在IP地址后加上斜线“/”,斜线后面是网络前缀所占的位数。

CIDR把网络前缀都相同的所有连续的IP地址组成一个“CIDR地址块”

地址掩码由一连串1和紧接着的一连串0组成,总共32位,1的个数就是前缀的长度。

CIDR地址中三个特殊地址块:

  1. 前缀n=32,没有主机号。用于主机路由。
  2. 前缀n=31,只有两个IP地址。用于点对点链路。
  3. 前缀n=0,同时IP地址也全是0,即0.0.0.0/0,用于默认路由。

3、地址解析协议ARP的原理

每一台主机都设有一个ARP高速缓存,里面存有本局域网上的各主机和路由器IP地址到MAC地址的映射表,这些都是该主机目前知道的一些MAC地址

  • 主机A首先发送广播消息请求其对应目的主机IP地址的硬件地址,同时在该广播消息中还附带自己的IP地址和硬件地址。
  • 主机B接收到该广播包后,取出主机A的IP地址和硬件地址,将其添加到地址映射表中。同时返回单播响应,响应包中包含主机B的IP地址和硬件地址。
  • 主机A收到响应,取出主机B的IP地址和硬件地址,将其添加到地址映射表中。

4、IP协议首部格式

一个IP数据报由首部和数据两部分组成。

首部的前一部分是固定长度,共20字节,是所有IP数据报必须有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

  • 版本 4位 协议IP的版本(IPv4或IPv6)
  • 首部长度 4位 表示数值的单位位32位字长,最小取值为5
  • 区分服务 8位 用来获得更好的服务,实际上没有被使用过
  • 总长度 16位 首部和数据之和的长度,单位字节
  • 标识 16位
  • 标志 3位 最低位记为MF,为1表示还有分片。为0表示这已是若干数据报片中的最后一个 中间的一位记为DF,为1表示”不能分片“。为0时才允许分片。另三位无意义。
  • 片偏移 13位 较长分组在分片后,某片在原分组中的相对位置。(以8字节位偏移单位)。
  • 生存时间TTL 8位 数据报在网络中的寿命
  • 协议 8位 指出此数据报携带的数据使用何种协议
  • 首部检验和 16位 只检验数据报首部,但不包括数据部分
  • 源地址 32位 发送IP数据报的主机的IP
  • 目的地址 32位 接收IP数据报的主机的IP地址

5、分组转发算法

6、划分子网、CIDR、最长前缀匹配、二叉线索查找路由表

7、ICMP

网际控制报文协议ICMP的种类:ICMP差错报告报文、ICMP询问报文

8、IPv6的概念,地址长度,过渡技术

9、自治系统内:静态路由、路由选择协议(RIP、OSPF)自治系统间:BGP

10、路由器的组成和工作原理

路由器是一种典型的网络层设备,是互联网中的关键设备

11、VPN的原理,NAT和NAPT的作用

VPN的原理:是在IP通信网络上,利用传统设备对于发出和接收的IP包进行加解密,在通信的两端之间建立密文通信信道。两个VPN设备之间的通信可以是在公共网络或者Internet上完成的,但却可以获得像是在一个私有网络内通信的高安全性。

4.运输层


1、运输层功能

运输层提供应用进程间的逻辑通信

  • 运输层为应用进程之间提供端到端的逻辑通信(网络层是为主机之间提供逻辑通信)。
  • 运输层还要对收到的报文进行差错检测。
  • 运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。

2、端口的概念、常见应用层协议的端口号

端口概念:(协议端口号)指TCP/IP协议中的端口,端口号的范围从0到65535

                                                                常用的熟知端口

在这里插入图片描述

3、UDP的特点、首部格式

用户数据报协议UDP:在传送数据之前不需要先建立连接

UDP的特点:

  • 无连接的
  • 尽最大努力交付
  • 面向报文
  • 没有拥塞控制
  • 支持一对一、一对多、多对一和多对多的交互通信
  • 首部开销小

UDP首部格式:

UDP首部只有8个字节,4个字段组成,每个字段长度都是2个字节

  • 源端口(源端口号,需要对方回应时选用,不需要时可用全0)
  • 目的端口(目的端口号,终点交互报文时必须要使用到)
  • 长度(UDP用户数据报长度,最小为8字节,仅含有首部)
  • 校验和(检测UDP用户数据报在传输中是否有错,有错就丢弃)

伪首部仅仅是为了计算机检验和

UDP的检验和是把首部和数据部分一起都检验

4、TCP的特点可靠传输实现

传输控制协议TCP:提供面向连接的服务

TCP主要特点:

  1. 面向连接的运输层协议
  2. 连接只能是点对点的
  3. 提供可靠交付的服务
  4. 提供全双工通信
  5. 面向字节流

补充: TCP把连接作为最基本的抽象。

每一条TCP连接有两个端点,TCP连接的端点叫做套接字或插口

根据RFC 793的定义:端口号拼接到IP地址即构成了套接字

套接字的表示方法:套接字=(IP地址:端口号)

每一个TCP连接唯一地被通信两端的两个端点(两个套接字)所确定。

TCP连接 ::=(socket1,socket2)={( Ip1**:port1****), (Ip2****:port****2) }**

TCP连接的端点是个很抽象的套接字,即(IP地址:端口号)

TCP可靠传输实现:

1.以字节为单位的滑动窗口——连续ARQ协议

发送窗口:发送窗口内的数据的可连续的发送出去,而不需要等待对方的确认(从而提高信道利用率)

滑动窗口:发送方每收到一个接受确认,就将发送窗口向前滑动一个字节的位置;

接收方采用积累确认的方式(对有序的几个分组只确认最后一个分组)

TCP的滑动窗口是以字节为单位的;

2.超时重传的时间选择

3.选择确认SACK

5、TCP的首部格式

TCP报文段首部的前20字节是固定的,后面有4n字节是根据需要而增加的选项;、

TCP首部最小长度为20字节。

  • 数据偏移,指出TCP报文的数据部分起始处距离TCP报文段起始处偏移,数据偏移的单位是4字节的32位字,数据偏移的最大字节是60,刚好是TCP首部的最大长度
  • 保留,
  • **紧急URG,**URG=1表明紧急指针字段有效
  • 确认ACK,仅当ACK=1时确认号字段才有效(TCP连接建立后所传送报文的ACK必须置为1)
  • 推送PSH,
  • 复位RST,RST=1时表明TCP连接中出现严重错误,必须释放连接,然后重新建立连接
  • **同步SYN,**连接建立时用于同步序号(SYN=1而ACK=0表示的是一个连接请求报文
  • **终止FIN,**用于释放连接。FIN=1表明报文段发送方的数据已发送完毕,要求释放运输连接
  • **窗口,**窗口值作为接收方让发送方设置其发送窗口的依据
  • 校验和: 检验TCP报文首部和数据两部分

6、流量控制、拥塞控制

流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。

拥塞:在某段时间,若对网络中的某一资源需求超过了该资源所能提供的可用部分,网络的性能就要变坏这种情况。

拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。

TCP的拥塞控制采用了四种算法:慢开始、拥塞避免、快重传、快恢复

在网络层,也可以使路由器采用适当的分组丢弃策略(如主动队列管理AQM),以减少网络拥塞的发生

7、随机早期检测算法 RED算法

实现RED时需要时路由器的两个参数,即队列长度最小门限和最大门限。当每个分组到达时,RED就按照规定的算法先计算当前的平均队列长度。

  • 若平均队列长度小于最小门限,则把新到达的分组放入队列进行排队
  • 若平均队列长度超过最大门限,则把新到达的分组丢弃
  • 若平均队列长度在最小门限和最大门限之间,则按照某一丢弃概率p把新到达的分组丢弃(这就体现了丢弃分组的随机性)

8、TCP连接的管理

TCP连接的三个阶段

  1. 连接建立
  2. 数据传送
  3. 连接释放

运输连接管理就是使运输连接的建立和释放都能够正常的进行

TCP连接的建立采用客户服务器方式。

主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。

TCP连接的释放过程比较复杂,数据传输结束后,通信的双方都可释放连接

TCP连接的建立过程叫做三报文握手:

服务器要确认客户的连接请求,然后客户要对服务器的确认进行确认。

TCP连接的释放过程是四报文握手:

任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后就进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就完全关闭了TCP连接。

5. 回话层

会话层(第 5 层):该层管理应用程序之间的会话或连接。

它建立、维护和终止连接并提供设备之间的同步。它还处理检查点和恢复。

6. 表示层

表示层(第 6 层):表示层负责数据转换、加密和压缩。它确保数据以发送者和接收者都能理解的格式呈现。

7.应用层


第 7 层):顶层是应用程序和最终用户交互发生的地方。它为应用程序访问网络提供服务和接口。常见的应用层协议有HTTP、FTP、SMTP等。

1、域名系统DNS

域名系统DNS基本概念:是互联网使用的命名系统,用来把便于人们使用的机器名字转化为IP地址

DNS工作原理:

  1. 客户端输入域名,查询本地缓存
  2. 本地DNS服务器查询,本地DNS服务器内部缓存
  3. 本地DNS向根域名服务器查询,根域服务器返回一级域地址
  4. 本地DNS向根域返回的一级域服务器查询,一级域的本地缓存
  5. 查询到终结果,返回给本地DNS服务器
  6. 本地DNS服务器,将解析的结果返回客户端
  7. 客户端根据返回结果的Ip浏览互联网

互联网的域名结构: 采用层次树状结构的域名结构

域名的结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同等级的域名;

(每一级的域名由英文字母和数字组成;不超过63个字符;不区分大小写;

完整的域名不超过255个字符;

级别最低的域名写在最左边,而级别最高的顶级域名写在最右边)

域名系统不规定一个域名需要多少个下级域名,也不规定每一级的域名代表什么意思。

各级域名由其上一级的域名管理机构管理,最高的顶级域名则有因特网与数字地址分配机构ICANN进行管理。

域名的等级结构:

顶级域名:

1)国家顶级域名nTLD eg:cn表示中国

2)通用顶级域名gTLD 常见的有七个:com、net、org、int、edu、gov、mil

3)基础结构域名(反向域名)apra 用于反向域名解析

二级域名由顶级域名组织自行划分

我国将二级域名划分为类别域名(7个)和行政区域名(34个)两类

2、文件传送协议FTP

基本概念:基于利用TCP面向连接原理的FTP协议,是因特网上使用最广泛的文件传送协议

工作原理

使用客户服务器方式;一个FTP服务器可以同时为多个客户进程提供服务

服务器中分为两大进程:一个主进程(负责接收新的请求)和若干个从属进程(负责处理单个请求)

主进程的工作步骤:

  • 打开熟知端口(端口号为 21),使客户进程能够连接上。
  • 等待客户进程发出连接请求。
  • 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
  • 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

3、电子邮件

基本概念:是互联网上使用最多的和最受用户欢迎的一种应用

电子邮件系统采用 客户/服务器 方式

三个主要组成构件:用户代理、邮件服务器、电子邮件所需的协议(SMTP发送、POP3读取)

工作原理:发件人->发件服务器->收件服务器->收件人

信息格式:不是由SMTP定义的,而是在RFC 822中单独定义的。信封+内容(首部+主体)

邮局协议POP3是第三个版本,是因特网正式标准。
非常简单、功能有限的邮件读取协议。用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件。(eg:创建文件夹,对邮件进行分类管理等)
因特网邮件访问协议 IMAP4是第四个版本,目前还只是因特网建议标准。
功能比POP3强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操控一样,因此 IMAP 是一个联机协议。

POP3和IMAP4都采用基于 TCP 连接的客户/服务器方式。

POP3使用熟知端口110,IMAP4使用熟知端口143.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/129831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发一款直播弹幕游戏需要多少钱?

开发一款直播弹幕游戏需要多少钱&#xff1f;有好多朋友在咨询过弹幕游戏的开发价格后&#xff0c;都会比较吃惊&#xff0c;一款体量这么小的游戏为什么动辄就要几万块甚至十几万&#xff1f; 我来给你们说分析一下原因&#xff0c;这种游戏如果脱离开直播间&#xff0c;可以…

45基于matlab的ARIMA:AutoregressiveIntegratedMovingAverage model。

基于matlab的ARIMA&#xff1a;AutoregressiveIntegratedMovingAverage model。自回归差分移动平均模型(p,d,q)&#xff0c;AR自回归模型&#xff0c;MA移动平均模型&#xff0c;时间序列模型步骤包括&#xff1a;1. 数据平稳性检验&#xff1b;2. 确定模型参数&#xff1b;3. …

生成第一个 Blazor 应用

前言&#xff1a;博主文章仅用于学习、研究和交流目的&#xff0c;不足和错误之处在所难免&#xff0c;希望大家能够批评指出&#xff0c;博主核实后马上更改。 概述&#xff1a;Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架使用 C# 创建丰富的交互式 UI。共享使…

Flink日志采集-ELK可视化实现

一、各组件版本 组件版本Flink1.16.1kafka2.0.0Logstash6.5.4Elasticseach6.3.1Kibana6.3.1 针对按照⽇志⽂件⼤⼩滚动⽣成⽂件的⽅式&#xff0c;可能因为某个错误的问题&#xff0c;需要看好多个⽇志⽂件&#xff0c;还有Flink on Yarn模式提交Flink任务&#xff0c;在任务执…

vue3使用ts封装axios

以下是使用 TypeScript 封装 Axios 的示例代码&#xff1a; //axios.tsimport axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from axios;// 自定义 API 响应类型 interface ApiResponse<T> {code: number;message: string;data: T; }// 自…

中文大语言模型汇总

推荐一篇非常棒的github&#xff1a;Awesome-Chinese-LLM 另附语言模型排行榜&#xff1a;FastChat 里面总结了几乎所有目前主流的中文大语言模型。在此记录一下&#xff0c;方便以后慢慢学习。

单例模式下双重校验锁 DCL 的灵魂三问

文章目录 前言如何实现一个双重校验锁 DCL定义一个单例变量定义一个获取单例的方法性能优化性能优化带来的一点点问题什么是指令重排&#xff1f; 总结如何理解文章开篇理解的三个问题1、为什么需要使用两个 if 语句&#xff1f;2、为什么使用了 synchronized 关键字还需要使用…

AI 引擎系列 4 - 首次运行 AI 引擎编译器和 x86simulator(2022.1 更新)

AI 引擎系列 4 - 首次运行 AI 引擎编译器和 x86simulator&#xff08;2022.1 更新&#xff09; 简介 在 AI 引擎系列的前 3 篇博文中&#xff0c;我们探讨了 AI 引擎应用所需的不同文件。在本篇中&#xff0c;我们将为 X86 目标运行 AI 引擎编译器&#xff0c;观察它生成的不…

二进制搭建 Kubernetes(K8s)

目录 1、环境 1.1 操作系统初始化配置 1.2 部署 docker引擎 1.3 部署 etcd 集群 1.4 准备签发证书环境 1.5 部署 Master 组件 1.6 部署 Worker Node 组件 1.7 部署 CNI 网络组件 1.7.1 部署 flannel 1.7.2 部署 Calico 1.7.3 node02 节点部署 1.7.4 部署 CoreDNS 1…

0-1背包 完全背包 + 至多/恰好/至少 + 空间优化 + 常见变形题(实战力扣题)

&#xff08;一&#xff09;01背包 1.回溯三问 # capacity:背包容量 # w[i]: 第 i 个物品的体积 # v[i]: 第 i 个物品的价值 # 返回:所选物品体积和不超过 capacity 的前提下&#xff0c;所能得到的最大价值和 def zero_one_knapsack(capacity:int,w:List[int],v:List[int])…

【Linux】第八站:gcc和g++的使用

文章目录 一、解决sudo命令的问题二、Linux编译器-gcc/g1.gcc的使用2.g的使用 三、gcc编译链接过程1.预处理2.编译&#xff08;生成汇编&#xff09;3.汇编&#xff08;生成机器可识别代码&#xff09;4.链接&#xff08;生成可执行文件或库文件&#xff09;5.一些选项的意义 四…

决策树算法的实现

决策树是一种机器学习算法&#xff0c;它类似于人脑思考问题的过程。我们可以通过问一系列的问题来逐步缩小答案的范围&#xff0c;最终得到最终的答案。 比如说&#xff0c;我们想要预测一个人是否会购买某个产品&#xff0c;我们可以通过一系列的问题来缩小预测范围。例如&a…

Docker容器技术实战3

8、docker原生网络 Docker原生网络基于Linux桥接技术和虚拟网络接口&#xff0c;使用了Linux内核的网络功能。每个Docker容器都有自己的网络命名空间&#xff0c;这使得容器之间可以使用独立的IP地址&#xff0c;并隔离了容器的网络栈。 当创建一个Docker原生网络时&#xff…

Airtest工具根据App页面文字信息提取坐标进行截图保存在自定义文件夹

Airtest工具根据App页面文字信息提取坐标进行截图保存在自定义文件夹 一、项目背景 在一个项目中&#xff0c;选项被选中和未选中的节点元素的属性值无变化&#xff0c;通过AI识别率达不到百分百&#xff0c;想着通过计算图片的HSV值来判断选择能否被选中。&#xff08;HSV比…

ESP32 for Arduino 分区信息

忘记过去&#xff0c;超越自己 ❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-11-04❤️❤️ 本篇更新记录 2023-11-04❤️&#x1f389; 欢迎关注 &#x1f50e;点赞 &#x1f44d;收藏 ⭐️留言&#x1f4dd;&#x1f64f;…

【JAVA学习笔记】59 - JUnit框架使用、本章作业

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter15/src/com/yinhai/homework JUnit测试框架 1.基本介绍 1. JUnit是一个Java语言的单元测试框架 2.多数Java的开发环境都已经集成了JUnit作为单元测试的工具 2.如何使用 创建方法后&#x…

QtC++与QVariant详解

什么是 QVariant&#xff1f; QVariant 是 Qt 中的一个类&#xff0c;允许您以一种通用的方式存储和访问数据&#xff0c;即使这些数据具有不同的数据类型。它在许多情况下非常有用&#xff0c;例如在模型视图编程、数据序列化、设置和配置管理等领域。QVariant 可以包含以下类…

JVM离线分析-使用MAT分析dump堆文件

1. MAT&#xff08;Memory Analyzer Tool&#xff09;的介绍 官方介绍 The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find memory leaks and reduce memory consumption. Use the Memory Analyzer to analyze productive heap …

Java随机获取某个范围内的随机整数

随机获取某个范围内的随机整数 一、代码 /*** 随机获取某个范围内的随机整数的值* param min 最小值* param max 最大值* return*/public static int randomNum(int min,int max) {// 创建一个Random对象Random random new Random();// 生成指定范围内的随机整数int randomI…

通过@ConfigrationProperties读取配置文件属性并赋值

这种设计使得 Anything 成为 Something 类的静态成员&#xff0c;因此不依赖于外部类的实例。静态内部类通常更独立&#xff0c;它们可以单独存在且无需引用外部类的实例。 如果将 Anything 类定义为非静态的内部类&#xff0c;它将依赖于 Something 类的实例。这意味着每个 S…