计算机网络传输层(期末、考研)
计算机网络总复习链接🔗
目录
- 传输层的功能
- 端口
- UDP协议
- UDP数据报
- UDP的首部格式
- UDP校验
- TCP协议(必考)
- TCP报文段
- TCP连接的建立
- TCP连接的释放
- TCP的可靠传输
- TCP的流量控制
- 零窗口探测报文段
- TCP的拥塞控制
- 慢开始和拥塞控制
- 快重传和快恢复
- TCP和UDP对比
- 本章问题汇集
传输层的功能
- 传输层提供应用进程之间(端到端)的逻辑通信。与网络层不同,应用层提供的是主机之间的通信。
- 复用和分用:复用是指发送方不同的应用进程可以使用同一个传输层协议传送数据,分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确的交付到目的应用进程。
- 差错检测:可以对收到的报文进行差错检测(首部和数据部分),而网络层只检查IP数据报的首部,不检查数据部分是否出错。
- 提供两种不同的传输协议,面向连接的TCP和无连接的UDP。而网络层无法同时实现两种协议,要么是提供面向连接的服务,要么只提供无连接的服务。
端口
- 端口的作用:硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。传输层使用的是软件端口。
- 端口号:端口号长度为16bit,能够表示65536个不同的端口号,端口号只具有本地意义,即端口号只标识本计算机应用层中的各进程,在因特网中不同计算机的相同端口号是没有联系的。根据端口号范围可以将端口分为两类:
- 服务器端使用的端口号,又分为两类:
- 熟知端口号:0-1023
- 登记端口号:数值为1024-49151
- 客户端使用的端口号:数值为49152-65535
- 服务器端使用的端口号,又分为两类:
- 套接字:端口号拼接到IP地址构成套接字Socket,Socket=(IP:端口号),它唯一标识网络中的一台主机和其上的一个应用(进程)
UDP协议
UDP数据报
- UDP在IP数据报服务商只增加了两个最基本的服务:复用和分用以及差错检测。
- UDP具有以下特点:
- UDP是无连接的,UDP不会引入建立连接的时延。
- UDP无连接状态。TCP需要在端系统中维持连接状态。
- 分组首部开销小,UDP仅有8B开销,而TCP有20B的首部开销。
- 应用层能更好的控制要发送的数据和发送时间。UDP没有拥塞控制,因此网络中的拥塞不会影响主机的发送效率。某些实时应用要求以稳定的速度发送,能容忍一些数据的丢失,但不允许有较大的时延,而UDP正好满足这些应用的需求。
- UDP支持一对一、一对多、多对一和多对多的交互通信。
- UDP不保证可靠交付,但这并不意味着应用对数据的要求是不可靠的,所有维护可靠性的工作可由用户在应用层来完成。应用开发者可根据应用的需求来灵活设计自己的可靠性机制。
- UDP是面向报文的。发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层,一次性发送一个报文,既不合并也不拆分,而是保留这些报文的边界。接收方UDP对IP层交上来的UDP数据报在去除首部后就原封不动交付给上层应用进程,一次交付一个完整报文。
UDP的首部格式
UDP的首部有8B,由4个字段组成,每个字段的长度都是2B。
- 源端口:在需要对方回信时选用,不需要时可用全0。
- 目的端口:在终点交付报文时必须使用到。
- 长度:包括首部和数据,最小值是8。
- 校验和:检测UDP数据报在传输中是否有错。有错就丢弃。该字段是可选的,当源主机不想计算校验和时,则令该字段为全0。
- 如果接收方UDP发现收到的报文中的目的端口不正确(即不存在对应于端口号的应用程序),那么就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方。
UDP校验
在计算校验和时,要在UDP数据报前增加12B的伪首部,伪首部不是UDP真正的首部(源IP地址、目的IP地址、0、17、UDP长度)。伪首部既不向下传递也不向上递交,而只是为了计算校验和。
校验和计算:
- 填上伪首部。
- 全0填充校验和字段。
- 把UDP数据包视为许多16位的字串拼接起来。若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾填入一个全零字节(此字节不发送)。
- 按照二进制反码求和。
- 将此和的二进制反码写入到校验和字段,并发送。
接收方校验: - 把收到的UDP数据报加上伪首部(如果不是偶数个字节还得加上最后那个全零字节)。
- 按二进制反码求和,如果没有差错那么结果应该为全1,否则就表明有差错出现,接收方就应该丢弃这个UDP数据报。
TCP协议(必考)
TCP报文段
- TCP主要有以下特点:
- TCP是面向连接的传输层协议,TCP连接是一条逻辑链接。
- 每条TCP连接只能有两个端点,每条TCP连接只能是端到端的(进程对进程)。
- TCP提供可靠交付的服务,保证传送的数据无差错、不丢失、不重复且有序。
- TCP提供全双工通信。允许通信双方的应用进程在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
- 发送缓存主要存放:①发送应用程序传给发送方TCP准备发送的数据,②TCP已发送但尚未收到确认的数据。
- 接收缓存用来暂存以下数据:①按序道道但尚未被接收应用程序接收的数据,②不按序道道的数据。
- TCP是面向字节流的,虽然应用程序和TCP交互是一次一个数据块,但TCP把应用程序交下来的数据仅视为一连串无结构的字节流。
- TCP报文段首部前20B是固定的,TCP首部最短是20B,后面有4N字节是根据需要而增加的选项,长度为4B的整数倍。
- TCP首部各个字段意义如下:
- 源端口和目的端口:各占2B。
- 序号。占4B,指的是本报文段所发送的数据的第一个字节的序号。
- 确认号。占4B,是期望收到对方下一个报文段的第一个数据字节的序号,如果为N,则表示到序号N-1为止的所有数据都已经正确收到。
- 数据偏移(即首部长都)。占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
- 保留。占6位。
- 紧急位URG。URG=1时表明紧急指针字段有效。他告诉系统此报文有紧急数据,应尽快传送。URG需要和首部中紧急指针字段配合使用,即数据从第一个字节到紧急指针所指字节就是紧急数据。
- 确认位ACK。仅当ACK=1时确认号才有效。当ACK=0时,确认号无效。TCP规定在连接建立后所有传送的报文段都必须把ACK置1.
- 推送位PSH(PUSH)。接收方TCP收到PSH=1的报文段就尽快交付给接收应用进程,而不再等到整个缓存都填满了再向上交付。
- 复位位RST(Reset)。当RST=1时,表明TCP连接中出现严重差错,必须释放连接重新建立连接。
- 同步位SYN。当SYN=1时表示这是一个连接请求报文或者连接接收报文。当SYN=1,ACK=0时表示这是一个连接请求报文,对方若同意建立连接则应在响应报文中使用SYN=1,ACK=1。
- 终止位FIN(Finish)。用来释放一个连接,当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。
- 窗口。占2B,指出现在允许对方发送的数据量,接收方的缓存空间是有限的,因此用窗口值作为接收方让发送方设置其发送窗口的依据。
- 校验和。占2B,校验和字段检测范围包括首部和数据两部分。计算校验和和UDP一样,要加上一个伪首部只不过把协议字段17改为6,其他和UDP一样。
- 紧急指针。占2B。紧急指针仅在URG=1时才有意义,指出在报文段中紧急数据共有多少字节。
TCP连接的建立
- TCP连接的端口为套接字,不是主机,不是IP,不是应用进程,也不是传输层协议端口。
- TCP连接建立需要经过三个步骤,通常称为三次握手。建立连接前服务器进程处于LISTEN状态,等待客户的连接请求。
- 客户机TCP首先向服务器的TCP发送连接请求报文段。这个特殊报文段的首部中的同步位SYN置1,同时选择一个初始序号seq=x。TCP规定,SYN报文段不能携带数据,但要消耗掉一个序号。这时,TCP客户进程进入SYN-SENT(同步已发送)状态。
- 服务器的TCP收到连接请求报文段后,如同意建立连接,则向客户机发回确认,并为该TCP连接分配缓存和变量。在确认报文段中,把SYN和ACK位都置1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。注意确认报文段不能携带数据,但也要消耗一个序号。这时,TCP服务器进程进入SYN-RCVD(同步收到)状态。
- 当客户机收到确认报文段后,还需要向服务器给出确认,并为该TCP连接分配缓存和变量。确认报文段的ACK位置1,确认号ack=y+1,序号seq=x+1。该报文段可以携带数据,若不携带数据则不消耗序号。这时TCP客户进程进入ESTABLISHED(已建立连接)状态。
- TCP建立的是全双工通信,因此通信双方的应用进程在任何时候都能发送数据。
- 服务器端资源是在第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的,这就使得服务器易于受到SYN洪泛攻击。(有关洪泛攻击的部分当作科普来看着玩即可,不会考)
- SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手的第一个数据包,当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就属于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话还会重复发送ACK给攻击者,这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。
- 如何防御SYN洪泛攻击?
- 确保网络设备有最新的安全补丁和更新,以防止已知的漏洞被利用。
- 启用SYN Cookies技术,可以在处理TCP连接请求时对客户端进行验证,以确保它们是真实的请求。SYN Cookies 技术通过在目标服务器上生成加密的临时 TCP 连接令牌(token),来代替传统TCP 三次握手过程中的 SYN-ACK 握手过程,用于验证客户端请求的可信性。这些加密的临时令牌仅用于建立连接期间的校验,不会留存在任何存储设备中,从而保护了系统的安全。
- 实施网络轮廓与访问控制策略,防止不必要的流量进入网络。
- 配置网络设备以限制每个IP地址的连接数量,避免过多的连接占用大量系统资源。
- 配置firewall防火墙规则以拦截可疑的数据包和来源不明IP地址的访问。
TCP连接的释放
- 客户机打算关闭连接时,向服务器发送连接释放报文段,并停止发送数据,该报文段FIN置1,序号seq=u,它等于前面已传送过的数据的最后一个字节的序号加1,FIN报文段即使不携带数据,也消耗一个序号。这时,TCP客户进入FIN-WAIT-1状态。TCP是全双工的,即可以想象为一条TCP连接上有两条数据通路发送FIN的一端不能再发送数据,但对方还可以发送数据。
- 服务器收到连接释放报文段后即发出确认,确认号ack=u+1,序号seq=v,等于它前面已传送过的数据的最后一个字节的序号加1.然后服务器进入CLOSE-WAIT状态。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。
- 若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时,其发出FIN=1的连接释放报文段,设该报文段的序号为w,还需重复上次已发送的确认号ack=u+1.这时服务器进入LAST-ACK。
- 客户机收到连接释放报文段后,必须发出确认。把确认报文段中的ACK置1,确认号ack=w+1,序号seq=u+1.此时TCP连接还未释放,必须经过实践等待计时器设置的时间2MSL(最长报文段寿命)后,客户机才进入CLOSED状态。
TCP的可靠传输
TCP的流量控制
零窗口探测报文段
TCP的拥塞控制
慢开始和拥塞控制
快重传和快恢复
TCP和UDP对比
- TCP面向连接,UDP无连接。面向连接服务就是在通信双方进行通信之前,必须先建立连接,在通信过程中整个连接的情况一直被实时的监控和管理。通信结束后,应该释放这个链接。无连接服务是指两个实体之间不需要提前建立连接,需要通信时,直接将信息发送到“网络中”,让该信息的传递在网上尽力而为的往目的地传送。
- 发送报文采用的方式不同。UDP报文的长度由发送应用进程决定,而TCP报文的长度则根据接收方给出的窗口值和当前的网络拥塞成都来决定。如果应用进程传送到TCP缓存的数据块太长,TCP就把它划分得短一些再传送。如果太短TCP也会等到积累足够多的字节后再构成报文段发送出去。
本章问题汇集
- MSS设置得太大或太小会有什么影响?
- 为何不采用“三次握手”释放连接,且发送最后一次握手报文后要等待2MSL得时间呢?
- 保证A发送的最后一个确认报文段能够到达B。如果A不等待2MSL,若A返回的最后确认报文段丢失,则B不能进入正常关闭状态,而A此时已经关闭,也不可能再重传。
- 防止出现“已失效的连接请求报文段”。A在发送最后一个确认报文段后,再经过2MSL可保证本链接持续的时间内产生的所有报文段从网络中消失。
- 如何判定此确认报文段是对原来得报文段的确认,还是对重传的报文段的确认?
- TCP使用的是GBN还是选择重传?
- 为什么超时时间发生时cwnd被置为1,而收到3个冗余ACK时cwnd减半?
- 为什么不采用“两次握手”建立连接呢?
- 这主要是为了防止两次握手情况下已失效的连接请求报文段突然又传送到服务器而产生错误。
- 考虑下面这种情况。客户A向服务器B发出TCP连接请求,第一个连接请求报文在网络的某个结点长时间滞留,A超时后认为报文丢失,于是再重传一次连接请求,B收到后建立连接。数据传输完毕后双方断开连接。而此时,前一个滞留在网络中的连接请求到达服务器B,而B认为A又发来连接请求,此时若使用“三次握手",则B向A返回确认报文段,由于是一个失效的请求,因此A不予理睬,建立连接失败。若采用的是“两次握手”,则这种情况下B认为传输连接已经建立,并一直等待A传输数据,而A此时并无连接请求,因此不予理睬,这样就造成了B的资源白白浪费。
- 是否TCP和UDP都需要计算往返时间RTT?
- 为什么TCP在建立连接时不能每次都选择相同的、固定的初始序号?
相关文章:
计算机网络传输层(期末、考研)
计算机网络总复习链接🔗 目录 传输层的功能端口UDP协议UDP数据报UDP的首部格式UDP校验 TCP协议(必考)TCP报文段TCP连接的建立TCP连接的释放TCP的可靠传输TCP的流量控制零窗口探测报文段 TCP的拥塞控制慢开始和拥塞控制快重传和快恢复 TCP和U…...
【STM32入门】4.1中断基本知识
1.中断概览 在开展红外传感器遮挡计次的实验之前,有必要系统性的了解“中断”的基本知识. 中断是指:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转…...
HCIA-H12-811题目解析(3)
1、【单选题】 以下关于路由器的描述,说法错误的是? 2、【单选题】某网络工程师在输入命令行时提示如下信息:Error:Unrecognized command foun at position.对于该提示信息说法正确的是? 3、【单选题】如下图所示的网络…...
【异步绘制】UIView刷新原理 与 异步绘制
快捷目录 壹、 iOS界面刷新机制贰、浅谈UIView的刷新与绘制概述一.UIView 与 CALayer1. UIView 与 CALayer的关系2. CALayer的一些常用属性contents属性contentGravity属性contentsScale属性maskToBounds属性contentsRect属性 二.View的布局与显示1.图像显示原理2.布局layoutSu…...
[ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘
Oceanbase 安装成功后关闭OCP,在重新启动时报错 使用OBD 启动OCP报如下错误 [adminobd ~]$ obd cluster start ocp Get local repositories ok Search plugins ok Open ssh connection ok Load cluster param plugin ok Check before start ocp-server x [ERROR] …...
模拟实验中经常遇到的问题和常用技巧
简介 最近在进行新文章的数值模拟阶段。上一次已经跟读者们分享了模拟实验的大致流程,见:数值模拟流程记录和分享 。 本文是在前提下,汇总了小编在模拟实验中经常遇到的问题和常用技巧。 文章目录 简介1. 隐藏输出结果自动创建文件夹保存多…...
微信小程序(二) ——模版语法1
文章目录 wxml模板语法拼接字符数据绑定 wxml模板语法 拼接字符 <image src"{{test1src}}" mode""/>数据绑定 在data中定义数据,吧数据定义到data对象中在wxml中使用数据不论是绑定内容还是属性都是用 {{}} 语法 动态绑定内容 *声明…...
牛客小白月赛83 解题报告
题目链接: https://ac.nowcoder.com/acm/contest/72041#question A题 解题思路 签到 代码 #include <bits/stdc.h> using namespace std;int main() {int a, b, c, d, e;cin >> a >> b >> c >> d >> e;int A, B, C, D…...
蓝桥杯专题-真题版含答案-【三角螺旋阵】【干支记年法】【异或加密法】【金字塔】
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...
鸿蒙篇——初次使用鸿蒙原生编译器DevEcoStudio创建一个鸿蒙原生应用遇到的坑--汇总(持续更新)
前言:欢迎各位鸿蒙初学者、开发者来本帖交流讨论,包含各位遇到的问题、鸿蒙的bug、解决方法等等,我会收集有效的内容更新到本文章中。 背景:2023年12月13日,使用DevEcoStudio 4.0.0.600版本,项目的compileS…...
细胞培养之一二三:哺乳动物细胞培养污染问题和解决方案
一、哺乳动物细胞污染是什么[1]? 污染通常是指在细胞培养基中存在不需要的微生物、不需要的哺乳动物细胞和各种生化或化学物质,从而影响所需哺乳动物细胞的生理和生长。由于微生物在包括人体特定部位在内的环境中无处不在,而且它们的繁殖速度…...
《Linux C编程实战》笔记:文件属性操作函数
获取文件属性 stat函数 在shell下直接使用ls就可以获得文件属性,但是在程序里应该怎么获得呢? #include<sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *file_name,struct stat *buf); int fstat(i…...
linux中的网络知识
网络 认识基本网络网络划分计算机网络分为LAN、MAN、WAN公网ip和私网ip 传输介质单位换算客户端和服务端 OSI模型osi七层模型TCP/IP:传输控制协议簇HTTP协议简介UDP协议介绍物理地址:mac地址,全球唯一,mac由6段16进制数组成,每段有…...
tp中的调试模式
ThinkPHP有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。 我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式(直到正式部署后关闭调试模式)…...
【docker 】基于Dockerfile创建镜像
Dockerfile文档 Dockerfile文档地址 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 DockerFile 可以说是一种可以被 Docker 程序解释的脚本,DockerFile 是由一条条的命令组成的,每条命令对应 …...
C# 提取PDF中指定文本、图片的坐标
获取PDF文件中文字或图片的坐标可以实现精确定位,这对于快速提取指定区域的元素,以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置(X, Y轴)。 ✍ 用于…...
CTF网络安全大赛是干什么的?发展史、赛制、赛程介绍,参赛需要学什么?
CTF(Capture The Flag)是一种网络安全竞赛,它模拟了各种信息安全场景,旨在提升参与者的网络安全技能。CTF 赛事通常包含多种类型的挑战,如密码学、逆向工程、网络攻防、Web 安全、二进制利用等。 发展史 CTF 的概念…...
阿里云SMC迁移RedHat/CentOS 5 内核升级
阿里云SMC迁移RedHat/CentOS 5 内核升级 1. 起因 服务器需要迁移上阿里云,有几台服务器用的是Redhat 5.x,在使用SMC进行迁移时出现以下报错. [2023-12-13 09:50:55] [Error] Check System Info Failed, codeS16_111, msgGet OS Info Failed: [error] grub is too old for C…...
无代码开发让合利宝支付与CRM无缝API集成,提升电商用户运营效率
合利宝支付API的高效集成 在当今快速发展的电子商务领域,电商平台正寻求通过高效的支付系统集成来提升用户体验和业务处理效率。合利宝支付,作为中国领先的支付解决方案提供者,为电商平台提供了一个高效的API连接方案。这种方案允许无代码开…...
数据标注公司如何确保数据安全?景联文科技多维度提供保障
数据标注公司通常拥有大量的AI数据和用户数据,保护数据安全是数据标注公司的重要任务。 数据标注公司确保标注数据的安全可以从制度、人员、工具等多个方面入手,建立完善的安全管理体系和审计机制,加强应急预案和备份机制的建立,以…...
(C语言)精确计算程序运行时间的方法
一、先计算每秒多少个计数 typedef __int64 s64;s64 tps; /* timestamp counter per second */s64 get_tps(void) {s64 t0 rdtsc();Sleep(100);return (rdtsc() - t0) * 10; } 这段代码定义了一个函数 get_tps,该函数用于测量处理器的时间戳计数器(RD…...
【Vulnhub 靶场】【VulnCMS: 1】【简单】【20210613】
1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/vulncms-1,710/ 靶场下载:https://download.vulnhub.com/vulncms/VulnCMS.ova 靶场难度:简单 发布日期:2021年06月13日 文件大小:1.4 GB 靶场作者:to…...
普冉(PUYA)单片机开发笔记(10): I2C通信-配置从机
概述 I2C 常用在某些型号的传感器和 MCU 的连接,速率要求不高,距离很短,使用简便。 I2C的通信基础知识请参见《基础通信协议之 IIC详细讲解 - 知乎》。 PY32F003 可以复用出一个 I2C 接口(PA3:SCL,PA2&a…...
Idea maven打包时 报错 illegalArgumentException: Malformed \uxxxx encoding 解决方法
1 改变打包命令重新打包 在maven打包命令上加入 -e -X 2 找到报错类和方法 可以看到是 java.util.Properties#loadConvert类方法中有个throw new IllegalArgumentException( "Malformed \\uxxxx encoding."),在此打断点 3 以Debug方式重新运行maven…...
Qt中槽函数在那个线程执行的探索和思考
信号和槽是Qt的核心机制之一,通过该机制大大简化了开发者的开发难度。信号和槽属于观察者模式(本质上是回调函数的应用)。是函数就需要考虑其是在那个线程中执行,本文讨论的就是槽函数在那个线程中执行的问题。 目录 1. connect…...
C++ 类模板
目录 前言 类模板语法 类模板和函数模板的区别 类模板没有自动类型推导的使用方式 类模板在模板参数列表中可以有默认参数 类模板中成员函数创建时机 类模板对象做函数参数 指定传入的类型 参数模板化 整个类模板化 类模板与继承 类模板成员函数类外实现 类模板分…...
边缘计算系统设计与实践
随着科技的飞速发展,物联网和人工智能两大领域的不断突破,我们看到了一种新型的计算模型——边缘计算的崛起。这种计算模型在处理大规模数据、实现实时响应和降低延迟需求方面,展现出了巨大的潜力。本文将深入探讨边缘计算系统的设计原理和实…...
【Spark精讲】Spark存储原理
目录 类比HDFS的存储架构 Spark的存储架构 存储级别 RDD的持久化机制 RDD缓存的过程 Block淘汰和落盘 类比HDFS的存储架构 HDFS集群有两类节点以管理节点-工作节点模式运行,即一个NameNode(管理节点)和多个DataNode(工作节点)。 Namenode管理文件系统的命名空…...
贪心算法:买卖股票的最佳时机II 跳跃游戏 跳跃游戏II
122.买卖股票的最佳时机II 思路: 想要获得利润,至少要以两天为一个交易单元,因为两天才会有股价差。因此可以将最终利润进行分解,如prices[3] - prices[0] (prices[3] - prices[2]) (prices[2] - prices[1]) (prices[1] - pr…...
音频DAC,ADC,CODEC的选型分析,高性能立体声
想要让模拟信号和数字信号顺利“交往”,就需要一座像“鹊桥”一样的中介,将两种不同的语言转变成统一的语言,消除无语言障碍。这座鹊桥就是转换器芯片,也就是ADC芯片。ADC芯片的全称是Analog-to-Digital Converter, 即模拟数字转换…...
wordpress 如何更改主页/网络热词2021
规则满足以下条件: 1、不允许输入中文。 2、第一位为0时候,第二位必须为点. 3、小数点后面只能为两位 4、小数点只能为1个 使用方式:amountEdt.setFilters(new InputFilter[]{new CashierInputFilter()});/*** Created by Jackie on 2016/1/…...
it公司怎么在国外网站做宣传/手机百度高级搜索
XML--可扩展标记语言,我想看本文的你早已经将他用得滚瓜烂熟了。OK,下面就直奔主题,看看在ActionScript 3.0中是通过什么方式来处理XML数据。 在ActionScript 3.0中,用于处理XML数据的主要有两个类:XML和XMLList。前者…...
wordpress商业破解/实体店营销策划方案
1 增 http://t.zoukankan.com/star521-p-13473616.html 将查询结果插入数据库 insert into table_name select * from table_name; 为数据库表的字段添加描述 comment on column sys_user.user_name is 用户名; python中将DataFrame数据导入pgsql import …...
富阳网站建设怎样/新闻发稿
免费下载地址:【北方网通】 【电信网通】 【下载说明】 1、单击上面这个地址,打开下载页面。 2、点普通下载--等待30秒--点“下载”按钮--保存 IT6633P V0.19 数据手册、设计电路图、程序源代码等设计所需的资料。 【更多阅读】 [原]QQHelper:QQ…...
摄影网站设计报告/网络推广收费价目表
最小生成树 1.基本概念 1.定义: (1)在给定一个无向图中求一棵树T (2)使得这棵树拥有图G的所有顶点,边都是来自图G的边 (3)并且满足边权之和最小2.性质: (1&…...
wordpress丰富搜索页/哈尔滨seo和网络推广
建立表空间和用户的步骤:用户建立:create user 用户名 identified by "密码";授权:grant create session to 用户名;grant create table to 用户名;grant create tablespace to 用户名;grant create view to 用户名;表空间建立表…...