首页 > 其他分享 >第五篇 计算机网络基础 - 传输层协议【 TCP 协议 + UDP 协议 】

第五篇 计算机网络基础 - 传输层协议【 TCP 协议 + UDP 协议 】

时间:2023-03-28 16:00:59浏览次数:40  
标签:协议 UDP 主机 TCP 传输层 数据 客户端

传输层协议概述

1、传输层协议的作用

  1、提供了一种端到端 【 end to end 】 的连接,一般为前端和后台服务器的连接
  
  2、由于网络层只管传递数据,并不关心成功与否,TCP协议 在数据丢失、损坏的情况下保证数据的可靠性
  
2、传输层协议的分类

  1、传输控制协议 TCP 【 Transimision Control Protocal 】
  
    1、可靠的、面向连接的协议
    
    2、传输效率低
    
  2、用户数据报协议 UDP 【 User Datagram Protocal 】
  
    1、不可靠的、无连接的服务
    
    2、传输效率高

传输控制协议 TCP

TCP 的功能
为了保证TCP是可靠的、面向连接的协议,具备以下功能

  1、将数据进行 分段打包 传输,如果不将数据分段打包传输,那么会导致每次传输的数据特别大,而带宽是一定的,所以很容易造成拥塞
  
  2、对每个数据包 编号 控制顺序,因为数据进行了分段打包传输,而网络中的路线不止一条,而且某些路线会有延迟的情况,如果没有编号,那么无法保证到达的数据是原来的模样
  
  3、运输中丢失、重发和丢弃处理,由于网络中的路线会有延迟,并且存在丢包现象,所以会有重发等机制来保证数据的完整性
  
  4、流量控制避免拥塞,避免发送速率过快,让接收方来不及接收,导致发生丢包。
tcp 的 三次握手 和 四次挥手
1、三次握手 【 请求发送连接 】

  1、第一次握手 主机A 通过一个标识为 SYN 标识 位的数据段发送给 主机B 请求连接,通过该数据段告诉 主机B 希望建立连接,需要 主机B 应答,并告诉 主机B 传输的起始序列号

  2、第二次握手是 主机B 用一个确认应答 ACK 和 同步序列号 SYNC 标志位 的数据段来响应 主机A,一是发送 ACK告诉 主机A 收到了数据段,二是通知 主机A 从哪个 序列号 做标记
  
  3、第三次握手是 主机A 确认收到了 主机B 的数据段并可以开始传输实际数据

第一次握手主要是 服务端 确认 客户端 是否能够发送信号

第二次握手主要是 客户端 确认 服务端 能够接收和发送信号

第三次握手主要是 服务端 确认 客户端 能够接收信号
2、四次挥手 【 请求关闭连接 】

  1、主机A 发送 FIN 控制位 发出断开连接的请求
  
  2、主机B 进行响应,确认收到断开连接请求
  
  3、主机B 提出反方向的关闭要求
  
  4、主机A 确认收到的 主机B 的关闭连接请求


第一次挥手是 服务端 确认 客户端 需要断开连接

第二次挥手是 客户端 确认 服务器 接收断开请

第三次挥手是 客户端 确认 服务器 数据发完,断开连接

第四次挥手是 服务端 确认 客户端 断开连接

所以如果服务端的数据全部发送完,是没有第三次挥手,直接进入第四次挥手

UDP 协议

由于 UDP 是不可靠的、无连接的服务并且传输效率高,所以 UDP应用 的特点就是需要实时数据,可以允许丢包

所以 QQ、视频软件、TFTP 简单文件传输协议 【 短信 】等都是 UDP应用

由于在 IP地址 中存在一些广播地址,UDP 主要是通过它们来实现的

标签:协议,UDP,主机,TCP,传输层,数据,客户端
From: https://www.cnblogs.com/caix-1987/p/17265551.html

相关文章

  • TAPI协议介绍
    TAPI协议介绍TAPI(电话应用程序接口)是一个标准程序接口,它可以使用户在电脑上通过电话或视频电话与电话另一端的人进行交谈。假设你的电脑上安装了TAPI,并且你安装了正确的应用......
  • 【Java 并发】【三】MESI缓存一致性协议
    1 前言上节我们看了一下线程安全的原子性、有序性、可见性,这节我们回到CPU多级缓存的问题,就是各个缓存中一致性的问题,这节我们就来看一下MESI一致性协议。2  MESI缓......
  • IP协议
    IP协议轻解网络系列又来了,今天咱们说说IP协议,这可是网络协议中最最核心的一个协议了,还记得我们刚刚知道什么是IP地址、怎么给电脑修改IP的时候吗?今天我们就来探究一下......
  • HTTP 协议常用返回状态码
    1、什么是Http状态码状态码是客户端向服务器发送请求的时候,描述返回的请求结果的参数,借助Http状态码,可以让用户知道这次请求是正常处理,还是出现了错误。状态码由3位数字和原......
  • RS485采集电表DLT645-1997/2007协议数据存入数据库方案
    DAQforIIOT通用工业数据采集系统是一套运行在边缘计算机、工业网关或普通电脑上的设备数据采集管理软件,主要用于对各种工业仪器设备、电表、PLC、注塑机、数控机床等数据......
  • 基于canfestival协议栈的canopen程序。 包含主从机,主站实现pdo收发、sdo收发、状态管
    基于canfestival协议栈的canopen程序。包含主从机,主站实现pdo收发、sdo收发、状态管理、心跳,从站实现pdo收发、sdo收发、紧急报文发送,只提供代码,stm32f407常用于一主多......
  • C#上位机与台达PLC通信,modbus TCP协议
    C#上位机与台达PLC通信,modbusTCP协议。1.真实使用项目,该程序框架完整,适合在此基础上开发项目。2.使用VS2019开发。3.项目还涉及到halcon视觉检测功能。YID:76106345120......
  • C#松下PLC通信工具,支持松下MEWTOCOL协议,支持串口通信,网口通信
    C#松下PLC通信工具,支持松下MEWTOCOL协议,支持串口通信,网口通信,部分代码稍作修改后可直接copy到自己的上位机软件使用主要功能:1.支持IO实时监控,可自由改变要监控的IO2.......
  • EasyCVR视频融合平台如何通过国标GB28181协议级联至海康云眸平台?
    EasyCVR视频融合平台基于云边端一体化,能实现海量视频资源的轻量化接入、汇聚与管理,平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能......
  • Flexray协议理论基础
    一、前言  去年由于工作原因停更了某C**N上Flexray的讲解,近期很多小伙伴私信询问停更Flexray技术文章的原因。。。呐~本次介绍将从Flexray的物理层、链路层、网络管理做......