计算机网络全面总结(收藏)
架构师技术联盟
共 8204字,需浏览 17分钟
· 2022-07-05
![](https://filescdn.proginn.com/95e46bb919f0e52bcf28f0601342b5ce/c70d88be0c971799490a13bd045f5e1b.webp)
我们周围无时无刻不存在一张网,如电话网、电报网、电视网、计算机网络等;即使我们身体内部也存在许许多多的网络系统,如神经系统、消化系统等。最为典型的代表即计算机网络,它是计算机技术与通信技术两个领域的结合。
一、计算机网络概述
![](https://filescdn.proginn.com/b8d37c31db2fbf31e00ab242b83b068d/0c46ed0378ec3b96530adbf07a2899cc.webp)
1.1 计算机网络的分类
1.2 计算机网络的层次结构
![](https://filescdn.proginn.com/06f9db6b0c4147c37e3e5423502641eb/09f8f7d6521f9fbffae89b9f223dd6f4.webp)
![](https://filescdn.proginn.com/1b48ee6e3b02c69798d9a8e237635831/7dc1114a3283937d828c3c4604a3e91d.webp)
1.3 层次结构设计的基本原则
各层之间是相互独立的; 每一层需要有足够的灵活性; 各层之间完全解耦。
![](https://filescdn.proginn.com/f9967a2415beb3a80132672e245ffd4e/f2f841d18f1b5b2cddd3da96f94731a8.webp)
1.4 计算机网络的性能指标
二、物理层
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机; 集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
单工通信信道:只能一个方向通信,没有反方向反馈的信道; 半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收; 全双工通信信道:双方都可以同时发送和接收。
三、数据链路层
3.1 数据链路层概述
数据链路层为网络层提供可靠的数据传输; 基本数据单位为帧; 主要的协议:以太网协议; 两个重要设备名称:网桥和交换机。
![](https://filescdn.proginn.com/4a30be849fe695910e9d8b92015d444c/6445d94ffad396bd65876b80f0e77ddd.webp)
![](https://filescdn.proginn.com/419c311b24db80ce39271e3a24b34566/e243a261ac62c1746ad97807678b8402.webp)
3.2 数据链路层的差错监测
奇偶校验码–局限性:当出错两位时,检测不到错误。 循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU
![](https://filescdn.proginn.com/4682cd6c7ba4f0035c29bb5728bec51b/8ad5b50611c618ef5207570b95c95bc7.webp)
3.4 以太网协议详解
![](https://filescdn.proginn.com/7b81bac469dc41b097cd4f31c28ed948/c03c61e736c79bbd175cf2952231bbb4.webp)
局域网分类:
以太网第一个广泛部署的高速局域网 以太网数据速率快 以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(2字节) 目的地址和源地址:MAC地址(每个6字节) 数据:封装的上层协议的分组(46~1500字节) CRC:循环冗余码(4字节) 以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址)
MAC地址长度为6字节,48位; MAC地址具有唯一性,每个网络适配器对应一个MAC地址; 通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来; MAC广播地址:FF-FF-FF-FF-FF-FF。
四、网络层
网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能; 基本数据单位为IP数据报; 包含的主要协议:
IP协议(Internet Protocol,因特网互联协议); ICMP协议(Internet Control Message Protocol,因特网控制报文协议); ARP协议(Address Resolution Protocol,地址解析协议); RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
重要的设备:路由器。
![](https://filescdn.proginn.com/68eec43f52e0e74bdb2b7f61981f244d/91751859fb0fbaf525e9d805f43bdae1.webp)
4.1 IP协议详解
![](https://filescdn.proginn.com/60adc6ae2424b29292de2e320c38dabd/6a9c7f31f072d86ccb52ce7acb7b1058.webp)
![](https://filescdn.proginn.com/d4c7511e1af006472fdd910853ee106c/18812ff206e8576db105ccb392658105.webp)
4.2 IP协议的转发流程
![](https://filescdn.proginn.com/b8c85bab30f36fa808f27d09992c4a64/75375d9741e3c86a12cda09e4b783b6b.webp)
4.3 IP地址的子网划分
![](https://filescdn.proginn.com/bc08aa3a8b3dc359cdc9aaba2ef2d909/107cd2e7a4f16e3f2575bf6b20e82ef0.webp)
![](https://filescdn.proginn.com/465db4340169ad511b35117846fc8e40/c975d10438f368784ecb14030a1b0791.webp)
4.4 网络地址转换NAT技术
NAT 工作原理:
4.5 ARP协议与RARP协议
4.6 ICMP协议详解
ICMP协议的应用:
Ping应用:网络故障的排查; Traceroute应用:可以探测IP数据报在网络中走过的路径。
4.7网络层的路由概述
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法 距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);
4.8 内部网关路由协议之RIP协议
RIP协议特性:
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录); RIP的费用定义在源路由器和目的子网之间; RIP被限制的网络直径不超过15跳; 和隔壁交换所有的信息,30主动一次(广播)。
4.9 内部网关路由协议之OSPF协议
OSPF协议优点:
安全; 支持多条相同费用路径; 支持区别化费用度量; 支持单播路由和多播路由; 分层路由。
4.10外部网关路由协议之BGP协议
五、传输层
有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题; 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议); 重要设备:网关。
![](https://filescdn.proginn.com/17486c387d22bd692810bece1ab8bdff/afe2f030c811e121a2a53f863df47da4.webp)
![](https://filescdn.proginn.com/918d2af36957bc36daacc4fa667c0dfa/e9d1b27ecd6ff1abea1d127615038ff6.webp)
5.1 UDP协议详解
![](https://filescdn.proginn.com/d63859e3259b178b7e9288e439bc5322/47c83f9eb96d0ff6b3a1a8409c62a69d.webp)
UDP是无连接协议; UDP不能保证可靠的交付数据; UDP是面向报文传输的; UDP没有拥塞控制; UDP首部开销很小。
UDP数据报结构:
5.2 TCP协议详解
TCP协议的功能:
对应用层报文进行分段和重组; 面向应用层实现复用与分解; 实现端到端的流量控制; 拥塞控制; 传输层寻址; 对收到的报文进行差错检测(首部和数据部分都检错); 实现进程间的端到端可靠数据传输控制。
TCP协议的特点:
TCP是面向连接的协议; TCP是面向字节流的协议; TCP的一个连接有两端,即点对点通信; TCP提供可靠的传输服务; TCP协议提供全双工通信(每条TCP连接只能一对一);
5.2.1 TCP报文段结构:
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号 确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识; TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍
TCP标记的作用:
![](https://filescdn.proginn.com/514b08f892006f4134fa115d66bb3c70/03ea4495c831144f23abcc1ccd8b0293.webp)
5.3 可靠传输的基本原理
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失 基于不可靠信道实现可靠数据传输采取的措施:
差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;
5.3.1TCP协议的可靠传输
5.3.2 TCP协议的流量控制
5.4 TCP协议的拥塞控制
【慢开始】拥塞窗口从1指数增长; 到达阈值时进入【拥塞避免】,变成+1增长; 【超时】,阈值变为当前cwnd的一半(不能<2); 再从【慢开始】,拥塞窗口从1指数增长。
![](https://filescdn.proginn.com/1d51c60e6f8d3367b4f32243454ea08d/6b1f523b2566e5f5d643506f2429514a.webp)
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时; 执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
![](https://filescdn.proginn.com/876ae080458f71b876319fac7a7e826f/2f887d42e060a830f877eadcb1f52df2.webp)
5.5 TCP连接的三次握手(重要)
![](https://filescdn.proginn.com/a4c8462ef6cd08be67ba44b9d80ca397/6b04a42d938291d976432b520c0b0c74.webp)
第一次握手:客户发送请求,此时服务器知道客户能发; 第二次握手:服务器发送确认,此时客户知道服务器能发能收; 第三次握手:客户发送确认,此时服务器知道客户能收。
第一次
:客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);第二次
:服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);第三次
:客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;![](https://filescdn.proginn.com/de012369e46cf9195d5b3dcee3d32bed/b0e9694e1308b38d8204798c445a99a8.webp)
5.6 TCP连接的四次挥手(重要)
第一次
:客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);第二次
:服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;第三次
:服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);第四次
:客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;![](https://filescdn.proginn.com/94401a8d9cee8843d3e2e141617d8154/9cf5736dc3ac6f19d16b3760e8c84361.webp)
![](https://filescdn.proginn.com/74fd860b1a062beb4f5cf6f9706a334e/3a0b0ec07a643f9f9a222817eab4106e.webp)
最后一个报文没有确认; 确保发送方的ACK可以到达接收方; 2MSL时间内没有收到,则接收方会重发; 确保当前连接的所有报文都已经过期。
六、应用层
数据传输基本单位为报文; 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
6.1 DNS详解
【1】浏览器缓存, 【2】找本机的hosts文件, 【3】路由缓存, 【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
IP—>DNS服务—>便于记忆的域名 域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(baidu,taobao,qq,alibaba)、三级域(www)(12-2-0852)
![](https://filescdn.proginn.com/1d041cc8f28164be20ebc6d12a35b04f/090832cf646d05009c1b22c4511837b9.webp)
6.2 DHCP协议详解
6.3 HTTP协议详解
GET:请求指定的页面信息,并返回实体主体; POST:向指定资源提交数据进行处理请求; DELETE:请求服务器删除指定的页面; HEAD:请求读取URL标识的信息的首部,只返回报文头; OPETION:请求一些选项的信息; PUT:在指明的URL下存储一个文档。
![](https://filescdn.proginn.com/4c207339c2e0685f6a087d1c7defecdb/a4e61b87c090112e4513d36dee95f408.webp)
![](https://filescdn.proginn.com/a09f1533476c54b3c2d03d94990ea9f6/1cf0200f9c52adbb105fe49fb1d5e932.webp)
6.3.1 HTTP工作的结构
![](https://filescdn.proginn.com/d990ec96df2b3ba5d5ef8d5f443439b7/540cf78ac443d09728ce6d116fc9baa4.webp)
6.3.2 HTTPS协议详解
原文链接 https://blog.csdn.net/Royalic/article/details/119985591
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。
评论