热文推荐
从18篇报告分析:“东数西算”有哪些利好?
东数西算:建设8个国家算力枢纽节点,10个国家数据中心集群
计算机行业框架回顾(2021)
一、计算机网络概述
1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构
TCP/IP四层模型与OSI体系结构对比:
1.3 层次结构设计的基本原则 各层之间是相互独立的;每一层需要有足够的灵活性;各层之间完全解耦。
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测差错检测:奇偶校验码、循环冗余校验码CRC奇偶校验码–局限性:当出错两位时,检测不到错误。循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。3.3 最大传输单元MTU最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.路径MTU:由链路中MTU的最小值决定。
路由器相关协议
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。4.2 IP协议的转发流程
ICMP协议的应用:Ping应用:网络故障的排查;Traceroute应用:可以探测IP数据报在网络中走过的路径。4.7网络层的路由概述关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。自治系统AS:指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。静态路由:人工配置,难度和复杂度高;动态路由:链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);4.8 内部网关路由协议之RIP协议路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。RIP协议特性:RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);RIP的费用定义在源路由器和目的子网之间;RIP被限制的网络直径不超过15跳;和隔壁交换所有的信息,30主动一次(广播)。4.9 内部网关路由协议之OSPF协议开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。OSPF协议优点:安全;支持多条相同费用路径;支持区别化费用度量;支持单播路由和多播路由;分层路由。RIP与OSPF的对比(路由算法决定其性质):
5.1 UDP协议详解UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议,
UDP协议的特点:UDP是无连接协议;UDP不能保证可靠的交付数据;UDP是面向报文传输的;UDP没有拥塞控制;UDP首部开销很小。UDP数据报结构:首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】数据字段:应用数据
5.2 TCP协议详解TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。
TCP协议的功能:对应用层报文进行分段和重组;面向应用层实现复用与分解;实现端到端的流量控制;拥塞控制;传输层寻址;对收到的报文进行差错检测(首部和数据部分都检错);实现进程间的端到端可靠数据传输控制。TCP协议的特点:TCP是面向连接的协议;TCP是面向字节流的协议;TCP的一个连接有两端,即点对点通信;TCP提供可靠的传输服务;TCP协议提供全双工通信(每条TCP连接只能一对一);5.2.1 TCP报文段结构:最大报文段长度:报文段中封装的应用层数据的最大长度。
TCP首部:序号字段:TCP的序号是对每个应用层数据的每个字节进行编号确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍TCP标记的作用:
5.3 可靠传输的基本原理基本原理:不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失基于不可靠信道实现可靠数据传输采取的措施:差错检测:利用编码实现数据包传输过程中的比特差错检测确认:接收方向发送方反馈接收状态重传:发送方重新发送接收方没有正确接收的数据序号:确保数据按序提交计时器:解决数据丢失问题;停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口 累计确认,大幅提高了信道的利用率。5.3.1TCP协议的可靠传输基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。5.3.2 TCP协议的流量控制流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。
5.4 TCP协议的拥塞控制拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法 拥塞避免算法。慢开始和拥塞避免:【慢开始】拥塞窗口从1指数增长;到达阈值时进入【拥塞避免】,变成 1增长;【超时】,阈值变为当前cwnd的一半(不能<2);再从【慢开始】,拥塞窗口从1指数增长。
快重传和快恢复:发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要) 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;
6.3.1 HTTP工作的结构
推荐阅读
内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示: