- 博客(12)
- 收藏
- 关注
转载 TCP缓冲区
一. read/write的语义:为什么会阻塞?先从write说起:#include ssize_t write(int fd, const void *buf, size_t count);首先,write成功返回,只是buf中的数据被复制到了kernel中的TCP发送缓冲区。至于数据什么时候被发往网络,什么时候被对方主机接收,什么时候被对方进程读取,系统调用层面不会给予任何保证
2017-12-15 11:52:41 3478
转载 TCP状态深入-TCP系统设置
TCP连接过程是状态的转换,促使发生状态转换的是用户调用TCP三次握手和四次握手的状态迁移在任意时刻发生丢包或者重复包时,TCP/IP的处理策略Linux系统调用对TCP/IP可以进行哪些设置,主要针对哪些方面的优化TCP基本知识点TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2581定义TCP提供可靠性保证TCP发送数据
2017-12-15 10:18:48 2021
转载 TCP状态和常见攻击方式
一.TCP状态首先需要了解TCP中有哪些状态每个状态都有什仫意义?下面就来详细的介绍。。。1).CLOSED:表示初始状态.2).LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接受连接。3).SYN_RCVD:这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上
2017-12-14 15:39:17 10099 2
转载 TCP三次握手和四次挥手
16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返回地址。16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。我们知道端口号就是标识特定主机上的唯一进程的,而IP地址是用来标识网络中的不同主机的,这两个源和目的端口号和IP首部中的源和目的IP地址则标识互联网上的唯一进程,所以套接字的定义说白了
2017-12-14 11:41:35 136
转载 ICMP
ICMP是(Internet Control Message Protocol)Internet控制报文协议。基于IP。应用一:ping。ping这个单词源自声纳定位,而这个程序的作用也确实如此,它利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间。应用二:traceroute
2017-12-14 11:07:02 490
转载 ARP
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表.动态ARP 保存10分钟(有的20分钟),静态ARP一直保存。查看arp –g增加静态:arp -s Ip 物理地址删除静态:arp -d IpARP欺骗:攻击机发送ARP应答,让其他机器更新mac,从而让报文都
2017-12-14 10:13:12 258
转载 IP报文格式
版本:IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。相同版本的ip号才能进行通信首部长度:IP报头的长度。单位为4字节,固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。
2017-12-13 15:55:22 940
转载 计算机网络与协议
下面是协议层从底层至顶层的一个模型图:七层OSI模型是理论分层,4层是TCP/IP常用概念是实际运行概念。注意:OSI(Open System Interconnection)是网络;国际标准化组织(ISO)是组织。1.物理层---电信号作用:传输比特流,提供1,0的数模,模数转换,及传输。对应设备:网线、HUB、集线器协议:RS-443 、RS-232C、RS
2017-12-13 10:39:44 510
转载 排序算法及巨量数据排序
https://www.cnblogs.com/eniac12/p/5329396.html http://www.cnblogs.com/eniac12/p/5332117.html这两篇文章将排序做成动画,讲的很好。但其中多个算法用了递归算法,实际运用中,深度不能太深。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2)
2017-12-12 15:52:00 686
转载 gdb和coredump
编译时加-g选项,如:cc -g hello.c -o hellog++ hw.cpp -g -o hwgdb在线参考:http://sourceware.org/gdb/current/onlinedocs/gdb/启动GDB的方法有以下几种:1、gdb program也就是你的执行文件,一般在当前目录下。2、gdb core用gdb同时调试一个运行程
2017-12-12 11:07:29 229
原创 GCC与G++
经常会有人把 GCC和G++搞混淆,这里澄清一下。GCC 原名为 GNU C 语言编译器(GNU C Compiler),只能处理 C语言。GCC 很快地扩展,变得可处理 C++、Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。GCC适合所有操作系统:如
2017-12-11 12:02:17 145
原创 NVIDIA粗浅理解
A卡指的是ATI,一个显卡厂商,但ATI被AMD收购之后,我们也把A卡称之为AMD显卡;N卡指的是NVIDIA(英伟达),另一个显卡厂商。N卡的GPU中每个流处理器都具有完整的ALU(算术逻辑单元)功能,在发出一条操作指令时每个流处理器都能充分工作。而A卡的GPU中每个流处理器的5个流处理单元都是固定的,不能拆开重组。最近cuda编程在AI行业应用较多,比较热。接触的两个应用。
2017-12-02 17:04:03 391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人