网络传输

网络七层模型

喜欢而已 提交于 2019-12-15 01:05:07
网络七层模型 https://blog.csdn.net/a369189453/article/details/81193661 网络七层协议的通俗理解 https://www.cnblogs.com/evan51/p/7994109.html TCP/IP协议(一)网络基础知识 网络七层协议 https://www.cnblogs.com/mike-mei/p/8548238.html 最近又看到这个七层模型了,一直都记不住这个七层模型,就算背住了也很快忘记。主要原因还是因为没有真实的使用场景,也没能理解其中的原理。但是这个东西是计算机网络的基础,既然碰巧看到就顺便整理一下吧。很多知识的梳理都是通过文章来理解贯通的,所以在计算机开发中对于技术的应用对敲代码;对于抽象的知识多写文章,自然而然的就懂了。 关于七层模型的介绍 七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通讯系统间互联的标准体系。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。 ISO 就是 Internationalization Standard Organization(国际标准组织)。 起源 看一下OSI的起源和出现过程还是挺有意思的。 OSI的大部分设计工作实际上只是Honeywell

TCP IP 详解卷1:协议

走远了吗. 提交于 2019-12-15 00:25:01
目录 1.术语解释 2.体系结构原则 3.互联网的组成 3.1核心部分 3.1.1数据交换 3.1.2复用技术 3.1.3虚电路与数据报 3.1.4端到端论点 3.1.5差错控制和流量控制 3.2边缘部分 3.2.1网络应用的设计 4.设计与实现 4.1分层 4.2复用,分解,封装 4.3OSI模型与TCP/IP模型对照 5.标准化进程 6.与Internet体系结构相关的攻击 1.术语解释 协议族: 一系列相关协议的集合 协议族的体系结构或参考模型: 指定一个协议族中的各种协议之间的相互关系并划分需要完成的任务的设计 因特网(Internet): 因特网是一个拥有遍布全球的大约20亿用户(2010年,占全球人口的30%)的广域网 2.体系结构原则 Internet体系结构在几个目标的指导下建立。首要目标是“发展一种重复利用已有的互联网的技术”。其本质即,Internet体系结构应该将多种网络互联起来,并在互联的网络上同时运行多个应用。 基于这个首要目标,Clark提供了以下二级目标列表: Internet通信在网络或网关失效时必须能持续。 Internet必须支持多种类型的通信服务。 Internet体系结构必须兼容多种网络。 Internet体系结构必须允许对其资源的分布式管理。 Internet体系结构必须是经济有效的。 Internet体系结构必须允许低能力主机的连接。

网络原理——网络传输基本流程

天涯浪子 提交于 2019-12-14 09:36:40
一、基本概念 1.网络互联 :多台计算机连接在一起, 完成数据共享; 2.局域网(LAN) :多台计算机通过交换机和路由器连接在一起 3.广域网(WAN) :将远隔千里的计算机都连接在一起。 注:所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如, 我们有 “天朝特色” 的广域网, 也可以看做一个比较大的局域网.。 4.IP :IP地址是在IP协议中, 用来标识网络中不同主机的地址。 5.PORT :端口号(Port)标识了一个主机上进行通信的不同的应用程序,通过端口能找到运行的进程,比如QQ,腾讯视频 6.ARP :ARP协议建立了主机 IP地址和 MAC地址的映射关系,通过IP能找到MAC地址,工作在主机和路由器。 7.MAC :MAC地址用来识别数据链路层中相连的节点,在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址). 8.DNS :DNS是一整套从域名映射到IP的系统,能将域名转换为IP地址,工作在主机、路由器、DNS服务器。 9.NAT :NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法,全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的;工作在路由器。 10.NAPT

宽带的理解

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-13 19:12:58
一、带宽的两种概念   如果从电子电路角度出发,带宽(Bandwidth)本意指的是电子电路中存在一个固有通频带,这个概念或许比较抽象,我们有必要作进一步解释。大家都知道,各类复杂的电子电路无一例外都存在电感、电容或相当功能的储能元件,即使没有采用现成的电感线圈或电容,导线自身就是一个电感,而导线与导线之间、导线与地之间便可以组成电容——这就是通常所说的杂散电容或分布电容;不管是哪种类型的电容、电感,都会对信号起着阻滞作用从而消耗信号能量,严重的话会影响信号品质。这种效应与交流电信号的频率成正比关系,当频率高到一定程度、令信号难以保持稳定时,整个电子电路自然就无法正常工作。为此,电子学上就提出了“带宽”的概念,它指的是电路可以保持稳定工作的频率范围。而属于该体系的有显示器带宽、通讯/网络中的带宽等等。   而第二种带宽的概念大家也许会更熟悉,它所指的其实是数据传输率,譬如内存带宽、总线带宽、网络带宽等等,都是以“字节/秒”为单位。我们不清楚从什么时候起这些数据传输率的概念被称为“带宽”,但因业界与公众都接受了这种说法,代表数据传输率的带宽概念非常流行,尽管它与电子电路中“带宽”的本意相差很远。   对于电子电路中的带宽,决定因素在于电路设计。它主要是由高频放大部分元件的特性决定,而高频电路的设计是比较困难的部分,成本也比普通电路要高很多。这部分内容涉及到电路设计的知识

网络传输中available的用法

