linux网络编程之网络应用设计模式、分层模型、通信过程

(1)网络协议

               可以理解为规则,其中包含着数据传输和数据的解释

              典型的协议:传输层:tcp/udp协议,应用层:http/ftp协议,网络层:ip协议,网路接口:arp协议

(2)网络应用设计模式

             1)C/S模型:客户端和服务器模型,需要在客户两段各自部署客户端和服务器来完成数据通信。

                     优点:性能好(由于数据缓存到客户端本地,从而提高了传输效率和观感)

                                 协议灵活(协议可以采用自定义的)

                     缺点:同时开发服务器和客户端,使得工作量增加,开发周期长。

                                 安装客户端在用户主机容易对用户主机安全造成威胁。

            2)B/S模型:浏览器和服务器模型

                      优点:使用标准服务器作为客户端,开发工作量小,只需要开发服务器即可

                                  采用浏览器来显示数据,移植性好,不受平台限制

                      缺点:使用第三方浏览器,网路应用支持受限。

                                  缓存数据不足,传输数据受到限制,应用观感大打折扣。

                                  必须和浏览器一样,使用http协议进行通信,协议选择不够灵活。

(3)分层模型

          1)OSI七层模型:物数网传会表应

                1>物理层:定义物理设备标准,传输比特流(0/1信号),数模转换层,这一层的数据称为比特

                2>数据链路层:定义如何将格式化数据以帧为单位进行传输。这一层的数据称为

                3>网络层:将位于不同地址位置的网络中的两个主机系统之间提供连接和路径选择(ip识别和MAC地址连接),主要通过路由器进行连接。

                4>传输层:定义传输数据的协议(tcp/udp)和端口号(进程)。这一层的数据称为

                5>会话层:通过传输层建立数据传输通路,主要用于系统之间发起会话和接收会话请求。

                6>表示层:用于数据格式之间进程转换。

                7>应用层:用户应用程序提供网路服务。

           2)TCP/IP模型

                1>2>合并称为链路层(网络接口层):设备驱动程序及接口卡

                 3>网络层:IP

                 4>传输层:TCP/UDP

                 5>6>7>应用层:FTP

                linux网络编程之网络应用设计模式、分层模型、通信过程

(4)通信过程

            linux网络编程之网络应用设计模式、分层模型、通信过程