欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Linux网络编程(五)-什么是TCP/IP协议族全面解读

Linux网络编程(五)-什么是TCP/IP协议族全面解读

2025/5/5 17:55:45 来源:https://blog.csdn.net/qq_45398836/article/details/142958946  浏览:    关键词:Linux网络编程(五)-什么是TCP/IP协议族全面解读

1.什么是TCP/IP协议族

在了解TCP和UDP之前,我们先了解TCP/IP协议族,首先这个协议族的的由来,在一开始很多电脑表达一个消息的方法可谓是多种多样,因为它们运行着完全不同的操作系统,这就像有不同口音,说不同语言的人聚在了一起一样,语言的不通使得他们没有办法在一起合作。使用计算机的人也想要实现计算机间的交互,因为单个计算机的工作并不会发挥太大的作用,只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。

简单的连接在一起当然是远远不够的,它还需要一些共通的东西来交流,为此TCP/IP协议族就诞生了。在TCP与IP协议族里有很多协议,比如TCP协议、UDP协议、IP协议、FTP协议等等。计算机有了这些协议,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。接着为大家介绍它的分层结构如下图:

我们可以看到TCP/IP协议族四层分层依次是:链路层、网络层、传输层、应用层

应用层:

向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。

传输层:

提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。

网络层 :

负责相邻计算机之间的通信。其功能包括三方面。

一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

二、处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。

三、处理路径、流控、拥塞等问题。

链路层:

这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

在为大家介绍完TCP/IP协议后,我们就要来介绍TCP和UDP协议了。

2.什么是TCP与UDP协议

 在介绍完TCP/IP协议族后,接下来为大家介绍TCPUDP协议。

在介绍之前我们先来了解一下协议的意思,协议呢就像是规章制度,只不过它是由计算机规定的规章制度,在规章制度上有很多的条例需要去遵守,例如怎么建立连接,怎么相互识别等等。当然在计算中有许多协议,TCP协议和UDP协议只是其中的两个协议,它们都存在于TCP/IP模型中,如下图。

如图所示TCP协议和UDP协议都在传输层中,传输层就是进行数据传输以及纠正错误的。在简单的介绍后我们进入正题。

TCP协议:

TCP协议英文全拼为Transmission Control Protocol,中文意思是传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。比如说用手机打电话必须等对方接通后才能聊天,所以说TCP连接就只适合双方的通信。从这个分析可以看出,建立连接可以在需要在双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后才能开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接钱不能建立另一个连接,即两人在通话过程中第三方不能打入电话。通信TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP协议:

UDP协议英文全拼为User Datagram Protocol,中文意思是用户数据报协议,是一个简单的面向数据报也就是面向无连接的传输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地,比如用手机发短信,不用等对方应答,由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。但是因为它是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,也就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。

TCP与UDP区别小结:

现在我们来总结一下TCP与UDP的区别。TCP:面向连接(如手机通话)、稳定、需要资源多、保证数据正确性、保证数据顺序。UDP:面向无连接(如手机发短信)、不稳定、需要资源少、不保证数据顺序。我们要实现的功能是计算机双方消息准确地接收。因此我们选择的TCP协议的Socket编程。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词