北战南征 提交于 2019-12-12 02:39:51
在处理文件输入流时,通过调用available()方法来获取还有多少字节可以读取,根据该数值创建固定大小的byte数组,从而读取输入流的信息。 FileInputStream fi = new FileInputStream("C:/Users/Administrator/Desktop/yy.txt"); //1. read() 逐字节读取 /* int i = 0; byte[] bytes = new byte[fi.available()]; while(fi.available() > 0){ bytes[i] = (byte) fi.read(); i++; }*/ //2. read(byte b[]) 一次读取 byte[] bytes = new byte[fi.available()]; fi.read(bytes); fi.close(); System.out.println(Arrays.toString(bytes)); 但是在处理网络流(socket)时,通过available()方法对输入流进行长度判断,数值为0,这意味着对方发送的流中无数据,但实际上并非如此。 原因在于: 网络通讯往往是间断性的,一串字节往往分几批进行发送。例如对方发来字节长度100的数据,本地程序调用available()方法有时得到0,有时得到50,有时能得到100

华为手机怎么连接电脑传输

半城伤御伤魂 提交于 2019-12-11 11:12:49
华为首创无线连接电脑,可以在电脑上对手机的文件和图片直接操作,步骤如下: 一,打开电脑和手机,共同在WIFI局域网环境下,点击手机的“设置”,然后找到“设备与连接”,点击。 二,看到“Huawei Share”选项了吗?点击开启它,然后看到第二个选项“共享至电脑”,也点击开启它,并且你会看到电脑端显示名,比如“Huawei30"。 三,在WIFII局域网环境下,这时候手机和电脑已经连上了,在电脑上操作,点击“计算机”,有的电脑是”我的计算机“,再点击”网络“,有的是在左边的目录里找到”网络“,在”网上邻居“上就看到手机名“Huawei30",然后点击它就可以直接在电脑上对手机操作了,比如传输文件,复制或删除文件和图片等,是不是很方便,很高效? 来源: CSDN 作者: mengxuanqwe 链接: https://blog.csdn.net/mengxuanqwe/article/details/103487501

BigPipe为什么可以节省时间?

旧城冷巷雨未停 提交于 2019-12-10 15:24:53
关于什么是BigPipe,请移步 http://baike.baidu.com/view/4601904.htm 去查阅一下。 在实现BigPipe的过程中,就对BigPipe到底能省多少时间比较奇怪。 普通的web页面,一般来说是页面生成,网络传输,前面页面渲染,这三部分的时间加起来就是操作人员从点击鼠标到最后看到页面的时间。 比如,一个页面有主页面框架,有4个部分的内容显示,为了便于分析,简化一下模型,假设主页面框架生成需要0.2S,4个部分的内容内容生成各自需要0.2S,网络传输与浏览器渲染也各计成0.2秒,这样,在传统的方式下,需要的时间就是 0.2*5+0.2*5+0.2*5=3秒。 那么换成BigPipe方式,时间的执行分布大概是: 所以换成BigPipe方式,时间大概就是1.4秒的样子。节省的时间大概是50%强一点的样子。 当然,这个时间是在各自三段时间都是0.2秒的情况,实际运行过程中,网络传输的时间在局域网中的时间会更快,后台页面的处理,也可以采用多线程处理的方式来进行,这样,后面页面处理时间可以缩短到0.4S,网络传输时间有0.2S也可以了。由于采用了BigPipe方式,在0.6S的时候,就可以看到最页面框架,后面的时间就是一块块出来,当后面出来的时间比较快的时候,给使用的感受就是在0.6S+界面就可以出来。这个与最初的3S,用户体验上明显是有天壤之别的。 来源

网络

▼魔方 西西 提交于 2019-12-10 12:10:57
私有ip 私有ip就是局域网中使用的ip地址,国际规定有一部分ip地址是在局域网中使用的 私有ip的范围,也就是不在公网中使用的ip地址范围: 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 4. 本机ip地址 127.0.0.1表示本机ip地址; 本机域名是localhost; 通过域名可以解析一个ip地址,域名方便大家记忆某台电脑的主机地址 Linux命令(ping, ifconfig) 查看或配置网卡信息:ifconfig ifconfig查看网卡的信息: 测试远程主机连通性:ping 通常用ping来检测网络是否正常 2. 端口号 端口号:使用唯一一个编号来标识端口, 其实就是标识端口的一个编号。 在linux系统中,端口号有65536(2的16次方)个 端口号划分 端口号不是随意使用的,而是按照一定的规定进行分配。 端口号分为知名端口号和动态端口号 3.1 知名端口号(Well Known Ports) 知名端口号: 系统程序使用的端口号 知名端口号是众所周知的端口号,范围从0到1023 80端口分配给HTTP服务 21端口分配给FTP服务 一般情况下,如果一个程序需要使用知名端口的需要有root权限 3.2 动态端口号(Dynamic Ports) 动态端口号:

(10)Java基础之网络编程

和自甴很熟 提交于 2019-12-10 01:50:21
(10)【网络编程】 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。 网络编程 ,就是在一定的协议下,实现两台计算机的通信的程序。 1.2 网络通信协议 **网络通信协议:**通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。 TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型

socket网络编程1

江枫思渺然 提交于 2019-12-09 23:03:13
1.什么是网络: 网络是信息传输、接收、共享的虚拟平台。 2.什么是网络编程: 通过操作相应的api调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程 。 具体涉及:网络模型、套接字、数据包 3.7层网络模型-OSI 应用层:略 表示层:将应用的数据表示为对应的数据层面的数据,比如说字符串转化为一些人看不懂的奇奇怪怪的数据 会话层:不同机器之间用户之间建立管理的作用。 传输层:接收上一层的数据,并在必要的时候对数据进行分割然后交给网络层,会保证这些数据的有效性(将数据有效的传递给对方)。 TUP-UDP协议层、Socket 网络层:控制子网的运行。比如逻辑地址进行分组的传输以及路由的选择。 数据链路层:主要是进行物理的地址寻找,同时将原始的比特流转化为逻辑的传输路线 物理层:最底层的机械电子传输.....(电信号、光信号传输) 4.网络模型对应关系: 来源: https://www.cnblogs.com/lyjblogg/p/12005091.html