应用层

TCP/IP 协议栈初识

白昼怎懂夜的黑 提交于 2020-03-30 14:02:42
原文: 深入浅出 TCP/IP 协议栈 0. 简介   TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架。它定义了电子设备接入因特网、以及数据在它们之间的传输方式,是一份标准。TCP/IP 协议采用 4 层结构,分别是 应用层、传输层、网络层和链路层 ,每一层都呼叫它的下一层所提供的协议来完成自己的需求。我们大部分的工作是在看得见摸得着的应用层上,所以下层的事情不用太操心;其次网络协议本身是体系复杂庞大,想要精通需要花费大量时间经历,但这不妨碍简单探索一下 一个主机上的数据要经过哪些过程才能发送到对方的主机上 。 0.5 物理介质   物理介质的重要性不言而喻,就是通过光纤、双绞线、无线电波等物理手段把电脑连接起来,电信号(0和1)在其中传输。物理介质的不同决定了电信号的出传输带宽、速率、传输距离以及抗干扰性等等。   TCP/IP 协议栈分为四层,每一层都由特定的协议与对方进行通信,协议之间的通信最终会被转化成 0、1电信号通过物理介质传输才能到达对方电脑。   下图是一张 TCP/IP 协议的基本框架:   每当通过 http 发起一个请求的时候,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的 首部 ,最终在链路层生成 以太网数据包 ,以太网数据包通过物理介质传输给对方主机,对方接收到数据包以后,然后再一层一层采用对应的协议进行拆包

Linux-LCD应用层编程学习笔记

北城以北 提交于 2020-03-24 16:47:18
LCD应用层编程 LCD驱动 --> 设备节点文件 --> fb0 设备节点文件 等同于 显存空间! 如果想要在屏幕上显示图像,只需要往显存中写入数据即可! LCD应用程序就是往显存中写入数据的操作!!! LCD应用程序编程步骤: 1)打开LCD驱动对应的设备节点文件(显存) 2)把内核中的显存空间映射到进程空间中 3)往映射空间中写入数据 4)关闭显存 mmap(); 头文件:#include <sys/mman.h> 函数原型:void mmap(void addr, size_t length, int prot, int flags, int fd, off_t offset); 函数功能:把内核中的一块空间映射到进程空间中。 映射空间大小由length指定。映射空间首地址通过函数返回值接收! 形参列表: addr:映射空间首地址。 如果传参为NULL,在进程空间中系统自动分配映射空间 length:映射空间大小。 prot:映射空间的操作权限 PROT_EXEC : 可执行 PROT_READ : 可读 PROT_WRITE : 可写 PROT_NONE : 无任何操作权限 flags:映射空间的同步方式 MAP_SHARED :实时和内核空间同步 MAP_PRIVATE :映射空间不同步 fd:要映射的对象! <是一个文件或者一个设备> offset

高可用网站多点部署架构实战经验总结

落花浮王杯 提交于 2020-03-24 06:27:42
本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。 一、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 二、大型网站架构目标 高性能:提供快速的访问体验。 高可用:网站服务一直可以正常访问。 可伸缩:通过硬件增加/减少,提高/降低处理能力。 安全性:提供网站安全访问和数据加密,安全存储等策略。 扩展性:方便的通过新增/移除方式,增加/减少新的功能/模块。 敏捷性:随需应变,快速响应; 三、大型网站架构模式 分层:一般可分为,应用层,服务层,数据层,管理层,分析层; 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页,用户中心。 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。 缓存:将数据放在距离应用或用户最近的位置,加快访问速度。 异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知 模式。 冗余

TCP/IP笔记(八)应用层协议

最后都变了- 提交于 2020-03-23 16:39:27
TCP/IP的应用层涵盖了OSI参考模型中第5、第6、第7层的所有功能,不仅包含了管理通信连接的会话层功能、转换数据格式的标识层功能,还包括与对端主机交互的应用层功能在内的所有功能。 利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正式应用协议。 接下来介绍下应用层常见的协议: DNS:域名系统。DNS是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。 因特网的域名结构 如: mail.cctv.com 三级域名,二级域名,顶级域名 现在顶级域名TLD(Top Level Domain)共分为三大类:     1.国家顶级域名nTLD:如cn表示中国,us为美国     2.通用顶级域名gTLD:如com(公司企业)、net(网络服务机构)、int(国际组织)     3.基础结构域名:只有一个,即arpa,用于反向域名解析 域名服务器   完成域名到IP地址的解析工作。包括:     1.根域名服务器(root name server):最高层次的域名服务器,知道所有顶级域名服务器的域名和IP地址。     2.顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。     3.权限域名服务器:负责一个区的域名服务器。     4.本地域名服务器:是自己可以设置的服务器

TCP

懵懂的女人 提交于 2020-03-23 08:25:30
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 来源: https://www.cnblogs.com/liangyongxiang/p/10896905.html

应用层

落花浮王杯 提交于 2020-03-22 10:54:54
网络应用的体系结构 客户机/服务器结构(Client-Server, C/S) 点对点结构(Peer-to-peer, P2P) 混合结构(Hybrid) 客户机/服务器结构 服务器 永久提供服务 永久性访问地址/域名 大量的服务器实现了可拓展性 客户机 与服务器通信,使用服务器提供的服务 间歇性接入网络 可能使用动态的ip地址 不会与其它客户机通信 P2P结构 没有永远在线的服务器 任意端系统/节点之间可以直接通讯 节点间歇性接入网络 节点可能改变IP地址 优点:高度可伸缩 缺点:难于管理 混合结构 Napster 文件传输使用P2P结构 文件的搜索采用C/S结构——集中式 网络应用进程通信 在计算机网络中, 进程指的就是程序。 同一主机上的进程之间的通信 进程间通信机制 操作系统提供 不同主机上的进程之间的通信 消息交换 套接字(Socket) 进程间通信利用socket发送/接收消息实现,这个过程类似于寄信 寻址进程 不同主机上的进程间通信,那么每个进程必须拥有标识符 寻址主机——ip地址 端口号(Port number):为主机上每个需要通信的进程分配一个端口号( HTTP Server: 80;Mail Server:25) 进程的标志符(ip地址+端口号) 应用层协议 网络应用需遵循应用层协议 公开协议 由RFC(Request For Comments)定义

