计算机网络-自顶向下方法笔记-传输层与多路复用和分解

计算机网络所有笔记链接

概述和传输层服务

传输层位于应用层和网络层之间,在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。

问题:

  1. 两个实体怎样才能在一种会丢失或者损坏数据的媒体上可靠的通信
  2. 控制运输层的实体的 传输速率以避免网络中的拥塞,或者是从拥塞中恢复过来

回顾:

应用层协议为运行在 不同的主机上的应用进程之间提供了 逻辑通信功能,能够彼此发送报文而不需要考虑承载豹报文的物理基础设施的细节

端系统运行传输层协议

发送方: 将应用递交的消息分成一个或者多个的 Segment(将应用报文划分为较小的块,为每个块加上一个运输层首部生成的运输层报文段),并向下传给网络层

接收方:将接收到的Segment组装称为消息,并向上交给应用层

传输层和网络层之间的关系

网络层:提供 主机之间的逻辑通信机制

传输层: 提供 应用进程之间的逻辑通信机制

  • 位于网络之上
  • 依赖于网络层的服务
  • 对于网络层服务进行增强

举个

有两个家庭,分别是山东的和北京的,每家都有12个孩子,两个家庭关系很好,每个星期每个孩子都会互相写一封信。其中每个家庭都会有一个孩子(Ann和Bill)进行信件的 收集和分发(就像课代表一样,负责将所有的作业收起来和将所有的作业分发)。收集好了就交给 邮件系统,以及将收到的信从邮件系统那里收过来。

邮政服务为两个家庭提供通信服务,将一家的信件送往另一家。

应 用 层 报 文 = 信 封 上 面 的 字 符 应用层报文 = 信封上面的字符 =

进 程 = 堂 兄 弟 姐 妹 进程=堂兄弟姐妹 =

主 机 ( 端 系 统 ) = 家 庭 主机(端系统)=家庭 =

运 输 层 协 议 = A n n 和 B i l l 运输层协议=Ann和Bill =AnnBill

网 络 层 协 议 = 邮 政 服 务 ( 包 括 邮 车 ) 网络层协议=邮政服务(包括邮车) =

总结

  • 运输层只能够工作在端系统中,中间路由器不处理也不识别运输层加在应用层报文中的任何的信息

  • 如果两家庭中负责收集和分发信件的孩子换人了(也就是换了个不同的运输层协议)也是可以的,计算机网络中可以可以安排多种传输层协议

  • 传输协议能够提供的服务常常受制于底层网络网络协议的服务模型:如果网络层协议时延和带宽不行,传输层也就不能够为进程之间提供保证

  • 即使网络协议是不可靠的(网络层协议会分组丢失、篡改和冗余),运输层也能够为应用进程提供 可靠的传输服务

因特网运输层概述

UDP(用户数据报协议):为应用提供了不可靠,无连接的服务

TCP(传输控制协议):提供了可靠的、面向连接的服务

TCP和UDP的基本责任:将两个端系统之间的IP的交付服务拓展为运行在端系统上的两个进程之间的交付服务

主机间交付拓展到 进程间交付被称为 运输层的多路复用多路分解

运输层协议特点

多路复用与多路分解

如果某层的一个协议对应直接上层的多个协议/实体,则需要多路复用

假设你现在正在下载Web页面,同时运行了一个FTP会话和两个Telnet进程,当传输层从网络层接收数据的时候,需要将所收到的数据重定向到这4个进程中的一个。

上节说过,一个进程有一个或者多个 套接字(socket),相当于从网络向进程传递数据和从进程向网络传递数据的门户,因此接收主机的运输层 将数据交给了一个中间的套接字,每个套接字都会有唯一的标识符

计算机网络-自顶向下方法笔记-传输层与多路复用和分解_第1张图片

在接收端,运输层检查字段,标识出接收套接字,进而将报文段定向到该套接字。将运输层报文段的数据交付到正确的套接字的工作叫做 多路复用

在原主机生成报文段,将报文段传递到网络层,叫做 多路复用

分用如何工作

类比:Bill从邮递员处收到了一批信件,通过查看收信人的名字将信件交给兄弟姐妹就叫是一个 分解操作,

将信件收集起来交给邮递员就是 多路复用操作

分解服务

在主机上的每个套接字能够分配一个端口号,当报文段到达主机的时候,运输层检查报文段中目的端口号,并将其定向到对应的套接字。然后报文段中的数据通过套接字进入其连接的进程。

计算机网络-自顶向下方法笔记-传输层与多路复用和分解_第2张图片

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

一个UDP套接字是由一个二元组全面标识的,该二元组包含一个目的IP地址和一个目的端口

因此,如果两个UDP报文段有不同的源IP地址或者是源端口号,但是有相同的目的IP地址和目的端口,那么

这两个报文段将通过相同的目的套接字被定向到相同的进程

举个

p3的端口是6428,p2和p1两个不同的进程如果想要给p3发送UDP报文,需要标明自己的源端口号和目的端口号。

那么源端口号的用处是什么呢?主要是用来作为 返回地址,也就是p2可以再向p1 和 p3传送了

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

TCP与UDP的一个细微的差别就是:TCP套接字是由一个四元组(源IP地址,源端口号, 目的IP地址,目的端口号)来标识的。

举个

计算机网络-自顶向下方法笔记-传输层与多路复用和分解_第3张图片

主机C作为服务器,主机A向其建立了一个HTTP会话,主机B向其建立了两条HTTP会话,三台主机都是有着自己唯一的IP地址。主机A与主机B的源端口号是相同的,这不是问题,因为B根据IP地址能够分辨。

Web服务器与TCP

服务器能够根据源IP地址和源端口号来区分来自不同客户的报文段

下面图示是不同的线程建立了TCP连接

计算机网络-自顶向下方法笔记-传输层与多路复用和分解_第4张图片

你可能感兴趣的:(网络,计算机网络,自顶向下方法,传输层,多路复用)