【软考网络管理员】2023年软考网管初级常见知识考点(11)-TCP和UDP详解

news2024/11/24 19:04:05

涉及知识点

传输控制协议TCP是什么,三次握手的概念理解,用户数据报协议UDP是什么,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。
原创于:CSDN博主-《拄杖盲学轻声码》,更多考点汇总可以去他主页查看


文章目录

  • 涉及知识点
  • 前言
  • 一、传输控制协议TCP
    • 1.TCP主要特点
    • 2.TCP报文格式
    • 3.TCP三次握手
    • 4.TCP流量控制
    • 5.TCP拥塞控制
  • 二、用户数据报协议UDP


前言

更多考试总结可关注CSDN博主-《拄杖盲学轻声码》
TCP和UDP是什么,你又了解多少,今天来和大家做个内容详细介绍的分享哈,希望通过这篇文章大家对TCP和UDP有个全新的概念和理解。

一、传输控制协议TCP

传输控制协议TCP是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

1.TCP主要特点

(1)面向连接的传输层协议。
(2)每一条TCP连接只能有两个端点:只能是点对点
(3)TCP提供可靠交付的服务:通过TCP连接传送的数据无差错、不丢失、不重复,并且按顺序到达。
(4)TCP提供全双工通信:TCP允许通信双方的应用进程在任何时刻都能发送数据。在TCP连接的两端都有发送缓存和接收缓存,用来临时存放通信的数据。
(5)面向字节流:TCP把应用进程交下来的数据彳成是一连串无结构的字节流。TCP并不关心应用进程一次把多长的报文发送到TCP的缓存中,而是根据对端给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个#节。

2.TCP报文格式

在这里插入图片描述

(1)源端口:该字段长度为2字节。TCP报文发送方使用的端口号。
(2)目的端口:该字段长度为2字节。TCP报文接收方使用的端口号。
(3)序列号(SequenceNumber,SEQ):该字段长度为4字节。序列号是本报文段的编号。序列号的初始值称为初始序列号,由系统随机产生。
(4)确认号(AcknowledgmentNumber,ACKNUM):该字段长度为4字节。确认号是目的端期望收到的下一个报文段的序列号。
(5)报头长度:该字段长度为4位。标识了TCP报头的结束和数据的开始。没有任何选项字段的TCP报头长度为20字节,最多可以有60字节。
(6)预留:该字段长度为6位。预留位默认为0。
(7)URG:该字段长度为1位。紧急标志,URG为1时,表明紧急指针字段有效
(8)ACK:该字段长度为1位。确认标志,ACK为1时,表明确认号字段有效。
(9)PSH:该字段长度为1位。推送标志,接收方收到PSH置1的报文段,会尽快交给应用进程,而不再等到整个缓存都填满后再交给应用进程
(10)RST:该字段长度为1位。复位连接标志,RST为1时,表明TCP连接出现严重差错,必须释放连接,并重建连接。
(11)SYN:该字段长度为1位。同步标志,SYN为1时,表示一个连接请求或连接接受。
(12)FIN:该字段长度为1位。释放连接标志,FIN为1时,表明发送端的数据发送完毕,要求释放连接。
(13)窗口:该字段长度为2字节。用来进行流量控制,单位为字节,这个值是本端期望一次接收的字节数,并通知对方。
(14)校验和:该字段长度为2字节。对TCP报头和TCP数据部分进行校验和计算,并由目标端进行验证。
(15)紧急指针:该字段长度为2字节。它是一个偏移量,与序号字段值相加表示紧急数据最后一个字节的序号。
(16)选项:可包括窗口扩大因子、时间戳等选项,长度可变。
(17)数据部分:应用层数据,长度可变。

3.TCP三次握手

建立连接的过程如图所示。
在这里插入图片描述

第一步,客户端发出连接请求。
TCP数据为:SEQ=X,SYN=loSEQ=X表示A发送序列号为X的报文段;SYN=1表示客户端请求建立连接。
第二步,服务器确认请求,同意建立连接。
服务器收到连接请求,发送TCP数据为:SEQ=Y,ACKNUM=X+1,ACK=1,SYN=1。SEQ=Y表示服务器发送序列号为Y的报文段;ACKNUM=X+1,ACK=1表示B确认已经正确收到客户端发送的序列号为X的报文段;SYN=1表示服务器同意建立连接。
第三步,客户端确认,连接建立。
TCP使用三次握手来建立连接。例如,有客户端主机和B主机,客户端向服务器发出连接请求,建客户端发出连接请求SEQ=X,SYN=1客户端确认,连接建立SEQ=X+1,ACKNUM=Y+1,ACK=1TCP数据为:SEQ=X+1,ACKNUM=Y+1,ACK=1„SEQ=X+1表示A发送序列号为X+1的报文段;ACKNUM=Y+1,ACK=1表示A确认已经正确收到服务器发送的序列号为Y的报文段。至此客户端完成连接,最后一步服务器收到确认信息,也完成连接,客户端与服务器可以通信来传输数据。
而TCP连接释放过程比较复杂,采用的是四次挥手机制。

