运输层简介

运输层的通信实体不再是主机,而是主机中的进程。运输层的通信是一台主机的进程和另一台主机的进程进行数据交换。

运输层作用

  • 运输层向上层的应用层提供通信服务
  • 运输层为进程提供端到端的通信

运输层协议

  • 传输控制协议(TCP):面向连接的可靠传输协议
  • 用户数据报协议(UDP):无连接的不可靠协议

应用层对UDP和TCP的使用

应用 应用层协议 运输层协议
域名解析 DNS UDP
文件传送 TFTP(简单文件传送协议) UDP
万维网 HTTP TCP
电子邮件 SMTP TCP
文件传送 FTP(文件传送协议) TCP

UDP

UDP,用户数据报协议(User Packet Protocol)。UDP在IP的数据报基础上只加入了很少的功能,包括复用分用和差错检测。它有以下的特点:

  1. 无连接:UDP在发送数据前不需要建立连接,这减少了建立连接和释放连接带来的开销
  2. 尽最大努力交付:UDP没有差错重传的机制,它只能尽最大努力交付数据,所以是不可靠传输。虽然没有重传机制导致了不可靠传输,但是这样也减少了主机需要维护的状态参数,减轻了主机的负担
  3. 面向报文:UDP将上层服务传递的报文加上首部后就能发送,它不会对数据进行拆分或合并
  4. 首部开销小:UDP报文的首部只有8字节
  5. 一对多、多对一、一对一通信

TCP

TCP,传输控制协议(Transport Controller Protocol)。TCP是比较复杂的协议,它加入了可靠传输、流量控制、拥塞控制的机制。

  1. 面向连接:TCP在发送数据之前要建立TCP连接,通信完成需要释放连接。TCP建立连接要经过三次握手的过程,释放连接要经过四次挥手
  2. 可靠传输:TCP通过确认报文、停止等待(自动重传)等方式实现了可靠传输
  3. 面向字节流:TCP会将应用层的数据划分成大小不等的数据块,数据块以字节为单位。TCP会将这些数据块封装后按序发送,但是不能保证数据块到达的顺序
  4. 点对点:因为建立连接,TCP只能进行端到端的通信

TCP与UDP对比

UDP TCP
有无连接 无连接 有连接
是否可靠 尽最大努力交付 可靠传输
传输方式 面向报文 面向字节流
端点 一对一、一对多 点对点
首部大小 首部小,仅8字节 首部开销大

运输层协议:TCP和UDP的更多相关文章

  1. 运输层协议TCP和UDP

    运输层协议TCP和UDP 一.用户数据报协议 UDP 1.1.UDP 概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能. 虽然 UDP 用户数据报只能提供不 ...

  2. 运输层协议--TCP及UDP协议

    TCP及UDP协议 按照网络的五层分级结构来看,TCP及UDP位于运输层,故TCP及UDP是运输层协议.TCP协议--传输控制协议UDP协议--用户数据报协议 多路复用及多路分解 图多路复用及多路分解 ...

  3. 传输层协议TCP和UDP

    本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...

  4. 浅谈传输层协议TCP和UDP

    在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...

  5. 网络编程协议(TCP和UDP协议,黏包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  6. 网络编程协议(TCP和UDP协议,粘包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  7. 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)

    一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...

  8. TCP/IP中的传输层协议TCP、UDP

    TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...

  9. 传输层协议TCP和UDP分析

    分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析应用TCP协议,以及TCP链接管理 2. 分析应用UDP协议 分析要求 (1)TCP部分: 学习3CDaem ...

  10. 01网络编程(基础知识+OSI七层协议+TCP与UDP)

    目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...

随机推荐

  1. 安装Linux的步骤 包含linux下安装jdk,及mysql

    https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ 镜像下载网址,4G 左右. 安装VMware 15版本 一路下一步, ...

  2. Java面向对象04——构造器

    类中的构造器也成为构造方法,是在进行创建对象的时候必须调用的.并且构造器有以下两个特点: 必须和类的名字相同 必须没有返回值,也不能写void  package oop.demon01.demon02 ...

  3. 史上最详细的Android消息机制源码解析

    本人只是Android菜鸡一个,写技术文章只是为了总结自己最近学习到的知识,从来不敢为人师,如果里面有不正确的地方请大家尽情指出,谢谢! 606页Android最新面试题含答案,有兴趣可以点击获取. ...

  4. Haskell Command-line Application Building

    Haskeline Package Haskeline provides a user interface for line input in command-line programs. This ...

  5. Echarts 图表位置调整

    Echarts 图表的位置调整 折线图和柱状图,通过grid属性调整. grid:{ show:false, top:'20%', right:'5%', bottom:'10%', left:'10 ...

  6. Are You OK?主键、聚集索引、辅助索引

    每张表都一定存在主键吗? 关于这个问题,各位小伙伴们不妨先自己想一想,再往下寻找答案. 首先公布结论:对于 InnoDB 存储引擎来说,每张表都一定有个主键(Primary Key)! 让人非常遗憾的 ...

  7. bluecms安装错误一记

    菜鸡兴致勃勃下载了bluecms1.6准备大干一番 环境 phpstudy mysql 5.7.26 apache 2.4.39 php 7.3.4 结果安装第四步发现个这个问题   开始还以为自己这 ...

  8. 为何要打印日志?C++在高并发下如何写日志文件(附源码)?

    为何要打印日志?让程序裸奔不是一件很快乐的事么? 有些BUG就像薛定谔的猫,具有波粒二象性,当你试图去观察它时它就消失了,当你不去观察它时,它又会出现.当你在测试人员面前赌咒发誓,亲自路演把程序跑一遍 ...

  9. MongoDB使用命令创建用户权错误分析--- 权限不够Error:couldn't add user:command createUser requires authentication

    MongoDB使用命令创建用户权错误分析 错误一:权限不够Error:couldn't add user:command createUser requires authentication. 解决方 ...

  10. C# prism 框架 MVVM框架 Prism系列之事件聚合器

    网址:https://www.cnblogs.com/ryzen/p/12610249.html 本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 ...