Logo

郎哥编程

TCP/IP网络协议

2020-01-10 189

两台计算机之间进行通信,需要相互约定通信的方式。例如两台计算机之间如何进行物理连接(用线连接起来),通信的数据如何组织,在数据通信过程中,发送方和接收方如何保证传输的数据没有丢失、如何保证传输数据的安全。这种约定就是两台计算机之间的通信协议。

网络由多台计算机连接而成,也包括用于连接的通信线路和通信设备,而且网络覆盖的地理范围也非常广泛,网络有局域网和广域网,局域网的地理范围比较小,通常不超过几十公里,甚至只在一幢建筑或一个房间内。广域网的地理覆盖范围就非常广泛,可以说只要是通信线路到达的地方都能覆盖。

网络协议就是用来规范和约束网络内的计算机、通信设备和通信线路的相互连接、数据发送与接收、网络间的计算机寻址等内容。

TCP/IP 就是为使用互联网而开发制定的协议族。TCP/IP是一组协议,它不是一个单独的协议,它由网络接口层协议、网络层协议、传输层协议、应用层协议四组协议构成,每组协议又有多个协议组成。

由TCP/IP协议族构成了TCP/IP网络模式,该网络模式是层次结构,共分为四层,分别为应用层、传输层、网络层、数据链路层。如下图所示:

image.png

TCP/IP四层结构

数据链路层协议包括SLIP协议、ARP(IP地址解析)等协议。

网络层协议实现不同计算机、不同操作系统、不同网络结构的互联,在互联网上有数以万计的计算机,每一台计算机在网络上通过为其分配的网络地址来表示自己,这个网络地址就是IP地址,所用的协议就是IP协议。

网络层协议还包括路由控制协议,互联网是路由器连接的网络组合而成,路由器根据路由控制表转发数据包,它根据所接收到数据包中目标计算机的IP地址与路由控制表的比较得出下一个应该接收的路由器。因此这个过程中一定要准确,不然有可能数据包无法到达目标计算机。

传输层协议包括TCP和UDP协议,这两个协议负责数据在网络间的传输和控制,也是编写网络应用程序的开发者应该了解的。

TCP协议提供可靠的从一端到另一端的传输服务,TCP把要传输的数据分成多个数据包,每个数据包都标上目标计算机的IP地址和序号。在传输之前,发送方先要发送信息给目标计算机,目标计算机回应后,才开始传输数据包,当目标计算机接收完成一个数据包后,会给发送方发送收到确认信息,如果发送方在规定的时间没有收到确认信息,发送方会重新发送该数据包。目标计算机接收完所有的数据包后,会按照数据包的序号把多个数据包组装起来。

UDP协议是无连接的通信协议,不保证可靠的数据传输,但能够向若干目标发送数据,目标计算机也可以接收多个发送方的数据。

应用层协议包括HTTP、FTP等协议。

HTTP协议由请求和响应构成,是一个标准的客户端/服务器模型。浏览器浏览网页采用的是HTTP协议,手机中微信等APP程序和服务器端的通信也是采用的HTTP协议。

FTP协议是互联网中使用最广泛的文件传输协议,用于计算机之间的文件传输。FTP最常见的应用就是通过FTP协议构建FTP服务器,客户端从FTP服务器下载文件,也可以上传文件到FTP服务器。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论