网络层

计算机网络学习(二):数据链路层和网络层

僤鯓⒐⒋嵵緔 提交于 2019-12-04 06:54:36
第三章 数据链路层 数据链路层基本概念及基本问题   基本概念   三个基本问题     封装成帧 首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。此外,首部和尾部还包括许多必要的控制信息。 为了提高帧的传输效率,应当使帧的数据部分长度尽量大于首部和尾部的长度。最大传输单元MTU(Maximum Transfer Unit):帧数据部分长度上限。 MTU:     透明传输       透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。 发送端的数据链路层如果在数据中出现控制字符SOH (start of heading)或EOT,那么会在前面插入一个转义字符ESC(ascii编码是1B),如果数据中出现了转义字符,那么会在转义字符前面插入一个转义字符 字节填充 或 字符填充 ---接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。     差错检测 比较常用的是循环冗余检测(CRC) 通过模2运算来计算。模2运算是一种二进制算法,也包括模2加法,减乘除,与四则运算不同的是模2运算不考虑进位与借位。 CRC采用模2除法来计算,实际上就是异或(相同为0,不同为1)。 如图,要传的数据是101001,加上三个0,,除以一个数,这个数是4位,除数的位数是加上0的个数再多一位,余数就作为FCS(添加到数据后面的冗余码) 接收方收到后

keras中保存自定义层和loss

泄露秘密 提交于 2019-12-04 05:48:40
在keras中保存模型有几种方式: (1):使用callbacks,可以保存训练中任意的模型,或选择最好的模型 logdir = './callbacks' if not os.path.exists(logdir): os.mkdir(logdir) output_model_file = os.path.join(logdir, "xxxx.h5") callbacks = [ tf.keras.callbacks.ModelCheckpoint(output_model_file, save_best_file = True) ] hist = model.fit_generator(xxxxx, callbacks = callbacks) (2): 使用model.save(),会把整个模型保存下来,包括网络和参数 (3): 使用model.save_weights(),只保存模型的参数 当使用自定义的层或loss时,只有(3)可以直接使用,1 2会报下面这种错: NotImplementedError: Layers with arguments in `__init__` must override `get_config`. ValueError: Unknown loss function:loss ValueError: Unknown layer:

华为软件测试工程师面试题

情到浓时终转凉″ 提交于 2019-12-04 01:46:53
1 、请你分别写出 OSI 的七层网络结构图和 TCP/IP 的五层结构 OSI 的七层结构从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP 的五层结构分别是应用层、运输层、网络层、链路层、物理层。 2 、请你详细解释一下 IP 的定义,在哪个层上面,主要有什么作用? TCP 与 UDP 呢? IP 在网络层, TCP 和 UDP 在传输层, TCP/IP 是传输控制协议 / 网际协议( Transmission Control Protocol / Internet Protocol )。 TCP/IP 之所以流行部分原因是它可以用在各种各样的信道和底层协议之上。确切地说, TCP/IP 是一组包括 TCP/IP , UDP(User Datagram Protocol) 、 ICMP(Internet Control Message Protocol) 和其他一些协议的协议组。 TCP/IP 并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的七层抽象参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层、而 TCP/IP 采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4

TCP/IP四层模型

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-04 00:59:08
TCP/IP四层模型 一、TCP/IP四层模型介绍 OSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用,ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。TCP/IP体系结构则不同,它现在已经得到了非常广泛的应用,TCP/IP是一个四层的体系结构。 它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题 ),不过从实质来讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路的功能上没有多大差别. 二、TCP/IP四层模型 每一层负责不同的功能: 1) 链路层,有时也称作数据链路层或网络接口层, 通常包括操作系统中的设备驱动程序和计算机 中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。 2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议 ,以及IGMP协议(Internet组管理协议 )。 3) 运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP 协议族中 , 有两个互不相同的传输协议 : TCP (传输控制协议) 和UDP (用户数据报协议)。 TCP

OSI——网络层

筅森魡賤 提交于 2019-12-03 23:47:32
一、网络层的基本概念 网络层上层为传输层,下层为数据链路层,它通过路由选择算法,为IP分组从源主机到目的主机选择一条合适的传输路径,为传输层端—端数据传输提供服务。 二、网络层IP协议的基本内容 网络层中的网络协议是IP,IP协议的分类有IPv4和IPv6 IP协议的特点 IP协议是一种无连接,不可靠的分组传送服务协议,因此它提供的是一种尽力而为的服务 无连接:IP协议不维护IP分组发送后的任何状态信息 不可靠:IP协议不能保证每个IP分组都能正确地,不丢失和顺序地到达目的主机 IP协议是点-点的网络层通信协议 IP协议是针对源主机—路由器、路由器—路由器、路由器—目的主机之间的数据传输的点—点的网络层通信协议,它为两台通信主机寻找一条路径,通常由多个路由器,点点线路组成 IP协议屏蔽了互联的网络在数据链路层、物理层协议与实现技术上的差异 ip地址和MAC地址的区别? mac地址:物理地址 ip地址:网络中的地址 在网络中我们通过主机的ip地址,先找到他的网络地址,到达了网络地址后,然后通过该网络中的老大(路由器)来分析一下这个ip地址是你网路中的哪个主机,这时,老大(路由器)就通过该目标ip地址改到对应主机的mac地址,既然知道了mac地址,就能找到该计算机了。就好比什么呢。路由器是每次分配给你的ip地址不一样,但是你的mac地址肯定不会变,所以就根据ip地址找到你的mac地址

汽车以太网对TCP/IP协议簇的应用

