UDP:

    1、UDP面向报文,无需建立连接,不可靠,数量小,高层就解决差错重传,无需拥塞控制

    2、支持音频、视频传输

    3、检查和检验UDP包头和数据和伪首部

    4、分组开销小(头部8个字节),提供最大努力交付,且无序

TCP:

    1、TCP是面向字节流,有连接的端到端的传输层协议

    2、TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序

    3、支持数据传输

    4、校验和检验TCP报头和数据、伪首部(IP数据报的一部分)

TCP“三次握手”

    

    1、客户机的TCP首先向服务器的TCP发送一个连接请求报文段,这个特殊的报文段中不含应用层数据,其首部中的SYN置为1,同时客户机会随机选择一个起始序号seq=x

    2、服务器的TCP收到连接请求报文后,同意连接,服务器会向客户机发回确认,在确认报文中,SYN和ACK都被置为1,确认号字段的值为X+1,并且随机产生起始序号seq=y

    3、当客户机收到确认报文后,还要向服务器给出确认,这个报文段ACK标志位被置为1,序号字段为X+1,确认号字段ack=Y+1

TCP“四次挥手”

    

    1、客户端打算关闭连接,就向其TCP发送一个连接释放报文段,并停止再发送数据,主动关闭TCP连接,该报文段的FIN置为1,seq=u

    2、服务器收到连接释放报文段即发出确认,ACK置为1,确认号是ack=u+1,而这个报文段自己的序号是v,服务器进入关闭等待状态

    3、服务器向客户端发送FIN=1,ACK=1,这个报文段自己的序号是w,确认号是ack=u+1,用来关闭客户端

    4、客户机收到释放的报文段后,必须发出确认,ACK被置为1,seq置为u+1,ack置为w+1,此时TCP连接还没有释放掉,必须经过时间等待计时器设置的时间2MSL后,客户端进入关闭状态。

TCP与UDP的差别以及TCP三次握手、四次挥手的更多相关文章

  1. TCP连接的11种状态,三次握手四次挥手原因

    1).LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN. /* The socket is listening for incoming connections. 侦听来自 ...

  2. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器    定义:       ...

  3. TCP/IP协议 | TCP协议 | UDP协议 | 三次握手四次挥手

    TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP.SMTP.TCP.UDP.IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP ...

  4. 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  5. 救救孩子吧,到现在还搞不懂TCP的三次握手四次挥手

    本文在个人技术博客同步发布,详情可用力戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩...   前几天发了一个朋友圈,发现暗恋已久的女生给我点了个赞,于是我当晚辗转反侧.彻 ...

  6. TCP/IP三次握手四次挥手

    本文通过图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图所示,给出了TCP通信过程的示意图. TCP 三次握手四次挥手 主要包括三部 ...

  7. TCP协议—三次握手四次挥手的原理<转>

    三次握手四次挥手的原理   TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的.三 ...

  8. python摸爬滚打之----tcp协议的三次握手四次挥手

    TCP协议的三次握手, 四次挥手 三次握手过程 1, 服务器时刻准备接受客户端进程的连接请求, 此时服务器就进入了LISTEN(监听)状态; 2, 客户端进程然后向服务器发出连接请求报文, 之后客户端 ...

  9. [na]TCP的三次握手四次挥手/SYN泛洪

    1.TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记. (2)确认序号:Ack序号,占32位, ...

  10. [转]Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解

    一.Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手. 注:以下说明最好能结合”图:T ...

随机推荐

  1. gj8 元类编程

    8.1 property动态属性 from datetime import date, datetime class User: def __init__(self, name, birthday): ...

  2. OPCache使用示例

    OPcache 有什么用? OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销. OPca ...

  3. MFC框架仿真<二>

  4. Sensor Fusion-based Exploration in Home Environments using Information, Driving and Localization Gains(基于传感器融合的使用信息、驾驶和定位增益在家庭环境中的探索)

    Authors: Joong-Tae Park, Jae-Bok Song Department:Department  of  Mechanical  Engineering,  Korea  Un ...

  5. 高博-《视觉SLAM十四讲》

    0 讲座 (1)SLAM定义 对比雷达传感器和视觉传感器的优缺点(主要介绍视觉SLAM) 单目:不知道尺度信息 双目:知道尺度信息,但测量范围根据预定的基线相关 RGBD:知道深度信息,但是深度信息对 ...

  6. Resharper 修改命名空间

    1. 使用Reshared 右键->Refactor->Rename 修改所有文件的命名空间(鼠标移动到对应类的命名空间) 2.修改类库中的命名空间 包括程序集信息 右键->属性 3 ...

  7. Boost库安装理解

    Boost安装的安装,以及在VS2013下的使用 1. 为什么要安装? boost是一个开源库,因为开源库可以跨平台,可以通过在不同的“硬件”平台上.所以需要安装的操作. 安装,然后编译生成“静态链接 ...

  8. spring boot搭建Hello Word

    一.安装与配置jdk 二.安装与配置maven 安装好maven,必须配置环境变量 通过cmd命令查询maven是否安装成功,以下是安装成功的界面 修改setting.xml的配置,制定本地仓库的路径 ...

  9. Android sdcard文件读写操作

    这次演示以,安卓原生操作系统 Nexus_6手机进行操作: AndroidManifest.xml配置相关权限: <!-- 增加权限 --> <uses-permission and ...

  10. matlab 降维工具箱

    Matlab Toolbox for Dimensionality Reduction   降维方法包括: Principal Component Analysis (PCA) • Probabili ...