通信工程tcp(2)期末复习(3)

2019-08-02 00:05

● 不分片位:表示该数据报是否被分片,如果被置为1,则不能对数据报进行分片,如果要对其进行分片处理,就应将其置为0。

● 更多片位:除了最后一个分片,其他每个组成数据报的片都要讲该位置为1. 片偏移:该分片相对于原始数据报开始处位置的偏移量。

生存时间:设置数据报可以经过的最多路由器数,它指定了数据报的生存时间。生存时间由源主机指定,在数据报传输过程中,每经过一个路由器,该值就减1,当该字段的值为0时,数据报就会被丢弃,并发送ICMP报文通知源主机。

协议:向IP层传输数据的协议类型,常见协议类型的值:表示 1. ICMP协议表示 2. IGMP协议 3. 表示TCP协议 4. 表示UDP协议

首部许校验和:校验接收到的IP数据报是否有差错。 源IP地址:源主机的IP地址。 目的IP地址:目的主机的IP地址。

选项:该字段是数据报中的可选字段。这也是前面所说的IP首部长度一般为20B的原因。目前这个选项有如下定义:

1)安全和处理限制(用于军事领域) 2)记录路径 3)时间戳 4)宽松的源站选路 5)严格的源站选路

五、重点要掌握的内容

IP报文分段原理及实现 IP报文重组原理及实现

(教材第9章中重点要理解的函数) append_data() msg_find() msg_frag_intern() msg_frag_queue() struct usermap struct mfq struct msg_hdr

六、协议分析实例

0x0000 00 1B 11 A6 BE 54 00 18-F3 DD 43 69 08 00 45 00

0x0010 00 20 D5 56 00 00 80 01-59 B2 C0 A8 00 8D CA 73

0x0020 80 2B 08 00 1B 39 04 00-14 00 61 62 63 64

协议分析示例

-(1) 该以太帧源

MAC地址和目的MAC地址分别是多少?

源MAC地址00 18 F3 DD 43 69 目的MAC地址00 1B 11 A6 BE 54

-(2)该以太帧的什么字节位置的值表示其承载的是IP报文?

第13、14字节08 00 表示其是IP报文

-(3)该IP报文的头部有选项内容吗?

由头部长度ihl为5得知头部长度为最小20字节,所以没有选项内容。

-(4)该IP报文分段了吗,为什么?

由分段标识frag为000,得知该报文为可以分割的报文且后面没有报文,由片偏移为0 0000 0000 0000,得知这是第一个报文,所以得知这个报文没有被分割。

-(5)该IP报文的头部和数据各是多少字节?

由头部长度ihl为5得知头部长度为5×4=20字节。总长度字段tot_len为0x 00 20 得总长度32字节。数据长度=总长度-(ihl×4)=12。

-(6)该IP报文的检验和按主机字节序表示,应是多少?

检验和check字段为59 B2,由于主机采用小端字节序,所以主机字节序为B2 59。

-(7)该IP报文的ID是多少?

由标识号D5 56 得知该报文ID为54614

-(8)该IP报文的服务类型(type of service)是多少?

由区分服务00 得知 服务类型是00.表示没有服务。

七、内容提要

int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt) {

struct iphdr *iph;

if(skb->pkt_type==PACKET_OTHERHOST)……………………………………………(1) goto drop; …,

if(!pskb_may_pull(skb,sizeof(struct iphdr)))……………(2) goto inhdr_error; iph = ip_hdr(skb);

if(iph->ihl<5||iph->version!=4)…………………………………...(3) goto inhdr_error;

if(!pskb_may_pull(skb,iph->ihl*4))…………………………………………(4) goto inhdr_error; iph = ip_hdr(skb);

if(unlikely(ip_fast_csum((u8*)iph, iph->ihl))) goto inhdr_error;

len = ntohs(iph->tot_hen);…………………..(5) if(skb->len

IP_INC_STATS_BH(IPSTATS_MIB_INTRUNCATEDPKTS); goto drop;

}else if(len<(iph->ihl*4))…………………………………………(7) goto inhdr_error;


通信工程tcp(2)期末复习(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:齿轮习题2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: