网络层数据包处理流程
来源:互联网 发布:碎屏幕手机壁纸软件 编辑:程序博客网 时间:2024/05/22 08:14
网络地址为A,物理地址为10的计算机需要向网络地址为P,物理地址为95的计算机发送一个分组。这里我们用字母表示逻辑地址,用数字表示物理地址。
发送方在网络层将数据封装在一个分组中,并加入两个逻辑地址(A和P)。注意在大多数协议中,逻辑源地址是出现在逻辑目的地址之前的(与物理地址的顺序正好相反)。网络层必须要找出下一跳的物理地址才能向下传递这个分组。网络层咨询它的路由表,并找出下一跳(路由器1)的逻辑地址是F。另外还有一个称为地址解析协议(ARP)的协议,它会找出与该逻辑地址相对应的是路由器1的物理地址(20)。现在网络层就可以将这个地址传递给数据链路层了,再有数据链路层以物理目的地址20和物理源地址10来封装这个分组。
局域网1上的所有设备都会收到这个帧,除了路由器1之外,其它路由器都会选择丢弃该帧,因为只有路由器1发现该帧中的物理地址与自己的物理地址是相匹配的。路由器1将该帧解封后得到数据分组,并读出其逻辑目的地址是P。由于这个逻辑目的地址与路由器1的逻辑地址不匹配,路由器1就知道还需要继续转发这个分组。路由器1也咨询它的路由表,而ARP再次找出下一跳(路由器2)的物理目的地址,然后再创建了一个新的帧将这个分组再次封装起来。并将其发送到路由器2。
请注意这个帧的物理地址。物理地址从10更新为99,。物理目的地址从20(路由器1的物理地址)更新为33(路由器2的物理地址)。逻辑源地址和逻辑目的地址必须保持不变,否则这个分组就会丢失了。
在路由器2我们又看到了类似的场景。物理地址被更新,而一个新的帧被发往目的计算机。当这个帧抵达终点后,分组被解封出来。逻辑目的地址P与该计算机的逻辑地址相匹配。分组解封后得到的数据被交付给上一层。请注意,虽然物理地址逐跳而变,但逻辑地址从源点到终点一直不变。
物理地址逐条跳而变,逻辑地址保持不变。
- 网络层数据包处理流程
- 网络数据包发送之调度层处理
- linux kernel 处理网络数据包流程
- 第四章 网络层接收数据包流程--基于Linux3.10
- Linux网络之设备接口层:发送数据包流程dev_queue_xmit
- 七层网络模型_ 数据包发送流程
- Linux网络之设备接口层:发送数据包流程dev_queue_xmit
- L2数据链路层的数据包处理详细流程
- 数据包转发处理流程
- Linux网络之设备接口层:发送数据包流程dev_queue_xmit(二)
- TCP/IP学习(30)——L2数据链路层的数据包处理详细流程
- linux ipsec 数据包处理流程
- OSAL处理接收数据包流程
- 网络七层及模型&&网络数据包
- 网络七层模型&&网络数据包
- Linux内核二层数据包接收流程
- Linux内核二层数据包接收流程
- Linux内核数据包处理流程-数据包接收
- 程序员装逼指南
- 莫比乌斯反演小结
- HTML 网页特殊符号HTML代码大全
- hpuoj 【1130】字符串统计【字符串】
- 牛客网---2016---蘑菇街聊天
- 网络层数据包处理流程
- css之定位
- 基于vue的移动web app页面缓存解决方案
- 爬虫---requests库
- Spring支持国际化
- Activiti工作流引擎数据库表结构
- vue-router使用总结
- string 字符串连接
- 最短路uva11374