以太网

互联网协议学习笔记

三世轮回 提交于 2020-04-07 18:39:41
互联网协议(Internet ProtocolSuite) 一、概述 1.1五层模型 应用层(Application Layer) 传输层(Transport Layer) 网络层(Network Layer) 链接层(Link Layer):在“实体层”上方,确定了0和1的分组方式 实体层(Physical Layer):把电脑连接起来的物理手段,主要规定了一些电器特性,作用是负责传送0和1的电信号 二、实体层 三、链接层 3.1 以太网协议 以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。 head data             "标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。 "标头"的长度,固定为18字节。"数据"的长度,最短为46字节,最长为1500字节。因此,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。 3.2 MAC地址 以太网数据包的“标头”,包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢? 以太网规定,连入网络的所有设备,都必须具有"网卡"接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。 每块网卡出厂的时候

scapy构造打印ARP数据包

不想你离开。 提交于 2020-04-06 08:38:05
ARP格式: 用于以太网的ARP请求/应答分组格式 各字段含义:   帧类型:表示数据部分用什么协议封装(0800表示IP,0806表示ARP,8035表示RARP)。   硬件类型:表示硬件地址的类型(其中,值为1表示以太网地址,其他还可能表示令牌环地址)。   硬件地址长度:指出该报文中硬件地址的长度(ARP报文中,它的值为6)。   协议地址长度:指出该报文中协议地址的长度(ARP报文中,它的值为4)。   op:操作字段,共有4种类型(1:ARP请求,2:ARP应答,3:RARP请求,4:RARP应答)。 利用scay发送接受ARP包:   代码: #coding:utf-8 from scapy.all import Ether from scapy.all import ARP from scapy.all import srp arp = Ether(#构造以太网头 src='64:6E:69:03:63:32',#本机MAC dst='FF:FF:FF:FF:FF:FF'#广播发送 )/ARP( op=1,#发送arp请求 hwsrc='64:6E:69:03:63:32',#发送端以太网地址 psrc='10.50.253.232',#发送端ip hwdst='00:00:00:00:00:00',#目的以太网地址 pdst='10.50.0.1'#目的ip地址

面试官,求求你,别再问我网络分层了!!!

不打扰是莪最后的温柔 提交于 2020-03-17 03:25:17
上一篇大体给小伙伴介绍一下网络分层的基本概念,以及每层的大体的功能,那么今天我们来看看每层具体的功能是什么?层与层之间又是怎么进行封装关联的? 上一篇: 面试:你真的懂网络分层模型吗?(上) 写在前边 上一篇主要分享了网络分层的基本概念,为什么要进行网络分层?又是如何进行分层?每一层的基本功能是什么?而且对于每一层的的功能细节方面,比如数据包的组成以及每层包含的一些协议的使用都没有细说,那么这一篇文章将会分享网络分层每层中协议等深入讲解。(PS:可能里边有的讲解不正确,还请大佬指出改正) 1、物理层 物理层里边涉及到最多的是硬件底层的一些内容,没有需要过多了解的内容,我们直接看数据链路层。 2、数据链路层 上回讲到数据链路层中规定的“以太网协议”来规定电信号的分组形式,什么是以太网,以太网的数据包是什么样子的? 2.1 以太网协议 以太网规定,每组的电信号就是一个数据包,每个数据包我们可以成为“帧”。每帧的组成是由标头(Head)和数据(Data)组成。 那么你会问,标头里有什么信息?Data 数据又会存放写什么?为什么分为两部分?放在一块不好吗? 1、标头 为什么传输数据会有标头,我们想呀,在传输数据的时候,接收端怎么判断是不是给自己发送的,那么就只取出标头来进行判断。 数据包的标头中通常会存放一些有关数据包的说明、发送者是谁、接受者又是谁等相关识别信息。 标头的长度固定为 18

ARP协议

