计算机网络(12)——传输层服务概述

本文深入探讨了互联网传输层如何通过TCP和UDP协议扩展IP的逻辑通信,包括无连接与面向连接的多路复用与多路分用原理,以及它们在TCP可靠服务与UDP不可靠服务中的应用。理解端系统、端口、Socket和家庭信件类比有助于阐述这一过程。
摘要由CSDN通过智能技术生成

传输层服务概述

传输层协议为运行在不同主机上的进程提供了一种逻辑通信功能。从应用程序的角度看,通过逻辑通信,运行不同进程的主机好像直接相连一样;实际上,这些主机也许位于地球的两侧,通过很多路由器及多种不同的链路相连。应用程序使用传输层提供的逻辑通信功能彼此发送报文,而无需考虑承载这些报文的物理基础设施的小细节。

传输层协议是在端系统中而不是在路由器中实现的:

  • 发送方:将应用程序递交的报文分成一个或多个报文段(Segment),并向下传递给网络层。
  • 接收方:将接收到的报文段组装成消息,并向上交给应用层。

传输层和网络层的关系

网络层提供了主机之间的逻辑通信,传输层为运行在不同主机上的进程之间提供了逻辑通信

  • 传输层位于网络层之上;
  • 传输层依赖于网络层服务;
  • 传输层对网络层服务进行(可能的)增强。

考虑有两个家庭,一个位于美国东海岸一个位于西海岸,每家有 12 个孩子,这两个家庭的孩子每人每周要互相写一封信,每封信都用单独的信封通过传统的邮政服务传送。每个家庭有个孩子负责收发邮件,西海岸家的是 Ann 东海岸家的是 Bill。在这个例子中,邮政服务为两个家庭之间提供逻辑通信,邮政服务将信件从一家送至另一家,而不是从一个人送往另一个人;Ann 和 Bill 为兄弟姐妹们提供了逻辑通信,从兄弟姐妹的角度来看,Ann 和 Bill 就是邮政服务。在解释运输层和网络层之间的关系时,这个家庭的例子是一个非常好的类比:
(1)应用进程 = 孩子
(2)应用层报文 = 信封上的字符
(3)主机(端系统)= 房子
(4)传输层协议 = Ann 和 Bill
(5)网络层协议 = 邮政服务

Internet 传输层概述

Internet 有两种传输层协议,即 TCP(传输控制协议)和 UDP(用户数据报协议)。

TCP 和 UDP 最基本的责任是,将两个端系统间 IP 的交付服务扩展为为运行在端系统上的两个进程之间的交付服务,这需要用到传输层的多路复用和多路分用
由于网络层 IP 协议为主机之间提供了逻辑通信,它的服务模型是尽力而为交付服务,它不确保报文段的交付,也不保证报文段的按序交付。UDP 仅提供了进程到进程的数据交付以及差错检查这两种最低限度的传输层服务,与 IP 一样,UDP 是一种不可靠的服务TCP 提供了可靠、按需的交付服务,还提供了拥塞控制、流量控制。

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

TCP 和 UDP 最基本的责任是,将两个端系统间 IP 的交付服务扩展为为运行在端系统上的两个进程之间的交付服务,这需要用到传输层的多路复用和多路分用。传输层的多路复用与多路分用就是将网络层提供的主机到主机的逻辑通信延伸到为运行在主机上的进程到进程的逻辑通信

  • 发送端进行多路复用:在源主机从不同 Socket(套接字)接收数据,为每个数据块封装上首部信息生成报文段(Segment),然后将报文段传递到网络层。
  • 接收端进行多路分用:传输层依据首部信息将收到的 Segment 中的数据交付到正确的 Socket,即相应的进程。

在这里插入图片描述

根据传输层多路复用的要求:① Socket 有唯一标识符;② 每个报文段有特殊字段来指示该报文段所要交付到的 Socket。这些特殊字段是源端口号字段和目的端口号字段,端口号是一个 16 比特的数,其大小在 0~65535 之间。TCP / UDP 报文段的格式如下:
在这里插入图片描述

为主机上的每个 Socket 分配一个端口号,当报文段到达主机时,传输层检查报文段中的目的端口号,并将其定向到相应的 Socket,然后报文段中的数据通过 Socket 进入其所连接的进程,UDP 基本上是这样做的,TCP 中的多路复用与多路分用更为复杂。

无连接的多路复用和多路分用

一个 UDP 的套接字是由一个二元组来全面标识的,即 (目的IP地址,目的端口号)。如果有两个 UDP 报文段有不同的源 IP 地址和/或源端口号,但具有相同的目的 IP 地址和目的端口号,那么这两个报文段将通过相同的目的 Socket 被定向到相同的目的进程。
源端口号的用途就是作为“返回地址”的一部分,如下如 P3 所示。
在这里插入图片描述

面向连接的多路复用和多路分用

一个 TCP 套接字是由一个四元组来标识的,即 (源 IP 地址,源端口号,目的 IP 地址,目的端口号)。接收端利用所有的四个值将报文段定向到相应的 Socket,即使是具有相同目的 IP 地址和目的端口号但是源地址不同的报文段,也将被定向到两个不同的 Socket。

服务器主机可以支持很多并行的 TCP Socket,每个 Socket 与一个进程相联系,并由其四元组来标识每个 Socket,即 TCP 协议是一对一的,一个客户机进程对应一个服务器进程。

这是通过服务器的一个特殊的 Socket 实现的,该 Socket 欢迎来自运行在任意主机上的进程的某些初始接触,当收到客户向该特殊 Socket 的连接建立请求后,然后服务器将生成一个新的 Socket 用于与客户进程建立连接。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值