36步搞定IP Routing(1/4)

IP Routing 1

1.         ICMP 生成一个echo request payload

2.         ICMP把 payload 交给IP, IP之后生成一个packet, 这个packet至少包括源IP地址和目的地IP地址,以及协议区0×01的信息. 这些信息就是告诉接受方在现在这种情况下当它接收到payload时,应该交给ICMP去处理.

3.         当这个packet生成后, IP决定这个目的地的IP地址是不是在本地网络上, 或者是个远程网络

4.         如果IP发现目的地IP地址是个远程网络的话, 那么packet就要被先送到default gateway, 然后gateway才能将packet路由到远程网络

5.         在图中看到, hostA的DG是E0, 就是172.16.10.1. 所以对于这个packet来说, 如果要将它送到E0, 就必须首先知道E0的硬件地址. 为什么是硬件地址呢? 因为packet要向下传到Data Link Layer, 就必须要变成frame, 然后传到172.16.10.0这个网络, 而E0恰好就连接在这个网络上. 在此尤其注意一点, 主机在本地网络LAN上通信, 只能是通过硬件地址. 如图所示, hostA 和hostB要通信的话, 就必须把packet先送到本地网络的DG的MAC地址.

注意: MAC地址只是在LAN上存在, 从来不会突破路由器

6.         hostA检查自己的ARP cache, 看DG的IP地址是否已经被解析为一个硬件地址. 如果是, packet就会被下传到Data Link Layer 去frame, 同时destination的硬件地址也在这个packet里面;                如果不, 那么hostA会在本地网络发送一个ARP包以寻找E0的硬件地址,( hostA知道E0的IP地址就是172.16.10.1), 这时路由器会把E0的硬件地址提供给hostA, hostA同时把它存在cache里面.

7.         到此, packet和destination的硬件地址都有了, 那么就一起传到Data Link Layer. 此时, LAN驱动器(driver)就提供媒体访问(Media Access), 在这个例子中就是Ethernet. 然后就生成了frame, 把packet和控制信息进行封装.

这个frame包含五部分:

destination 硬件地址MAC; 一定注意这个dest指的是E0的MAC地址

source 硬件地址MAC;

Ether-Type field, 用于指明什么network layer 协议会将packet传递到Data Link Layer, 此例中是IP;

Packet;

FCS, 用于存放CRC的结果

注意: 此处不含远程主机的MAC地址,即就是hostB的地址


8.         当frame产生以后, 就会传输到physical layer, 并且放在物理媒质上, one bit/time.

9.         于是冲突域内所有的设备就会受到这些bits, 并且重建成frame, 每个设备都会运行CRC, 与FCS内的答案核对. 如果不相符, 这个frame就会被丢弃;              如果相符, 那么首先检查destination 硬件地址, 这个destination 依旧指的是 E0; 如果还是相符, 那么Ether-Type的内容就会被检测, 得到在Network Layer上应用的协议


Popularity: -4% [?]

  • May 21, 2009 -- 36步搞定IP Routing(4/4) (0)
    1.         此例中,得到协议是IP后, IP 先在IP header上运行CRC, 然后检测destination IP address. 注意1: IP仅仅是完成部分CR...
  • May 21, 2009 -- 36步搞定IP Routing(3/4) (0)
    1.         首先这个payload 先发送给ICMP, ICMP会认为这是一个echo request, 于是ICMP立即回应: 丢弃packet, 并产生一个新的payload...
  • May 21, 2009 -- 36步搞定IP Routing(2/4) (0)
    1.         接收到frame后, 会把packet从中提取, frame剩下的东西都丢弃掉. 然后packet就会被传到protocol里, 就是Ether-Type field...
Share this Post:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

No Comments

(Required)
(Required, will not be published)

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin