osi模型

认识计算机网络

不问归期 提交于 2020-03-11 04:41:15
计算机自诞生伊始,经历了一系列演变与发展。大型通用机计算机、超级计算机、小型机、个人电脑、工作站、便携式电以及现如今的智能手机终端都是这一过程的产物。它们性能逐年增强,价格却逐年下降,机体规模也在逐渐变小。随着计算机的发展,人们不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。从而实现信息共享,同事在能在两台物理位置较远的机器之间即时传递消息。计算机网络根据规模可以分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)。将有业务往来的计算机连在一起便组成了私有网络,将多个私有网络连接一起就成了为公众使用的互联网。随着互联网爆发性地发展与普及,信息网络如同我们身边的空气,触手可及。但是在以前,对一般人来说使用一台计算机都不是那么容易的事情。 计算机与网络大致可以分为7个阶段: 一、20世纪50年代的批处理时代 二、20世纪60年代的分时系统时代 三、20世纪70年代的计算机间通信时代 四、20世纪80年代的计算机网络时代 五、20世纪90年代的互联网普及时代 六、2000年的以互联网为中心的时代 七、2010年的无论何时何地一切皆TCP/IP的网络时代 互联网是由许多独立发展的网络通信技术融合而成。能够使它们之间不断融合并实现统一的正是TCP/IP技术。 那什么是TCP/IP呢? TCP

网络编程--杂识

天大地大妈咪最大 提交于 2020-02-04 23:46:02
/*--> */ /*--> */ 协议 ---- 乃是数据传输时要遵守的格式要求 两种常见的程序架构是 C/S 和 B/S 架构 C/S :优点,性能稳定,协议选用灵活,适用于大量数据缓存,尤以游戏较为常见 安装在用户电脑上,可能会对用户安全造成影响 开发效率方面,开发团队需编写服务端和客户端两端代码,联合调试是一场噩梦 B/S : 减少了厂商植入恶意插件的可能,相比 C/S 减少 1/3 工作量 ; 跨平台 必须支持 HTTP 协议,须不折不扣的支持 不支持庞大数据缓存 OSI 七层模型(物数网传会表应),除了 TCP 协议工作在传输层, /IP 协议工作在网络层,基本上说的出来的协议都工作在应用层 × 额外的知识模拟电路信号向数字信号的转换 物理层,这一层数据单位是比特(物理传输层) 数据链路层:定义 格式化数据,以帧为单位传输数据 网络层:不同位置,不同主机之间的链接 传输层 : 端口号和进程,对下层接收的数据进行分段和传输,到达目的地之后重组,这一层数据称之为段。 会话层:通过传输层建立,不同系统间的通信(通过 IP 或 MAC ) 表示层:确保不同系统应用层数据能相互理解,读取,如有可能,这层会有个通用格式来完成不同格式数据的转换 应用层:为用户程序提供网络服务 数据包的封装 由于协议的存在,实际发送的数据层层封装,原始数据上套上应用层…然后逐一套上传输,网络

ISO/OSI模型

不羁岁月 提交于 2020-01-25 00:53:24
ISO七层模型由下至上为1至7层,分别为: 应用层(Application layer) 表示层(Presentation layer) 会话层(Session layer) 传输层(Transport layer) 网络层(Network layer) 数据链路层(Data link layer) 物理层(Physical layer) 其中上三层称之为高层,定义应用程序之间的通信和人机界面。什么意思呢,就是上三层负责把电脑能看懂的东西转化为你能看懂的东西,或把你能看懂的东西转化为电脑能看懂的东西。 下四层称之为底层,定义的是数据如何端到端的传输(end-to-end),物理规范以及数据与光电信号间的转换。 应用层,很简单,就是应用程序。这一层负责确定通信对象,并确保由足够的资源用于通信,这些当然都是想要通信的应用程序干的事情。 表示层,负责数据的编码、转化,确保应用层的正常工作。这一层,是将我们看到的界面与二进制间互相转化的地方,就是我们的语言与机器语言间的转化。数据的压缩、解压,加密、解密都发生在这一层。这一层根据不同的应用目的将数据处理为不同的格式,表现出来就是我们看到的各种各样的文件扩展名。 会话层,负责建立、维护、控制会话,区分不同的会话,以及提供单工(Simplex)、半双工(Half duplex)、全双工(Full duplex)三种通信模式的服务

TCP/IP协议族

