news 2026/4/16 18:20:48

计算机网络--运输层

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机网络--运输层

目录

1.运输层概述

2.运输层端口号、复用与分用的概念

3.UDP和TCP的对比

1.运输层概述

计算机网络体系结构中的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。

但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。

如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议。

运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道。

根据应用需求的不同,因特网的运输层为应用层提供了两种不同的运输协议,即面向连接的TCP和无连接的UDP。

2.运输层端口号、复用与分用的概念


运行在计算机上的进程使用进程标识符PID来标志。

因特网上的计算机并不是使用统一的操作系统,不同的操作系统(windows,Linux,Mac OS) 又使用不同格式的进程标识符。
为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信,就必须使用统一的方法对TCP/IP体系的应用进程进行标识。
TCP/IP体系的运输层使用端口号来区分应用层的不同应用进程。
端口号使用16比特表示,取值范围0~65535;

  • 熟知端口号:0~1023,IANA把这些端口号指派给了TCP/IP体系中最重要的一些应用协议,例如:FTP使用21/20,HTTP使用80,DNS使用53。
  • 登记端口号:1024~49151,为没有熟知端口号的应用程序使用。使用这类端口号必须在IANA按照规定的手续登记,以防止重复。例如:Microsoft RDP微软远程桌面使用的端口是3389。
  • 短暂端口号:49152~65535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

端口号只具有本地意义,即端口号只是为了标识本计算机应用层中的各进程,在因特网中,
不同计算机中的相同端口号是没有联系的。

3.UDP和TCP的对比

UDP:用户数据报协议

TCP:传输控制协议

UDP

  • 无连接
  • 支持一对一,一对多,多对一和
  • 多对多交互通信。
  • 对应用层交付的报文直接打包
  • 尽最大努力交付,也就是不可靠;不使用流量控制和拥塞控制。
  • 首部开销小,仅8字节

TCP

  • 面向连接
  • 每一条TCP连接只能有两个端点EP,只能是一对一通信。
  • 面向字节流
  • 可靠传输,使用流量控制和拥塞控制。
  • 首部最小20字节,最大60字节
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 21:20:06

Excalidraw差分同步原理:精准同步每一处改动

Excalidraw差分同步原理:精准同步每一处改动 在远程协作成为常态的当下,一个看似简单却极其关键的问题摆在开发者面前:如何让多个用户同时在一个白板上画图时,彼此的操作不“打架”,还能即时看到对方的变化&#xff1f…

作者头像 李华
网站建设 2026/4/16 12:02:16

3、脚本编程与Windows Script Host 5.6新特性全解析

脚本编程与Windows Script Host 5.6新特性全解析 1. 脚本文件类型与执行环境 脚本编程是一项强大的技术,可用于自动化各种任务。常见的脚本文件类型有多种,这里重点介绍几种。 - .wsf文件 :它可以包含实际的脚本代码,还能引用其他脚本文件。例如下面这个示例,展示了一…

作者头像 李华
网站建设 2026/4/16 12:03:01

Excalidraw备忘录模式保存:内部状态随时还原

Excalidraw备忘录模式保存:内部状态随时还原 在团队协作越来越依赖远程沟通的今天,一张随手画出的草图往往比千言万语更有效。可问题也随之而来:当你正画到一半,浏览器崩溃了;或是临时切换设备,发现一切得…

作者头像 李华
网站建设 2026/4/16 14:31:41

【node.js】如何使用 node.js 来制作命令行应用?

使用 Node.js 创建命令行应用(CLI)主要有以下几种方式,从简单到复杂逐步介绍:直接使用 Node.js 内置的命令行 API(process.argv) Node.js 自带 process.argv 属性,它是一个数组,包含…

作者头像 李华
网站建设 2026/4/16 10:59:11

Excalidraw社区最火的5个AI增强插件

Excalidraw社区最火的5个AI增强插件 在远程协作日益成为常态的今天,可视化表达早已不再是设计师的专属技能。产品经理画原型、工程师画架构、团队开会画流程图——一张白板,成了现代技术协作的“通用语言”。而在这股趋势中,Excalidraw 凭借其…

作者头像 李华