文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术网络协议TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议
精品推荐
特别推荐
·ISIS路由协议
·Telnet入侵最完全手册
·网络协议基础知识 SMTP协议和UDP协议
·新的宽带认证方式——IEEE 802.1x协议
·ARP协议揭密
·网络沟通的桥梁-协议X档案
·TCP/IP协议简介
·NGN网络协议解析
·HTTP协议基础
·电子商务安全协议
·SSL协议介绍
·SIP、SAP及SDP协议组合应用的研究
·在Windows 2000 Server中配置TCP/IP协议
·Catalyst8500配置实例之HSRP协议培植
·计算机网络体系层次结构的划分
·OSPF计算路由
热点TOP10
·Ad Hoc网络协议栈通用要求研究
·关于Sniffer Pro
·RFC791 - Internet Protocol
·在Windows 2000 Server中配置TCP/IP协议
·透析ICMP协议(四): 应用篇ping(RAW Socket)
·传输控制协议(Transmission Control Protocol, TCP)
·对BitTorrent通信协议的分析与检测
·完全用Linux工作 摈弃Windows
·ISIS路由协议
·TCP/IP协议原理
·Telnet入侵最完全手册
·RFC4098 - Terminology for Benchmarking BGP Device Convergence in the Control Plane
·RFC3447 - Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1
·闭路电视监控系统CCTV资料
·IRIS Traffic Analyzer简易教程
·新的宽带认证方式——IEEE 802.1x协议
·HTTP协议基础
·新一代的AAA协议——Diameter
·IP PBX方案篇
·ARP协议揭密

TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议

日期:2007年5月5日 作者: 查看:[大字体 中字体 小字体]



  IP数据报的检验和:
  为了计算一份数据报的I P检验和,首先把检验和字段置为0。然后,对首部中每个16 bit进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当收到一份I P数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。
  
  这个是原文。看一些网络程序的源码时,发现几乎都是用同一种程序来计算检验和的:
  
  USHORT checksum(USHORT *buffer, int size) {
  
  unsigned long cksum=0;
  
  while(size >1) {
  cksum+=*buffer++;
  size -=sizeof(USHORT);
  }
  
  if(size ) {
  cksum += *(UCHAR*)buffer;
  }
  
  cksum = (cksum >> 16) + (cksum & 0xffff);
  cksum += (cksum >>16);
  return (USHORT)(~cksum);
  }
  
  ICMP协议,基本格式:
  -------- IP 数据报 ------------+
  +--20 bytes --+----------------+
  + IP首部   + ICMP 报文   +
  +------------------------------+
  
  ICMP报文还是通过IP报文发送出去的。
  
  ICMP的格式:
  
  +----8---+----8---+-------- --------+
  + 8位类型 + 8位代码 +  16位检验和  +
  +-----------------------------------+
  + 不同类型有不同的内容和长度      +
  +-----------------------------------+
  
  ICMP的报文类型有很多种,而每种类型里又有多种代码。
  
  报文分查询报文和差错报文。差错报文不会嵌套产生。差错报文中包含导致差错的IP首部和数据部分的前8个字节,并据此与具体的协议和进程联系起来。因为TCP和UDP的前8个字节中包含有源端口和目的端口,可以据此查找到与此联系的用户进程。大部分的实现中只返回8个字节,有系统返回的是前64个字节。如果是UDP报文产生差错,而又没有预先通过 connect与指定端口联系起来,用户进程将收不到这个差错报文。内核在处理后将丢弃。
  
  讨论了部分tftp实现中的的简单的差错重传机制,等待5秒重传,已被RFC禁用。我在串口通讯中用的还是这种简单的重传方式,看来要改了。
  
  详细讨论了时间截请求与回复的过程,以及地址掩码请求与回应数据包的格式。对端口不可达错误,差错报文为:
  
  +----------------- 端口不可达的ICMP差错报文 -------------------------------+
  + 以太网首部 +    IP首部  + ICMP首部 + 产生差错的IP首部 + IP报数据域 +
  +- 14 bytes +--- 20 bytes ---+ 8 bytes +---- 20 bytes ----+-- 8 bytes -+
  
  根据标准,列出5种情况下,不会产生差错报文,基本上都是为了避免出现ICMP广播风暴的。
  
  这个协议因为类型与具体的细节太多,比较的费事,不过也比较简单。如果不做协议的分析,倒不需要对每个类型都搞得十分清楚。好像这个并没有多少利用的空间。不过如果在一个主机试图发起连接时,发送一个伪装的ICMP包告诉它“端口不可达”,结果会怎么样?值得试试。
  
  第2卷 第13章 HTTP协议
  这一章对HTTP的请求与响应格式做了简单的介绍。由于所有传送的内容基于ASCII,虽然也会传送其他二进制,如图片,MIME文件,但是其本是还是可以从请求或响应头中看出传送的类型,分析起来就没什么难度了。这些可以用 telnet 或者 nc做一个真实的会话过程。把后面一章(第2卷第14章 HTTP服务器的分组)看完,准备自已动手做一个小的Web服务器。公司下一步的计划是把大部分的硬件都做成可直接由浏览器操作的。而这些必须要由一个 web服务器来驱动。我是作软件的,本来不需要我去关心这个。不过自己动手作一下,实践一下总不是坏事,而且可以跟他们交流一下。

(出处:清风网络学院






上一篇:PPP协议涉及到的几个典型压缩技术

下一篇:网络沟通的桥梁-协议X档案

TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议 相关文章:
·教你学习如何破解XP登陆密码
·直面笔记本电脑购买中的猫腻
·BIOS详解
·图文详解 Windows 2003服务器集群安装
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·笔记本电脑无线上网解决方案大比拼
·基础知识 初级黑客安全技术命令详解
·学习SQL语句之SQL语句大全
·Linux常用命令详解
·我的oracle笔记四(DBA管理)
TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议 相关软件:
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·洪恩轻松教你学电脑_internet学习
·鸟哥的linux私房菜:基础学习篇
·新东方演讲录 俞敏洪老师学习英语与人生奋斗
·fdisk分区详解电子书教程
·硬盘分区与格式化详解
·AutoCAD2002入门与实例详解
·TCP-IP详解卷1:协议
·zemax教学视频和学习笔记
·笔记本维修教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot