Dylan's ...

Be honest with yourself and then the world.

背景介绍

JDK1.5开始的java.util.concurrent包(简称J.U.C包)提供了大部分同步器的构建源框架类:AbstractQueuedSynchronizer,简称AQS类。我们使用到的大部分同步器都会有一个实现了AQS的子类。

Read more »

简介

对于了解过TCP/IP协议的来说,会注意到部分协议头中的checksum字段,如TCP, IP等。那么checksum是什么、为什么被使用、如何计算出来, 对这些问题做一个简单的讲述。

回顾

IP头结构的理解,详见本本站一篇IP头的结构文章。简单的归纳就是32bit倍数的数据, 最大头长度位数数据是4bit-IHL(单位是4字节即32bit)那么最大15*32bit=60字节;最小无可选数据为20字节。

数据结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 0                   1                   2                   3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

我们看比较关注的几个字段:
Header Checksum, header checksum占用16bit数据空间。
Padding:补充数据,确保为32bit的倍数,那么头数据肯定也是16bit的倍数。
其他字段本文暂且用不到,如需详细了解请看另一篇文章。

定义及描述

什么是checksum, 校验和是一个用来检测数据是否和原来一致的一个值, 它的位数16bit,根据数据计算出来的。因为数据在网络上传输存在误码或者错误,那么需要一个检测值在包头判定数据是否正确。
我们把包头数据按照16bit分组,然后对每组数据按位求和, 那么这个值可认为为校验和。

IP头checksum计算方式

当发送端发送数据的时候,把checksum数据位置为0,IP头数据按照16bit分组计算出校验和值;接收端接收到的头数据同样按照16bit分组,计算出每组的反码并求和, 如果ip头在传输中不存在数据错误,那么计算结果应该全为1。

总结及后记

校验和是一种数据有效性的检测手段,优点对比MD5/CRC等是计算快速,缺点是并不能完全的保证数据的正确性, 需要应用协议或者程序去保证。 亚马逊S3某次故障中就出现内网传输数据bit错误导致的问题,所以应用层做数据校验。


版权声明:本文为博主原创文章,未经允许不得转载。

最近面试

今年年后最近面了好多人员,自己有一些准则:
基本原则
​ 优先考察考察基本能力、潜在能力,思考和学习能力。对应届生尤其重要
掌握的知识面的宽广和相关知识面的深入程度。不过分的追求掌握的多少
简历内容及所述符合实际,不实者慎重或不考虑
相关内容由浅入深,专业性或者职位要求较强的,可有相关类型的考察
语言表达、对待事情的态度、责任心等相关软素质

面试注意事项
​ 提前review候选人简历,做好相关面试准备,先有介绍,主要经历中贡献了什么,解决了什么。若考察风格没有太多的不妥,可按个人的风格考察,如遇到相关迟疑,可提示相关信息,看候选者的理解和分析能力,围绕候选者掌握情况,考察如何分析和处理相关问题

不是知识,是搜索和学习知识的能力
不是答案,是解决问题的思路和方法
通过后给到下一面试官,不通过送走。做好相关面试记录

新的一年

还是这句话给自己 be honest with yourself and then the world.

日常-早上出门

每天早上出门,lp总说我穿的漂漂亮亮做什么,说!什么意图

sign

过完十一后的几天, 今天拿到驾照了,北京这边周期还挺短的,一个半月左右

情绪

控制到情绪是多么困难的事情吗

协议卷1备注笔记

四层网络应用模型

1.应用层 ftp email telnet
2.传输层 TCP UDP
3.网络层 IP(ICMP IGMP)
4.链路层 设备驱动程序及接口卡(arp-地址解析协议 rarp-反地址解析协议)
传输层提供端到端, IP层提供点到点

Read more »
0%