5.1 传输层的功能
从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部份的最高层,同时也是用户功能中的最底层。传输层位于网络层之上,他为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供主机与主机之间的逻辑通信。
逻辑通信:逻辑信道是MAC子层向上层提供的服务,表示承载的内容是什么。传输层之间的通信好像是沿水平方向传送数据,事实上这两个传输层之间并没有物理连接
传输层的功能:
- 传输层提供应用进程之间的逻辑通信(端到端的通信)。网络层提供的是主机与主机之间的逻辑通信。
- 复用和分用。复用是指发送方不同应用进程可以使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文首部后能够把这些数据正确交付到目的应用进程。——网络层也有复用与分用,复用指发送方不同协议的数据都可以封装成IP数据报发出去,分用是指接收方的网络层在剥去首部后把数据交付给相应的协议。
- 传输层要对收到的报文进行差错检测(首部和数据部分)。——网络层只检查IP数据报的首部。
- 提供两种不同的传输协议;面向连接的TCP与无连接UDP。而网络层无法同时实现两种协议。
5.2 传输层的寻址与端口
5.2.1 端口的作用
端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
端口是传输层服务访问点(Transport Service Access Point,TSAP),它在传输层的作用类似于IP地址在网络层的作用以及MAC地址在数据链路层的作用。IP地址和MAC地址标识的是主机中的应用进程。
在协议层间的抽象的协议端口是软件端口,它与路由器或交换机上的硬件端口是完全不一样的。
5.2.2 端口号
应用进程通过端口号进行标识,端口号长度为16bit,能够表示65536–2^16个不同的端口号。端口号只具有本地意义。
因特网中不同计算机的相同的端口号是没有联系的。根据端口号范围可将端口分为两类:
- 服务端使用的端口号, 熟知端口号。它又分为两类,0🔪1023,LAN把这些端口号指派给了TCP/IP最重要的一些应用程序让所有用户都知道。另一类称为登记端口号,1024🔪49151,它是供没有熟知端口号的应用程序使用的,使用这类端口号必须在LAN等级,以防止重复。
应用程序 | File Transfer Protocol,FTP | Telnet | Simple Mail Transfer Protocol,SMTP | Domain Name System,DNS | Trivial File Transfer Protocol,TFTP | Hyper Text Transfer Protocol,HTTP | SNMP |
---|---|---|---|---|---|---|---|
熟知端口号 | 21 | 23 | 25 | 53 | 69 | 80 | 161 |
- 客户端使用的端口号,数值为49152🔪65535.由于这类端口号仅在客户进程运行时才动态地选择,因此又称短暂端口号或临时端口。通信结束时,刚用过的端口号就不复存在,从而这个端口号就可供其他客户进程以后使用。
套接字
在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
套接字Socket=(主机IP地址,端口号)
5.3 无连接服务和面向连接服务
-
面向连接服务实在通信双方进行通信之前,必须先建立连接,通信过程中,整个链接的情况一直被实时监控和管理。通信结束后释放连接。
-
无连接服务是指两个实体之间的通信不需要先建立好链接,需要通信时,直接将信