计算机网络概述:
1.1 计算机网络的分类
- 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);
- 按照网络使用者:公用网络、专用网络。
1.2 计算机网络的层次结构
- TCP/IP四层模型与OSI体系结构对比。
1.3 层次结构设计的基本原则
- 各层之间是相互独立的;
- 每一层需要有足够的灵活性;
- 各层之间完全解耦。
1.4 计算机网络的性能指标
- 速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
物理层:
物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
物理层设备:
- 中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
- 集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。单工通信信道:只能一个方向通信,没有反方向反馈的信道;半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;全双工通信信道:双方都可以同时发送和接收。
数据链路层:
3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。有关数据链路层的重要知识点:数据链路层为网络层提供可靠的数据传输;基本数据单位为帧;主要协议:以太网协议;两个重要设备名称:网桥和交换机。封装成帧:“帧”是数据链路层数据的基本单位;透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测差错检测:奇偶校验码、循环冗余校验码CRC奇偶校验码–局限性:当出错两位时,检测不到错误。循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
最大传输单元MTU(Maximum Transmission Unit)是指数据链路层的数据帧长度受制于MTU大小。路径MTU是由链路上所有设备中MTU的最小值决定的。以太网协议是一种应用于数据链路层的广泛使用的局域网技术,它使用以太网可以完成相邻设备的数据帧传输。
MAC地址是每一个设备都拥有唯一的48位十六进制表示的物理地址和局域网地址。以太网第一个广泛部署的高速局域网IEEE802.3标准,其速率快且硬件价格便宜,网络造价成本低。以太网帧结构包括标识上层协议、目的地址和源地址、数据以及CRC循环冗余码等部分。最短的以太网帧长度为64字节,其中除了数据部分18字节外,还包括了类型、目的地址和源地址以及CRC等信息。
MAC广播地址为FF-FF-FF-FF-FF-FF,每个网络适配器对应一个MAC地址,通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来。
网络层的主要功能是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代),采用储存转发方式,数据交换单位是报文。网络层中涉及众多协议,其中最重要的协议也是TCP/IP的核心协议——IP协议。IP协议提供不可靠、无连接的传送服务,主要功能包括无连接数据报传输、数据报路由选择和差错控制等。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。
以下是重构后的内容:
ARP协议(Address Resolution Protocol,地址解析协议)可以将IP地址解析为以太网MAC地址(物理地址),在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址是不够的,因为MAC地址也是一种标识符。因此,为了使数据能够正确地到达目标主机,需要使用ARP协议将IP地址转换为MAC地址。
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)则可以将MAC地址转换为IP地址。比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。
IP协议是Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。其中版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
路由器相关协议包括:ARP、RARP、ICMP等。其中ARP是将IP地址解析为以太网MAC地址(物理地址)的协议;RARP则是将MAC地址转换为IP地址;而ICMP则允许主机或路由器报告差错情况和提供有关异常情况的报告 。
网络层的路由概述是指在计算机网络中,将数据包从源主机传输到目的主机的过程中,所经过的路径和跳数的记录。ICMP协议的应用有Ping应用和Traceroute应用。静态路由和动态路由是两种不同的路由方式。链路状态路由选择算法LS可以向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法距离-向量路由选择算法DV可以向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程)。RIP和OSPF是两种常用的内部网关路由协议,RIP基于距离-向量的路由选择算法,较小的AS适合小型网络;OSPF基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS适合大型网络,直接封装在IP数据报传输 。
GP(Border Gateway Protocol)是运行在AS之间的一种协议,用于寻找一条好路由。首次交换全部信息,以后只交换变化的部分。BGP封装进TCP报文段。
传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。传输层的任务是根据通信子网的特性,最佳地利用网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。有关网络层的重点:传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);重要设备:网关。
5.1 UDP协议详解
UDP(User Datagram Protocol: 用户数据报协议)是一个非常简单的协议。UDP协议的特点:无连接;不能保证可靠交付数据;面向报文传输;没有拥塞控制;首部开销很小。UDP数据报结构:首部8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据。
5.2 TCP协议详解
TCP(Transmission Control Protocol: 传输控制协议)是计算机网络中非常复杂的一个协议。TCP协议的功能包括对应用层报文进行分段和重组、面向应用层实现复用与分解、实现端到端的流量控制、拥塞控制、传输层寻址、对收到的报文进行差错检测(首部和数据部分都检错)、实现进程间的端到端可靠数据传输控制。TCP协议的特点:面向连接;面向字节流;一个连接有两端,即点对点通信;提供可靠的传输服务;协议提供全双工通信(每条TCP连接只能一对一)。5.2.1 TCP报文段结构:最大报文段长度:报文段中封装的应用层数据的最大长度。
TCP首部包括序号字段、确认序号字段、段的首部长度和TCP标记。序号字段是对每个应用层数据的每个字节进行编号;确认序号字段是期望从对方接收数据的字节序号,即该序号对应的字节尚未收到,用ack_seq标识;TCP段的首部长度最短是20B ,最长为60字节,但是长度必须为4B的整数倍。
TCP标记的作用是为了解决网络拥塞问题。可靠传输的基本原理是在数据传输中可能发生比特差错、乱序、重传和丢失等情况时,采取差错检测、确认、重传、序号和计时器等措施来实现可靠数据传输。停止等待协议是最简单的可靠传输协议,但是该协议对信道的利用率不高。连续ARQ(Automatic Repeat reQuest:自动重传请求)协议则是滑动窗口+累计确认,大幅提高了信道的利用率。
TCP协议的流量控制是通过让发送方发送速率不要太快来实现的。TCP协议使用滑动窗口实现流量控制。拥塞控制与流量控制的区别在于,前者考虑整个网络,后者考虑点对点的通信量。拥塞控制的方法包括慢启动算法和拥塞避免算法。慢开始算法中,拥塞窗口从1指数增长;到达阈值时进入拥塞避免阶段,变成+1增长;超时后,阈值变为当前cwnd的一半(不能<2);再从慢开始阶段开始执行拥塞避免算法。在快重传和快恢复阶段中,如果发送方连续收到3个冗余ACK,则执行快重传;否则执行快恢复。快恢复阶段中,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入拥塞避免阶段。
TCP三次握手使用指令。第一次握手是客户发送请求,此时服务器知道客户能发;第二次握手是服务器发送确认,此时客户知道服务器能发能收;第三次握手是客户发送确认,此时服务器知道客户能收。建立连接(三次握手)。
TCP四次挥手用于释放连接。具体步骤如下:
- 第一次挥手:客户端发送FIN报文给服务器。
- 第二次挥手:服务器收到客户端FIN报文后向客户端发送ACK报文并关闭连接。
- 第三次挥手:客户端收到服务器ACK报文后向服务器发送FIN报文并关闭连接。
- 第四次挥手:服务器收到客户端FIN报文后向客户端发送ACK报文并关闭连接。
MSL是指两次往返延迟(Time-to-Live)的一半,也就是说,TCP连接在关闭时,会等待两个往返延迟的时间,以确保网络中所有副本被丢弃。这个时间是为了保证客户端发送的最后一个ACK报文段能够到达服务器,因为这个ACK有可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN的确认 。
在网络通信中,安全是至关重要的。为了实现数据的安全传输,HTTPS(Secure HTTP)应运而生。它是一种基于HTTP协议的安全版本,其端口号为443。HTTPS通过SSL(Secure Sockets Layer)或TLS(Transport Layer Security)技术提供加密处理、验证对方身份以及数据完整性保护等功能。
要了解HTTPS协议的详细信息,可以参考以下链接:https://blog.csdn.net/Royalic/article/details/119985591