当前位置: 首页 > article >正文

【网络通信基础与实践第三讲】传输层协议概述包括UDP协议和TCP协议

一、进程间的通信

通信的两端应当是两个主机中的应用进程,也就是说,端到端的通信是应用进程之间的通信

运输层有一个很重要的功能就是复用和分用,复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据,分用是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付给目的应用进程。

从上图可以知道,网络层为主机之间的通信提供服务,而运输层则在网络层的基础上,为应用进程之间的通信提供服务。

除此之外,运输层向高层用户屏蔽了下面网络的核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,而当采用TCP协议时,这条信道是全双工的可靠信道,但是当采取UDP协议时,这条信道是一条不可靠信道。 

二、运输层的两个主要协议

1、用户数据报协议UDP(User Datagram Protocol)

UDP协议在传输数据之前不需要先建立连接。远地主机的运输层在收到UDP报文后不需要给出任何的确认。虽然UDP不提供可靠的交付,但是UDP非常简单

2、传输控制协议TCP(Transmission Control Protocol)

TCP则提供面向连接的服务。在传输数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或者多播服务。

三、运输层的端口

1、端口的定义

在单个计算机中的进程是用进程标识符来标志的。但是由于计算机的操作系统的种类很多,而不同的操作系统又使用不同格式的进程标识符。为了使不同操作系统之间的进程可以进行通信,就不许采取一种统一的且与特定的操作系统无关的方法来对TCP/IP体系的应用进程来进行标志。

我们把这些门设置为通信的抽象终点,被命名为协议端口(protocol port)。TCP/IP的运输层用一个16位端口号来标志一个端口。但是请注意端口号只具有本地意义,不同的计算机中相同的端口号是没有关联的。 

2、端口的分类

(1)服务器使用的端口号

一类是熟知端口号或者全球通用端口号,数值位0~1023;另一类是登记端口号,数值为1024~49151。

(2)客户端使用的端口号

数值为49152~65535。这类端口仅在客户端运行时才动态显示。通信结束之后,刚才已使用过的客户端口号就会被系统收回,以便给其他的客户进程使用。

四、实例分析

工程代码见

https://github.com/daviddou2023/page

demo网页见

https://daviddou2023.github.io/page

 

 

 

 


http://www.kler.cn/a/314807.html

相关文章:

  • Vector 深度复制记录
  • 比ChatGPT更酷的AI工具
  • 【学习】Fine-tuning知识汇总
  • ssm100医学生在线学习交流平台+vue(论文+源码)_kaic
  • 代码 RNN原理及手写复现
  • 虚拟机安装Ubuntu 24.04服务器版(命令行版)
  • linux 基础(一)mkdir、ls、vi、ifconfig
  • 汽车EDI:MöllerTech EDI项目案例
  • 实战讲稿:Spring Boot整合MyBatis
  • 前端入门:HTML+CSS简便开发的技巧
  • 美国火箭实验室Rocket Lab USA(RKLB)
  • Tomcat窗口运行修改窗口标题显示项目日期时间
  • 【开源免费】基于SpringBoot+Vue.JS教师工作量管理系统(JAVA毕业设计)
  • 【微服务】Eureka的自我保护机制
  • (学习记录)使用 STM32CubeMX——配置时钟(入门)
  • 基于Windows系统以tomcat为案例,讲解如何新增自启动服务,定时重启服务。
  • mybatis 和 mybatis-plus
  • mysql批量修改表前缀
  • 【java实现json转化为CSV文件】
  • 【C++二叉树】二叉树的前序遍历、中序遍历、后序遍历递归与非递归实现
  • Kotlin 极简小抄 P3(函数、函数赋值给变量)
  • LeetCode 第416场周赛个人题解
  • springbootweb集成swagger
  • 王道考研视频——操作系统笔记
  • 海外服务器哪个速度最快且性能稳定
  • GRE隧道在实际部署中的优化、局限性与弊端