当前位置: 首页 > 编程日记 > 正文

TCP和UDP传输特点

1.1TCP传输特点:

  1. 端到端通信:客户应用程序在一端,服务器在另一端
  2. 建立可靠连接:建立连接时会测试网络的连通性
  3. 可靠交付:建立连接后会发送数据是可靠的,除非因为故障而不能可靠交付,发送方会得到通知
  4. 具有流控的传输:TCP控制数据传输的速率,防止发送方传送数据的速率快于接收方的接收速率,TCP可以用于从快速计算及向慢速计算机发送数据
  5. 双工传输:单个TCP连接允许同时双向传送数据
  6. 流模式:TCP从发送方向接收方发送没有报文边界的字节流

1.2TCP的首部

在这里插入图片描述
在这里插入图片描述
TCP首部各字段的含义如下:

  • 源、目的端口号:用于寻找发送端和接收端的应用程序
  • 首部长度:这个字段占4位,因此TCP最多有60字节的首部。如果没有选项字段,正常的长度是20字节
  • 标志位:在TCP首部中有6个标志位
    ACK:确认序号
    SYN:同步序号用来发起一个连接
    FIN:发送方完成发送任务

1.3TCP连接的建立和终止

在这里插入图片描述
连接步骤:

  • 客户端发送一个SYN报文段指明客户打算连接的服务器端口,发送后,客户进去SYN_SENT状态
  • 服务器启动后首先进去LISTEN状态,当它接收到客户端发来的SYN后,进入SYN_RCV状态,并发送SYN报文作为应答,同时将确认序号设置为客户的初始号+1,对客户的SYN进行确认。
  • 客户端收到确认报文后进入ESTABLISHED状态,表明本方连接已经成功建立,客户将确认序号设置为服务器ISN+1,对服务器的SYN报文段进行确认,当服务器接收到确认报文后,也进入ESTABLISHED状态。

在这里插入图片描述
关闭步骤:

  • 客户的应用进程发起关闭连接请求,它将导致TCP客户发送一个FIN报文段,用来关闭客户到服务器的数据传送,此时客户进入FIN_WAIT_1状态
  • 当服务器收到这个FIN,它发回一个ACK,进入CLOSE_WAIT状态,确认序号收到的序号+1。客户收到该确认后进入FIN_WAIT_2状态,表明本方连接已经关闭,但是仍然能够接收服务器发来的数据
  • 接着服务器程序关闭本方连接,其TCP端发送一个FIN报文段,进入LAST_AC状态,当客户接收到该报文段后进入TIME_WAIT状态
  • 客户在收到服务端发送的FIN请求后,发回一个确认,并将确认号设置为收到的序号+1,发送FIN将导致应用程序关闭他们的的连接,服务器收到确认后,连接关闭,这些FIN的ACK是有TCP软件自动产生的

1.4流式套接字的交互模型

在这里插入图片描述

2.1UDP传输特点

  1. 多对多通信:多个发送方可以向一个接收方发送报文,一个发送方也可以向多个接收方发送报文
  2. 不可靠服务:报文可能丢失,重复或者无序,并且它没有重传措施,如果发生故障,也不会通知对方
  3. 缺乏流量控制:当数据包到达的速度比接收系统或应用的处理速度快时,只是将其丢弃而不会发出警告或者提示
  4. 报文模式

2.2UDP的首部

在这里插入图片描述
在这里插入图片描述
UDP各字段的含义:

  • UDP校验和:UDP校验和是端到端的校验和,它由发送端计算,然后由接收端验证,其目的是发现UDP首部和数据在发送端到接收端之间发生的任何改动。

2.2数据报套接字的交互模型

在这里插入图片描述

相关文章:

css3之 渐变

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须使用图像来实现这些效果。但是,通过使用 CSS3 渐变(gradients),你可以减少下载的事件和宽带的使用。此外…

CRM:把 isv.config.xml 按钮事件移动到 entity.onload()

大家都知道在ISV.CONFIG里可以添加按钮&#xff0c;然后添加按钮事件&#xff0c;比如下面&#xff1a; <Entities><Entity name"account"><ToolBar ValidForCreate"0"ValidForUpdate"1"><Button Icon"/_imgs/ico_18_…

Matlab与线性代数 -- 均匀分布的随机矩阵

本微信图文详细介绍了Matlab中均匀分布的随机矩阵函数rand、rands、randperm。

