7k网站怎么做/品牌整合营销方案
前言:
最重要的网络层我们已经学习完了,下面让我们再往上一层,对网络层的上一层传输层进行一个学习与了解,学习网络层的基本概念和网络层中的TCP协议和UDP协议
目录
编辑一、传输层的概述:
1.传输层:
2.端口号:
二、传输层的两个重要协议
1.TCP
(1)传输控制协议 :TCP
(2)TCP的主要特点是:
(3)窗口:
(4)TCP的三次握手和四次挥手
2.UDP
(1)用户数据报协议 :UDP
(2)UDP的主要特点是:
(3)UDP首部的概念
一、传输层的概述:
1.传输层:
传输层提供端到端服务
从通信和信息处理的角度看,传输层向上层应用层提供通信服务。
所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。
2.端口号:
俩个客户端qq与wx的消息传递过程
FTP:21 (20)* :FTP(文件传输协议),21连接;20传输数据
TELNET:23*:TELNET(远程登录)
SMTP:25*:SMTP(电子邮件传输协议),POP3(邮局协议版本3) :110
DNS:53*:DNS(域名系统)
TFTP:69:TFTP(简单文件传输协议)
HTTP:80*:HTTP(超文本传输协议)
SNMP:161:SNMP(简单网络管理协议)
HTTPS:443*:HTTPS(超文本传输安全协议)
二、传输层的两个重要协议
1.TCP
(1)传输控制协议 :TCP
TCP是TCP/IP体系中较为复杂的协议,是传输层中最重要的协议。
(2)TCP的主要特点是:
(1).TCP是面向连接的传输层协议
(2).TCP提供可靠的交付服务
(3).TCP提供全双工通信
(4).TCP是面向字节流
(3)窗口:
(1).固定窗口:如果窗口过小,当传输比较大的数据的时候需要不停的对数据进行确认,这个时候就会造成很大的延迟。
(2).滑动窗口:滑动窗口通俗来讲就是一种流量控制技术。它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来。
(3).拥塞处理和流量控制
(4)TCP的三次握手和四次挥手
三次握手:
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号并为后面的可靠性传送做准备。
第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。
(首部的同步位SYN=1,初始序号seq=client_isn,SYN=1的报文段不能携带数据,但要消耗掉一个序号。)
第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。
(在确认报文段中SYN=1,ACK=1,确认号ack=client_isn+1,初始序号seq=server_isn。)
第三次握手:客户端收到 SYNACK 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。
(确认报文段SYN=0,ACK=1,确认号ack=server_isn+1,序号seq=client_isn+1(初始为seq=client_isn,第一个报文段消耗了一个序号,所以第二个报文段要+1),此时ACK报文段可以携带数据,不携带数据则不消耗序号。)
四次挥手:
建立一个连接需要三次握手,而终止一个连接要经过四次挥手,这是由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。
TCP 连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),客户端或服务端均可主动发起挥手动作。
第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。
(发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据(此时客户端仍然能够接收从服务器传输过来的数据,同时注意这里不发送的是正常连接时传输的数据,而不是一切数据,所以客户端仍然能够发送ACK确认报文),主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。)
第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。
(服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。此时服务端开始准备释放服务端到客户端方向上的连接。)
第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样发送 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。(服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。此时服务端停止在服务端到客户端的方向上发送数据,但是服务器端仍然能够接收从客户端传输过来的数据。)
第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。
(客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。)
2.UDP
(1)用户数据报协议 :UDP
UDP是在IP数据报服务之上增加了一些功能,增加了复用和分用的功能以及差错检测的功能
(2)UDP的主要特点是:
1.UDP是无连接的
2.UDP尽最大努力交付
3.UDP面向报文且没有拥塞控制
4.UDP开销较小传输效率较高
(3)UDP首部的概念
UDP协议首部格式
UDP首部有8个字节,由4个字段构成,每个字段都是两个字节
1. 源端口号 : 可有可无,需要对方回信时选用,不需要时全部置0。
2. 目的端口号 :必须有,在终点交付报文的时候需要用到。
3. 长度 :UDP的数据报的长度(包括首部和数据)其最小值为8字节(只有首部)。
4. 校验和 :检测UDP数据报在传输中是否有错,有错则丢弃。 该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。
当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交给应用进程。 如果接收方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程0,),就丢弃该报文,并由ICMP发送“端口不可达”差错报文给对方。
相关文章:

计算机网络——传输层(五)
前言: 最重要的网络层我们已经学习完了,下面让我们再往上一层,对网络层的上一层传输层进行一个学习与了解,学习网络层的基本概念和网络层中的TCP协议和UDP协议 目录 编辑一、传输层的概述: 1.传输层: …...

python3处理docx并flask显示
前言: 最近有需求处理docx文件,并讲内容显示到页面,对world进行在线的阅读,这样我这里就使用flaskDocument对docx文件进行处理并显示,下面直接上代码: Document处理: 首先下载Document的库文…...