[亡魂溺海] 提交于 2019-12-03 23:34:08
汽车以太网与传统以太网的主要区别在于物理层及应用层,而网络层及传输层大多参考传统应用,即TCP/IP协议簇(TSN暂不讨论)。使用传统网络TCP/IP协议簇,既能加快汽车以太网数据传输的速度,又能与因特网无缝连接,从而实现车内与车外的信息交互。同时,还具有良好的扩展空间以及支持新增上层应用协议的传输。 OSI(开放系统集成)模型是通信行业的基本模型,具体规定了每一层所应具备的功能:   第七层:应用层 定义了用于在网络中进行通信和数据传输的接口 - 用户程式;提供标准服务,比如虚拟终端、文件以及任务的传输 和处理;   第六层:表示层 掩盖不同系统间的数据格式的不同性; 指定独立结构的数据传输格式; 数据的编码和解码;加密和解密;压缩和 解压缩   第五层:会话层 管理用户会话和对话; 控制用户间逻辑连接的建立和挂断;报告上一层发生的错误   第四层:传输层 管理网络中端到端的信息传送; 通过错误纠正和流控制机制提供可靠且有序的数据包传送; 提供面向无连接的数 据包的传送;   第三层:网络层 定义网络设备间如何传输数据; 根据唯一的网络设备地址路由数据包;提供流和拥塞控制以防止网络资源的损耗   第二层:数据链路层 定义操作通信连接的程序; 封装数据包为数据帧; 监测和纠正数据包传输错误   第一层:物理层 定义通过网络设备发送数据的物理方式; 作为网络媒介和设备间的接口

网络七层协议、五层协议与四层协议

痴心易碎 提交于 2019-12-03 20:24:46
  OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥工作时,是以MAC头部来决定转发端口的,因此显然它是数据链路层的设备。具体说: 物理层:网卡,网线,集线器,中继器,调制解调器 数据链路层:网桥,交换机 网络层:路由器 网关工作在第四层传输层及其以上   集线器是物理层设备,采用广播的形式来传输信息。   交换机就是用来进行报文交换的机器。多为链路层设备(二层交换机),能够进行地址学习,采用存储转发的形式来交换报文.。   路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。 交换机的工作原理   交换机拥有一条很高带宽的内部总线和内部交换矩阵。交换机的所有的端口都挂接在这条总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在则广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部MAC地址表中。 使用交换机也可以把网络

深度之眼PyTorch训练营第二期 ---6、nn.Module与网络模型构建

不想你离开。 提交于 2019-12-03 18:03:28
一、网络模型创建步骤 数据->模型->损失函数->优化器 1、模型创建 (1)构建子模块->卷积层,池化层,激活函数层 (2)拼接子模块->LeNet,AlexNet,ResNet等 2、权值初始化->Xavier,Kaiming,均匀分布,正态分布 二、 nn.Module 属性 torch.nn nn.Parameter 张量子类,表示 可学习参数 ,如weight,bias nn.Module 所有网络层基类,管理网络属性 nn.functional 函数具体实现,如卷积,池化,激活函数等 nn.init 参数初始化方法 nn.Module parameters :存储管理nn.Parameter类 modules :存储管理nn.Moudle类 buffer:存储管理缓冲属性,如BN层中的running_mean ***_hooks:存储管理钩子函数 nn.Module总结 一个module可以包含多个子module 一个module相当于一个运算,必须事先forward()函数 每个module都有 8个字典 管理它的属性 三、模型容器Containers 三个常用容器: nn.Sequetial -->按 顺序 包装多个网络层 nn.ModuleList-->像python的 list 一样包装多个网络层 nn.ModuleDict-->像python的 dict

什么是OSI参考模型?

烂漫一生 提交于 2019-12-03 17:06:12
一、 OSI 参考模型 1 、 OSI 的来源 OSI ( Open System Interconnect ),即开放式系统互联。 一般都叫 OSI 参考模型,是 ISO (国际标准化组织)组织在 1985 年研究的网络互连模型。 ISO 为了更好的使网络应用更为普及,推出了 OSI 参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。 2 、 OSI 七层模型的划分 OSI 定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即 ISO 开放互连系统参考模型。如下图。 每一层实现各自的功能和协议,并完成与相邻层的接口通信。 OSI 的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。 3 、各层功能定义 这里我们只对 OSI 各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层。后面我也会根据个人方向展开部分层的深入学习。这里我们就大概了解一下。我们从最顶层 —— 应用层 开始介绍。 整个过程以公司 A 和公司 B 的一次商业报价单发送为例子进行讲解。 <1> 应用层 OSI 参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务

OSI七层协议大白话解读

帅比萌擦擦* 提交于 2019-12-03 11:33:40
OSI七层协议大白话解读 互联网的本质就是 一系列的网络协议 ,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。 七层 划分为: 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 。 物理层: 字面意思解释:物理传输、硬件、物理特性。中间的物理链接可以是 光缆、电缆、双绞线、无线电波 。中间传的是电信号,即010101...这些二进制位。 底层传输的010010101001...这些二级制位怎么才能让它有意义呢? 要想让底层的电信号有意义,必须要把底层的电信号做分组。我做好8位一组,那么我收到数据,我就知道这几个8位做一组,这几个8位做一组。那么每个8位就可以得到一个确定的数。 分组是谁干的活呢?物理层干不了,这个是数据链路层干的。 数据链路层 早期的时候, 数据链路层就是来对电信号来做分组的 。以前每个公司都有自己的分组方式,非常的乱,后来形成了统一的标准(标准就是协议),即以太网协议Ethernet。 Ethernet规定 一组电信号称之为一个数据包,或者叫做一个 “帧” 每一数据帧分成:报头head和数据data两部分 head包含:(固定18个字节) 发送者(源地址,6个字节) 接收者(目标地址,6个字节) 数据类型(6个字节