以太网

VC++实现ARP协议

别等时光非礼了梦想. 提交于 2020-01-01 12:51:40
地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确 地址解析协议定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM( 异步传输模式)和FDDIIP(Fiber Distributed Data Interface 光纤分布式数据接口)网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。 1. 什么是ARP?   ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP-以太网中,当一个上层协议要发包时,有了节点的IP地址,ARP就能提供该节点的MAC地址。   2. 为什么要有ARP?   OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layer interface). IP地址在第三层, MAC地址在第二层。协议在发送数据包时,得先封装第三层(IP地址),第二层(MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其MAC地址,又不能跨第二、三层,所以得用ARP的服务。   3. 什么是ARP   cache? ARP cache

pycharm修改windows的IP

吃可爱长大的小学妹 提交于 2019-12-26 15:45:27
一、桌面选中pycharm点击右键-属性-高级 二、实现代码 import os,random command ='netsh interface ip set address "以太网" static 192.168.1.{} 255.255.255.0 192.168.1.1 1'.format(random.randint(100, 200)) dns_command = 'netsh interface ip set dns "以太网" static 192.168.1.1 primary' # 方法一(执行成功打印结果为0,执行失败打印结果为1) a = os.system(command) b = os.system(dns_command) print(a) print(b) # 方法二 获取控制台输出的内容,那就用os.popen的方法了,popen返回的是一个file对象,跟open打开文件一样操作了,r是以读的方式打开 # (打印错误信息,无错误信息代表执行成功) f = os.popen(command,'r') d = f.read() print(d) f.close()  dns可以不选择修改 将方法封装为自己需要的方法: def change_ip(ip4,dns=False): # 此方法仅针对修改最后一位参数 command ='netsh

IP与以太网的包收发操作

感情迁移 提交于 2019-12-26 00:15:44
你好,这是《网络是怎样连接的》的第3篇读书笔记,第二章《用电信号传输TCP/IP》后半部分:IP与以太网的包收发操作。 先看下经典的TCP/IP四层模型: 通常,下层模块支撑上层应用,也就是说网络互联层IP模块向上支撑传输层的TCP和UDP应用,或者说TCP应用调用IP模块实现数据收发。 1.包的收发 TCP模块在执行连接、收发、断开等各阶段操作时,都需要委托IP模块将数据封装成包发送给通信对象。包包括头部和数据两部分,头部包含目的地址等控制信息,可以理解为快递包裹的面单,头部的后面就是要发送给对方的数据,相当于快递包裹里面的货物。 IP模块发送包的时候,会添加两个头部: 1)MAC头部:以太网用的头部,包含接收方的MAC地址; 2)IP头部:IP用的头部,包含接收方的IP地址。 2.IP头部:包含接收方IP地址 IP模块接收TCP模块的委托,负责包的收发工作,首先会生成IP头部附加在TCP头部的前面,IP头部包含的内容如下所示: IP头部的“接收方IP地址”填写通信对象的IP地址,发送方IP地址需要判断发送所使用的网卡,并填写网卡的IP地址。 如果计算机有多个网卡,怎么决定由哪个网卡发送呢?看完下图,你就明白了。 3.MAC头部:基于以太网 IP模块在生成IP头部之后,会在它前面添加MAC头部,MAC头部是以太网使用的头部,包含了接收方和发送方的MAC地址等信息。 在以太网中

PPPOE拨号下MTU设置

久未见 提交于 2019-12-25 04:51:22
由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 64 bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。(注:小于 64 Bytes的数据帧一般是由于以太网冲突产生的“碎片”或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生) 以太网帧长范围为64-1518。这是由以太网的物理特性决定的,以太网中的最小帧长是根据网络中检测冲突的最长时间决定的。 根据IEEE 802.3规定,一个典型的以太网帧是由下列几个部分组成: 其中Pad部分是可以变长的,从Dest. MAC Address (目的MAC地址)至Frame Check Sequence (FCS检查位)最小长度为 64 byte MTU所指的为IP数据包总长度。 MTU大小范围为64-1500。(从MAC Client Data开始到Pad结束) 不同的上网方式支持不同的MTU,下面列出了一些上网方式的MTU值: EtherNet(一般上网方式,默认值):1500 PPPoE/ADSL:1492 Dial Up/Modem:576 所介绍的方法是修改MTU值来优化网络数据的传输.首先,当然是先解释一下什么是MTU和MRU的设置原理.

3.计算机网络-物理层、链路层

