-
##[TCP/IP协议简介TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。TCP/IP协议四个层次1.应用层(Application layer):是TCP/IP体系结构中的最高层,应用层包括了所有高层协议,并且总是不断有新的协议加2.运输层(Transport layer):也称为应用程序到应用程序层。与OSI的传输层类似主要负责应用程序到应用程序之间的端对端通信。◆传输层的主要功能:在互联网中源机与目的主机的对等实体间建立用于会话的端对端连接。◆传输层主要有两个协议:即传输控制协议(TCP)和用户数据报协议(UDP)。3.网络层(Internet layer):与OSI参考模型的网络层相当,是整个TCP/IP体系结构的关键部分。◆网络层的主要功能:(1)处理来自传输层的分组发送请求,在收到分组发送请求之后,将分组装入IP数据报,填充报头,选择好发送路径,然后将数据报发送到相应的网络输出端;(2)处理接收的数据报,在接收到其他主机发送的数据报之后,检查目的地址,如需要转发,则选择发送路径,转发出去,如目的地址为本结点IP地址,则除去报头,将分组交送传输层处理;(3)处理互联的路径选择、流量控制与拥塞问题;4.网络接口层(Internet interface layer):最底层,负责将数据包送到电缆上是实际的网络硬件接口,对应于OSI参考模型的物理层和数据链路层。实际上,TCP/ IP并没有定义具体的网络接口协议,而是旨在提供灵活性,以适应各种网络类型。如LAN MAN和WAN,这也说明了TCP/ IP可以运行在任何网络之上,这也为TCP/ IP的成功打下了基础。OSI模型与TCP/IP协议的对应TCP/IP 具有的特点①开放的协议标准,可以免费使用并且独立于特定的计算机硬件与操作系统;②独立于特定的网络硬件,可以运行在局域网、广域网中更适用于互联网;③统一的网络地址分配方案,使得整个TCP/ IP设备在网络中都具有唯一的地址;④标准化的高层协议,可以提供多种可靠的用户服务。TCP/IP协议三次握手●TCP握手协议,在TCP/IP协议中TCP协议提供可靠的连接服务,采用三次握手建立一个连接。●第一次握手:▷建立连接时客户端发送 syn包(syn=j)到服务器.并进入SYN_SEND状态等待服务器确认。●第二次握手:▷服务器收到syn包必须确认客户的SYN (ack = j + 1)。同时自己也发送一-个 SYN包(syn = k)。即SYN+ ACK包此时服务器进入SYN_RECV 状态。●第三次握手:▷客户端收到服务器的SYN+ ACK包向服务器发送确认包ACK(ack = k + 1)此包发送完毕客户端和服务器进入ESTABLISHED状态,完成三次握手。●完成三次握手,客户端与服务器开始传送数据。TCP/IP协议簇TCP/IP协议簇是Internet的基础,也是当今最流行的组网形式。TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。其中比较重要的有SLIP协议、PPP协议、IP协议、ICMP协议、ARP协议、TCP协议、UDP协议、FTP协议、DNS协议、SMTP协议等。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。注:关于个各层协议的简介以及特点不在一一细说!
-
一、变更规范 范围 ● 上线变更:代码上线、回滚、扩缩容; ● 配置变更:系统配置、应用配置; ● 网络变更:网络割接、设备更换; ● 其它变更:流量调度、服务切换、服务下线...原则 a、制定变更审核流程; b、制定变更相关方通知(群、邮件); c、制定变更回滚策略; d、遵循测试、灰度、全量上线的规则; e、下线变更要将服务器依赖处理干净,比如说挂着vip、有域名解析。二、容灾规范 范围 ● 服务灾备:多机器、多机房; ● 数据灾备:多备份、异地备份; ● 网络灾备:多线路、多设备;原则 a、自动切换 好于 手动切换; b、无状态 好于 有状态; c、热备 好于 冷备; d、多机房 好于 单机房。三、容量规范 范围 ● 系统容量:木桶原理计算系统的全链路容量、用量、余量; ● 模块容量:模块的容量、用量、余量; ● 机房容量:分机房的容量、用量、余量; ● 单机容量:用于反向计算机房、模块容量;原则 a、制定模块单机容量指标(比如QPS、连接数、在线用户数等); b、容量要考虑下行(读)、上行(写),考虑存储增量; c、计算当前模块总容量,收集当前的用量,并对比容量计算余量; d、系统总容量可以根据木桶原理,找到短板模块后,反向计算出来四、巡检规范 范围 ● 用户核心指标; ● 服务核心指标; ● 基础资源指标:服务器; ● 依赖资源指标:依赖db、依赖接口; ● 自动化巡检报告; ● 值班oncall安排;原则 a、DashBoard核心在于收敛、舍得; b、自动化巡检的必要性在于异常侦测,预防故障。五、告警规范 范围 ● 基础监控:CPU、内存、网络、IO; ● 应用监控:进程、端口; ● 业务监控:日志、业务埋点; ● 依赖监控:数据库、依赖接口...原则 a、核心监控收敛成告警,并对告警进行分级,备注告警影响; b、核心监控形成可排查问题的DashBoard; c、告警的价值在于实时发现故障。六、预案规范 范围 ● 线路切换:移动、电信、联通线路切换; ● 机房切换:不同机房切换; ● 机器切换:机器故障时进行摘除; ● 服务降级:无法切换时,降低标准继续服务; ● 数据库切换:主从切换、读写切换; ● 网络切换:主备线路切换、链路切换;原则 a、域名切换 好于 更换IP; b、自动摘除 好于 手动操作; c、自动切换 好于 手动切换; d、考虑好雪崩事宜。七、故障管理规范 范围 ● 服务分级:确定各服务用户角度的影响; ● 故障定级:制定故障定级标准; ● 制定故障通知、处理规范; ● 制定故障复盘,改进措施按时保量完成的规范;原则 a、拥抱故障,同类故障不能重复发生。八、权限安全规范 范围 ● 开发、运维、临时权限; ● 安全上符合安全审计标准。九、文档、工具规范 范围 ● 统一共享知识文档; ● 统一共享各种脚本工具;原则 a、理想的情况是“一站式运维平台”,一个平台涵盖所有工具操作。十、标准化规范 范围 ● 主机名标准化; ● 日志存储标准化; ● 日志格式标准化; ● 域名使用标准化; ● 软件安装目录结构标准化; ● 服务及相关的组件使用命令标注化;原则 a、主机名尽量能看出更多信息,比如服务、模块、机房等; b、日志是排查问题的重要信息,一定要标准化,方便手工排查,更是为了以后用工具处理打下基础。十一、资源管理规范 范围 ● 服务器 ● vip ● 域名 ● 证书 ● 代码 ● k8s ● 数据库 ● 中间件原则 a、资源之间是有关系的,要建立有关系的资源管理
-
枕边小记忆:MySQL -- 技巧提升篇** 1 、1=1,1=2的使用,在SQL语句组合时用的较多**“where 1= 1”是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count() as Total from [' + @tblName + '] where ' + @strWhere end else begin set @strSQL = 'select count() as Total from [' + @tblName + ']' end我们可以直接写成错误!未找到目录项。 ** set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere 2、收缩数据库 **--重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE**3 、压缩数据库**dbcc shrinkdatabase(dbname)**4 、转移数据库给新用户以已存在用户权限**exec sp_change_users_login 'update_one','newname','oldname' go**5 、检查备份集**RESTORE VERIFYONLY from disk='E:\dvbbs.bak'**6 、修复数据库**ALTER DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO ALTER DATABASE [dvbbs] SET MULTI_USER GO**7 、日志清除**SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INTUSE tablename -- 要操作的数据库名 SELECT @LogicalFileName = 'tablename_log', -- 日志文件名 @MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日志文件的大小(M)Setup / initialize DECLARE @OriginalSize int SELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileName SELECT 'Original Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileName CREATE TABLE DummyTrans (DummyColumn char (8000) not null)DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255) SELECT @StartTime = GETDATE(), @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'DBCC SHRINKFILE (@LogicalFileName, @NewSize) EXEC (@TruncLog) -- Wrap the log if necessary. WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) AND (@OriginalSize * 8 /1024) > @NewSize BEGIN -- Outer loop. SELECT @Counter = 0 WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000)) BEGIN -- update INSERT DummyTrans VALUES ('Fill Log') DELETE DummyTrans SELECT @Counter = @Counter + 1 END EXEC (@TruncLog) END SELECT 'Final Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),size) + ' 8K pages or ' + CONVERT(VARCHAR(30),(size*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileName DROP TABLE DummyTrans SET NOCOUNT OFF**8 、说明:更改某个表**exec sp_changeobjectowner 'tablename','dbo'9 、存储更改全部表 ****CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128) ASDECLARE @Name as NVARCHAR(128) DECLARE @Owner as NVARCHAR(128) DECLARE @OwnerName as NVARCHAR(128)DECLARE curObject CURSOR FOR select 'Name' = name, 'Owner' = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order by nameOPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0) BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + '.' + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwner end -- select @name,@NewOwner,@OldOwnerFETCH NEXT FROM curObject INTO @Name, @Owner ENDclose curObject deallocate curObject GO**10 、SQL SERVER中直接循环写入数据**declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) set @i=@i+1 end 案例 **:** 有如下表,要求就裱中所有沒有及格的成績,在每次增長 0.1的基礎上,使他們剛好及格:Name scoreZhangshan 80Lishi 59Wangwu 50Songquan 69while((select min (score) from tb_table) < 60 )beginupdate tb_table set score = score* 1.01 ****where score < 60 ****if (select min (score) from tb_table) > 60 ****breakelsecontinueend
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签