【计算机网络】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套接字,每个套接字都有自己的四元组标识,故上述例子的两个报文段会通过不同的套接字定向到相同的进程。

猜你喜欢

转载自www.cnblogs.com/hithongming/p/9379397.html