- 博客(13)
- 收藏
- 关注
原创 TCP定时器
一、TCP的7种定时器1、建立连接定时器(connection-establishment timer)2、重传定时器(retransmission timer)3、延迟应答定时器(delayed ACK timer)4、坚持定时器(persist timer)5、保活定时器(keepalive timer)6、FIN_WAIT_2定时器(FIN_WAIT_2 timer)
2017-07-21 22:44:56 357
原创 TCP握手与挥手
一、为什么需要三次握手刚开始学习TCP三次握手的时候,搞不懂为什么要三次握手,两次为什么会有问题。但如果client发出的第一个连接请求报文段并没有丢失,而是在某个网络节点长时间滞留着,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文后,就误认为是client再次发出的新的连接请求。于是就向client发出确认报文
2017-07-21 17:54:02 204
原创 判断元素出栈入栈顺序的合法性
思路:假设入栈序列{1,2,3,4,5},出栈序列{4,5,3,2,1};首先我们将入栈序列的第一个元素入栈,这是设置一个指针只想出栈序列的第一个元素,如果出入栈以后,栈顶元素和出栈指针所指向的元素相等,那么就让栈顶元素出栈,让指针++,最后判断栈为空就好,若为空,就说明是合法的,如果不是就是不合法。 代码如下:#include#include#includeusing
2017-07-21 15:55:49 560
原创 Shell实现数字互换和字母大小写互换
文件内容如下:123abc456456def123567adc789789def567要求输出:456ABC123123DEF456789ADC567567DEF789实现代码如下: #!/bin/bash while read line do part1=`echo $line | cut -c 1-3` part2
2017-07-15 19:30:11 1577
原创 Shell实现菲波那切数列
菲波那切数列大家一定也不陌生,我在这也就不多做解释了,下面我用三种方式实现菲波那切数列:1、递归方式: 28 if [ $# -ne 1 ];then 29 exit 1 30 fi 31 function fib() 32 { 33 local num=$1 34 [ $num -le 2 ] && 35 { 36 echo
2017-07-15 19:26:49 826
原创 Shell实现求最大值、最小值和平均数
实现代码如下: 1 #!/bin/bash 2 3 proc=`basename $0` 4 usage() 5 { 6 printf "usage: %s data1 ,,, datan\n" "proc" 7 } 8 if [ $# -lt 3 ];then 9 usage 10 exit 1 11 fi 12 13 max
2017-07-15 19:10:21 10073
原创 命令代换‘’和$()和eval命令
一、基本概念 由反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立即带环岛当前命令行中。$DATE='data'$echo $DATA例如定义一个变量存放data命令的输出命令代换也可以用$()表示:DATA=$(data)测试代码: #!/bin/bash 2 3 DATE1=`date1` 4 DATE2=(date2
2017-07-14 21:18:19 387
原创 Linux下的shell进度条
一、关于ShellShell的作用是解释执行用户的命令,它有两种执行命令的方式:交互式和批处理。Shell脚本和编程语言很相似,也有变量和流控制语句,但Shell脚本是解释执行,不需要编译,Shell程序从脚本中逐行读取并执行命令,相当于一个用户把脚本中的命令逐行敲到Shell提示符下执行。二、进度条1、概念进度条即计算机在处理文件时,实时的,以图片方式显示处理的速度,完成度。
2017-07-14 20:22:55 602
原创 TCP协议字段中的URG和PSH
一、基本概念 URG紧急指针,当URG=1时,表明分段中有紧急数据应当加速传送。URG=0时,紧急指针没有意义。 PSH紧急位,当PSH=1时,要求发送方马上发送该分段,而接收方尽快将报文交给应用层,不做队列处理。二、两者区别: URG=1,表示紧急指针指向包内数据段的某个字节(数据从第一个到指针所指字节就是紧急数据),不进入接收缓存(一般
2017-07-08 20:01:44 663
原创 Linux下的crond和crontab
一、基本概念1、crondcrond的概念和crontab是不可分割的。crond是一个命令,常见于Linux/Unix系统之中,用于设置周期性被执行的命令。crontab命令常用于从标准输入设备中读取指令,并将其存放于“crontab”文件中,方便今后的读取和查询。crond则正是crontab的守护进程。二、功能crontab在一定的时间间隔调度一些命令执行。cro
2017-07-02 13:19:32 231
原创 网络端口分类
一、网络端口 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口等等;二是逻辑意义上的端口,一般指TCP/IP协议中的端口,端口号的范围从0到65535,比如,用于浏览器网页服务的80端口,用于FTP服务的21端口等等。二、端口分类(1)公认端口:从0到10
2017-07-01 12:14:04 350
原创 NAT技术与代理服务器调研
一、NAT技术1、基本概念 NAT(Network Address Translation)网络地址转换,当在专用网内部的一些主机本来已经分配到了本地的IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,他至少有一
2017-07-01 12:05:57 263
原创 CRC校验
一、什么是CRC校验 CRC即循环荣誉校验码(Cyclic Redundancy Check):是数据通讯领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC的基本原理: 在K位信息码后拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G
2017-07-01 11:46:09 329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人