4.TCP流量控制

如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。流量控制指点对点通信量的控制,是端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。利用可变大小的滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。

5.TCP拥塞控制

拥塞指的是对资源的需求超过了可用的资源。St网络中许多资源同时供应不足,网络的性能就要明显变坏,整个网络的吞吐量随着负荷的增大而下降。网络拥塞往往是由许多因素引起的。TCP几种拥塞控制方法包括:慢开始、拥塞避免、快重传和快恢复。

二、用户数据报协议UDP

UDP是一种简号的畐向数据报的传输协议,实现的是不可孕、无连接的数据报服务,通常用于不要求可靠传输的场合,可以提高传输效率,减少额外开销。使用UDP传输时,应用进程的每次输出均生成一个UDP数据报,并将其封装在一个IP数据报中发送。UDP没有拥塞控制,所以网络出现的拥塞不会让源主机的发送速率降低。这对于某些实时应用是很重要的。很多实时的应用(例如IP电话、实时视频会议)要求源主机以恒定的速率发送数据,并且允许在网络拥塞情况下丢失一些数据,但却不允许数据有太大的时延,UDP正好适合这种要求。

#涨薪支持区
期待大家能通过这篇文章学到更多,而且薪资一年更比一年猛!
喜欢博主的话可以上榜一探究竟,博主专设涨薪皇榜给大家查阅,喜欢的可以点击此处查看哟。
在这里插入图片描述


#总结
更多备考资料大家可以关注csdn博主-《拄杖盲学轻声码》

以上就是今天要讲的内容,本文主要介绍了备考软考网络管理员的常见知识点(11)TCP和UDP的详解,也期待大家逢考必过哈,2023年一起加油!!!

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

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

相关文章

AntV G6新版源码浅析

前言 AntV是蚂蚁金服全新一代数据可视化解决方案,其中G6主要用于解决图可视领域相关的前端可视化问题,其是一个简单、易用、完备的图可视化引擎。本文旨在通过简要分析G6 5.x版本源码来对图可视领域的一些底层引擎进行一个大致了解,同时也为…

【玩转Linux操作】详细讲解expr,read,echo,printf,test,[]等命令

🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【free loop】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文章目录 🍔expr命令⭐表达式说明 &#x1f3…

JAVA:Springboot动态装配Druid多数据源

1、简介 最近打算搭建一个鉴权中心服务,采用springbootFastMybatis装配Druid,考虑后续拓展采用Druid多数据源配置,以一个数据源为主,多个动态数据源为辅的结构。除了数据库,后续会结合shiro安全框架来搭建。 2、引用…

【Leetcode60天带刷】day33回溯算法——1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

​ 题目: 1005. K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&am…

将视频转为幻灯片图像:利用OpenCV实现视频资料转换的指南

视频成为了传播知识和信息的重要媒介之一。然而,有时我们需要以静态的形式保存视频内容,例如将视频讲座转换为幻灯片或图像,以便于分享、存档或打印。幸运的是,OpenCV这一功能强大的计算机视觉库提供了各种技术和工具,…

机器学习之线性回归算法

目录 线性回归算法 求导法推导 梯度下降法推导 线性回归实现人脸识别 导入数据 构建标签矩阵 经典线性回归求导法实现 经典线性回归梯度下降法实现 岭回归实现 套索回归实现 局部加权线性回归实现 可视化 人脸识别 线性回归算法 求导法推导 梯度下降法推导 线性回…

chatgpt赋能python:Title:Python编程中的空格怎么用?详细教程!

Title: Python编程中的空格怎么用?详细教程! Introduction: Python编程的空格使用一直是令人困惑的话题之一,但它却是Python语言中非常重要的一部分。空格在Python程序中用来表示代码块的开始和结束,因此不同的空格使用方式可能…

【夜深人静学数据结构与算法 | 第十篇】动态规划

目录 前言: 动态规划: 常见应用: 解题步骤: 动态规划的简化步骤: 案例: 509. 斐波那契数 - 力扣(LeetCode) 70. 爬楼梯 - 力扣(LeetCode) 62. 不同路…

【软考网络管理员】2023年软考网管初级常见知识考点(10)- 网际协议IP及IPV6,IPV4详解

