前言
《终端开发所必知道的计算机网络知识(一)》已经总结了物理层、数据链路层、网络层各层的一些知识点,今天这篇主要讲我们平时开发接触频率最高的两层之一:传输层。
传输层
负责主机中进程间的通信及传输数据
关键协议
TCP、UDP
TCP与UDP区别
TCP:面向连接、可靠的流协议。
场景:效率要求相对低,对准确性要求相对高的场景,文件传输、接受邮件、远程登录。
UDP:不可靠的数据报协议。
场景:效率要求相对高、对准确性要求相对低的场景,QQ聊天、在线视频、网络语音电话。
TCP或UDP通信中通常使用5个信息来识别一个通信:“源IP地址”、“目标IP地址”、“源端口号”、“目标端口号”以及“协议号”
UDP
UDP头部
UDP头部是由源端口号、目标端口号、包长和校验和组成。checksum主要是用来检测UDP段在传输中是否发生了错误。
TCP
TCP通过校验和、序列号、确认应答、重发控制、连接管理以及窗口控制这些机制实现可靠性传输。
连接过程