网站开发流程书籍,石家庄电商网站建设,wordpress企业宣传电商,多用户分布式网站开发以下内容源于C语言中文网的学习与整理#xff0c;如有侵权请告知删除。 一、TCP/IP模型 1、模型的概念 OSI 是 Open System Interconnection 的缩写#xff0c;译为“开放式系统互联”。OSI 模型把网络通信的工作分为 7 层#xff0c;从下到上分别是物理层、数据链路层、网络…以下内容源于C语言中文网的学习与整理如有侵权请告知删除。 一、TCP/IP模型 1、模型的概念 OSI 是 Open System Interconnection 的缩写译为“开放式系统互联”。OSI 模型把网络通信的工作分为 7 层从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 OSI 只是存在于概念和理论上的一种模型它的缺点是分层太多增加了网络工作的复杂性所以没有大规模应用。后来人们对 OSI 进行了简化合并了一些层最终只保留了 4 层从下到上分别是接口层、网络层、传输层和应用层这就是大名鼎鼎的 TCP/IP 模型。 2、模型的作用 这个网络模型究竟是干什么呢简而言之就是进行数据封装的。 我们平常使用的程序或者说软件一般都是通过应用层来访问网络的程序产生的数据会一层一层地往下传输直到最后的网络接口层就通过网线发送到互联网上去了。数据每往下走一层就会被这一层的协议增加一层包装等到发送到互联网上时已经比原始数据多了四层包装。整个数据封装的过程就像俄罗斯套娃。 当另一台计算机接收到数据包时会从网络接口层再一层一层往上传输每传输一层就拆开一层包装直到最后的应用层就得到了最原始的数据这才是程序要使用的数据。 给数据加包装的过程实际上就是在数据的头部增加一个标志一个数据块表示数据经过了这一层我已经处理过了。给数据拆包装的过程正好相反就是去掉数据头部的标志让它逐渐现出原形。 你看在互联网上传输一份数据是多么地复杂啊而我们却感受不到这就是网络模型的厉害之处。我们只需要在代码中调用一个函数传输层的函数就能让下面的所有网络层为我们工作。 我们所说的 socket 编程是站在传输层的基础上所以可以使用 TCP/UDP 协议但是不能干“访问网页”这样的事情因为访问网页所需要的 http 协议位于应用层。 两台计算机进行通信时必须遵守以下原则 必须是同一层次进行通信比如A 计算机的应用层和 B 计算机的传输层就不能通信因为它们不在一个层次数据的拆包会遇到问题。每一层的功能都必须相同也就是拥有完全相同的网络模型。如果网络模型都不同那不就乱套了谁都不认识谁。数据只能逐层传输不能跃层。每一层可以使用下层提供的服务并向上层提供服务。二、TCP/IP协议族 目前实际使用的网络模型是 TCP/IP 模型它只包含了四层从上到下分别是应用层、传输层、网络层和链路层网络接口层。每一层都包含若干协议。 协议就是网络通信过程中的约定或者合同规定了很多细节例如如何建立连接如何相互识别等。通信的双方必须使用同一协议才能正常收发数据。 TCP/IP 模型包含了 TCP、IP、UDP、Telnet、FTP、SMTP 等上百个互为关联的协议其中 TCP 和 IP 是最常用的两种底层协议因此把这些互为关联的协议统称为“TCP/IP 协议族”。也就是说“TCP/IP模型”中所涉及到的协议称为“TCP/IP协议族”你可以区分这两个概念也可以认为它们是等价的随便你怎么想。 协议仅仅是一种规范必须由计算机软件来实现。例如 IP 协议规定了如何找到目标计算机那么各个开发商在开发自己的软件时就必须遵守该协议不能另起炉灶。