百般思念 提交于 2020-01-14 20:02:20
OSI模型和网际协议族 描述网络中各协议层的一般方法是国际标准化组织(ISO)的计算机通信开放系统互联(open systems interconnection,OSI)模型。OSI和网际协议族的近似映射如下图: TCP/IP协议族包括TCP、UDP、ICMP、IGMP、IPv4、IPv6、ICMPv6、ARP、RARP、BPF、DLPI等协议,协议族概貌如下图: TCP和UDP的比较 TCP UDP TCP提供可靠的字节流连接 UDP提供不可靠的数据报传送 TCP提供确认、序列号、RTT估算、超时及重传等机制 UDP不提供确认、序列号、RTT估算、超时及重传等机制 TCP提供流量控制 UDP不提供流量控制 TCP是全双工的连接 UDP可以是全双工的 TCP连接的建立和终止 服务端会使用socket、bind和listen函数完成接收外来连接的准备,称为被动打开。 客户端通过调用connect函数主动打开。进行TCP三次握手过程,如下图: TCP需要三个分节(三次握手)建立连接,终止一个连接则需要四个分节(四次挥手)。 TCP状态转换图、 TCP连接中的分组交换 缓存区大小相关 MTU:最大传输单元,由硬件规定,以太网的最大传输单元大小是1500字节 TCP头部大小:20字节 UDP头部大小:8字节 IPv4头部大小:20字节 IPv6头部大小:40字节 MMS

Python Day30:网络编程/OSI模型

核能气质少年 提交于 2019-12-21 05:12:34
## 网络编程 ```python 网络编程就是编写基于网络的应用程序 CS结构: 客户端应用程序client(访问数据端) 服务端应用程序:server(提供共享数据端) 学习网络编程,目的就是编写基于C/S结构的应用程序 网络通讯的两个条件: 1,物理传输介质:双绞线/光纤/同轴线/无线电波 2,通讯协议 通讯协议:发送方和接受方共同遵守的一套规则,为了能正确解析数据 OSI七层模型:计算机界的通用语言 物理层———数据链路层———网络层————传输层————会话层————表示层————应用层 会话层、表示层、应用层,都是属于应用程序层的。 物理层:各种物理介质 ``` ## OSI模型之数据链路层 ```python 数据链路层:规定了代表0和1的电信号的分组方式以及一组电信号应该包含哪些内容。以太网协议工作在链路层! 一组电信号构成一个数据包,帧! 每一帧分成报头head0和数据data两部分 head包含(18个字节): 发送源地址Mac:6个字节 接受源地址Mac:6个字节 数据类型(标签+以太类型)6个字节 data包含:46——1500个字节 head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送 ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址 mac地址

计算机网络体系结构(下)

孤人 提交于 2019-12-16 08:47:08
一. 计算机网络系统结构标准概述   最早的计算机网络体系结构源于IBM在1974年宣布的系统网络体系结构SNA (Systems Network Architecture),这个著名的网络标准就是一种层次化网络体系结构。不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。不同的网络体系结构出现后,采用不同的网络体系结构的产品就很难互相连通(通信)。然而,全球经济的发展使得处在不同网络体系结构的用户迫切要求能够互相交换信息,为此,国际标准化组织ISO成立了专门的机构研究该问题,并于1977年提出了一个试图使各种计算机在世界范围内互联成网的标准框架,即著名的 开放系统互连基本参考模型OSI/RM (Open System Interconnection Reference Model) 。正如在本篇的姊妹篇 《计算机网络体系结构(上)》 提到的那样, OSI七层体系结构具有概念清楚、理论完整的特点,是一个理论上的国际标准,但却不是事实上的国际标准;而具有简单易用特点的TCP/IP 四层体系结构则是事实上的标准。 需要指出的是,五层体系结构虽然综合了 OSI 和 TCP/IP 的优点,但其只是为了学术学习研究而提出的,没有具体的实际意义。 三者结构示意图如下所示: 二. OSI 七层体系结构简述 1、OSI七层参考体系结构  在OSI七层参考模型的体系结构中

OSI模型

孤街浪徒 提交于 2019-12-06 03:10:40
OSI七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 物理层: 字面意思解释:物理传输、硬件、物理特性。在深圳的你与北京的朋友聊天,你的电脑必须要能上网,物理体现是什么?是不是接一根网线,插个路由器,北京的朋友那边是不是也有根网线,也得插个路由器。也就是说计算机与计算机之间的通信,必须要有底层物理层方面的连通,就类似于你打电话,中间是不是必须得连电话线。 中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位 底层传输的010010101001...这些二级制位怎么才能让它有意义呢? 要让这些010010101001...有意思,人为的分组再适合不过了,8位一组,发送及接收都按照8位一组来划分。接收到8位为一组的话,那么就可以按照这8位数来做运算。如果没有分组,对方接收的计算机根本就不知道从哪一位开始来做计算,也解析不了收到的数据。我发了16位你就按照16位来做计算吗?我发100位你就按照100位做计算吗?没什么意义是吧。 因此要想让底层的电信号有意义,必须要把底层的电信号做分组。我做好8位一组,那么我收到数据,我就知道这几个8位做一组,这几个8位做一组。那么每个8位就可以得到一个确定的数。分组是谁干的活呢?物理层干不了,这个是数据链路层干的。 数据链路层 早期的时候,数据链路层就是来对电信号来做分组的

osi模型——运输层

血红的双手。 提交于 2019-12-03 18:58:10
运输层 运输层概述 运输层提供应用层端到端通信服务,通俗的讲,两个主机通讯,也就是应用层上的进程之间的通信,也就是转换为进程和进程之间的通信了,我们之前学到网络层,IP协议能将分组准确的发送到目的主机,但是停留在网络层,并不知道要怎么交给我们的主机应用进程,通过前面的学习,我们学习有mac地址,通过mac地址能找到同一个网络下主机,有IP地址,通过ip地址能找到不同网络下的网络,结合mac地址就能找到对应主机,那么怎么找到主机应用进程呢,肯定也有一个东西来标识它,那就是我们常说的端口了。 端口 占有16位,其大小也就有65536个,是从0~65535.也就是一台计算机有65535个端口,主机之间的通讯,也就是应用进程之间的通讯,都要依靠端口,一个进程对应一个端口,进程A和进程B通信,进程A分到的端口为60000,进程B分到的端口为60001,进程A通过端口60000发送数据给进程B,就知道要交给60001端口,也就到了进程B中,这样就达到了通信的目的。 熟知端口、登记端口、客户端端口 熟知端口:0-1023, 也就是一些固定的端口号,比如http使用的80端口,意思就是在访问网址时,我们访问服务器的端口就是80,然后服务器那边传网页的数据给我们。 登记端口:1024-49151,比如微软开发了一个系统应用,该应用在通讯或使用时,需要使用到xxx端口,那么就要去登记一下这个端口

OSI模型和TCP/IP分层模型?看完这一篇就够了!

匿名 (未验证) 提交于 2019-12-03 00:05:01
最近看了《图解TCP/IP》这本书,于是将这本书中的精髓做一个归总,以便之后查阅。 协议 就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间, 只要遵循相同的协议就能够实现通信 。反之,如果使用的协议不同,就无法通信。 Windows操作系统的平板电脑和Mac操作系统的一体机电脑,虽然操作系统不同,硬件组成不同,但是只要事先达成一个详细的约定,并遵循这一约定进行处理方可建立通信。 协议分层就如同计算机软件中的 模块化开发 ,OSI参考模型的建议是比较理想化的一种分层模型。 OSI参考模型中定义了每一层的 “作用” 定义每一层作用的是 “协议” “协议”是约定,其具体内容为 “规范” 我们日常所使用的就是遵循各个协议具体“规范”的产品和通信手段 信号和介质 比特流与电子信号之间的切换 最低的一层 。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种 物理媒体 上传输。局域网与广域网皆属第1、2层。 提供传输媒体及互连设备 ,为数据传输提供可靠的环境。 数据帧与比特流之间的转换 第二层 ,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上 向网络层提供服务 ,其最基本的服务是将

OSI模型

99封情书 提交于 2019-12-01 16:26:15
网络模型分层 OSI(open system Interconnection)七层模型结构 物理层:bit位 二进制传输,发送高低电平,单位:比特,只看010101 为启动,维护以及关闭物理链路定义了电气规范,机械规范和功能规范. 数据链路层:frame帧 访问介质,定义了物理地址 定义如何格式化数据一边进行传输以及如何控制对网络的访问 支持错误检测 实现同一网段内的链路层通讯(一般通过交换机) 数据帧(frame)与比特之间的转换 网络层:packet包,报文 数据传输,定义了逻辑地址(IP地址) 定义了路由,确定路由数据包 选择传递数据的最佳路径(路由),==路由就是选择路径== 支持逻辑寻址和路径选择 IP地址,用于唯一标识计算机网路地址.点分四段十进制IPV4/6的IP地址 传输层:segment段 TCP/UDP协议,都是基于端口工作的. 端口号:表示电脑上某一软件 端口号范围:0,65535 注意: ​ 1.操作系统中,一般0~1024的端口都被默认使用了 ​ 2.尽量使用8000以后的端口号 开发中常用端口号: ​ mysql:3306 ​ mongodb:27017 ​ Django:8000 ​ Tomcat:8080 ​ Flask:5000 ​ Redis:6379 传输问题:实现终端对终端的通讯 用于过路由器的跨网段通讯 确保数据传输的可靠性