运输层

运输层-TCP

简介


通俗点来说,运输层是连接底层和用户层的,运输层向它上面的应用层提供通信服务,它属于通信部分的最高层,同时也是用户功能的最低层。
运输层重要功能是复用和分用。复用:发送方不同应用进程可以使用同一种运输层协议。分用:接收方根据报文首部送到再送到相应的应用进程。
两种重要的协议:TCP:提供面向连接的服务 。UDP:传送数据前不需要先建立连接。下面主要说一下TCP连接。

图片称

上图表示应用层部分协议用到的运输层协议。

TCP

开始准备


TCP协议重要的部分就是先要建立连接,TCP连接IP层和应用层的枢纽就是套接字。套接字=={IP地址:端口号}
建立连接直接或者通信都需要用到TCP报文,所以先来了解一下报头:
每行有32位即4个字节,固定首部为5行即20字节。

1532705-20190620193517073-1784139009.png

连接-三次握手

1532705-20190620193919792-1886078628.png

可靠传输原理


无差错情况:正常的传输情况每一个请求对应一个确认。
超时重传:一个请求在一定时间内没有得到确认就重新发送。

1532705-20190620195518297-1095792751.png


确认丢失:确认报文丢失的情况下,这时候请求方没有收到确认就再发送请求,接收方丢弃重复的请求。
确认迟到:请求方迟迟没有收到确认,超时情况下再发送请求,这个确认很快收到了,过会以前的迟到(超时的)确认包过来了,请求方收到这个包什么也不会做。

1532705-20190620195611513-1341766685.png

转载于:https://www.cnblogs.com/wangjian1226/p/11041671.html

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

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

相关文章

phpStudy

很多朋友在学习php的过程中会看到phpstudy这个东西,那么phpstudy是做什么的呢?有什么用?接下来的这篇文章将个大家来详细的介绍一下phpstudy的内容。 首先在百度百科上对于phpstudy的定义是一个PHP调试环境的程序集成包。 该程序包集成最新的…

厉害了!Intel第九代酷睿参数曝光

2019独角兽企业重金招聘Python工程师标准>>> 导读上周有消息称,Intel第九代酷睿处理器最快于8月1日发布,共有三款主打产品,分别是i9-9900K、i7-9700K和i5-9600K。其中,i9-9900K设计为8核16线程,基础主频3.6…

Web应用性能分析工具—HAR文件

Web应用性能分析工具—HAR文件 来源 https://raynorli.com/2018/06/11/web-performance-analysis-har-file/ 客户经常有的一个问题就是,我的网页服务通过你的设备之后,访问变慢了,这类直观感受的故障很不好量化,而且基于Web应用的…

【mybatis】mybatis多表联查,存在一对多关系的,实体中使用List作为字段接收查询结果的写法...

实体如下: IntegralGoods  积分商品 IntegralGoodsImg  积分商品图片 ShelfLog    积分商品自动上架记录 IntegralGoods :IntegralGoodsImg:ShelfLog   1:n:1 1:1的多表联查或者m:n的多表联查 很简…

mac java tomcat_mac idea 配置tomcat

mac idea 配置tomcat一、下载安装tomcat二、有一个 javaWeb项目创建一个javaWeb项目 ,参考第一条,只是在第二步的时候选中java Web就行三、完善web项目在WEB-INF 下新建两个文件夹,lib(存放jar包)和classes(存放编译后的文件)打开项目结构设置配置classe…

30342程序格式

1.汇编语言程序格式 2.表达式操作符 转载于:https://www.cnblogs.com/ZanderZhao/p/11055237.html

SprinBoot易学难精

Spring Boot易学难精 易学 组件自动装配:规约大于配置,专注核心业务外部化配置:一次构建、按需调配,到处运行嵌入式容器:内纸容器、无序部署、独立运行Spring Boot Stater:简化依赖、按需装配、自我包含Pro…

一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

1.1猜数字编程游戏首先让系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示。其他要求:1、全部猜对后则给出…

java中拷贝文件的代码_拷贝文件夹中的所有文件到另外一个文件夹

[java]代码库/**** 拷贝文件夹中的所有文件到另外一个文件夹** param srcDirector* 源文件夹** param desDirector* 目标文件夹**/public static void copyFileWithDirector(String srcDirector,String desDirector) throws IOException {(new File(desDirector)).mkdirs();Fil…

infoseccrypto_java下载_關於php接ICBC的支付接口的解決方案

一:背景: 目前項目使用的是php語言開發,需要接入中國工商銀行的ICBC的線上支付接口。二:遇到的問題:支付時需要對數據簽名,但是銀行那邊不提供php版本的程序,只有java版本的,以下是對…

java windows 取所有任务_Win下,通过Jstack截取Java进程中的堆栈信息

在Java软件的使用过程中,有时会莫名的出现奇怪的问题。而这些问题常常无法使用日志信息定位,这时我们就需要通过查看进程内部线程的堆栈调用关系来分析问题出在哪里。举个例子,当我们在做某个操作时,莫名的会弹出多个警告框&#…

redis基础一_常用指令

# Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: #./redis-server /path/to/redis.conf docker启动redis: docker run -d -p 6379:6379 -v /home/anmin/Desktop/…

滴滴Booster移动APP质量优化框架 学习之旅 三

推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 滴滴Booster移动App质量优化框架-学习之旅 二对重复资源优化和无用资源优化进行了讨论。这里对不可编译无用assets资源优化进行讨论。 先看微信Matrix-ApkC…

Colder框架硬核更新(Sharding+IOC)

目录 引言控制反转读写分离分库分表 理论基础设计目标现状调研设计思路实现之过五关斩六将 动态对象动态模型缓存数据源移植查询表达式树深度移植数据合并算法事务支持实际使用展望未来引言 前方硬核警告:全文干货11000字,请耐心阅读 遥想去年这个时候&a…

python:小心类实例的属性动态绑定机制

为什么80%的码农都做不了架构师?>>> class Test:def __init__(self):self.__keyinitdef get_key(self):return self.__keydef set_key(self,key):self.__keykeyif __name__ __main__:obj Test()print(obj.get_key())#输出初始值initobj.set_key(通过s…

java 获取手机归属地_java 获取手机归属地

java 获取手机归属地[2021-01-30 20:46:44] 简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:…

Atom常用功能插件

minimap代码缩略图插件 代码粒子效果activate-power-mode 代码格式化插件atom-beautify packages-->Atom Beautify-->Beautify进行格式化 标签折叠 autoclose-html 转载于:https://www.cnblogs.com/chenxi-hxl/p/9464120.html

java中和char功能相反的是_JAVA基础语法

java的基础语法Java中的程序可分为结构定义语句和功能执行语句.结构定义语句:用于声明一个类或方法,功能执行语句用于实现具体的功能。功能执行语句:每条功能执行语句的结尾都必须用英文分号(;)结束。public修饰的类名必须和文件名一致(如果没…

P1357 花园 (矩阵快速幂+ DP)

题意:一个只含字母C和P的环形串 求长度为n且每m个连续字符不含有超过k个C的方案数 m < 5 n < 1e15 题解:用一个m位二进制表示状态 转移很好想 但是这个题是用矩阵快速幂加速dp的 因为每一位的转移都是一样的 用一个矩阵表示状态i能否转移到状态j 然后跑一遍 统计答案特…

IDEA设置类、方法注释模板

类注释模板 File -> Other Setting -> Default Setting打开默认设置 Editor -> File and Code Templates -> Files -> Class 找到类注释模板&#xff0c;在public class前面添加模板注释 /** * program: ${PROJECT_NAME}->${NAME} * description: ${descript…