筅森魡賤 提交于 2020-03-02 10:30:58
ARP协议(同一网段) 一:查看arp表 当主机A要与主机B通信时,需要主机B的MAC地址,以便在数据链路层进行数据封装,此时会查询自己主机内的arp表中有没有和主机B的IP:10.1.1.2/24相对应的MAC地址,如果没有,此时需要用arp协议来获取目标主机的MAC地址。 二:发送ARP请求包(是否执行看第一步骤) 此时主机A发送一个帧(arp请求包同时也是一个广播包): 帧头中目的MAC地址为全F的广播地址,源MAC为主机A的MAC。 ARP部分(为一个请求包 ):目的IP为主机B的IP地址 源IP为主机A的IP地址 由于目的MAC不知道所以为全0的MAC地址 源MAC为主机A的MAC地址 三:发送过程(交换机) 交换机接收到ARP请求包,解封装看到帧头的目的MAC为全F的广播MAC,中所以向所有与之相连的网络设备转发该包(主机B和主机C)并且将主机A的MAC记录到交换机的ARP缓存表,主机B解封装发现目的IP不是主机B的IP,所以将该包丢弃。主机C比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。 四:ARP响应 主机C接收到来自主机A的ARP请求包后

速读原著-TCP/IP(最大传输单元MTU)

假装没事ソ 提交于 2020-02-27 10:13:28
第二章 链路层 2.7 环回接口 大多数的产品都支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过 T C P / I P进行通信。A类网络号1 2 7就是为环回接口预留的。根据惯例,大多数系统把I P地址1 2 7 . 0 . 0 . 1分配给这个接口,并命名为 l o c a l h o s t。一个传给环回接口的 I P数据报不能在任何网络上出现。 我们想象,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当I P数据报离开网络层时把它返回给自己。图2 - 4是环回接口处理I P数据报的简单过程。 图中需要指出的关键点是: 传给环回地址(一般是1 2 7 . 0 . 0 . 1)的任何数据均作为I P输入。 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义(第 1 2章)包含主机本身。 3 ) 任何传给该主机I P地址的数据均送到环回接口。看上去用传输层和 I P层的方法来处理环回数据似乎效率不高,但它简化了设计,因为环回接口可以被看作是网络层下面的另一个链路层。网络层把一份数据报传送给环回接口,就像传给其他链路层一样,只不过环回接口把它返回到 I P的输入队列中。 在图2

8以太网的MAC层

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-27 05:51:02
以太网的两个标准 : (1)DIX Ethernet V2。 (2)IEEE 802.3。 概念: 在局域网中,硬件地址又称为物理地址,或 MAC 地址。 802 标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。 注意: 如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种 48 位“地址”应当是某个接口的标识符。 48 位的 MAC 地址: (1)IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2字节 (16位) 这两种中的一种。 (2)IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。 (3)地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。 (4)一个地址块可以生成 224 个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48。 (5)生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫作硬件地址 (hardware address)或物理地址。 “MAC地址”实际上就是适配器地址或适配器标识符 EUI-48。 单站地址,组地址,广播地址的相关概念:

程序员内功修炼(三)计算机网络之数据链路层

南笙酒味 提交于 2020-02-26 12:55:52
1、数据链路层功能概述 一、数据链路层功能概述 二、数据链路层基本概念 三、数据链路层功能概述 2、封装成帧&透明传输 一、数据链路层功能概述 二、封装成帧 三、透明传输 四、字符计数法 五、字符填充法 六、零比特填充法 七、违规编码法 3、差错控制(检错编码&纠错编码) 一、差错从何而来 二、数据链路层的差错控制 三、检错编码——奇偶校验码 四、检错编码——CRC循环冗余码 五、纠错编码——海明码 4、流量控制与可靠传输机制 一、数据链路层的流量控制 二、流量控制的方法 三、可靠传输、滑动窗口、流量控制 四、脑图梳理 5、停止—等待协议 一、停止等待协议 二、停等协议——无差错情况 三、停等协议——有差错的情况 四、停等协议性能分析 五、信道利用率 六、脑图梳理 6、后退N帧协议(GBN) 一、停等协议的弊端 二、后退N帧协议中的滑动窗口 三、GBN发送方必须响应的三件事 四、GBN接收方要做的事 五、滑动窗口的长度 六、GBN协议重点总结 七、习题 八、GBN协议性能分析 九、脑图梳理 7、选择重传协议(Selective Repeat) 一、GBN协议的弊端 二、选择重传协议中的滑动窗口 三、SR发送方必须响应的三件事 四、SR接收方要做的事 五、滑动窗口长度 六、SR协议重点总结 七、习题 八、脑图梳理 8、ALOHA协议 一、介质访问控制 二、ALOHA协议 三

