HCIA再复习

第一章.网络基础

1.1 网络类型分类

网络按照二层链路类型分为以下四种:

多点接入网络(MA):

1,广播型多点接入(BMA):如以太网,支持广播,设备通过MAC地址通信,适合局域网。

2,非广播型多点接入(NBMA):如帧中继,不支持广播,需手动配置邻居,常用于广域网。

点到多点网络(P2MP):由其他网络类型手动配置,需指定邻居。

点到点网络(P2P):仅两台设备,通过串行接口(serial)连接,使用串行线,常用于广域网。

1.传输标准:

 E1:2.048Mbps(欧洲标准)。

 T1:1.544Mbps(北美标准)。

1.2 数据链路层协议

以太网协议

·定义:传输以太网帧的局域网协议。

·特点:

支持广播,多设备通过MAC地址区分。

使用频分技术,传输速率高(10Mbps到100Gbps)。

 帧结构:

以太网Ⅱ帧:类型字段标识上层协议(如IP)。

 802.3帧:含LLC子层,提供分片和帧类型号。

HDLC协议

定义:高级数据链路控制协议,私有协议,不同厂商不兼容。

特点:

支持透明传输,帧格式统一,效率高。

 无验证机制,安全性较低。

应用:常用于点到点广域网连接。

PPP协议

定义:点到点协议,公有协议,所有厂商兼容。

特点:

 支持同步/异步线路。

 支持验证(PAP/CHAP)和错误检测。

 支持IP地址协商(如IPCP)。

 无重传机制,网络开销小。

组成:

 LCP(链路控制协议):协商链路参数(如MTU)。

 NCP(网络控制协议):协商网络层参数(如IP地址)。

工作过程:

1.LCP建立:协商链路参数。

2.认证(可选):

PAP:两次握手,密码明文,安全性低。

CHAP:三次握手,加密传输,安全性高。

3.NCP协商:分配IP地址等。

·应用:用于拨号连接(如PPP E)或点到点广域网。

·PPP的CHAP使用挑战-响应机制(MD5加密),比PAP更安全。

·HDLC和PPP均使用FCS(帧校验序列)检测错误。

第二章 TCP协议

2.1 TCP协议概述

TCP(传输控制协议)是一种可靠的传输层协议,特点如下:

·面向连接:传输前需建立逻辑连接。

·可靠传输:通过确认、重传、流控等机制确保数据不丢失。

·点到点:每条连接只有两个端点。

·全双工:支持双向同时通信。

·面向字节流:以字节为单位传输数据。

TCP适合需要高可靠性的场景(如HTTP、FTP)。

对比UDP:无连接、不可靠、开销小,适合实时应用(如DNS、视频流)。

2.2 TCP报文结构

TCP报文头部包含以下关键字段:

字段 长度 描述

源端口号 16位 发送方端口号

目标端口号 16位 接收方端口号

序列号 32位 报文段的字节序号

确认号 32位 期望收到的下一个字节序号

首部长度 4位 TCP头部长度(单位:4字节,最大60字节)

控制位 6位 URG/ACK/PSH/RST/SYN/FIN标志

窗口大小 16位 接收方的可用缓冲区大小

校验和 16位 验证数据完整性

紧急指针 16位 紧急数据的位置

选项 可变 可选字段(如MSS、时间戳)

控制位作用:

 URG:紧急数据优先。

 ACK:确认号有效。

 PSH:尽快推送数据到应用层。

 RST:重置连接(异常终止)。

 SYN:发起连接。

 FIN:释放连接。

·四元组:源IP、源端口、目标IP、目标端口,唯一标识一条TCP连接。

2.3 TCP可靠传输机制

连接确认

·通过ACK报文(ACK=1)确认数据接收,确认号指明期望的下一字节。

重传机制

·超时重传:

 RTT:发送到收到确认的往返时间。

 RT :超时重传时间,动态调整,略大于RTT。

 网络拥塞时,RT 加倍以缓解压力。

·快速重传:

 接收方连续发送3个冗余ACK,发送方立即重传丢失数据。

流控机制

·滑动窗口:接收方通过窗口字段(rwnd)通知发送方可发送数据量。

·零窗口:缓冲区满时,窗口设为0,暂停发送。

·坚持定时器:定期探测窗口更新,避免死锁。

  

·实际发送窗口 = min(cwnd, rwnd),其中cwnd为拥塞窗口。

·零窗口可能导致死锁,TCP通过坚持定时器解决。

2.4 TCP拥塞控制

·拥塞判断:

 数据包超时。

 收到3个冗余ACK。

·拥塞窗口(cwnd):动态调整发送速率,实际发送窗口 = min(cwnd, rwnd)。

拥塞控制阶段

