因为自己技术不足,同时选择了考公而失去了进大厂最好的一次机会。后续觉得人生就是要闯,公务员也不是躺平的,也是要工作的,既然如此,为什么不选择去社会历练,选择更有挑战的生活,目标进大厂,自己的学历不会拖后腿,缺的是硬实力,目前在个中小企业工作,每天争取学习2小时以上,把之前由于懒惰而失去的知识点重新捡起,同时补充自己开发技术栈,相信自己既然有能力考取研究生,肯定可以达到目标。记录一条重零开始,社招进大厂的经历。
参考课程
- 《计算机网络微课堂》:https://www.bilibili.com/video/BV1c4411d7jb
从1.19开始,每天下班尽量学习两个小时,到今天1.30,把计算机网络的课程看了,感受就是老师讲的很清晰,不知我当初本科的老师讲的如何,可能也讲的不错,只是自己懒惰,不听课;这老师还有习题练习,是考研408的题目,个人感觉,这个课程也挺合适考研的同学听,听完再去刷题,会有新的感受。
同时记了点笔记,现在把笔记梳理下。
计算机网络总体概述
三种交换方式
- 电路交换
- 报文交换
- 分组交换
性能指标
- 速率
- 速率中的数据量MB=2^20B
- 数据率MB/S=10^6b/S
- 宽带
- 吞吐量
- 时延
发送时延+传播时延+处理时延 - 时延带宽积
- 往返时间
- 利用率
- 丢包率
网络体系结构
法律上:OSI七层 实际上是:TCP/IP四层
方便讲解:原理体系结构 为什么要分组
- 物理层:解决使用何种信号来传输比特问题
- 数据链路层:解决分组再一个网络上传输问题
- 网络层:解决多个网络桑传输路由问题
- 运输层:解决进程之间基于完了过的通信问题
- 应用层:解决通过应用进程的交互来实现特定网络应用问题
专用术语:
物理层
解决使用何种信号来传输比特问题
四个特性:
传输方式
-
计算机网络:串行传输 -
计算机内部:并行传输 -
同步传输 -
异步传输 -
单工 -
半双工 -
全双工
编码与调制
编码:把信号转成数字信号
- 不归零编码
- 归零编码
- 曼彻斯特编码:跳变表示信号发生变化
- 差分曼彻斯特编码:跳变为始终,码元开始处是否变化表示数据,不变是1
调制:把信号转成模拟信号
- 调幅
- 调频
- 调相
混合调制:正交振幅调制QAM(调幅+调相结合)
信道极限容量: 使用奈氏准则+香农公式
数据链路层
三个重要问题(点对点)
差错检测
可靠传输
- 停止等待协议
- 超时重传
- 确认丢失
- 回退N帧协议
- 选择重传协议
点对点协议
媒体接入控制
- 码片序列必须各不相同
- 码片序列必须正交
A与D正交获得1--------------->发送了1 B与D正交获得-1------------->发送了0 C与D正交获得0--------------->没发
动态接入控制
随机接入 CSMA/CD 多址接入载波监听碰撞检测
MAC地址:网卡地址
IP地址
ARP协议
IP------->MAC
集线器和交换机的区别
交换机的自学习
- 有-------->转发
- 无-------->洪范
- 经过就放入储存表
以太网交换机的生成树协议STP:自动计算并构建一个逻辑上没有环路的网络
虚拟局域网VLAN
目的:隔离广播域,路由器可以实现,可是贵,因此使用VLAN技术
在交换机上实现(打标签,去标签转发) 处理IEEE 802.1Q帧
交换机端口类型
- Access端口:连接主机接口
- Trunk端口:连接交换机之间的接口
网络层
解决问题:向上层提供怎样的服务;寻址问题;路由选择问题
两种服务
- 面向连接的虚电路服务
- 无连接的数据报服务(因特网)
IPV4地址
分类地址
划分子网的IPV4
子网掩码+IPV4地址 使用子网掩码把一个网络划分多个
无分类编址IPV4
消除ABC类,使用CIDR斜线记法
例:128.14.35.7/20 20网络前缀,32-20=12位主机号
路由聚合:使用CIDR把IP聚合
默认网关:默认路由器IP
路由协议:
RIP原理
跳数衡量网络距离
OSPF原理
最短路径优先算法 每个路由器产生链路状态报告 ‘
BGP原理
构建一个并非最佳的线路,不兜圈即可
网际控制报文协议ICMP
五种:
- 终点不可达
- 源点抑制
- 时间超过
- 参数问题
- 改变路由
应用:
虚拟专用网VPN与网络地址转换NAT
- VPN----->构建私有网
- NAT------>私有网------>公有网(路由器实现)
运输层
为应用进程提供服务
UDP和TCP对比
UPD | TCP |
---|
无连接 | 面向连接 | 支持一对一,一对多,一对全 | 一对一 | 面向应用报文(不合并不拆分) | 面向字节流(合并拆分) | 不可靠服务 | 可靠服务 | 首部8字节,简单 | 首部复杂,20-60字节 |
TCP流量控制
目的:'让发送方别发太快 方法:接收窗口,发送窗口 注意:零窗口通知----->持续计时器----->零窗口探测报文
TCP拥塞控制
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
慢开始,拥塞避免过程: 慢开始(指数开始)------>慢开始门限ssthresh------->拥塞避免(线性)----->拥塞(发生超时)-------->拥塞窗口减到1,ssthresh/=2
改进: 添加快重传+快恢复 不等超时重传,立即重传 重传拥塞窗口不回到1,回到/2的阶段
TCP超时重传时间选择复杂
TCP可靠传输的实现
滑动窗口
‘## TCP连接建立
三次握手
- SYN = 1 ,seq = x
SYN=1表示普通的请求报文,不能携带DATA,但是会消耗一个序号,seq=x是进程选择的初始序号 - SYN = 1,ACK=1,seq = y,ack = x+1
SYN = 1,ACK=1是TCP连接请求确认报文,seq = y是接收方进程选择的初始序号,ack = x+1是对第一个请求报文的确认 - ACK=1,seq=x+1,ack=y+1
同理
四次挥手
- A对B发送 FIN=1,ACK=1,seq=u,ack=v
FIN=1,ACK=1是释放请求报文,不能携带DATA,但是消耗一个序号,seq = u是进程序号,ack=v是对之前对方数据的确认,下一个想获得v的数据 - B对A发送ACK=1,seq=v,ack=u+1
ACK=1普通的请求报文,seq=v是对对方请求的回应,ack=u+1是确认对方的数据 - 等待一段时间,这段时间A对B关闭了,而B还可以向A发送,中间可能还有发送数据。等待完毕B对A发送FIN=1,ACK=1,seq=w,ack=u+1
seq=w是因为中间可能还发送数据,发送完的序号为w,ack=u+1是对之前A发送释放的再次回应,这次B向A发送释放 - A对B发送ACK=1,seq=u+1,ack=w+1,送达B,B关闭,等2MSL A对B释放
seq=u+1是回应上面的ack=u+1,ack=w+1是对上面的数据确认
== TCP报文首部格式 20字节+最大40字节拓展
- 源端口
- 目的端口
- 序号:就上文的seq
- 确认号:就上文的ack
- ACK:标记确认请求连接
- 偏移:数据起始处距离TCP报文段的起始处有多远,单位4字节
- SYN:标记普通请求报文
- FIN:释放连接报文标记
- RST:=1异常,需要释放;拒绝非法报文,拒绝打开连接
- PSH:=1尽快上交进程
- URG:=1,紧急指针有效
- 紧急指针:紧急数据长度
应用层
- C/S模式
- P2P
区别:有无明确的服务请求者,服务提供者
动态主机配置DHCP
DHCP服务器提供
DNS
域名服务器 解析过程:
FTP文件传输协议
电子邮件
SMTP:用户代理发送给发送方服务器,发送方服务器发送给接收方服务器 注:SMTP只接收ASCⅡ码,中文等要用MIME转换 POP3:用户代理从接收方服务器读取
基于万维网的电子邮件
接收方和发送方同属一个服务器使用HTTP发送和读取
接收方和发送方不属于同一个服务器,则在不同服务器间使用SMTP发送
WWW万维网
万维网文档
HTTP
Cookie:对无状态的HTTP状态化的技术
|