36张图,一次性补全网络基础知识
点击左上方蓝色“一口Linux”,选择“设为星标”
OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅。 今天这篇网络基础科普,就是根据OSI层级去逐一展开的。
01 计算机网络的分类
02 计算机网络的层次结构
03 层次结构设计的基本原则
-
各层之间是相互独立的;
-
每一层需要有足够的灵活性;
-
各层之间完全解耦。
04 计算机网络的性能指标
-
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
-
集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
-
单工通信信道:只能一个方向通信,没有反方向反馈的信道;
-
半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
-
全双工通信信道:双方都可以同时发送和接收。
数据链路层
01 数据链路层概述
-
数据链路层为网络层提供可靠的数据传输;
-
基本数据单位为帧;
-
主要的协议:以太网协议;
-
两个重要设备名称:网桥和交换机。
02 数据链路层的差错监测
-
奇偶校验码–局限性:当出错两位时,检测不到错误。
-
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
03 最大传输单元MTU
04 以太网协议详解
局域网分类:
-
以太网第一个广泛部署的高速局域网;
-
以太网数据速率快;
-
以太网硬件价格便宜,网络造价成本低。
以太网帧结构
-
类型:标识上层协议(2字节);
-
目的地址和源地址:MAC地址(每个6字节);
-
数据:封装的上层协议的分组(46~1500字节);
-
CRC:循环冗余码(4字节);
-
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节。
MAC地址(物理地址、局域网地址)
-
MAC地址长度为6字节,48位;
-
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
-
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
-
MAC广播地址:FF-FF-FF-FF-FF-FF。
网络层
3、包含的主要协议:
-
IP协议(Internet Protocol,因特网互联协议);
-
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
-
ARP协议(Address Resolution Protocol,地址解析协议);
-
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
01 IP协议详解
02 IP协议的转发流程
03 IP地址的子网划分
04 网络地址转换NAT技术
05 ARP协议与RARP协议
06 ICMP协议详解
-
Ping应用:网络故障的排查;
-
Traceroute应用:可以探测IP数据报在网络中走过的路径。
07 网络层的路由概述
-
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法;
-
距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程)。
08 内部网关路由协议之RIP协议
-
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
-
RIP的费用定义在源路由器和目的子网之间;
-
RIP被限制的网络直径不超过15跳;
-
和隔壁交换所有的信息,30主动一次(广播)。
09 内部网关路由协议之OSPF协议
-
安全;
-
支持多条相同费用路径;
-
支持区别化费用度量;
-
支持单播路由和多播路由;
-
分层路由。
10 外部网关路由协议之BGP协议
-
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
-
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
-
重要设备:网关。
01 UDP协议详解
-
UDP是无连接协议;
-
UDP不能保证可靠的交付数据;
-
UDP是面向报文传输的;
-
UDP没有拥塞控制;
-
UDP首部开销很小。
02 TCP协议详解
-
对应用层报文进行分段和重组;
-
面向应用层实现复用与分解;
-
实现端到端的流量控制;
-
拥塞控制;
-
传输层寻址;
-
对收到的报文进行差错检测(首部和数据部分都检错);
-
实现进程间的端到端可靠数据传输控制。
-
TCP是面向连接的协议;
-
TCP是面向字节流的协议;
-
TCP的一个连接有两端,即点对点通信;
-
TCP提供可靠的传输服务;
-
TCP协议提供全双工通信(每条TCP连接只能一对一)。
TCP报文段结构:
-
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号;
-
确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;
-
TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍。
03 可靠传输的基本原理
-
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失;
-
基于不可靠信道实现可靠数据传输采取的措施。
TCP协议的可靠传输:
TCP协议的流量控制:
04 TCP协议的拥塞控制
-
【慢开始】拥塞窗口从1指数增长;
-
到达阈值时进入【拥塞避免】,变成+1增长;
-
【超时】,阈值变为当前cwnd的一半(不能<2);
-
再从【慢开始】,拥塞窗口从1指数增长。
-
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;
-
执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
05 TCP连接的三次握手(重要)
-
第一次握手:客户发送请求,此时服务器知道客户能发;
-
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
-
第三次握手:客户发送确认,此时服务器知道客户能收。
06 TCP连接的四次挥手(重要)
-
最后一个报文没有确认;
-
确保发送方的ACK可以到达接收方;
-
2MSL时间内没有收到,则接收方会重发;
-
确保当前连接的所有报文都已经过期。
应用层
-
数据传输基本单位为报文;
-
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
01 DNS详解
-
浏览器缓存;
-
找本机的hosts文件;
-
路由缓存;
-
找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
02 DHCP协议详解
03 HTTP协议详解
-
GET:请求指定的页面信息,并返回实体主体;
-
POST:向指定资源提交数据进行处理请求;
-
DELETE:请求服务器删除指定的页面;
-
HEAD:请求读取URL标识的信息的首部,只返回报文头;
-
OPETION:请求一些选项的信息;
-
PUT:在指明的URL下存储一个文档。
(1)HTTP工作的结构
(2) HTTPS协议详解
这是一口君的新书,感谢大家支持!
end
一口Linux
关注,回复【 1024 】海量Linux资料赠送
精彩文章合集
文章推荐