网络实验指导icmp协议的分析与实现

网络实验指导icmp协议的分析与实现

ID:12642635

大小:78.50 KB

页数:10页

时间:2018-07-18

网络实验指导icmp协议的分析与实现_第1页
网络实验指导icmp协议的分析与实现_第2页
网络实验指导icmp协议的分析与实现_第3页
网络实验指导icmp协议的分析与实现_第4页
网络实验指导icmp协议的分析与实现_第5页
资源描述:

《网络实验指导icmp协议的分析与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验:ICMP协议的分析与实现[实验目的]分析ICMP报文,理解ICMP协议在Internet网中的具体应用及其实现原理,深入了解TCP/IP网络的容错控制;学会运用网络套接字Winsock开发网络通信程序。[实验内容]使用VisualStudioC++6.0和网络接口套接字Socket进行Windows环境下的网络编程,运用原始嵌套字RAW_SOCKET从IP层开始构造整个ICMP报文,通过ICMP协议所提供的回送请求(echorequest)和回送应答(echoreply)这两种报文实现检测目的站的可达性与状态。1.IP报头、I

2、CMP报文的基本描述IP协议并不能保证绝对的可靠,所以就设计了ICMP协议,进行差错报告.ICMP消息使用IP头作为基本控制.IP头的格式如下:012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3、Version

4、IHL

5、TypeofService

6、TotalLength

7、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

8、-+-+-+-+

9、Identification

10、Flags

11、FragmentOffset

12、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

13、TimetoLive

14、Protocol

15、HeaderChecksum

16、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

17、SourceAddress

18、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

19、-+-+-+-+-+-+-+-+-+-+-+

20、DestinationAddress

21、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Version=4IHLInternet头长TypeofService=0TotalLengthIP包的总长度Identification,Flags,FragmentOffset用于IP包分段TimetoLiveIP包的存活时长ProtocolICMP=1HeaderChecksum头校验和(检查整个IP报头)Addre

22、sses发送Echo消息的源地址是发送Echoreply消息的目的地址,相反,发送Echo消息的目的地址是发送Echoreply消息的源地址.10Echo或EchoReply消息格式如下:012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

23、Type

24、Code

25、Checksum

26、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

27、+-+-+-+-+-+

28、Identifier

29、SequenceNumber

30、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

31、Data

32、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Typeecho消息的类型为8echoreply的消息类型为0.Code=0Checksum为从TYPE开始到IP包结束的校验和,也就是校验整个ICMP报文Identifier如果code=

33、0,identifier用来匹配echo和echoreply消息SequenceNumber如果code=0,identifier用来匹配echo和echoreply消息功能描述:收到echo消息必须回应echoreply消息.identifier和sequencenumber可能被发送echo的主机用来匹配返回的echoreply消息.例如:identifier可能用于类似于TCP或UDP的port用来标示一个会话,而sequencenumber会在每次发送echo请求后递增.收到echo的主机或路由器返回同一个值与之匹配2数据结

34、构(1)IP报头格式//定义IP首部typedefstruct_iphdr{unsignedcharh_lenver;//4位IP版本号+4位首部长度unsignedchartos;//8位服务类型TOSunsignedshortto

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。