涉及知识点 分类的IP地址,子网划分,CIDR和路由汇聚,IPV4数据报格式,IPV6协议,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 原创于:CSDN博主-《拄杖盲学…

Java的理论知识部分

文章目录 前言 一、Java的发展 1.1、Java的出现 1.2、Java官方网址 1.3、Java的平台 1.4、Java各版本新加的内容 1.5、java特点 1.6、Java的三种运行机制 1.7、Java的编译与运行 1.8、补充内容——华为鲲鹏jdk以及鲲鹏计算 二、面向对象程序编程 2.1、对象与类 2.2、Ja…

第一次安装cocoapods经历

先是执行&#xff1a;sudo gem install cocoapods 报错&#xff1a; ERROR: Error installing cocoapods: The last version of activesupport (> 5.0, < 8) to support your Ruby & RubyGems was 6.1.7.3. Try installing it with gem install activesupport -v…

无需麻烦,快速下载MySQL JDBC驱动程序!

如何提升你的MySQL数据库操作速度呢&#xff1f; 不必再费时寻找&#xff0c;我讲为你带来最简便、快速的MySQL JDBC驱动程序下载方法&#xff01; 无需繁琐步骤&#xff0c;轻松获取所需&#xff0c;让你的数据库操作更加流畅&#xff0c;事半功倍&#xff01;立即点击下载即…

高速数据采集专家--青翼8通道125MSPS 16位AD采集FMC子卡

青翼自研FMC129是一款8通道125MHz采样率16位AD采集FMC子卡&#xff0c;符合VITA57.1规范&#xff0c;可以作为一个理想的IO模块耦合至FPGA前端&#xff0c;8通道AD通过高带宽的FMC连接器&#xff08;HPC&#xff09;连接至FPGA从而大大降低了系统信号延迟。 该板卡支持板上可编…

【资料分享】Xilinx Zynq-7010/7020工业评估板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)

1 评估板简介 创龙科技TLZ7x-EasyEVM是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板&#xff0c;处理器集成PS端双核ARM Cortex-A9 PL端Artix-7架构28nm可编程逻辑资源&#xff0c;评估板由核心板和评估底板组成。核心板经过专业的…

常见排序及其改进方案

常见排序及其改进方案 快速排序 思想&#xff1a; 找到一个基准&#xff0c;通常来说选取左边第一个元素 定义中间变量temp接收基准值 两个哨兵i,j分别从数组左端、右端进行扫描 (a)先从右端开始扫描&#xff1a;哨兵j先从右端开始扫描&#xff0c;确保右端元素>基准值…

Collapse折叠面板(antd-design组件库)展示所有配置选项和onChange的作用

1.Collapse折叠面板 可以折叠/展开的内容区域。 2.何时使用 对复杂区域进行分组和隐藏&#xff0c;保持页面的整洁。 手风琴 是一种特殊的折叠面板&#xff0c;只允许单个内容区域展开。 组件代码来自&#xff1a; 分页 Pagination - Ant Design 3.本地验证前的准备 参考文章【…

Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)

1.简介 上一篇文章已经教你把JMeter的测试环境搭建起来了&#xff0c;那么这一篇我们就将JMeter启动起来&#xff0c;一睹其芳容&#xff0c;首先我给大家介绍一下如何来创建一个测试计划&#xff08;Test Plan&#xff09;。 2.创建一个测试计划&#xff08;Test Plan&#x…

前端实现pdf,图片,word文件预览

前端实现文件预览功能 需求&#xff1a;实现一个在线预览pdf、excel、word、图片等文件的功能。 介绍&#xff1a;支持pdf、xlsx、docx、jpg、png、jpeg。 以下使用Vue3代码实现所有功能&#xff0c;建议以下的预览文件标签可以在外层包裹一层弹窗。 图片预览 iframe标签能够将…

Learning to cluster in order to transfer across domains and tasks (ICLR 2018)

Learning to cluster in order to transfer across domains and tasks (ICLR 2018) 摘要 这篇论文提出一个进行跨域/任务的迁移学除了习任务&#xff0c;并将其作为一个学习聚类的问题。除了特征&#xff0c;我们还可以迁移相似度信息&#xff0c;并且这是足以学习一个相似度…

Git的常用命令,及还原文件的指定版本,及分支管理

一.git 常用命令 1.创建一个空的Git仓库或重新初始化一个现有仓库 git init 2.执行 clone 命令默认会拉取远程仓库的所有内容 git clone 3.显示版本库和暂存区的状态 git status 4.将该文件添加到暂存区 git add . 5.将git add 之后文件在暂存区之后的提交 git commit -m 提…