你的位置:pcMing工作室 >> 资讯 >> 网络技术 >> 详细内容 在线投稿

TCP/IP解析(附图)

排行榜 收藏 打印 发给朋友 举报 来源: 互联网   发布者:未知
热度1702票  浏览276次 【共0条评论】【我要评论 时间:2010年2月12日 20:15
数据链路层:
(以太网示例)
 
PS:以太网的MTU是1500,一个以太帧最长是1518字节(加MAC头和CRC),最短是64字节(加MAC头和CRC)也就是说数据没有46字节时,链路层会进行填充。
        “类型”字段表示上层协议,可以用来将数据报进行分用,IP层也有类似的字段。
 
 
IP层
 
PS:“4位版本”表示IP协议的版号,一般为4;  “首部长度”表示IP头是由多少个32bit组成,就是这个限制了IP头最长为60字节(32bit×15),“服务类型(TOS)”包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TOS子字段和1 bit未用位但必须置0。4 bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。
        “16位总长度”表示IP数据报的总长度(包括IP头),是必要的字段,比如在以太网中,IP数据报没有46个字节,而用这个字段可以把不是IP数据的链路层填充给去掉。这是个限制呢,就算你链路层的MTU再大,IP数据报也只能是65535字节。如果MTU比IP数据报小,那会进行IP分片操作。
        “16位标识”表示IP数据报的一个唯一ID。通常每发送一份报文它的值就会加1
        “3位标志”
        “TTL”表示这个IP数据报可以经过多少个路由器转发,当一个TTL为1的数据被直接传递给路由器时,路由器就会判断这个数据报是否可以直接传递给目标IP,如果不行就会将TTL减1,这时TTL为0了,就丢弃这个数据报并发送一个ICMP消息回源地址,不为0时可以转发给下跳路由器。TRACERT就是用这个原理了,它将从一个TTL为1的数据报递增TTL发送。
        “协议”表示上层协议,根据它可以识别是哪个协议向I P传送数据。
        “首部校验和”是根据I P头计算的检验和码。它不对IP头后面的数据进行计算。I C M P、I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。
        “选项字段”这些选项很少被使用,并非所有的主机和路由器都支持这些选项。选项字段一直都是以32 bit作为界限,在必要的时候插入值为0的填充字节。这样就保证I P首部始终是32 bit的整数倍(这是首部长度字段所要求的)。
 
 
 
 
 
UDP
     
 
 
 
 
    在这里最有意思的是那个16位的“检验和”了,为了这个“检验和”UDP和TCP都会设置有一个“伪首部”,“伪首部”并不实际占用数据报的空间,它包含一些IP层的字段,目的是为了再次检验IP层是否正确处理了数据报。还有就是UDP的“检验和”是可选的,其它协议都是必需的,如TCP,ICMP,IGMP。
 
 
 
TCP
 
TAG: TCP
顶:85 踩:92
对本文中的事件或人物打分:
当前平均分:-0.32 (562次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.29 (494次打分)
【已经有469人表态】
74票
感动
57票
路过
55票
高兴
53票
难过
63票
搞笑
52票
愤怒
54票
无聊
61票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】

相关资讯

网络资源