5.1.1 传输层的功能
从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分 的最高层,同时也是用户功能中的最低层。
为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供 主机之间的逻辑通信。
显然,即使网络层协议不可靠(网络层协议使分组丢失、混乱或重复), 传输层同样能为应用程序提供可靠的服务。
网络的边缘部分的两台主机使用网络核心部分的功能进行端到端的通信 时,只有主机的协议栈才有传输层和应用层,而路由器在转发分组时都只用到下三层的功能(即 在通信子网中没有传输层,传输层只存在于通信子网以外的主机中)。
向高层用户屏蔽了低层网络核心的细节(如网络拓扑、路由协议等),它使应用进程 看见的是好像在两个传输层实体之间有一条端到端的逻辑通信信道,这条逻辑通信信道对上层的 表现却因传输层协议不同而有很大的差别。
当传输层采用面向连接的TCP时,尽管下面的网络是 不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。但当传输层采用无连接的UDP 时,这种逻辑通信信道仍然是一条不可靠信道。
5.1.2 传输层的寻址与端口
长度为16bit,能够表示65536(2^16)个不同的端口号
只具有本地意义,即端口号只标识本计算机应用层中的各进程
两类 1)服务端使用的端口号。
熟知端口号
数值为0〜1023
登记端口号
数值为1024〜49151
供没有熟知端 口号的应用程序使用的,使用这类端口号必须在IANA登记,以防止重复。
数值为49152〜65535
这类端口号仅在客户进程运行时才动 态地选择,因此又称短暂端口号(也称临时端口)。
通信结束后,刚用过的客户端口号就 不复存在,从而这个端口号就可供其他客户进程使用。
5.1.3 无连接服务与面向连接服务
UDP概述
UDP的首部格式
在计算校验和时,要在UDP数据报之前增加12B的伪首部,伪首部并不是UDP的真正首部。
只是在计算校验和时,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。校验和就 是按照这个临时的UDP数据报计算的。
UDP校验和的计算方法