接上电脑只出现一个40多M的只读盘,存储容量为32G的显示不出来。
解决:设置-开发者选项-开启USB调试
那个MTP,WIN7装了好像没有用,可能是给winxp用的吧?
接上电脑只出现一个40多M的只读盘,存储容量为32G的显示不出来。
解决:设置-开发者选项-开启USB调试
那个MTP,WIN7装了好像没有用,可能是给winxp用的吧?
TCP格式:
伪首部-源端口-目的端口-序号-确认号-数据偏移-保留-状态码-窗口-检验和-紧急指针-选项-填充-数据
序号:TCP对传输的数据字段中的每个字节都进行编码。首部的序号就是第一个数据字节的序号。
确认号:下一个报文中第一个数据字段的编码,也就是上一个报文最后一个字段加1。
数据偏移:TCP首部长度。
保留:全0
状态码:
URG:URG=1表示紧急,立即发送数据。和紧急指针一起用。紧急数据放在数字段的最前面
ACK:ACK=1表示确认号有效。
PSH:PSH=1表示发送的数据接收端尽快交付给进程。
RST:RST=1表示重建连接。断开再连接。
SYN:SYN=1表示连接请求或同意连接。
SYN=1 ACK=0 连接请求;SYN=1 ACK=1 同意建立连接
FIN:FIN=1 要求释放连接。
窗口:用于流控
检验和:检验整个TCP报文。也要加上伪代码。和UDP相同。
紧急指针:指出紧急数据的最后一个字符。这样就知道哪些是紧急数据。紧急数据从第一个数据字段开始
选项:TCP只有MSS选项。
MSS:最大报文段长度
告诉对方最多能接收的多长的数据字段(是TCP里面的数据字段)。默认536B
网络上都能接受的报文段长度:556B:536+20
TCP拥塞控制
慢开始+拥塞控制
快开始+拥塞控制+快恢复
TCP连接和释放
连接
SYN=1,ACK=0,SEQ=X (后面传送数据的第一个数据字节序号为X+1)——->
<—–SYN=1,ACK=1,SEQ=Y,确认号=X+1
ACK=1,SEQ=X+1,确认号=Y+1———->
后面发的第一个报文的数据字段的序号就是X+1
释放
FIN=1,SEQ=X(左边发送的最后一个数据字段的最后一个字节的序号+1=X)——>
<——–ACK=1,SEQ=Y,确认号=X+1
<——–FIN=1,ACK=1,SEQ=Y,确认号=X+1 (进程通知对方释放连接)
ACK=1,SEQ=X+1,确认号=Y+1————>
运输层是通信的最高层,再上面就是进程。运输层通过端口和进程通信。
运输层的两端用插口(socket)标记。插口:IP地址+端口号。标记了IP和端口,通信才不会混乱。
netstat显示出来的socket就是这个。
UDP
UDP不使用拥塞控制,但其上层的应用层会提供措施来避免拥塞,如队列(栈)。
UDP和进程的通信使用入队列和出队列方式。入队列负责接收,而出队列负责发送。
如出队列满了,则暂停发送,如入队列满了,则丢弃后面的数据。这样也就起到了流控的作用。
使用两个队列是由于服务器和客户端使用不同的端口。所以要用不同的队列负责接收和发送。
UDP格式
伪首部|源端口|目的端口|长度|检验和
|
源IP—目的IP—1B的0填充—IP的协议字段17—UDP长度
伪首部:不存在,但是计算检验和的时候要用到。
端口号:用16bit标记,所以总共有65535个端口号。
长度:整个UDP长度(UDP首部+数据部分)
检验和:将整个UDP一起检验。
检验和算法:
1、检验和用0填充
2、UDP数据字段如不是4B的倍数也用0填充
3、按16bit一行排列。
4、由右向左按反码求和逐列计算。0+0=0;0+1=1;1+1=0但是产生进位1加到下一列。
5、求出的结果再取反码,就是检验和。
转载自:http://hi.baidu.com/liuweigang525/item/a8f7cdc1a2df832846d5c0bf
首先A卡要支持UVD(Unified Video Decoder),比较新的显卡应该都是支持到UVD2的,另外Lucid自带的ATI驱动在我的机器上不支持UVD功能。
cat /var/log/Xorg.0.log | grep UVD
如果输出如下字样
(II) fglrx(0): UVD2 feature is available
则表明支持驱动UVD特性
我的卡子在未安装ATI官方最新驱动ATI Catalyst Display Driver 10.4以前是不支持UVD2的。ATI驱动如何安装请参考ATI官方文档。
A卡现在在linux平台上能够进行硬解得益于intel与开源社区开发的 vaapi(Video Acceleration API),只要安装相应的后端驱动,vaapi可以支持A卡和N卡,A卡的后端就是xvba-video,N卡的后端是vdpau-video.
安装完ATI最新的官方驱动后,下载相应平台的libva包安装,当然也可以下载源码进行安装,http://www.splitted-desktop.com/~gbeauchesne/上有详细的说明。还要把 libva的开发包一并安装,因为后面编译带vaavpi扩展的mplayer要用到。我安装的是最新的 libva1_0.31.0-1+sds13_amd64.deb和libva-dev_0.31.0-1+sds13_amd64.deb
然后下载并安装xvba-video。安装完成后测试一下vaapi是否就绪
$ vainfo
我的输出如下
libva: libva version 0.31.0-sds6
Xlib: extension “XFree86-DRI” missing on display “:0.0″.
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA API – 0.6.11
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointIDCT
VAProfileMPEG2Main : VAEntrypointIDCT
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
最重要的是后面输出的profile,如果有内容输出应该问题就不大了。
最后就是让mplayer来支持vaapi了,发行版自带的版本目前是不支持此特性的,所以要重新编译。先执行
$sudo apt-get build-dep mplayer
然后下载mplayer-vaapi-latest-FULL.tar.bz2 ,解开后执行$ ./checkout-patch-build.sh即可。
编译完成后生成的mplayer在mplayer-vaapi目录下面。
$./mplayer -vo vaapi -va vaapi path_to_movie
如果有以下字样输出
VO: [vaapi] 1280×720 => 1280×720 H.264 VA API Acceleration
则说明硬件加速成功。
IPv6格式
基本首部|数据部分(数据部分包括:扩展首部和数据)
|
基本首部:40B
版本
通信量类:类别和优先级
流标号
有效载荷长度:2B,标记除基本首部外的长度。最大为64KB。所以IPv6最大65575B
下一个首部:标记协议或者第一个扩展首部的类型。
条数限制
源地址
目的地址扩展首部:
分为6种
放前面 ^ 逐跳选项
| 路由选择
| 分片
| 鉴别
| 封装安全有效载荷放后面 | 目的站选项
具体数据:
IPv6的分片是由源站完成的。
IPv6使用地址“::IPv4地址”来兼容IPv4地址
IPv6足够长,所以可以直接对MAC地址进行编码,所以就不使用ARP技术
IPv4向IPv6过渡的方法:
双协议栈技术
通过DNS系统来判断是IPv4还是IPv6地址
IPv4和IPv6的报头进行转换。
缺点:首部转换导致某些信息的丢失隧道技术
将IPv6封装到IPv4来进行数据传输。
IPv4的协议字段标记为41
路由器
构成:控制部分+交换结构
功能:路由选择+数据交换
RIP:
RIP协议是应用层协议。最大长度:504B
使用UDP协议传送,端口号:520。再封装到IP数据报中传输
RIP格式:
IP报头|UDP报头|RIP报文|
RIP首部:4B
命令:1:请求路由信息;2:对请求的响应和路由更新报文。
版本
必为0:填充到4B。路由部分:每个路由信息20B,每个RIP最多25个信息。所以RIP报文最大504B
地址族标识符:标记用哪个地址协议。如IP协议就标记为2
路由标记:自治系统的号码
网络地址
子网掩码
下一条路由器地址
距离
OSPF:
OSPF是网络层协议。
OSPF格式:
IP报头|OSPF报文|
OSPF首部:24B
版本
类型:5种类型hello分组:发现和保活邻站,10s发送一次。
-—————–以下为路由更新用
数据库描述:发送摘要信息
链路状态请求:请求详细路由信息
链路状态更新:发送详细路由信息
链路状态确认:确认收到详细路由信息分组长度:整个OSPF报文长度
路由器标识符:发送该分组的IP地址
区域标识符
检验和
鉴别类型:不用口令或者用口令
鉴别:0或者8个字符的口令OSPF数据:分组类型的具体内容
BGP:
BGP式应用层协议。
使用TCP传送,端口号:179
采用路径向量路由选择协议,构造出的式树形结构。BGP格式:
IP报头|TCP报头|BGP报文|
BGP首部:
标记:16B
长度:整个BGP报文长度:19B-4096B
类型:4种类型打开报文
更新报文
保活报文
通知报文BGP数据:各种类型的具体报文
关于互联网和因特网
互联网:多个网络相连而成的网络。
因特网:使用TCP/IP协议,将多个网络相连而成的网络
网络层的协议有:IP、ARP、RARP、ICMP、IGMP等
IP数据报报头格式:
版本
头部长度:4bit。每个单位代表4B,所以头部长度最长:15*4=60B
服务类型:8bit。优先级:3bit,
D :要求更低的时延
T :要求更高的吞吐量
R :要求更高的可靠性
C :要求更小的路由代价
未用总长度:16bit。表示一个IP数据包最大是64KB
由于数据链路层的MTU有限制,所以就有了分片的概念。
标识:发数据包时计数器的当前值。
同个数据包分片后其标识是一样的。这样就知道他们是同个包分出来的。
标志:分2种,MF=1后面还有分片;MF=0后面没有分片。
片偏移:分片后,每个分片的起始字节/8。如第二个分片从1400字节开始,则片偏移=1400/8=175
生存时间
协议:8bit。数据提交给哪个上层协议。
首部检验和
源地址
目标地址
可选
数据
CIDR:网络部分不分类,直接划分掩码。
ARP:
将IP传为MAC地址。
RARP:
无盘工作站:运行ROM里面有RARP程序—>获取IP地址—>下载所需的操作系统和TCP/IP软件等
ICMP报文格式:
IP报头|ICMP报文
|
类型–代码–检验和–相关类型的具体报文内容
类型:2种。差错报文和询问报文
代码:类型的值。差错报文有5种
询问报文有4种检验和:对整个ICMP报文进行检验
数据:根据不同类型不同的值写入不同的内容。
IGMP报文格式:
IGMP就是组播协议,用于视频会议等。
IP报头|IGMP报文
|
类型–响应时间–检验和–组地址
IP报头:里面使用的是D类地址。
类型:3种
EXCEL选项→高级→常规,取消对“忽略使用动态数据交换(DDE)的其他应用程序”的勾选
ucloner适用于ubuntu12.04,http://forum.ubuntu.org.cn/viewtopic.php?t=372432
软件下载地址:http://code.google.com/p/ucloner/
用软件之前先安装如下软件:
sudo apt-get install squashfs-tools
sudo apt-get install python-gtk2 zenity python-vte
备份:
打开./ucloner_gui.py
设置保存目录,设置要排除的目录即可。生成squashfs文件
还原
将squashfs文件和Ucloner复制到U盘
用同版本的光盘或U盘启动,ubuntu10.04-x86的系统用ubuntu10.04-x86的盘
设置存放目录,设置分区和grub等即可还原。
#目标系统可以不格式化,选current
#不格式化可以保护原先在盘里面的资料
还原的时候如果原先分区有多个盘,可以用命令行来设置还原
如分区如下
/ /dev/sda1
/home /dev/sda5
/usr /dev/sda6
/var /dev/sda7
swap /dev/sda8则还原命令如下
sudo ./ucloner_cmd.py mode=restore lang=cn restore_from=/media/disk-1/ubuntu-10.04.squashfs /=/dev/sda1 /_fs=ext4 /home=/dev/sda5 /home_fs=current /usr=/dev/sda6 /usrl_fs=ext4 /var=/dev/sda7 /var_fs=ext4 grubdev=/dev/sda swap=/dev/sda8
克隆
主要用于在多台配置相同的电脑中快速安装系统。
接上其他电脑的硬盘,然后分好区, 然后就可以克隆了。
克隆好后把硬盘接回其他电脑上就可以用了。
制作lived系统
不会
Ucloner和ghost的区别是:硬盘间操作,ucloner要先分区再还原。
分区最好用Gparted
本文被删除过,但觉得仍然有必要放上,所以重建了一次
注意:U盘只能格式化为FAT32,才能被识别