互联网协议总结

来源:互联网 发布:淘宝开服装店怎么进货 编辑:程序博客网 时间:2024/05/17 07:43

       开学是为期两周的课程设计,前一周没弄,后一周想弄的时间发现都只能弄一个简单的版本,不可能写大的项目。这次将课程设计总结如下,首先我想说几点,以便区分一下概念,而且这些东西对学习的方法也有帮助。很多东西深入研究之后,发现理科的东西也涉及到历史问题,由于现实社会在不断进步,一些概念也得到了延生,打个比方,就是我们现在说的交换机,路由,虽然名字没变,但早不是以前的交换机和路由,所以与书本上有所区别。

一.协议与协议栈

协议都是大家都共同遵守的标准。协议栈是什么?
协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议.
使用最广泛的是英特网协议栈,由上到下的协议分别是:应用层 (HTTP,TELNET,DNS,EMAIL等),运输层(TCP,UDP),网络层(IP),链路层(WI-FI,以太网,令牌环,FDDI等)tcp/ip协议栈

一台互联网主机之间的相互通信可以看出如下过程,整个过程由软件和硬件共同控制完成。

        我想大家对这两个图都非常熟悉,但对于程序员莫过于从底层看到协议栈的实现,从而更好的理解它。下面我用ethreal软件进行抓包分析,由于对网络了解甚浅,这个软件以前我也不知道,之所以选这个软件一是开源,二是我询问我们老师时,他推荐这款软件。这款软件原理是将网卡设置为混杂模式,抓取链路层的帧。下面进行我的抓包分析实例,我的系统为xp,以太网卡。

1.udp包    

 

  ethreal有对包的分析,根据以太网帧格式:

1.链路帧首部(12字节+2字节):

     目的mac地址:48-5b-39-b7-e2-db,源mac地址:e0-05-c5-1b-53-c8。

     类型:0x0800。注意这里是网络传输大端表示法,表示ip协议。

2.网络层首部(20字节):

    前面4为版本号,后4位为首部长度,单位为4个字节。故20 byte 。

    首部长度: 0x45               区分服务:0x00                                      总长度:0x002c即44 byte

     标识       : 0x95d4                                                                             标志:0x00 。片偏移:0x00

    生存时间: 0x38              协议:0x11 (udp)                                     首部效验和:0x1fa9

    源地址     : b6-25-55-11即182.37.85.17

   目的地址 :  c0-a8-01-65即192.168.1.101

   3.udp首部(8字节)。

     源端口:0x2c3a     源端口:0x1172        长度(2):0x0018  效验和(2):0xa568

   4.数据(16字节)

    4b.. ..  

  这里帧长为60个字节,应该一个异常帧,因为以太网有效帧最短为64个字节即12+2+46+4=64字节。而这里的ip包为44字节,最少要46字节,故ip报文出错。第一次抓包居然抓一个这样的包,看来人品不咋地。