找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 963|回复: 3

IP/ARP/ICMP/UDP 一些原理

[复制链接]

19

主题

-3

回帖

63

牛毛

初生牛犊

积分
63
发表于 2012-2-23 20:32:18 | 显示全部楼层 |阅读模式 来自 浙江省温州市
1:主程序,在应用层请求发出一个文本信息
2:到达传输层(tcp)后,以udp包发送文本,等待接受3个消息。以太网包到达信息、ARP重载信息、ARP老化信息
3:组udp协议包->udp_send程序
4:组IP协议包->IP_send程序
在IP_send程序中调用ARP解析程序(ARP_resolve)如果得到了MAC地址,执行以太网发送程序。eth_send。如果得到了,则将发送的信息缓存。存在wait。
5:转ARP_reslove 程序。输入IP地址,在ARP表中寻找MAC,如果找到MAC,返回IP_send。 如果找不到发ARP请求广播命令。
6:发ARP广播命令,调用ARP_send程序:a 组arp协议包b 调eth_send
7:此时状态由发送转为接收,并且设置好wait for arp标志
8:回到主程序等待接收,收到一个协议包->解包。包有可能是IP协议包和ARP包
9:如果收到的是一个arp数据包:可能是arp回应包,也可能是arp请求包。
10:如果是arp请求包,取出发送方的ip地址和mac地址,存入我们的arp表中。
a:查找arp表,看是否存在
b:如果存在修改年龄,设置为最年轻,如果不存在,先看arp表中是否有空位置,有则填入,并将年龄设置为最优。如果没有空位子,则把最老的挤走。
发arp响应包告诉对方我们的mac地址
11:如果是arp响应包,则我们得到mac地址,取消wait for arp标志,存入arp表,转IP_send程序


0

主题

265

回帖

0

牛毛

初生牛犊

积分
0
发表于 2012-2-25 12:46:55 | 显示全部楼层 来自 浙江省湖州市
真的很有用,谢谢啦!

0

主题

91

回帖

8

牛毛

初生牛犊

积分
8
发表于 2012-2-29 17:24:29 | 显示全部楼层 来自 浙江省湖州市
我又回复了

0

主题

90

回帖

6

牛毛

初生牛犊

积分
6
发表于 2012-3-1 15:08:23 | 显示全部楼层 来自 浙江省湖州市
好啊~~~~~~
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-27 18:17 , Processed in 1.132411 second(s), 45 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表