linux的网络模型有四层:应用层,传输层,网络层和网络接口层。
TCP/IP协议讲解
网络层协议:主要包括Internet协议(IP)、网络控制报文协议(ICMP)和地址解析协议(ARP)
Internet协议(IP):它负责在源主机和目的地主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。
传输层协议:包括传输控制协议和用户数据报文协议。
传输控制协议(TCP) :该协议对建立网络上用户进程之间的对话负责,它确保进程之间的可靠通信。
用户数据报文协议(UDP) :UDP提供不可靠的非连接型传输层服务,它允许在源和目的地之间传送数据,而不必在传输数据之间建立对话。它主要用于那些非连接型的应用程序,如:视频点播。
应用层协议:这部分主要包括Telent,文件传送协议(FTP和TFTP),简单文件传送协议(SMTP)和域名服务(DNS)等协议。
协议封装:协议与协议之间是封装的关系,层层封装,以太网的包封装一个IP包,IP包封装一个TCP的包,TCP的包封装一个应用协议,应用协议里包含另一种应用协议。
TCP/IP协议讲解
我们可以把一个以太网包看作一封信件,IP头上标识了收信人和寄信人的地址(IP地址),而TCP表示了收信人的姓名和寄信人的姓名(端口号)。

IP主要有四个功能:数据传送、寻址、路由选择、数据报文的分段。
IP协议:IP协议的主要主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接受站点以前不在传输站点和接受站点之间建立对话。它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。
TCP协议:TCP是重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。它能提供端口编号的译码,来识别主机的应用程序,并完成数据的可靠传输;TCP协议具有严格的内装差错检验算法,确保数据的完整性;TCP是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。
UDP协议:UDP也是传输层协议,它是无连接的,不可靠的传输服务。当接受数据时它不向发送方提供确认信息,不提供输入包的顺序,如果出现丢包或重复包的情况,它也不会向发送方发出差错报文。由于它执行功能时具有较低的开销,因此执行速度比TCP快。

相关文章: