Introduction to Computer Networking学习笔记(十七):Switching and Forwarding 交换与转发
参考帖子地址:https://blog.csdn.net/djl806943371/article/details/89391128
Switching与Forwarding是两个不同的概念。Switching是指端对端之间的数据交换,而Forwarding是指一个路由对收到的数据包进行转发。例如,同一个局域网内,client之间交换数据是Switching;而不同网络下需要穿过路由发送数据时,路由则是Forwarding数据包。
一般性包交换(packet switch)
- 寻找地址,通过forwarding table找到egress link
- 更新header,比如减少TTL,更新checksum
- 对packet进行排队操作
packet switch中要介绍下面两种类型 ethernet switching 和 internet router forwarding
Ethernet Switching过程:
- 检查每个到达的帧的首部
- 如果DA(Destination Address)能在转发表中找到,则直接转发到相应端口
- 如果DA不能再转发表中找到,则将这一帧广播给除发送者外的所有端口
- 当任意一个client收到来自其他client的数据包时都会将发送者的SA存储或更新到转发表
Internet Router Forwarding:
- 如果到达的帧的 Ethernet DA与自己MAC一致,则接收该帧,否则丢弃
- 取出IPdatagram,检查IP版本和datagram长度
- TTL减1,并更新校验和
- 检查TTL是否为0
- 如果IP DA能够在转发表找到,获取下一站的IP
- 将下一站IP转为Ethernet DA
- 创建一个新的帧并发送
查找可以采用二叉字典树或Ternary Content Addressable Memory (TCAM),后者常用,同时比对表中所有IP DA查找最长匹配的一个。
啃萝卜包: 把-32改成-64就可以了
慵懒的皮猴: 您知不知道Stanford dbclass 对应的演示源码怎么下载
爱庶女: 2015 初期的中配 也不支持4K吗?
xixidoo: 哇真的超级感谢,我两天都卡在这,另外这个网站也可以http://tools.jb51.net/aideddesign/htaccess2nginx
shendezhuti: 一起学习 只看名词定义、个人感觉吸收率还是偏低 还是要结合实战场景~