偶尔善良 提交于 2019-12-24 07:43:56
物理层概述 物理层的作用 作用 连接不同的物理设备,传输比特流 传输介质 双绞线 同轴电缆 光纤 无线介质 红外线、红外线、激光 比特流 高低电平 表示比特流 物理特性 机械特性 电气特性 功能特性 过程特性 信道的基本概念 信道是往一个方向传送信息的媒体,一条通信电路包含一个接收信道和一个发送 ??? 发送和接收会不会冲突?冲突了怎么办? 单工通信信道 只能一个方向通信,没有反方向反馈的信道,如 有线电视、无线电收音机等 半双工通信信道 双方都可以发送和接收信息,但不能双方同时发送,也不能同时接收 全双工通信信道 双方都可以同时发送和接收信息 分用-复用技术 复用技术 频分复用 时分复用 波分复用 码分复用 链路层概述 数据 帧 “帧”是数据链路层数据的基本单位; 发送端在网络层的一段数据前后添加特定标记形成“帧”; 接收端根据前后特定标记识别出“帧” 物理层不管帧结构,链路层会对帧进行解析 帧结构 帧首部和尾部是特定的 控制字符 ,是特定比特流 帧首部 : SOH:00000001 帧尾部 : EOT:00000100 ?? 数据里面恰好有这些比特流咋办? -> 透明传输 透明传输 "透明"的意思是控制字符在帧数据中时,要当做不存在去处理 若非透明处理,数据报中恰好存在EOT字符,那么这个数据帧会被错误处理 数据报中的控制字符前添加转义字符

计算机硬件基础之网络协议(三)

青春壹個敷衍的年華 提交于 2019-12-21 10:53:20
1.网络通信原理:   一台硬设有了操作系统,然后装上软件你就可以正常使用了,然而你也只能自己使用像这样,每个人都拥有一台自己的机器,然而彼此孤立,所以就有了interne,t其实两台计算机之间通信与两个人打电话之间通信的原理是一样的,你不可能要求一个人/计算机掌握全世界的语言/标准,于是有了世界统一的通信标准:英语。   结论:英语成为世界上所有人通信的统一标准,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite).互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。 2.OSI七层协议   互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层   首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解 每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。 3.物理层   孤立的计算机之间要想一起玩,就必须接入internet,言外之意就是计算机之间必须完成组网。   物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。 4.数据链路层  

TCP/IP 分层

心不动则不痛 提交于 2019-12-21 04:36:44
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/ I P ,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图1 - 1所示。 每一层负责不同的功能: 1) 链路层,有时也称作数据链路层或网络接口层,通常包括 操作系统 中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。 2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),以及IGMP协议(internet组治理协议)。 3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。 TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供

Day 6-1计算机网络基础&TCP/IP

删除回忆录丶 提交于 2019-12-20 11:44:31
按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层(我们只需要掌握tcp/ip五层协议即可) 每层运行常见物理设备: TCP/IP协议: Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础. OSI五层协议各层的功能: 物理层:计算机之间要想一起玩,就必须接入internet,言外之意就是计算机之间必须完成组网. 物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0. 数据链路层:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思 数据链路层的功能:定义了电信号的分组方式 以太网协议: 早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet ethernet规定 一组电信号构成一个数据包,叫做‘帧’ 每一数据帧分成:报头head和数据data两部分 head包含:(固定18个字节) 发送者/源地址,6个字节 接收者/目标地址,6个字节 数据类型,6个字节 data包含:(最短46字节,最长1500字节) 数据包的具体内容 head长度+data长度=最短64字节,最长1518字节

TCP/IP ARP

霸气de小男生 提交于 2019-12-18 18:56:54
ARP (Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。 当在同一网络段内或同一子网内,主机发送信息时将包含目标IP地址的ARP请求广播发送到网络上的所有主机,并接收返回消息,以确定目标主机的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 ARP提供的功能 是32bit的IP地址与48bit的MAC接口地址之间的动态映射。 ARP工作过程      主机A的IP地址为172.16.1.1,MAC地址为78-51-7b-21-0f-05;主机B的IP地址为172.16.1.2,MAC地址为78-51-84-11-10-05。   当主机A要与主机B通信时,ARP地址解析协议将主机B的IP地址172.16.1.2解析成主机B的MAC地址,以下为工作流程:   1、根据主机A上的路由表,确定访问主机B的转发接口地址。A主机在本机ARP缓存中查询主机B IP地址对应的MAC地址。   2、如果主机A在ARP缓存中没有找到映射,它将询问172.16.1.2对应的MAC地址,并将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包含在ARP请求帧中。本地网络上的每台主机都会收到ARP请求并检查是否与自己的IP地址匹配