tcp和udp详解??
TCP:面向连接的可靠传输
tcp规定了:传输服务必须建立连接
传输结束必须断开连接
传输数据必须保证可靠
数据的可靠性:无重复、无丢失、无失序、无差错。
建立连接(三次握手):
1、客户端向服务端器发送连接请求
2、服务器端接收到请求后告知客户端可以连接
3、客户端再次告知服务器已经收到回复,下面要开始发送具体消息
断开连接(四次挥手):
1、主动方发送标志告知被动方要断开连接
2、被动方返回相应的标识信息,告知主动方已经接收到请求
3、被动方再次发送标志位信息表示已准备就绪可以断开连接
4、主动方断开连接告知被动方。
使用情况:
1、tcp:对传输质量要求较高,需要可靠的传输。传输的数据量较大(如传输文件),不需要频繁的断开连接(eg:qq消息、邮件发送、文件上传、账户登录。。。)
2、udp:对实时要求较高,网络情况不佳的情况下对数据的准确性没有严格的要求(eg:广播、组播)
tcp和udp的区别:
1、tcp是有连接的,udp是无连接的
2、tcp有三次握手和四次挥手的过程,udp没有
3、tcp是以数据流传输数据,会有粘包现象,udp是以数据报的形式,没有粘包
4、tcp的连接需要消耗一定的资源,相比之下udp消耗较少
5、tcp保证数据的可靠性,udp不保证
6、tcp需要listen,accept,connect,udp不需要这些操作。
tcp和udp详解??的更多相关文章
- TCP、UDP详解与抓包工具使用
参考:https://www.cnblogs.com/HPAHPA/p/7737641.html TCP.UDP详解 1.传输层存在的必要性 由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间 ...
- TCP、UDP详解
OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立 ...
- 网络传输层之TCP/UDP详解
一.运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层. 运输层的任务就是负责主机中两个进程之间的通信,其数据传输的单 ...
- TCP/IP协议详解概述
TCP/IP协议详解卷1--第一章概述--读书笔记 作者:vpoet 日期:2015/06/25 注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大 ...
- 【转载】TCP /IP协议详解
首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...
- java网络编程(UDP详解)
UDP详解 一,TCP/IP协议栈中,TCP协议和UDP协议的联系和区别? 联系: TCP和UDP是TCP/IP协议栈中传输层的两个协议,它们使用网络层功能把数据包发送到目的地,从而为应用层提供网络服 ...
- TCP/IP协议详解---概述
工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本 ...
- TCP /IP协议详解【转】
转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...
- [转]TCP滑动窗口详解
TCP滑动窗口详解 http://lyjdamzwf.blog.163.com/blog/static/75206837201193373226/ TCP滑动窗口(Sliding Window) ...
随机推荐
- 8. ClustrixDB 监控
一. 列出集群中当前会话 sql> select * from system.sessions\G 二. 显示CPU利用率.磁盘读/写利用率和缓冲区缓存失误率 MySQL [system]> ...
- vue-cli 构建的 Vue 项目用 localhost 加 端口 能访问,但是切换到 ip 加 端口 就不能访问
问题出在 webpack 的配置 在 config 文件夹下, 找到 index.js 目录, 找到如下代码 host: 'localhost', // can be overwritten by p ...
- [design pattern](5) Factory Method
前言 在前面一章博主介绍了简单工厂模式(Simple Factory),接着上面的章节,今天博主就来介绍下工厂方法模式(Factory Method). 思考题 首先,让我们来思考下面的问题: 在上一 ...
- 源码阅读-JLRoutes路由设置
最后更新: 2018-1-20 JLRoutes 是在 github 上 Star 比较多的一个, 在各大平台也有介绍, 一些知识可以参考到下面的连接查看. 本文仅仅作为我的思考以及对应的心得; 一. ...
- 利用python将两张表链接
from pyspark.sql import SparkSessionfrom pyspark.sql.types import *import os def getUser(spark,path) ...
- (转)IIS Express介绍与使用
IIS Express是什么?IIS Express是为开发人员优化的轻量级.自包含版本的IIS.IIS Express使使用当前最新版本的IIS来开发和测试网站变得容易.它具有IIS 7及以上的所有 ...
- leetcode-mid-dynamic programming-62. Unique Paths
mycode time limited class Solution(object): def uniquePaths(self, m, n): """ :type ...
- git跟yum一样 linux下的命令使用和思想是类似的
git跟yum一样 linux下的命令使用和思想是类似的
- 3、electron打包生成exe文件
打包方式1:DOS窗口命令打包 DOS 下,输入 npm install electron-packager -g全局安装我们的打包神器: cnpm install electron-packager ...
- MYSQL5.6源码包编译安装
linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...