运输层简介

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

运输层作用

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

运输层协议

  • 传输控制协议(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字节 首部开销大

最新文章

  1. Java方法区和运行时常量池溢出问题分析
  2. eclipse failed to create the java virtual machine 问题图文解析
  3. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解
  4. VS2013无法启动 IIS Express Web解决办法
  5. Laravel教程 五:MVC的基本流程
  6. OpenJudge计算概论-计算三角形面积【海伦公式】
  7. UVA 11609 Teams 组合数学+快速幂
  8. zedboard之ubuntu环境变量设置
  9. myeclipse6.0下载及注冊码
  10. JDK 环境变量配置(Mac)
  11. Portal.MVC
  12. Angular4.0引入laydate.js日期插件方法
  13. 有关java中的hashCode问题
  14. poj 1696 叉积理解
  15. OpenStack 命令行速查表
  16. HDU - 1036
  17. 苹果手机iOS11中fixed弹出框中input光标错位问题
  18. Got error on conf /etc/mha/app1.cnf: Parameter name master_ip_failover_scrip is invalid!
  19. mongoose findByIdAndUpdate不执行的解决方法
  20. 【修改缓存路径】修改Gradle缓存路径的几种方式

热门文章

  1. 搭建SSM基础环境>基于idea
  2. 剑指 Offer 32 - II. 从上到下打印二叉树 II
  3. Java面向对象01——什么是面向对象
  4. Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)
  5. dubbo学习实践(3)之Dubbo整合Consul及Dubbo配置方式
  6. 关于shell脚本——echo、for语句、while语句、until语句
  7. cmseasy&内网渗透 Writeup
  8. sqli-labs lesson1-4
  9. [BZOJ2906]「颜色」
  10. MVVMLight学习笔记(二)---MVVMLight框架初探