小c学网络(2)--网络与数据传输之运输层
运输层协议概述
进程间通信
首先问一个问题:我们知道,IP协议能够把源主机A发送的分组,按照首部中的地址,送交到目的主机B,那么为什么还需要运输层呢?
答:IP协议虽然能把分组送到目的主机,但是这个分组还停留在主机的网络层而没有交付主机中的应用进程。从运输层的角度看,通信的真正端点并不是主机,而是主机中的进程。也就是说,端到端的通信是应用程序之间的通信。
运输层功能 - 复用和分用
-
复用:
是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据(当然需要加上适当的首部)
-
分用:
是指接受方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。
IP层也有复用和分用的功能,即在发送方不同协议的数据都可以封装成IP数据报发送出去,而在接受方的IP层根据IP首部中的协议字段进行分用,把剥去首部后的数据交付应当接收这些数据的协议
运输层的两个主要协议 - UDP 和 TCP
用户数据报协议UDP(User Datagram Protocol):在传输数据之前不需要先建立连接。
传输控制协议TCP(Transmission Control Protocol):则提供面向连接的服务。在数据之前必须先建立连接,数据传送结束后要释放连接。
运输层的端口
运输层的端口并不是指计算机中标识进程的进程号,也不是指路由器或交换机上的硬件端口,它是在协议栈层间的抽象的协议端口,是软件端口。软件端口是应用层的各种协议进程与运输层进行层间交互的一种地址,具体的戏用具体实现端口的方法可以是不同的(取决于系统使用的操作系统)。
两个计算机中的进程要相互通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且要知道对方的端口号(为了找到对方计算机上的应用进程)。
端口号分为两大类:
-
服务器端使用的端口号
- 熟知端口号(或叫系统端口号):数值为0-1023。如FTP:21,http:80。
- 登记端口号:数值为1024-49151。
-
客户端使用的端口号
数值为49152-65535。由于这类端口
由于这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。
用户数据报协议UDP
传输控制协议TCP
未完待续…..