TCP/IP网络协议部分 续二

来源:互联网 发布:淘宝网品牌运动鞋 编辑:程序博客网 时间:2024/05/08 14:07

    在前一节,我们简要的介绍了下网络的分层体系,及其OSI/TCP/IP的分层图,并对分层的各层做了个简要的描述。下面我们将重点的一起来了解应用层,网络层,传输层,数据链路层,物理层的功能。极其数据封装传输的细节,在各层的封装表示。通过详细的了解数据封装过程。对后面实现常用的网络应用如网络数据包过滤,防火墙实现,协议过滤,IP过滤,端口过滤,NAT应用提供强有力的支撑,一切都是基于这个理论来实现的。对于在上节提到的网络分层,如果理解很透彻,并对各层上协议有比较了解,那么你一定非常优秀。后面的一切都轻易的上手。

   

    我们还是以上图来介绍以下内容,结合图形和实际,将会更形象具体。涉及到网络里边有很多具体的细节,没有能力把所有的都介绍完,有兴趣的朋友,可以参考相关的资料了解详细部分。只了解我们需要使用到的部分,就已经足够了,其他的就靠自己去扩展了。在自己不段摸索和学习中,感觉有时间资料要多参考点,不局限于一种,以前自己对协议部分也不是很清楚,后来下了些资料,特别是网络分析,TCP-IP Analysis And Troubleshooting Toolkit.pdf

这本书非常不错,从测试,网络管理方面来进行分析。
       在这里我们主要用到网络层,传输层,数据链路层的协议及其封包数据。重点也是这3层的用到的。物理层就不需要我们过多的关注。在前面简要的描述了各层的功能,大体的了解,从总体上把握各层及其数据下发到下层到封装和数据从外部进入后的解包方向过程。对这个过程的理解,能帮我们后边进行开发,基于协议过滤,IP,端口过滤都奠定非常好的基础。
       首先我们从数据包由上到下的的封装过程介绍,到达目的计算机的过程。我们给出以下的一个数据包在数据链路层封装过程:
     
    以上图给出的是在Ethernet网中数据链路层对数据包的封装。具体的细节如Network Layer层,Transport Layer层的在后面我们在做介绍。数据链路层的任务主要有2个:从网络上接收一个数据链路征然后把他传递上层(网络层),或者将网络层数据接收到的数据传递到网络上。在数据链路层接收到所有的Frame后,他的下一步工作就是把数据交付给第3层的网络层,在网络层不只是IP协议,有可能还有其他网络层协议,如IPX协议等。在一个混合的网络环境中,他们用什么方法来将数据交付给一个正确的网络层协议来接收呢?在Etype字段中可以解决这个问题,他用来标识数据要交付给第3层的那个网络协议来接收。如Etype =0X0086(IP协议)(0X8137 IPX协议)。从另一方面来说,也就是数据链路协议可以携带多种网络层协议。正如以下所说: Data link protocols can carry multiple types of upper-layer protocols.
Note that Figure 1-4 shows Ethernet encapsulating both IP and IPX.
在图最左边的Date Link Layere层指示出了:
Destination Address—目的地址 6个字节目的计算机的MAC地址
Source Address-------  源地址 6个字节发送机 计算机的MAC地址
Etype        -------指示出上层协议类型。如 IP协议,(0800),IPX协议(8137)等。
Network Layer---------后面在做介绍
Transport Layer ------- 后面在做介绍
CRC---------------------冗余效验码 用来做数据效验的。
    今天由于时间的问题,就整理到此。在上面我们简要的介绍了下,这些都是基础的,也是非常重要的,我们后面写过滤中间驱动的时间就会应用到这些基础的知识。让我们一起探索其中的乐趣和奥妙吧。对于网络的应用,我想不只是纯技术的上的研究,把他们应用到实际的问题和产品应用中是我们最终的目的。
 
   OK!Good Evening!
原创粉丝点击