计算机网络应用层的八点笔记

我怕爱的太早我们不能终老 提交于 2020-03-21 22:24:05
今天给大家整理了八条我们在学习计算机网络时经常遇到的问题,希望能对大家的进一步学习有帮助。 1.对于许多即时讯息应用而言,采用的是混合体系结构。服务器主要用来跟踪用户之间的IP地址,但用户与用户之间的报文不经过服务器,而是由一个用户直接发给另一个用户。这就不得不提到兔子动态IP,可以有效的隐藏本机真实IP。 2.具有吞吐量要求的应用程序被称为带宽敏感的应用。比如现在大多数多媒体应用(视频播放这类应用要求具有一定的吞吐量才能拥有良好的画质与播放效果),而弹性应用能根据情况或多少少地利用可供使用的吞吐量。电子邮件,文件传输以及web传送都属于弹性应用。(什么意思呢?比如我们下载文件时,速度快慢并不会影响我们最终的下载结果,但会影响最终的下载时间,所以针像这类应用,我们只需要让它保证它的底层协议是可以可靠传输的就行了,当然谁都不会嫌网速太快),这里需要注意一点吞吐量≠网速。为什么这样说呢?吞吐量是由所有链路的速率的最小值来决定的,而现在的网络核心链路都是非常快的,为啥我们每家每户的宽带可以根据不同价格定位不同速度呢?主要原因是接入网链路的速率远低于核心网络链路速率,所以吞吐 量就由接入链路决定了,这也就是为什么我们办宽带时,我们可以要求办10M,50M,百米不同规格的原因,ISP根据不同规格来进行定价。我们办的宽带越快,接入链路的速率就越快,整体的吞吐量就越高。 3

OSI参考模型与TCP/IP协议

帅比萌擦擦* 提交于 2020-03-16 08:46:19
OSI的7层参考模型由低到高分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。如下图: TCP/IP(传输控制协议/网际协议)分为4层:网络接口层、网络互连层、传输层、应用层。如图: OSI参考模型与TCP/IP之间的关系如图: 来源: 51CTO 作者: wx5e6de0bb1490b 链接: https://blog.51cto.com/14755533/2478628

计算机网络介绍(一)

 ̄綄美尐妖づ 提交于 2020-03-14 15:19:49
分层的网络结构     相互通信的计算机必须高度协调才能够进行通信,仅仅一条线路是不可能的   为了处理这些 复杂的网络 问题,早在最初的阿帕网中,就 提出 了 分层的方法   分层将 庞大复杂的问题 ,转换成 若干个局部较小的问题 ,较小的问题就更加易于研究分析。    比如,唐僧取经,西天路途遥远,如果整体的看待出行问题,势必非常复杂   如果将整条路拆分为多个小段,这一段适合坐船,那一段适合骑马,这样就能够更好地解决问题    通过分层,各层之间相互独立,整体功能进行分解,每层实现独立功能   灵活型好,易于实现和维护, 当一层发生变化,不会影响另一层 ,只要他们之间的 协作接口不变   其实就是软件 开发中的解耦   关于通信协议的分层,有下面三种形式   其实 只有中间的TCP、IP是有用的   OSI理论虽然很完备,但是没有赶上互联网的发展,而且实现过于复杂   TCP/IP协议才是真正使用的协议    TCP/IP层次结构 TCP/IP分层介绍   如上图所示,现有的TCP、IP协议是分层次的。   在分层体系结构中,各层之间是完全独立的,某一层并不需要知道他的下一层是如何实现的,而仅仅是需要知道下层提供的服务   由于每一层都只是实现一种相对独立的功能,因而可以 将一个难以处理的复杂问题分解为若干个小问题。 应用层   应用层是体系结构中的最高层

网络协议

こ雲淡風輕ζ 提交于 2020-03-09 11:01:08
网络协议介绍 OSI(Open System Interconnect)七层模型:通信的特点是对等通信 从上往下分别为 应用层:为应用程序提供服务,此层应有的网络协议有HTTPS,HTTP,FTP等协议 实际公司A的老板就是我们所述的用户,而他要发送的商业报价单,就是应用层提供的一种网络服务,当然,老板也可以选择其他服务,比如说,发一份商业合同,发一份询价单,等等。 表示层:数据格式化,数据加密;表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别 由于公司A和公司B是不同国家的公司,他们之间的商定统一用英语作为交流的语言,所以此时表示层(公司的文秘),就是将应用层的传递信息转翻译成英语。同时为了防止别的公司看到,公司A的人也会对这份报价单做一些加密的处理。这就是表示的作用,将应用层的数据转换翻译等。 会话层:建立,管理,维护会话,会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。 会话层的同事拿到表示层的同事转换后资料,(会话层的同事类似公司的外联部),会话层的同事那里可能会掌握本公司与其他好多公司的联系方式,这里公司就是实际传递过程中的实体。他们要管理本公司与外界好多公司的联系会话。当接收到表示层的数据后,会话层将会建立并记录本次会话,他首先要找到公司B的地址信息