IP与以太网的包收发操作
 
 
 
 
 
 
在以太网中,有一种叫做广播的方法,刻意把包发给连接在同一以太网中的所有设备。ARP就是利用广播对所有设备提问:“XX这个IP是谁的?如果是你的,请把你的网卡MAC地址告诉我。”然后就会收到目标IP的回答:“这个IP地址是我的,我的MAC地址是XXXX。”

 
网卡驱动从IP模块取包之后,会将其复制到网卡的缓冲区,然后向MAC模块发送发送包的指令。MAC模块将包从缓冲区取出,并在开头记上报头和起始帧分界符,在末尾加上用于检测错误的FCS(帧校验序列)。

最后,在数据信号之外再发送一组用来区分比特间隔的时钟信号,把数据信号和时钟信号叠加后发送出去。接收方检测到时钟信号周期变化,采用和发送数据叠加过程相反的方式从数据信号中读取相应的电压和电流值,将其转换成为0、1。
IP与以太网的包收发操作的更多相关文章
- TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作
		MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ... 
- 在 shell 脚本获取 ip、数字转换等网络操作
		在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ... 
- 标准的TCP/IP工业以太网-EtherNet/IP
		标准的TCP/IP工业以太网-EtherNet/IP 徐智穹以太网具有传输速度高.兼容性好.应用广泛等方面的优势,支持几乎所有流行的网络协议,其中 ... 
- 网络数据包收发流程(四):协议栈之packet_type
		进入函数netif_receive_skb()后,skb正式开始协议栈之旅.先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层.比如,arp头和ip头都是紧跟在以 ... 
- 网络数据包收发流程(三):e1000网卡和DMA
		一.硬件布局每个网卡(MAC)都有自己的专用DMA Engine,如上图的 TSEC 和 e1000 网卡intel82546.上图中的红色线就是以太网数据流,DMA与DDR打交道需要其他模块的协助, ... 
- js获取访问IP、地区、、当前操作浏览器
		js获取IP.地区.当前操作浏览器有什么用呢? 我的回答是用处很多,比如现在的异地登录和对用户常用浏览器做数据分析等. 源代码如下:index.html <!DOCTYPE html> & ... 
- mysql设置指定ip访问,用户权限相关操作
		基础语法GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIE ... 
- 网络数据包收发流程(二):不配置NAPI的情况
		一.no NAPI 数据结构不配置NAPI的时候,网络设备不使用自己的napi_struct结构,所有网络设备驱动都使用同一个napi_struct,即cpu私有变量__get_cpu_var(sof ... 
- Python 第九篇:队列Queue、生产者消费者模型、(IO/异步IP/Select/Poll/Epool)、Mysql操作
		Mysql操作: grant select,insert,update,delete on *.* to root@"%" Identified by "123456&q ... 
随机推荐
- 计算laws的matlab代码
			很简单的代码:不过花了codeforge上的10个点,自己写也早写出来了; 代码如下: 文件:calLaws.m function [y,h_v,h_h]=calLaws(x,id,LocalEner ... 
- 【C++】颜色的设置
			1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色 ... 
- 【sqli-labs】 less17 POST - Update Query- Error Based - String (基于错误的更新查询POST注入)
			这是一个重置密码界面,查看源码可以看到username作了防注入处理 逻辑是先通过用户名查出数据,在进行密码的update操作 所以要先知道用户名,实际情况中可以注册用户然后实行攻击,这里先用admi ... 
- (转)基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
			http://www.cnblogs.com/wuhuacong/p/4085725.html 在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是 ... 
- Linux:只复制文件权限和所有者
			在Linux上,怎么把一个文件的<权限和所有者>赋给另一个文件呢? chown命令可以设置所有者和用户组:chmod可以设置文件的权限.这两个命令都支持使用另一个文件做为引用(RFILE) ... 
- apply,call,bind区别
			js中有三个改变this指针的方法,分别是 apply,call,bind.很多人只知道能改变的this,但是具体的适用场景不是太清楚.我也是遇到坑后不断的实践发现了区别. call ,apply方法 ... 
- 【JavaScript高级进阶】JavaScript变量/函数提升的细节总结
			// 测试1 console.log('----------test1--------------'); console.log(global); // undefined var global = ... 
- 51nod1256 乘法逆元【扩展欧几里得】
			给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Input 输入2个数M, N中间用 ... 
- [luogu4290 HAOI2008]玩具取名(DP)
			传送门 Solution 裸区间DP Code #include <map> #include <cmath> #include <cstdio> #include ... 
- Problem 19
			Problem 19 You are given the following information, but you may prefer to do some research for yours ... 
