资源描述:
《网络发送包的过程分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、网络中数据传输过程的分析我们每夭都在使用互联网.我们电脑上的数据是怎么样通过互联网传输到到另外的台电脑上的呢?把『I己的理解写一下.可能冇•很多细节还没有能的很淸慾!希望在以后可以使之更加的完善!有不对的地方还请捋正.我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合〉从上到下分别为应用层衣示泾会话层传输泾网络层数抑;链路X和物理丿誤其中数据链路层又可皑分灯两个犷层分别为逻紺链路控制层(LogicUnkControl,LLC)和介质访问控制层((MediaAccessControl,MAC)也就足
2、平常说的MAC层。LLC对两个节点屮的链路进行初始化.防止连接中断,保持可靠的通信。MAC层用来检验包含在每个桢中的地址信息。在下面会分析到。还要明白一点路由器是在网路层的.而网卡在数据链路层。我们知道,ARP(AddressResolutionProtocol,地址转换协议〉被半作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网kMAC地址的访问。如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结果址A与B根木不能进行通信。首先我们分析一
3、下在同一个网段的情况。假设有两台电脑分别命名为A和B,A需耍相B发送数据的话,A主机首先把目标设备B的IP地址与自己的子网掩码进行巴与臊作,以判断目标设备与自己是否位于同…网段内。如果目标设备在同一网段内,并且A没有获得与目标设备B的IP地址相对应的MAC地址信息,则源设备(A)以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备(A)与目标设备(B)的IP地址。同•网段中的所有其他设备都可以收到并分析这个ARPW求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报
4、文使源设备获得目标设备的MAC地址信息。为了减少广播虽,网络设备通过ARP表在缓存中保存IPfjMAC地址的映射信息。在…次ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。一个最基本的网络拓扑结构:如果中间要经过交换机的话,根据交换机的原理,它是直接将数据发送到和应端口,那么就必须保TT-个数据库,包含所有端口所连网氏的MAC地址。它通过分析Ethernet包的包头信息(其中包含不原MAC地址,
5、
6、标MAC地
7、址,信息的长度等信息),取得II标B的MAC地址后,育找交换机中存储的地址对照表,•MAC地址对应的端口),确认具有此MAC地址的网卡连接在哪个端口上,然后将数据包发送到这个对应的端口,也就相应的发送到目标主机B上。这样-来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址.因此也不会收到数据包。现在我们讨论两台不在同一个网段中的主机,假设网络中要从主机PC-A发送数据包PAC到PC-C主机中,如下图所示:路由器A===================路由器B
8、INTERNET
9、II交换机A交换机BPC-APC-BPC-CPC-DPC・A并不需要
10、获取远程主机(PC-C)的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机(PC-A)没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程匸机的MAC地址。在以太网(Ethernet)中,•个网络设备要和刃•个网络设备进行市接通信,除了知道II标设备的网络空逻辑地址(如IP地址)外.还要短道H标设备的第二层物理地址(MAC地址),ARP协议的杲木功能眦足通过1肠、设备的IP地址.査询目标设备的MAC地址,以保证通信的顺利进行。数据包在网络
11、中的发送是-个及其复杂的过程,上图只是种很简单的情况,中间没有过女的屮间节点,冥:实现实中只会比这个更复杂,但是大致的原理是一致的。⑴PC・A要发送数据包到PC・C的话,如果PC-A没有PC・C的IP地址,则PC・A首先要发出…个dns的诸求,路由器A或者dns解析服务器会给PC・A回应PC・C的ip地址.这样PC・A关丁•数据包第三壓的IP地址信息就个了:源IP地址:PC-A,II的ip地址:PC-c:(2)接下*PGA要知道如何到达PCC然后,PC-A会发送…个mrp的地址解析请求.发送这个地址解析请求.不是为『获得H标上机PC-C的MAC地址,而是把
12、谗求发送到了路由器A中,然后路由器A中的MAC地址会发送给源主机P