1、传输层特点
传输层是整个网络体系结构中关键层次之一
1、传输层为相互通信的应用进程提供逻辑通信。
2、相关协议UDP、TCP。
3、网络层和传输层的区别:网络层为主机之间提供逻辑通信,而传输层为进程之间提供端到端的逻辑通信。
2、端口号
端口号是传输层重要的标识,就象网络层的IP标识一样。
TCP/IP的传输层用一个16位端口号来标志一个端口,端口只具有本地意义(A主机与B主机中的端口无关联)。16位的端口号可允许65535个不同端口号。
在协议栈层间的抽象的协议端口是软件端口,和路由器或交换机上的硬件端口是不同的。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。
服务器端使用的端口号又分为两类,重要的一类叫做熟知端口号,范围一般在0~1023。
常见的熟知端口号和其对应的应用程序。
FTP:21;TELNET:23;SMTP:25;DNS:53;TFTP:69;HTTP:80;SNMP:161;HTTPS:443;
3、UDP
用户数据报协议UDP(User Datagram Protocol)只是在ip的数据服务之上增加了一点功能,复用和分用的功能以及差错检测功能。
UDP的主要特点是:
1、UDP是无连接的,减少了开销和发送数据之前的时延。
2、UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
3、UDP是面向报文的。发送方的UDP对应程序交下来的报文,在添加首部之后就向下交付IP层。对应用层交下来的报文,既不合并,也不拆分。
4、在接收方的UDP,对IP层交上来的UDP数据报,在去除首部之后就原封不动地交付上层应用程序。
5、UDP支持一对一,一对多、多对一和多对多的交互通信。
6、UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。
4、UDP的首部格式
UDP有两个字段:首部字段和数据字段。首部字段只有8个字节,又由4个字段组成,每个字段的长度都是两个字节。
源端口:源端口号。在需要对方回信息时选用。不需要时可以全0;
目的端口:目的端端口号。指定接收端的应用程序使用的端口;
长度:UDP用户数据报的长度,最小值为8(仅有首部);
校验和:检验UDP用户数据报在传输中是否有错误;
wireshark抓包:
注意:
虽然UDP之间的通信要用到端口号,但由于UDP的通信时无连接的,因此不需要使用套接字(TCP之间的通信必须要在两个套接字之间建立连接。)
伪头部:UDP数据报首部中检验和的计算方法有些特殊,在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。所谓“伪首部”是因为它并不是UDP用户数据报的真正首部。只是在计算校验和时,临时添加在UDP用户数据报前面,得到一个临时的UDP数据报。伪首部记不向下传递,也不向上递交,仅仅为了计算校验和。
伪首部内容: