计算机网络之运输层(知识复习)

本文深入探讨了计算机网络运输层的两大协议——TCP与UDP,包括它们的特点、端口机制、首部结构以及可靠传输的实现。重点讲解了TCP的连接、拥塞控制与流量控制策略,同时介绍了UDP的无连接服务和适用于实时应用的优势。通过理解这些概念,读者将更好地理解网络通信的本质。
摘要由CSDN通过智能技术生成

运输层协议概述

从IP层来说,通信的两端是两台主机。但“两台主机之间的通信”这种说法还不够清楚。
严格地讲,两台主机进行通信就是两台主机中的应用进程互相通信。
从运输层的角度看,通信的真正端点并不是主机而是主机中的进程。
复用和分用:
复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据。
分用时指接收方的运输层在去掉报文的首部后能够把这些数据正确交付目的应用进程。
屏蔽作用:
运输层向高层用户屏蔽了下面网络核心的细节。

两大运输层协议

UDP:一种无连接协议
提供无连接服务。
在传送数据之前不需要先建立连接。
传送的数据单位协议是 UDP 报文或用户数据报。
对方的运输层在收到 UDP 报文后,不需要给出任何确认。
虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。
TCP:一种面向连接的协议
提供面向连接的服务。
传送的数据单位协议是 TCP 报文段 (segment)。
TCP 不提供广播或多播服务。
由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。

端口

进程是用进程标识符来标志的。
但不同操作系统的进程标识肯定不同。
因此在通信时要用统一的方法对进程标识。
解决办法是使用端口

TCP/IP 运输层端口

端口用一个 16 位端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。
在互联网中,不同计算机的相同端口号是没有联系的。

两大类端口

(1) 服务器端使用的端口号
熟知端口,数值一般为 0~1023。
登记端口号,数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。
(2) 客户端使用的端口号
又称为短暂端口号,数值为 49152~65535,客户进程运行时动态选择。
当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

UDP

(1) UDP 是无连接的,发送数据之前不需要建立连接,,因此减少了开销和发送数据之前的时延。
(2) UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
(3) UDP 是面向报文的。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 一次交付一个完整的报文。
(4) UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求。
(5) UDP 支持一对一、一对多、多对一和多对多的交互通信。
(6) UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。

首部

在这里插入图片描述

检验和计算

在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和。
UDP是把首部和数据部分一起都检验。而IP数据报只检验IP数据报的首部。
计算过程:
1 把检验和全零。
2 每16位分一组
3 若UDP数据部分不是偶数字节,则填入全零字节(但不发送)
4 按二进制反码计算出这些16位的和
5 得出的结果取反码写入检验字段
接收方:
收到UDP数据包后,连同伪首部,按二进制反码求这些16位字的和,当无差错时,结果应全为1.

TCP

TCP 是面向连接的运输层协议。
每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点对点的(一对一)。
TCP 提供可靠交付的服务。
TC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值