网络编程
程序员面试宝典 + 剑指Offer + 算法100题系列 + 15个经典算法 PDF版
OSI 七层网络协议 Open System Interconnect 开放系统互联参考模型
TCP/IP 4 / 5 层 网络模型
个人理解 方便记忆:
物理层 主要是定义 物理标准 如 光纤传输速率 进行模数转换 0 1 01 --》 高低电平 网卡在这一层
数据链路层 校正错误的比特流 --》 转化为 帧 交换机在这一层
网络层 进行网络地址分配 将数据帧转换为数据包 IP 协议在这一层
传输层 对于数据包中的 海量数据进行切割 segment 排序 传输 TCP UDP 在这一层
会话层 不同机器间 建立及管理通信 RPC SSL 协议在这一层
表示层 不同系统 如 Linux --》 windows 之间进行 翻译 转换 , 加密解密 , 压缩解压缩
应用层 如果没有它 那么数据仍然能够进行传输 只是 只能够传输 0 1 这样的 值 HTTP 在这一层
三次握手
四次挥手
查看 TCP 各种状态下 的 连接数
netstat -n | awk '/^tcp/{++S[$NF]}END{for(a in S) print a, S[a]}'
滑动窗口
RTT(Round Trip Time):一个连接的往返时间,即数据发送时刻到接收到确认的时刻的差值;
RTO(Retransmission Time Out):重传超时时间,即从数据发送时刻算起,超过这个时间便执行重传。
RTT和RTO 的关系是:由于网络波动的不确定性,每个RTT都是动态变化的,所以RTO也应随着RTT动态变化
UDP
比较 TCP 与 UDP
1. UDP 面向无连接 , 而 TCP 面向连接
2. TCP 是 握手确认 重传 确保传输可靠
3. TCP 最终会排序
4. TCP 额外做 排序 重传等 所以 慢于 UDP (适合 在线视频 媒体 多人在线游戏)
5. TCP 重量级 , UDP 轻量级协议
HTTP 常见面试题
跨平台的基础
javac 编译
java 运行
javap 反编译
如果有来生,一个人去远行,看不同的风景,感受生命的活力。。。