1.慢启动:

 初始cwnd = 1 MSS(最大分段大小)。

 每收到一个ACK,cwnd翻倍(指数增长)。

 达到慢启动门限(ssthresh)后进入拥塞避免。

2.拥塞避免:

 cwnd每RTT加1 MSS(线性增长)。

3.快速恢复:

 收到3个冗余ACK后,cwnd减半,继续发送数据。

·ssthresh控制慢启动到拥塞避免的切换。

·常见算法(如Ren )优化拥塞控制,HCIA常考Ren 。

2.5 TCP连接管理

三次握手(建立连接)

1.客户端发送SYN=1(序列号=x)。

2.服务器回复SYN=1, ACK=1(序列号=y,确认号=x+1)。

3.客户端发送ACK=1(确认号=y+1)。

·目的:确认双方收发能力,初始化随机序列号(ISN)防止旧连接干扰。

四次挥手(释放连接)

1.主动方发送FIN=1(序列号=x)。

2.被动方回复ACK=1(确认号=x+1)。

3.被动方发送FIN=1(序列号=y)。

4.主动方回复ACK=1(确认号=y+1)。

·MSL(最长报文段寿命):默认2分钟,TIME_WAIT状态持续2MSL。

· FIN报文消耗一个序列号,确保可靠性。

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

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

相关文章

Qt 数据库连接池实现与管理

在 Qt 应用程序中,频繁创建和销毁数据库连接会带来显著的性能开销。数据库连接池通过复用现有连接,避免重复创建和销毁连接的开销,从而提高应用程序的响应速度和吞吐量。本文将详细介绍 Qt 中数据库连接池的实现与管理方法。 一、数据库连接池…

数据采集分析:从信息洪流中掘金的科学与艺术

——如何将原始数据转化为商业决策的黄金?🌐 引言:我们正淹没在数据的海洋,却渴求着知识的甘泉每天全球产生 2.5万亿字节 数据(相当于每秒下载4.5万部高清电影),但未经分析的数据如同未提炼的原…

Oracle国产化替代:一线DBA的技术决策突围战

从“如履薄冰”到“游刃有余”,中国数据库的自主之路正重塑技术人的思维地图。 “凌晨三点的最后一次数据校验通过,割接系统绿灯全亮——**河北移动核心账务系统的Oracle数据库已被GoldenDB完全替代**。”2025年6月底,这场持续两年的攻坚战画上句号。当全省业务流量平稳切…

OS19.【Linux】进程状态(1)

目录 1.情景引入 2.操作系统学科对进程状态的分类 运行状态 基于时间片的轮转调度算法 阻塞状态 等待IO设备的例子 等待其他进程中需要获取的数据 进程唤醒 挂起状态(全称为阻塞挂起状态) 简单谈谈虚拟内存管理 就绪状态 笔面试题 3.Linux对进程状态的分类 R和S状…

Hadoop小文件合并技术深度解析:HAR文件归档、存储代价与索引结构

HDFS小文件问题的背景与挑战在Hadoop分布式文件系统(HDFS)的设计哲学中,"大文件、流式访问"是核心原则。然而现实场景中,海量小文件(通常指远小于HDFS默认块大小128MB的文件)的涌入却成为系统性能…

Verilog 提取信号的上升沿或者下降沿

上升沿提取代码&#xff1a;reg [1:0] F1;always (posedge clk)beginif(rst_n 1b0) F1[1:0]<2b00;else F1[1:0]<{F1[0],start_i};endwire start_l2h (F1[1:0]2b01)?1b1:1b0;下降沿提取代码&#xff1a;reg [1:0] F1;always (posedge clk)b…

.Net core 部署到IIS出现500.19Internal Server Error 解决方法

.Net core 部署到IIS&#xff0c;网页出现500.19Internal Server Error 解决方法解决方法 在URL:https://dotnet.microsoft.com/zh-tw/download/dotnet/8.0下载并安装dotnet-hosting-8.0.18-win.exe 重启IIS服务器

Linux 基本命令整理

&#x1f427; Linux 基本命令整理 为了方便初学者快速掌握 Linux 常用命令&#xff0c;以下是经过分类整理的核心命令及用法说明。 &#x1f4c2; 目录操作与文件管理 pwd 核心功能&#xff1a;打印当前工作目录的绝对路径&#xff0c;明确用户所在位置。 实操示例&#x…

牛客周赛 Round 101(题解的token计算, 76修地铁 ,76选数,76构造,qcjj寄快递,幂中幂plus)

A题解的token计算要记住c中的对数函数&#xff1a;log(n) 是自然对数&#xff08;以e为底&#xff09;ln(nlog10(n) 是以10为底的对log1p(n) 是ln(1n)&#xff0c;提供更高的数值精log2(n) 是以2为底的对logl(n) 和 log10l(n) 是long double版#define _CRT_SECURE_NO_WARNINGS …

