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
(4)通信过程
linux网络编程之网络应用设计模式、分层模型、通信过程相关推荐
- Linux io模型及函数调用,Linux 网络编程的5种IO模型:信号驱动IO模型
Linux 网络编程的5种IO模型:信号驱动IO模型 背景 这一讲我们来看 信号驱动IO 模型. 介绍 情景引入: 在信号驱动IO模型中,当用户线程发起一个IO请求操作,会给对应的socket注册一个 ...
- 27.Linux网络编程 掌握三次握手建立连接过程掌握四次握手关闭连接的过程掌握滑动窗口的概念掌握错误处理函数封装实现多进程并发服务器实现多线程并发服务器
基本概念叫协议 什么叫协议? 协议是一个大家共同遵守的一个规则, 那么在这个网络通信当中,其实就是双方通信和解释数据的一个规则,这个概念 你也不用记,你只要心里明白就可以了, 分层模型, 物数网传会表 ...
- Linux网络编程 之 无连接和有连接通信(二)
目录 1. 无连接和有连接通信的区别 2. 有连接和无连接通信的实现 无连接和有连接通信的区别 使用无连接协议就像寄信,而使用面向连接的协议就像打电话. 无连接协议中的分组被称为数据报(datagra ...
- Linux网络编程基础1(网络应用程序设计模式,分层模型,协议格式)
Linux网络编程基础(网络应用程序设计模式,socket编程,inet_pton,inet_ntop,服务端创建连接的过程,客户端创建连接的过程,socket函数封装) 1. 网络应用程序设计模式 ...
- 【Linux网络编程】并发服务器之select模型
00. 目录 文章目录 00. 目录 01. 概述 02. I/O复用技术概述 03. select模型服务器实现思路 04. select模型服务器实现 05. 附录 01. 概述 服务器设计技术有 ...
- Linux网络编程---I/O复用模型之epoll
https://blog.csdn.net/men_wen/article/details/53456474 Linux网络编程-I/O复用模型之epoll 1. epoll模型简介 epoll是Li ...
- Linux网络编程---I/O复用模型之poll
https://blog.csdn.net/men_wen/article/details/53456474 Linux网络编程-I/O复用模型之poll 1.函数poll poll系统调用和sele ...
- Linux网络编程---I/O复用模型之select
https://blog.csdn.net/men_wen/article/details/53456435 Linux网络编程-I/O复用模型之select 1. IO复用模型 IO复用能够预先告知 ...
- alin的学习之路(Linux网络编程:十)(http协议,BS模型)
alin的学习之路(Linux网络编程:十)(http协议,BS模型) 需求:使用B/S模型来访问主机中的文件(包括目录) 0. B/S 模型 注意事项 1. 浏览器请求ico 准备一个favic ...
最新文章
- 文件和目录之stat、fstat和lstat函数
- sql server 关联更新
- SuSE sftp限制用户活动目录
- 我发起了一个 用 物理服务器 和 .Net 平台 构建云平台 的 .Net 开源项目
- codeforces Cable Connection
- OpenCV中基本数据结构(1)_Point
- sqlserver 数据库排它锁_MySQL-锁
- OpenCV自然场景文本检测(附Python代码)
- 雪花算法生成数字id_全局唯一iD的生成 雪花算法详解及其他用法
- C语言实现:素数的判断的多种方法
- 站群软件-免费站群软件
- D - Frodo and pillows CodeForces - 760B
- pon终端测试仪_PON产品测试方案
- Centos 6.x 更新内核 2.6-4.13
- 倒是应该看看教科书了
- 【使用SqliteSpy访问Sqlite3数据库】
- 边做边爱(1)——mapbox做分析图
- Python中单引号,双引号,3个引号的用法
- 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例60
- 这年头居然还有用360卫士清理垃圾的?那玩意就是最大的...Python自动清理不香吗?
热门文章
- JS中捉摸不透的==(宽松等于)
- java之Hibenate中监听事件的重写和二级cache缓存
- ZOJ1081 Points Within
- LeetCode(28): 实现strStr()
- Linux在线扫描热添加的SCSI/iSCSI设备
- [转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
- 页面传值的方法 和JSON与字符串和对象之间的转换
- 根据DbSchema生成代码2
- sqlserver 数据库日志文件过大的问题
- html网页加入一个按钮,在html网页设计中,一个“登录”按钮怎么编写代码?