2017-02-09 自顶向下:运输层概述、运输层和网络层的关系、多路复用与多路分解、UDP简介

2017-02-09 自顶向下:运输层概述、运输层和网络层的关系、多路复用与多路分解、UDP简介

逻辑通信(logic communication)、运输层报文段(segment)、尽力而为交付服务(best-effort delivery service)、不可靠服务(unreliable service)、多路复用(transport-layer multiplexing)、多路分解(demultiplexing)、靠数据传输(reliable data transfer)、拥塞控制(congestion control)、周知端口号(well-known port number)、源端口号字段(source port number field)、目的段口号字段(destination port number field)


第3章 运输层

    3.1 概述和运输层服务

        运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能。从应用程序的角度看,通过逻辑通信,运行不同进程的主机好像直接相连一样。

        运输层协议是在端系统中而不是在路由器中实现的。在发送端,运输层将从发送应用程序接收到的报文转换成运输层分组,该分组称为运输层报文段(segment)。

        3.1.1 运输层和网络层的关系

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

        3.1.2 因特网运输层概述

            UDP/TCP位于运输层。IP即网际协议位于网络层。IP为主机之间提供了逻辑通信。IP的服务模型是尽力而为交付服务(best-effort delivery service)。这就意味着IP尽它“最大努力”在通信的主机之间交付报文段,但它并不做任何确保。不确保报文段的交付、不确保按序交付、不确保数据完整性。由于这些原因,IP被称为不可靠服务(unreliable service)。每台主机有一个IP地址。

            UDP与TCP最基本的职责是,将两个端系统间IP的交付服务扩展为运行在端系统上的两个进程之间的交付服务。将主机件交付扩展到进程间交付被称为运输层的多路复用(transport-layer multiplexing)与多路分解(demultiplexing)。

            进程到进程的数据交付和差错检查是两种最低限度的运输层服务,也是UDP所能提供的仅有的两种服务。

            TCP提供可靠数据传输(reliable data transfer)还提供拥塞控制(congestion control)。拥塞控制与其说是一种提供给使用它的应用程序的服务,不如说是一种提供给整个因特网的服务。


    3.2 多路复用与多路分解

        一个进程(作为网络应用的一部分)有一个或多个套接字(socket),它相当于从网络向进程传递数据和从进程向网络传递数据的门户。将运输层报文段中的数据交付到正确的套接字的工作称为多路分解(demultiplexing)

        而在源主机中从不同套接字中收集数据块,并未每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层,所有这些工作称为多路复用(multiplexing)


        运输层多路复用要求:(1)套接字有唯一标识符;(2)每个报文段有特殊字段用来指示该报文段所要交付到的套接字。这些特殊的字段是源端口号字段(source port number field)和目的段口号字段(destination port number field)。

        端口号是一个16比特的数,其大小在0-65535之间。0-1023范围的端口号称为周知端口号(well-known port number),当我们开发一个新的应用程序时必须为其分配一个端口号。


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

        3.2.2 面相连接的多路复用和多路分解

            TCP套接字是由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)来标识的。

        3.2.3 Web服务器与TCP

    3.3 无连接运输:UDP

        使用UDP时,在发送报文段之前,发送发和接收方的运输层实体之间没有握手。正因为如此,UDP被称为是无连接的。UDP的优点有:

            关于何时、发送什么数据的应用层控制更为精细。

            无需连接建立。

            无连接状态。

            分组首部开销小。    

        使用UDP的应用是可以实现可靠数据传输的。这可通过在应用程序自身中建立可靠性机制来完成。

        3.3.1 UDP报文段结构

            源端口号+目的段口号+长度+检验和+应用数据(报文)

 

        3.3.2 UDP检验和

            UDP检验和提供了差错检测功能。虽然UDP提供了差错检测,但它对差错恢复无能为力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值