计算机基础

计算机内存:

地址编译器
读写控制器
存储芯片:
	核心:存储单元:0xffec3d01
内存颗粒如果有问题无法存储/控制模块地址解析问题/内存空间占满,都会导致无法正常执行程序
内存的抽象就是线性空间内的字节数组,通过下标访问某个特定位置的数据

CPU:

基板
核心
	控制器
		编译
	运算器
		计算
	寄存器
		告诉缓存L1/L2 速度远大于内存
		CPU时间片切分并非CPU控制,是由多线程技术以及操作系统调配
		并行更多依赖于CPU多核技术

网络协议

链路层
查看 ifconfig -a
链路层报头
	目标MAC地址 源MAC地址 网络层协议
帧上数据
	IP报头 IP数据 TCP报头 TCP数据 校验
数据帧,写入源和目标及其的物理地址,数据,校验位
网络层
子网内根据地址解析协议(ARP)进行MAC寻址,
子网外进行路由转发数据包,IP数据包
TTL 每经过一个路由-1,当值为0时,则丢弃
最大传输单元,不同物理网之间需要对iP报文进行分片,路由器完成功能

ICMP 命令:ping  tracert
传输层
TCP:面向连接的,一种端到端通过失败重传机制简历可靠数据的传输方式
UDP:面向无连接	
HTTP:80 HTTPS:443 SSH:22
netstat 命令:查看机器上已建立的连接信息
TCP
TCP报头
	原机器端口号   	目标机器端口号
	序列号 seq
	确认序列号 ack
	头部长度 保留  SYN ACK FIN PSH RST URG(标志)  本方滑动窗口大小
	校验和  紧急指针
	选项(发送方最大报文段长度和扩大接收方滑动窗口)
TCP数据
	数据
三次握手
listening																				listening
	A        				SYN=1 seq=x ->      								B
SYN_SENT			<- SYN=1,ACK=1,seq=y,ack= x+1			SYN_RCVD 
ESTABLISHED	ACK=1,sql=x+1,ack=y+1						ESTABLISHED	
							双向数据连接
TCP连接的建立是通过文件描述符(File Descriptor fd) 通过创建套接字获得一个fd(服务端接收一个连接体现在linux为一个fd)	
ulimit -n 命令:查看单个进程可以打开文件句柄的数量
查看当前系统各个进程产生多少句柄
lsof -n | awk '{print $2}' | sort|uniq -c |sort -nr|more
左侧为句柄中 右侧为进程号
ps -ax|grep 32764 查看PID对应的具体应用程序

TCP协议支持Keep Alive 最好将保持连接健康的行为放到应用层,通过定时心跳,确保系统资源有效利用

断开连接:
FIN=1,seq=u
ACK=1,seq=v,ack=u+1
												CLOSE_WAIT
FIN=1,ACK=1,seq=w,ack=u+1
FIN_WAIT_2
ACK=1,seq=u+1,ack=w+1
TIME_WAIT(等待2MSL)
建议TIME_WAIT设为小于30秒
net.ipv4.tcp_fin_timeout = 30
修改生效 /sbin/sysctl -p
查看各连接状态的计数情况 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
应用层
应用程序,以某种同一协议格式解读数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值