Python:正则表达式速通,码上上手!
1前言 正则表达式(Regular Expression)是一种用来描述字符串模式的表达式。它是一种强大的文本匹配工具,可以用来搜索、替换和提取符合特定模式的文本。 正则表达式由普通字符(例如字母、数字、符号等)和元字符&#…...

centos7安装nginx并安装部署前端
目录: 一、安装nginx第一种方式(外网)第二种方式(内网) 二、配置前端项目三、Nginx相关命令 好久不用再次使用生疏,这次记录一下 一、安装nginx 第一种方式(外网) 1、下载nginx ng…...

Hive实战:统计总分与平均分
文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据文件1、在虚拟机上创建文本文件2、将文本文件上传到HDFS指定目录 (二)实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、创建Hive表,加载HDFS数据文件…...

Linux:不同计算机使用NFS共享资源
一,安装NFS文件系统 NFS即网络文件系统(network file system),它允许网络中的计算机之间通过网络共享资源。目前,NFS只用于在Linux和UNIX主机间共享文件系统。 #使用mount命令可以将远程主机的文件系统 安装到 本地: #将远程主机…...

leetcode贪心算法题总结(一)
此系列分三章来记录leetcode的有关贪心算法题解,题目我都会给出具体实现代码,如果看不懂的可以后台私信我。 本章目录 1.柠檬水找零2.将数组和减半的最少操作次数3.最大数4.摆动序列5.最长递增子序列6.递增的三元子序列7.最长连续递增序列8.买卖股票的最…...

SQL高级:窗口函数
窗口函数,顾名思义,它的操作对象是窗口,即一个小的数据范围,而不是整个结果集。并且它是一个函数,在SQL中使用,所以一定有返回值。 窗口函数是SQL中非常有趣的部分,这一节我们就来学习一下它。 辅助表 方便我们后边的讲解,这里我们要建一张学生成绩表,建表语句如下…...

Excel formulas 使用总结(更新中)
最近在写task assigment的时候学习到的,记录下。 首先它所有需要写赋值formuls都要用 开头 相等赋值 a1 这个就代表这格的数据和a1是一样的。如果希望其他格和它相同的逻辑,可以直接复制该cell或者直接拖动该cell右下角,他会自动进行匹配…...

华为OD机试 - 两个字符串间的最短路径问题(Java JS Python C)
题目描述 给定两个字符串,分别为字符串 A 与字符串 B。 例如 A字符串为 "ABCABBA",B字符串为 "CBABAC" 可以得到下图 m * n 的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,映射成坐标系如下图。 从原点 (0,0) 到 (0,A) 为水…...

强敌环伺:金融业信息安全威胁分析——钓鱼和恶意软件
门口的敌人:分析对金融服务的攻击 Akamai会定期针对不同行业发布互联网状态报告(SOTI),介绍相关领域最新的安全趋势和见解。最新的第8卷第3期报告主要以金融服务业为主,分析了该行业所面临的威胁和Akamai的见解。我们发…...

1月1日起,贵阳市退役军人可以免费乘坐公交地铁
广大退役军人是党和国家的宝贵财富,是新时代中国特色社会主义现代化建设的重要力量。为切实增强退役军人的幸福感与获得感,贵阳市信捷科技有限公司以“心系老兵情怀,热忱服务人民”为服务宗旨,积极响应贵阳市政府号召,…...

网络隔离后,怎样建立高效安全的数据安全交换通道?
数据安全对企业生存发展有着举足轻重的影响,数据资产的外泄、破坏都会导致企业无可挽回的经济损失和核心竞争力缺失。数据流动才能让其释放价值,想要保护企业核心资产,就要实现数据安全交换。 很多企业为了防止知识产权、商业机密数据泄露&am…...

Python:PyTorch
简介 PyTorch是一个开源的机器学习库,由Facebook的人工智能研究团队(FAIR)开发,用于应用于机器学习和深度学习的Python程序。PyTorch基于Torch,使用Python语言重新编写,使得它更容易使用和扩展。它支持强大…...

CentOS 5/6/7 基于开源项目制作openssh 9.6p1 rpm包—— 筑梦之路
背景介绍 开源项目地址:https://github.com/boypt/openssh-rpms.git 该项目主要支持了centos 5 、6、7版本,针对使用了比较老的操作系统进行openssh安全加固,还是不错的项目,使用简单、一件制作,欢迎大家去支持作者。…...

python的pandas数据分析处理基础学习
pandas学习 一、 pandas基础 1. 什么是pandas? 一个开源的python类库:用于数据分析、数据处理、数据可视化 高性能容易使用的数据结构容易使用的数据分析工具 很方便和其他类库一起使用: numpy:用于数学计算 scikit-learn&a…...

