计算机网络(二):传输层

本文详细介绍了传输层的基本概念,包括传输层的作用、套接字、端口号分配和多路复用与分解。重点讲解了用户数据报协议UDP和传输控制协议TCP的特点、适用场景、报文格式及连接建立与释放过程。此外,还讨论了TCP的滑动窗口、重传策略、流量控制和拥塞控制机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传输层基本概念

传输层的作用

根本目的:在网络层提供的数据通信服务基础上,实现主机的进程间通信的可靠服务

三大要点:

  • 为位于两个主机内部的两个应用进程之间提供通信服务
  • 传输层协议软件属于OS操作系统内核软件而非用户软件
  • 提供可靠的通信服务

套接字

“套接字”表示一个IP地址与对应的一个进程标识(端口号)。例如,一个IP地址为202.1.2.5客户端使用3022端口号,那么标识客户端的套接字为“202.1.2.5:3022”。

端口号的分配

端口号为0-65535之间的整数,有3种类型:熟知端口号、注册端口号、临时端口号。

熟知端口号:给每种服务器分配确定的全局端口号。每个用户进程都知道相应的服务器进程的熟知端口号,范围为0-1023,它是统一分配和控制的。

注册端口号:在IANA注册的端口号,数值范围为1024-49151。

临时端口号:客户端程序使用临时端口号,它是运行在客户端上的TCP/IP软件随机选取的,范围为49152-65535。

传输层通信连接的标识方法

一个完整的进程通信标识需要一个五元组标识:(协议、本地地址、本地端口、远程地址、远程端口号)

如:( 协议=tcp, 本地地址=192.168.0.7, 本地端口=54470, 远程地址=172.217.6.127, 远程端口=443 )

传输层的多路复用与多路分解

意指:运行TCP/IP协议主机中,可以同时运行不同应用层协议和不同的应用程序。

由传输层根据不同的TPDU(传输协议数据单元)的端口号,区分出不同属性,分别传给对应的几个应用进程。

用户数据报协议UDP

主要特点

  • 无连接的:发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。

  • 尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的连接状态表。

  • 面向报文的:UDP 对应用层传递下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 对于应用程序提交的报文,添加头部构成TPDU后就向下提交给IP层。

  • 没有拥塞控制:网络出现的拥塞时,UDP不会使源主机的发送速率降低。这对某些实时应用是很重要的,很适合多媒体通信的要求。

  • 支持多对多的交互通信

  • 首部开销小:只有 8 个字节,比 TCP 的 20 个字节的首部要短

适用场景

  • 适用于少量(几百个字节)的数据
  • 对性能的要求高于对数据完整性的要求,如视频播放、P2P、DNS等
  • 需要“简短快捷”的数据交换 简单的请求与应答报文交互,如在线游戏
  • 需要多播和广播的应用,源主机以恒定速率发送报文,拥塞发生时允许丢弃部分报文,如本地广播、隧道VPN

UDP数据报格式

在这里插入图片描述

  1. UDP总长度(单位为字节) = 8 (UDP报头长度) + 数据字段的字节长度 (长度必须为2字节的倍数,即为偶数);

  2. 数据字段的字节长度必须为2字节的倍数原因是:校验和的计算是以2字节为单位的;

检验和的计算

UDP的检验和是可选的,根据自己对效率、可靠性的要求来决定是否使用。

在这里插入图片描述
伪报头来自于IP报头,只在计算检验和时起作用,既不向低层传输,也不向高层传送。

计算检验和的方法:初始设置“检验和”字段为全0,对蓝色框起的内容,以2字节(16位)为单位进行累加,如果最高位发生进位,则最

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值