计算机网络全面总结(收藏)
我们周围无时无刻不存在一张网,如电话网、电报网、电视网、计算机网络等;即使我们身体内部也存在许许多多的网络系统,如神经系统、消化系统等。最为典型的代表即计算机网络,它是计算机技术与通信技术两个领域的结合。
一、计算机网络概述
1.1 计算机网络的分类
1.2 计算机网络的层次结构
1.3 层次结构设计的基本原则
各层之间是相互独立的; 每一层需要有足够的灵活性; 各层之间完全解耦。
1.4 计算机网络的性能指标
二、物理层
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机; 集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
单工通信信道:只能一个方向通信,没有反方向反馈的信道; 半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收; 全双工通信信道:双方都可以同时发送和接收。
三、数据链路层
3.1 数据链路层概述
数据链路层为网络层提供可靠的数据传输; 基本数据单位为帧; 主要的协议:以太网协议; 两个重要设备名称:网桥和交换机。
3.2 数据链路层的差错监测
奇偶校验码–局限性:当出错两位时,检测不到错误。 循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU
3.4 以太网协议详解
局域网分类:
以太网第一个广泛部署的高速局域网 以太网数据速率快 以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(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,逆地址解析协议)。
重要的设备:路由器。
4.1 IP协议详解
4.2 IP协议的转发流程
4.3 IP地址的子网划分
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,用户数据报协议); 重要设备:网关。
5.1 UDP协议详解
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标记的作用:
5.3 可靠传输的基本原理
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失 基于不可靠信道实现可靠数据传输采取的措施:
差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;
5.3.1TCP协议的可靠传输
5.3.2 TCP协议的流量控制
5.4 TCP协议的拥塞控制
【慢开始】拥塞窗口从1指数增长; 到达阈值时进入【拥塞避免】,变成+1增长; 【超时】,阈值变为当前cwnd的一半(不能<2); 再从【慢开始】,拥塞窗口从1指数增长。
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时; 执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要)
第一次握手:客户发送请求,此时服务器知道客户能发; 第二次握手:服务器发送确认,此时客户知道服务器能发能收; 第三次握手:客户发送确认,此时服务器知道客户能收。
第一次
:客户向服务器发送连接请求段,建立连接请求控制段(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状态;第三次握手可携带数据;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;最后一个报文没有确认; 确保发送方的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)
6.2 DHCP协议详解
6.3 HTTP协议详解
GET:请求指定的页面信息,并返回实体主体; POST:向指定资源提交数据进行处理请求; DELETE:请求服务器删除指定的页面; HEAD:请求读取URL标识的信息的首部,只返回报文头; OPETION:请求一些选项的信息; PUT:在指明的URL下存储一个文档。
6.3.1 HTTP工作的结构
6.3.2 HTTPS协议详解
原文链接 https://blog.csdn.net/Royalic/article/details/119985591
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。
评论