计算机网络3.1 运输层概述 与 多路复用/分解
Posted hithongming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络3.1 运输层概述 与 多路复用/分解相关的知识,希望对你有一定的参考价值。
第三章第一节 运输层概述 与 多路复用/分解
Outline
Notes
## 概述
- 运输层功能:传输层协议为运行在不同主机上的进程提供了一种逻辑通信机制,即所谓的“端“到”端“通信。并负责对收到的报文进行差错检验,消除网络间不可靠性,提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。
- 工作原理:运输层协议是在端系统中运行的
- 发送方:将应用递交的消息分成一个或多个的片段,并向下传给网络层。
- 接收方:将接收到的片段组装成消息,并向上交给应用层。
- 网络层与运输层的区别:
- 网络层提供主机之间的逻辑通信机制
- 传输层提供应用进程之间的逻辑通信机制
- 关系:传输层位于网络层之上、依赖于网络层服务、对网络层服务进行(可能的)增强
- Internet上提供TCP(传输控制协议) 和 UDP(用户数据报协议)两种
## 多路复用和多路分解
【定义】
一个进程有一个或多个套接字(socket),它相当于从网络向进程传递数据和从进程向网络传递数据的门户。
- 接收端将运输层报文段中的数据交付到正确的套接字(即不同的进程)的工作称为多路分解(demultiplexing)。
- 而在源主机中从不同套接字中收集数据块,并未每个数据块封装上头部信息从而生成报文段,然后将报文段传递到网络层,所有这些工作称为多路复用(multiplexing)。
【概述】
- 运输层多路复用具有以下要求:
- 套接字有唯一标识符;
- 每个报文段有特殊字段用来指示该报文段所要交付到的套接字。
- 这些特殊的字段是源端口号字段和目的段口号字段,端口号是一个16比特的数,其大小在0-65535之间,其中0-1023范围的端口号称为周知端口号(well-known port number),如HTTP(端口号80)、FTP(端口号21)
- 当我们开发一个应用程序时,必须分配一个端口号。
【无连接的多路复用和多路分解】
在运输层,无连接的网络传输是通过UDP来实现的,一个UDP套接字是由一个含有目的IP地址和目的端口号的一个二元组来全面标识的。
主机收到UDP段后检查段中的目的端口号,并将UDP段导向绑定在该端口号的Socket,因此如果两个UDP报文段有不同的源IP地址/端口号,却有相同的目的端口号,那么两个报文段将通过相同的目的套接字被定向到相同的目的进程。
【面向连接的多路复用与多路分解】
TCP套接字是由一个四元组标识,其内容包括 源IP地址、源端口号、目的IP地址、目的端口号。接收端主机利用所有的四个值将报文段定向分解得到相应的套接字。
服务器可能同时支持多个TCP套接字,每个套接字都有自己的四元组标识,故上述例子的两个报文段会通过不同的套接字定向到相同的进程。
以上是关于计算机网络3.1 运输层概述 与 多路复用/分解的主要内容,如果未能解决你的问题,请参考以下文章