传输层的功能是分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。
传输层中两个有代表性的协议就是TCP和UDP协议。
TCP和UDP的区别
TCP是面向连接的、可靠的流协议。
UDP是不具有可靠的、无连接的数据报协议。
端口号
数据链路层的地址是MAC地址,IP协议中的地址是IP地址。那么传输层的地址是端口号,端口号用来识别同一台计算机中进行通信的不同应用程序。
常用应用程序的服务端端口号:
ftp:21 SSH:22
SMTP:25 HTTP:80
当传输层协议收到数据之后,会拆开首部,检查其中的目的端口,然后转发给相应端口的应用程序处理。
UDP
UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。当应用程序发出数据,在数据前加入UDP首部,传给网络层。即时出现网络拥堵的情况下,UDP也无法进行流量控制等操作。无论数据包在中途丢弃还是延迟,UDP都不做管理。
但是UDP也有优点,简单高效。
首部格式
包长度:保存了UDP首部长度和数据长度之和。
校验和:通过得出伪首部&#x