pytest实战--参数化parametrize+前置fixture

文章目录参数化 parametrize适用场景一个典型的例子前置fixture参数化适用场景一个典型的例子示例2个人疑问&#xff1f;pytest既可以用来做单元测试&#xff0c;也可以用来做自动化接口测试&#xff0c;pytest可以结合allure生成漂亮的测试报告&#xff0c;经过一段时间的学习…

Matlab与机器学习 -- BP网络神经元上的转移函数

本图文详细介绍了BP神经网络常用的转移函数及其导数&#xff0c;单极性Sigmoid函数&#xff0c;双极性Sigmoid函数&#xff0c;线性函数。

在baidu上找到自己

在baidu上搜了我经常用的用户名&#xff0c;找到了这里&#xff0c;一看都满屋子都是灰尘&#xff0c;我打扫了一下。也清理了自己。发现那时的自己好冲动、好小孩。 其实现在也一样。我不想去否认自己的过去&#xff0c;但也不想公开这段过去。因为它在这个废弃的屋子里很安静…

selenium--iframe之模拟qq空间登录

文章目录前言分析切换iframe前言 我在模拟登录qq的时候&#xff0c;发现无论如何都定位不了qq的“账号密码登录”&#xff0c;怎么都进不去qq的登录页面&#xff0c;如下图所示 分析 打开 https://qzone.qq.com/然后点击二维码登录这块&#xff0c;背景出现了灰色&#xff…

Java读取Properties配置文件

目录1.Properties类与Properties配置文件2.Properties中的主要方法3.示例1.Properties类与Properties配置文件Properties类继承自Hashtable类并且实现了Map接口&#xff0c;使用键值对的形式来保存属性集。不过Properties的键和值都是字符串类型。2.Properties中的主要方法(1)l…

《C#精彩实例教程》小组阅读02 – Visual Studio简介与安装

本图文详细介绍了什么是Visual Studio&#xff0c;以及Visual Studio的安装过程。 上一次我们介绍了Visual Studio 2015的下载&#xff0c;以及MSDN。 这一次&#xff0c;我们说说什么是Visual Studio以及如何安装。 Visual Studio&#xff08;简称VS&#xff09;是微软公司…

从.NET寻找出路

自从成了金融危机的牺牲品之后&#xff0c;一直在寻找出路&#xff0e; 从.NET开发人员 到 待业青年&#xff0c; 再到现在的 技术支持&#xff0c;有些茫然&#xff0c;不知道未来在哪里&#xff01;&#xff01; 工作一年半&#xff0c;发现给别人打工没啥发展&#xff0c…

关于高速光耦6n137的使用总结_光耦使用中的那点事1

目前通用的隔离器件有光耦、变压器隔离、电容耦合等三大主流方式。其中光耦和变压器隔离使用的较多&#xff0c;有很多地方都可以见到。本次推送主要介绍光电耦合器的几个使用注意事项&#xff0c;以下截图数据来源于TLP785的数据手册。1、延时时间大家可以看到在5V供电情况下&…

javascript回调函数笔记

来源于&#xff1a;https://github.com/useaname/blog-study 在Javascript中&#xff0c;函数是第一类对象。意味函数可以像对象一样按照第一类被管理使用。回调函数是从一个叫函数式编程的编程范式中衍生出来的概念。简单来说&#xff0c;函数式编程就是使用函数作为变量。函数…

工厂方法模式与抽象工厂模式的区别

工厂方法模式&#xff1a; 一个抽象产品类&#xff0c;可以派生出多个具体产品类。 一个抽象工厂类&#xff0c;可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。 抽象工厂模式&#xff1a; 多个抽象产品类&#xff0c;每个抽象产品类可以派生出多个具…

LSGO代码小组第18周复盘日志

LSGO软件技术团队第18周代码小组学习复盘日志。

唐山松下焊接机器人编程招聘_机器人四小家族-松下Panasonic专注焊接

在日本松下的网站&#xff0c;机器人是和焊接系统方案是在一起的。松下机器人的历史&#xff08;来源于松下公司网站&#xff09;1980年松下AW系列弧焊机器人投放上市&#xff0c;机器人系统之间采用的是单向模拟通讯方式模拟通讯的机器人1983年示教的容易化1988年减少干涉的设…

基于Matlab的BP神经网络在非线性函数拟合中的应用

本图文详细介绍了如何利用Matlab神经网络工具箱实现BP神经网络对非线性函数的拟合。

aligned_storage简单学习

#include <iostream> #include <type_traits> #include <string>/* template< std::size_t Len, std::size_t Align default-alignment >struct::type aligned_storage; 相当于一个内建的POD类型他的大小是Size他的对齐方式是Align */ template<c…

有关高级关系引擎中存在错误

SQL server2005 Analysis Services项目中出现以下错误 高级关系引擎中存在错误。 无法与 DataSourceID 为“Adventure Works DW”、名称为“Adventure Works DW”的数据源建立连接。 但是数据源测试连接是好使的&#xff0c;搜到已解决办法&#xff0c;数据源对里双击&#xf…

c#中接口的使用方法图解_C#图解教程 第十五章 接口

接口什么是接口接口是指定一组函数成员而不实现它们的引用类型。所以只能类和结构来实现接口。这种描述比较抽象&#xff0c;直接来看个示例。下例中&#xff0c;Main方法创建并初始化了一个CA类的对象&#xff0c;并将该对象传递给PrintInfo方法。classCA{public stringName;p…

提高C#编程水平的50个要点

1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间&#xff0c;优先使用 readonly 3.在 as 和 强制类型转换之间&#xff0c;优先使用 as 操作符 4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if 5.总是为自定义类重载 ToString 方…

1.6 INSERT语句

1.6 INSERT语句正在更新内容&#xff0c;请稍后

基于Matlab的多层BP神经网络在非线性函数拟合中的应用

本图文详细介绍了如何利用Matlab神经网络工具箱实现多层BP神经网络对非线性函数的拟合。

华为云大数据存储的冗余方式是三副本_大数据入门:HDFS数据副本存放策略

大数据处理当中&#xff0c;数据储存始终是一个重要的环节&#xff0c;从现阶段的市场现状来说&#xff0c;以Hadoop为首的大数据技术框架&#xff0c;仍然占据主流地位&#xff0c;而Hadoop的HDFS&#xff0c;在数据存储方面&#xff0c;仍然得到重用。今天的大数据入门分享&a…

linux调试C++错误: 程序中有游离的‘\240’‘\302’

今天在网上找到一个小程序&#xff0c;一编译出现一大堆的错误&#xff1a; 程序中有游离的 ......开始觉得可能我从网页上直接复制的代码中有别的字符。于是把中文的全角空格全部替换了。这次好多了&#xff0c;少了一些&#xff0c;不过还有很多&#xff0c;调试信息说是XX行…

IE8下不识别indexOf的问题

1、为Array原型添加indexOf方法(如果学过面向对象,相当于给Array类添加实例方法),方法体如下: //添加数组IndexOf方法 if (!Array.prototype.indexOf){Array.prototype.indexOf function(elt /*, from*/){var len this.length >>> 0;var from Number(arguments[1])…

《C#精彩实例教程》小组阅读05 -- C#变量与常量

本微信图文介绍了C#的变量与常量。

k均值聚类算法考试例题_一文读懂K-means聚类算法

1、引言什么是聚类&#xff1f;我们通常说&#xff0c;机器学习任务可以分为两类&#xff0c;一类是监督学习&#xff0c;一类是无监督学习。监督学习&#xff1a;训练集有明确标签&#xff0c;监督学习就是寻找问题&#xff08;又称输入、特征、自变量&#xff09;与标签&…

《C#精彩实例教程》小组阅读06 -- C#运算符与表达式

本微信图文介绍了C#的运算符与表达式。

kvm启动报错

[rootstorage ~]# virsh -c qemu:///system list error: failed to connect to the hypervisor error: Failed to connect socket to /var/run/libvirt/libvirt-sock: No such file or directory原因&#xff1a;libvirt未启动解决方法[rootstorage ~]# libvirtd -d [rootst…

邀请参加活动的邀请函_圣诞节活动策划邀请函在线制作

2020年就要过去了&#xff0c;许多人说这一年很难&#xff0c;难上加南。莎士比亚说凡是过去&#xff0c;皆为序章。无论好的还是坏的终究会成为过往&#xff0c;向前看吧。圣诞节快要到来&#xff0c;商场开始布置精致的橱窗&#xff0c;电商巨头也在忙着做促销&#xff0c;幼…