商场导航软件:3D+AI 基于Deepseek 模型的意图识别技术解析

本文面向室内导航工程师、商场导航系统优化师及LBS 应用开发的技术员&#xff0c;解析商场室内导航系统 3DAI 三大核心技术模块&#xff0c;并提供可直接复用的工程解决方案。如需获取商场导航系统技术方案可前往文章最下方获取&#xff0c;如有项目合作及技术交流欢迎私信作者…

借助Aspose.HTML控件,使用 Python 编程将网页转换为 PDF

使用 Python 将网页转换为 PDF 有时您需要离线访问网页&#xff0c;使其更易于访问。因此&#xff0c;将HTML页面转换为PDF即可满足您的需求。令人惊讶的是&#xff0c;您可以在几秒钟内在 Python 项目中启用 HTML 到 PDF 的转换。本指南将为 Python 开发人员介绍一个功能强大…

数据结构:找出字符串中重复的字符(Finding Duplicates in a String)——使用位运算

目录 预备知识 左移运算&#xff08;<<&#xff09; 位运算 一、从最朴素的方法开始 二、如果只关心“有没有出现过”&#xff0c;不关心“次数”&#xff0c;还能不能更省&#xff1f; 三、有没有一种更“紧凑”的方式表示26个开关&#xff1f; 四、用一个整数的…

DevOps 完整实现指南:从理论到实践

DevOps 是一种集软件开发&#xff08;Dev&#xff09;与 IT 运维&#xff08;Ops&#xff09;于一体的文化、实践和工具链&#xff0c;旨在通过自动化流程、持续集成/持续交付&#xff08;CI/CD&#xff09;、基础设施即代码&#xff08;IaC&#xff09;和跨团队协作&#xff0…

使用 5 种安全解决方案将 Android 短信导出为PDF

想要将安卓手机短信导出为 PDF 格式&#xff0c;用于法律用途、情感表达或仅仅为了记录&#xff1f;总之&#xff0c;您可以保存安卓手机短信并将其转换为 PDF 格式&#xff0c;确保它们井然有序&#xff0c;方便打印。快来获取解决方案吧&#xff01;第 1 部分&#xff1a;如何…

再谈fpga开发(fpga开发的几个差异)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】学习嵌入式的同学都知道&#xff0c;嵌入式一般分成这几种chip&#xff0c;有51&#xff0c;有stm32 mcu&#xff0c;有soc&#xff0c;有dsp&#…

Kafka运维实战 11 - kafka查看消息的具体内容【实战】

目录kafka 消息查看1. 直接查看日志文件内容步骤&#xff1a;2. 使用 Kafka 工具查看日志主要参数说明常用命令&#xff1a;输出说明&#xff1a;3. 注意事项kafka 消息日志文件详解我们有时候遇到这样的需求&#xff0c;需要查看下kafka消息的内容。 kafka 消息查看 查看 Ka…

【自动化测试】JMeter+Jenkins自动化接口与性能测试环境部署指南

环境准备与基础配置 软硬件环境要求 工具链安装部署 工具链安装部署涉及JDK、JMeter、Jenkins等核心组件,其在Linux与Windows环境下的安装流程存在显著差异,企业级部署需重点关注静默安装、权限控制及数据备份配置。以下从组件安装差异、企业级部署要点及备份配置三方面展开…

三步实现Android系统级集成:预装Google TTS + 默认引擎设置 + 语音包预缓存方案

在定制Android系统时&#xff0c;预装Google TTS引擎并实现开箱即用的语音服务能显著提升用户体验。本文将详解预装APK→设为默认引擎→语音包预缓存的实现方案&#xff0c;适用于ROM开发者或系统定制场景。分步实现方案 预装Google TTS APK 预装APK这里可以采用很多种方式&…

Python基础学习第三课:数据结构与文件操作

以下是Python基础学习第三课的完整内容&#xff0c;重点讲解数据结构&#xff08;列表、字典、元组、集合&#xff09;和文件操作&#xff0c;通过实例演示如何高效管理和操作数据&#xff1a;Python基础学习第三课&#xff1a;数据结构与文件操作一、课程目标1. 掌握四种核心数…

【PHP 流程控制完全指南】

PHP 流程控制完全指南&#x1f9e0; 一、什么是流程控制&#xff1f; 在编程中&#xff0c;流程控制是指控制程序执行顺序的语句。它决定了代码是“从上往下执行”&#xff0c;还是“根据条件跳转”&#xff0c;或者“循环执行某些代码”。 PHP 中的流程控制语句主要包括&#…