【Qt-容器类】
Qt编程指南 ■ 顺序容器类■ QList■ QVector■ QLinkedList■ QStack■ QQueue ■ 关联容器类■ QSet■ QMap■ QMultiMap■ QHash■ QMultiHash ■ 顺序容器类 ■ QList QList 比较常用的容器类,以数组列表的形式实现,在前、后添加数据非常快。以下为…...

2023-12-27 语音转文字的whisper应用部署
点击 <C 语言编程核心突破> 快速C语言入门 语音转文字的whisper应用部署 前言一、部署whisper二、部署whisper.cpp总结 前言 要解决问题: 需要一款开源的语音转文字应用, 用于视频自动转换字幕. 想到的思路: openai的whisper以及根据这个模型开发的whisper.cppC应用. …...

MAVLINK生成自定义消息
git clone https://github.com/mavlink/mavlink.gitcd mavlinkgit submodule update --init --recursivepython -m mavgenerate出现以下界面 XML填写自定义xml路径,内容可以参考mavlink/message_definitions/v1.0 Out为输出路径 <?xml version"1.0"…...

【MediaPlayerSource】播放器源内部的音视频sender的创建和使用
来看下声网播放中的sender相关组件设计:MediaPlayerSourceDummy 是一个MediaPlayerSourceImpl ,输入音视频帧到 播放器。player_worker_ 线程触发所有操作,由外部传递,与其他组件公用 MediaPlayerSourceDummy(base::IAgoraService* agora_service, utils::worker_type play…...

【机器学习】西瓜书第6章支持向量机课后习题6.1参考答案
【机器学习】西瓜书学习心得及课后习题参考答案—第6章支持向量机 1.试证明样本空间中任意点x到超平面(w,b)的距离为式(6.2)。 首先,直观解释二维空间内点到直线的距离: 由平面向量的有关知识,可得: 超平面的法向量为 w w w&am…...

【OpenAI Q* 超越人类的自主系统】DQN :Q-Learning + 深度神经网络
深度 Q 网络:用深度神经网络,来近似Q函数 强化学习介绍离散场景,使用行为价值方法连续场景,使用概率分布方法实时反馈连续场景:使用概率分布 行为价值方法 DQN(深度 Q 网络) 深度神经网络 Q-L…...

Vue axios Post请求 403 解决之道
前言: 刚开始请求的时候报 CORS 错误,通过前端项目配置后算是解决了,然后,又开始了新的报错 403 ERR_BAD_REQUEST。但是 GET 请求是正常的。 后端的 Controller 接口代码如下: PostMapping(value "/login2&qu…...

【Leetcode】重排链表、旋转链表、反转链表||
目录 💡重排链表 题目描述 方法一: 方法二: 💡旋转链表 题目描述 方法: 💡反转链表|| 题目描述 方法: 💡总结 💡重排链表 题目描述 给定一个单链表 L 的头节…...

RabbitMQ 报错:Failed to declare queue(s):[QD, QA, QB]
实在没想到会犯这种低级错误。 回顾整理一下吧: 原因:SpringBoot主配置类默认只会扫描自己所在的包及其子包下面的组件。其他位置的配置不会被扫描。 如果非要使用其他位置,就需要在启动类上面指定新的扫描位置。注意新的扫描位置会覆盖默…...

Neo4j 5建库
Neo4j 只有企业版可以运行多个库,社区版无法创建多个库,一个实例只能运行一个库; 如果业务需要使用多个库怎么办呢? 就是在一个机器上部署多个实例,每个实例单独一个库名 这个库的名字我们可以自己定义; …...

鲁棒最小二乘法 拟合圆
圆拟合算法_基于huber加权的拟合圆算法-CSDN博客 首次拟合圆得到采用的上述blog中的 Ksa Fit 方法。 该方法存在干扰点时,拟合得到的结果会被干扰。 首次拟合圆的方法 因此需要针对外点增加权重因子,经过多次迭代后&…...

LeetCode——动态规划
动态规划 一、一维数组:斐波那契数列 爬楼梯70简单 dp定义: dp[i]表示爬到第i阶有多少种不同的方式 状态转移方程: dp[i] dp[i-1] dp[i-1] (每次可以爬1或2个台阶) 边界条件: dp[0] 1; dp[1] 1;&#…...

opencv和gdal的读写图片波段顺序问题
最近处理遥感影像总是不时听到 图片的波段错了,一开始不明就里,都是图片怎么就判断错了。 1、图像RGB波段顺序判断 后面和大家交流,基本上知道了一个判断标准。 一般来说,进入人眼的自然画面在计算机视觉中一般是rgb波段顺序表示…...

PyQt 打包成exe文件
参考链接 Python程序打包成.exe(史上最全面讲解)-CSDN博客 手把手教你将pyqt程序打包成exe(1)_pyqt exe-CSDN博客 PyInstaller 将DLL文件打包进exe_怎么把dll文件加到exe里-CSDN博客 自己的问题 按照教程走的话,会出现找不到“mmdeploy_ort_net.dll”文件的报错…...