python摸爬滚打之day26----网络编程之socket

十年热恋 提交于 2020-02-21 12:33:07
1、网络通信原理   互联网的本质就是一系列的网络协议, 统称为互联网协议.    互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。   互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层.   对于tcp\ip 五层协议, 每层运行常见物理设备有以下几种: 2、tcp\ip五层协议模型讲解      我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议就理解了整个互联网通信的原理.     首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解.     每层都运行特定的协议, 越往上越靠近用户,越往下越靠近硬件.   2.1 物理层     孤立的计算机之间要想一起玩,就必须接入internet,言外之意就是计算机之间必须完成组网.     物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0   2.2 数据链路层     单纯的电信号0和1没有任何意义,必须规定电信号多少位一组.     数据链路层的功能:定义了电信号的分组方式.      以太网协议----ethernet        以太网协议规定: 一组电信号组成一个数据包(叫做帧),

PPP协议、PPPoE协议、L2TP协议的关系

蓝咒 提交于 2020-02-07 19:42:18
1. 简述 首先对这3中协议做一个简单的描述: 协议 协议类型 描述 PPP 点对点链路层协议 应用最广泛的点对点协议,可应用在多种网络,改善了SLIP协议的不足 PPPoE 点对点链路层协议 对PPP协议进行扩展 ,将PPP用于 以太网 上 L2TP 二层隧道协议 对PPP协议进行了扩展 ,可应用在多种网络中,主要将其PPP协议用于 互联网 上 所以,无论PPPoE还是L2TP, 他们都是对PPP协议进行了扩展( PPPoE协议使得PPP协议可以应用在以太网上 ; L2TP协议使得PPP协议数据在互联网上能够传输 ),这两个协议都具有PPP协议的各种安全特点:如认证,IP地址分配等。 这里可能引入一个问题: 以太网和互联网不一样吗 ? 实际上真有区别: 以太网 :更强调是一种局域网硬件技术,如果从网络方面说属于多点访问网络(通过 MAC地址 区分不同设备),即可以通过该硬件技术访问多个设备(终端、网站); 互联网 :更强调一种设备相连的技术,将不同的设备互联的技术,互联后的设备统称为互联网。不过现在特指互联全球的大网络( Internet的意译 )。 因特网 :Internet的 音译 ,它是互联网最典型的应用。 2. 对比分析 2.1 串行线路协议SLIP 在学习PPP协议的时候,经常绕不开SLIP协议的一些缺点和不足,如会遇到“ PPP协议改善了SLIP协议的缺点 ”

OSI七层模型

Deadly 提交于 2020-02-07 00:28:20
1.互联网协议 网络建立的目的是为了数据交互 如何实现通信: 1.建立好底层的物理连接介质 2.有一套统一的通信标准,称之为互联网协议 互联网协议就是计算机界的英语 互联网协议按照功能不同分为OSI七层或tcp/ip五层或tcp/ip四层 2.各层介绍 2.1物理层 物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 2.2数据链路层 数据链路层的由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思 数据链路层的功能:定义了电信号的分组方式 以太网协议: 早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet 2.3网络层 网络层的由来:有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这就不仅仅是效率低的问题了,这会是一种灾难。 网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址 2.4传输层 传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序。 那么我们通过ip和mac找到了一台特定的主机