以下是重构后的内容:
网络技术基础
一、计算机网络概述
互联网的构成
1. 互联网是由全球范围内的各种计算机网络通过标准化的通信协议相互连接而成的。
2. 网络分类
1 局域网(LAN):覆盖范围小,传输速度较快。
2 广域网(WAN):覆盖范围大,传输速度较慢。
3 城域网(MAN):覆盖范围介于局域网和广域网之间。
3. 接入网
1 光纤接入网:采用光缆作为传输介质的接入网。
2 以太网接入网:采用双绞线作为传输介质的接入网。
4. 网络核心的两大功能
1 路由:负责将数据包从源地址传输到目的地址的过程。
2 转发:负责将数据包从源地址传输到另一个节点的过程。
5. 网络分层
1 OSI 7层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
2 TCP/IP 4层模型:网络层、传输层、应用层。
3 两种模型比较:OSI模型更复杂,TCP/IP模型更简单易懂。
二、物理层
1. 物理介质
1 引导型介质:如双绞线、同轴电缆等。
2 非引导型介质:如光纤、无线电波等。
2. 数据交换方式
1 分组交换:将数据分成若干个小的数据包进行传输,每个数据包都有自己的目标地址。
2 电路交换:在通信之前建立一条连接(电路),数据包在这条连接上进行传输。
3. 信道复用
1 频分复用(FDM):将不同的信道分配给不同的用户或设备使用。
2 时分复用(TDM):将相同的时间段分配给不同的用户或设备使用。
3 波分复用(WDM):将不同的波长分配给不同的用户或设备使用。
4 码分复用(CDMA):将不同的编码方式分配给不同的用户或设备使用。
三、数据链路层
1. 功能(要解决的问题)
负责将来自网络层的数据包封装成帧并添加必要的控制信息,以便在物理层上进行传输;同时还要负责从物理层接收帧并解析出其中的有效信息,以便在网络层上进行传输。
2. 数据链路层提供的服务
1 MAC地址访问控制:防止未经授权的节点访问网络;
2差错控制:检测和纠正数据传输过程中出现的错误;
3流量控制:避免网络拥塞和保证服务质量;
4帧定界符:标识一个帧的开始和结束;
5无连接服务:允许不经过预先协商就直接发送数据;
6虚通道服务:允许多个节点同时访问同一个物理媒体。
3. 成帧 (Framing) 方法
1带比特填充的定界符法;
2物理层编码违例;
4. 差错控制方法
1奇偶检验 (Parity Check);
2校验和 (Checksum);
3循环冗余校验 (CRC)。
. 路由器的工作原理
6.1 路由器概述
路由器是一种网络设备,它在网络层负责数据包的转发。路由器的主要功能是在不同的网络之间进行数据包的转发,实现网络之间的通信。
6.2 路由器控制层
路由器的控制层主要负责处理网络层的数据包,包括路由选择、拥塞控制等。控制层可以根据目标地址选择合适的路径,将数据包发送到目的地。
6.3 路由器数据层
路由器的数据层主要负责处理传输层的数据包,包括TCP、UDP等协议。数据层可以根据源地址和目的地址选择合适的路径,将数据包发送到目的地。
7. 拥塞控制算法
7.1 概述
拥塞控制是网络通信中的一种技术,用于防止网络拥塞,提高网络性能。拥塞控制算法根据网络的当前状态,动态调整发送速率,以保持网络的稳定运行。
7.2 流量调节
流量调节是一种拥塞控制算法,通过限制单个主机的发送速率,使得网络中的其他主机也能够适应新的流量状况。这种方法可以有效地减小网络拥塞。
7.3 随机早期检测RED (Random Early Detection)
随机早期检测是一种拥塞控制算法,它通过随机选择一个主机,使其延迟一定时间后开始发送数据包。这种方法可以有效地减小网络拥塞,提高网络性能。
8.服务质量
8.1概述
服务质量(QoS)是一种网络管理技术,用于保证不同类型应用的服务质量。QoS可以根据应用程序的需求,为不同的业务提供优先级服务。
8.2 流量整形
流量整形是一种QoS技术,它可以根据应用程序的需求,对数据流进行限速、优化等操作,以保证不同类型的数据流能够在同一网络环境下正常运行。常见的流量整形技术有令牌桶算法和漏桶算法。
1令牌桶算法:令牌桶算法是一种流量整形技术,它通过生成固定数量的令牌,然后按照令牌的数量来控制数据的发送速率。当令牌用完时,发送速率会自动降低,以减小网络拥塞。
2漏桶算法:漏桶算法是一种流量整形技术,它通过模拟水桶的原理,将数据流看作是一个无止境的桶。当桶满时,新进入的数据会被丢弃;当桶空时,数据会被加速流出。这种方法可以有效地减小网络拥塞。
8.3 数据包调度
数据包调度是一种QoS技术,它可以根据应用程序的需求,为不同的业务分配带宽资源。常见的数据包调度技术有GBN(Guaranteed Bit Rate for Network)、SR(Selective Repeat)、GRE(Gateway Resolution Protocol)等。
9.三层交换机
9.1 三层交换的技术背景
三层交换机是一种网络设备,它可以在网络层实现数据包的转发。与二层交换机相比,三层交换机具有更高的灵活性和性能。
9.2 三层交换机的动机
三层交换机的出现是为了解决传统二层交换机在大型局域网中的应用问题。与二层交换机只能识别MAC地址不同,三层交换机可以识别IP地址,从而实现更加灵活的数据包转发。
9.3 三层交换机的工作原理
三层交换机根据数据包的目的IP地址进行路由选择,将数据包转发到目的主机。同时,三层交换机还可以根据数据包的源IP地址进行负载均衡,将数据包分发到不同的主机上。
10.VPN虚拟专用网
10.1 VPN的技术背景
VPN(Virtual Private Network)是一种计算机网络技术,它可以在公共网络上建立专用的通信通道,实现远程访问和数据传输的安全性。VPN广泛应用于企业、政府等组织内部以及跨地域的远程办公场景。
10.2 VPN的原理
为了准备期末考试,同时也是为了之后复习方便,我特对计算机网络的知识进行了整理。本文内容大部分来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有少部分个人看法夹带其中来帮助大家理解。应评论要求这里放上本文的思维导图以供大家更好的查看。
一、计算机网络概述
1. 互联网的构成
网络边缘:位于互联网边缘与互联网相连的计算机和其他设备,如桌面计算机、移动计算机、服务器、其他智能终端设备。
网络核心:由互联端系统的分组交换设备和通信链路构成的网状网络。如:分组交换路由器、链路层交换机、通信链路(光纤、铜缆、无线电、激光链路)。
2. 网络分类
个域网PAN(Personal Area Network):能在便携式消费电器与通信设备之间进行短距离通信的网络。覆盖范围一般在10米半径以内,如蓝牙耳机等。
局域网LAN(Local Area Network):局部地区形成的区域网络,如企业网络。分布地区范围有限,可大可小,大到一栋建筑、小到办公室内的组网。电脑WLAN接入,打印机共享等等。
城域网MAN(Metropolitan Area Network):范围覆盖一个城市的网络。
广域网WAN(Wide Area Network):覆盖很大地理区域,乃至覆盖地区和国家。
3. 接入网
接入网的用途:将主机连接到边缘路由器上。边缘路由器是端系统Host去往任何其他远程端系统的路径上的第一台路由器。各种异构网络通过边缘路由器接入。
接入网分类:光纤到户FTTH、数字用户线DSL、同轴电缆、无线接入。企业和家庭网络。
4. 网络核心的两大功能
1路由:确定数据分组从源到目标所使用的路径(全局操作)。
2转发:路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)。
5. 网络分层
1OSI 7层模型
数据链路层 (Data Link Layer):实现相邻(Neighboring)网络实体间的数据传输。成帧(Framing):从物理层的比特流中提取出完整的帧。错误检测与纠正:为提供可靠数据通信提供可能。物理地址(MAC address):48位,理论上唯一网络标识,烧录在网卡,不便更改。
TCP/IP 4层模型是将网络协议分为四个主要层次的标准模型。这四个层次分别是:
1. 应用层(Application Layer):通过应用层协议,提供应用程序便捷的网络服务调用。
2. 传输层(Transport Layer):将数据从源端口发送到目的端口(进程到进程),为端到端的数据传输提供服务。
3. 网络层(Network Layer):将数据包跨越网络从源设备发送到目的地。
4. 物理层(Physical Layer):考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
数据链路层在计算机网络中起着关键的作用,负责实现数据从网络层到物理层的传输。它提供了封装和解封装、帧定界、流量控制、差错检测与纠正、信号控制等功能 。
以下是重构后的内容:
成帧(Framing)是将比特流划分成“帧”的主要目的之一,以检测和纠正物理层在比特传输中可能出现的错误。数据链路层功能需借助“帧”的各个域来实现。差错控制是处理传输中出现的差错,如位错误、丢失等。流量控制则是确保发送方的发送速率不大于接收方的处理速率,避免接收缓冲区溢出。
数据链路层提供了三种服务:无确认无连接服务、有确认无连接服务和有确认有连接服务。其中,无确认无连接服务适用于误码率低的可靠信道和实时通信,而网络实例则是以太网。有确认无连接服务适用于不可靠的信道(无线信道),网络实例则是802.11。有确认有连接服务适用于长延迟的不可靠信道。
成帧(Framing)需要解决一个关键问题:如何标识一个帧的开始?接收方必须能从物理层接收的比特流中明确区分出一帧的开始和结束,这个问题被称为帧同步或帧定界。关键在于选择何种定界符以及定界符出现在数据部分如何处理。
成帧(framing)的方式有两种:带比特填充的定界符法和物理层编码违例。前者是指在两个0比特之间插入连续6个1比特作为定界符,即01111110,0x7E;发送方检查有效载荷时,若在有效载荷中出现连续5个1比特,则直接插入1个0比特;接收方处理时,若出现连续5个1比特且下一比特为0,则为有效载荷,直接丢弃0比特;若下一比特为1,则连同后一比特的0构成定界符,一帧结束。后者则是选择的定界符不会在数据部分出现。
4B/5B编码方案是一种将4比特数据映射成5比特编码并利用未使用的一半码字(16个码字)作为帧定界符的方法。例如: 00110组合不包含在4B/5B编码中,可做帧定界符。前导码也可以用作定界符。例如:传统以太网、802.11中的曼切斯特编码/差分曼切斯特编码等都可用于定界符。
数据发生错误丢失接收方未收到乱序先发后到,后发先到重复一次发送,多次接收解决方案:差错检测与纠正、确认重传
4.2 差错检验与纠正
目标:在保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
考虑的问题:信道的特征和传输需求冗余信息的计算方法、携带的冗余信息量计算的复杂度等
两种主要策略:检错码(error-detecting code)纠错码(error-correcting code)
常用的检错码包括:1奇偶检验 (Parity Check) 2校验和 (Checksum) 3循环冗余校验 (Cyclic Redundancy Check,CRC)
CRC校验码计算方法设原始数据D为k位二进制位模式如果要产生n位CRC校验码,事先选定一个n+1位二进制位模式G (称为生成多项式,收发双方提前商定),G的最高位为1将原始数据D乘以2^n (相当于在D后面添加 n 个 0),产生k+n位二进制位模式,用G对该位模式做模2除,得到余数R(n位,不足n位前面用0补齐)即为CRC校验码CRC校验码计算示例$D=1010001101\\n=5$
以下是重构后的内容:
G = 110101 或 G = x5 + x4 + x2 + 1
R = 01110
实际传输数据:101000110101110
4汉明码
目标:以奇偶校验为基础,找到出错位置,提供
1位纠错能力。
给定n位待发送的数据,首先确定校验位的个数k(根据2^k≥k+n+1)。确定校验位在码流中的位置,2^i,i=0,1,2,......,得到校验位P_1,P_2,P_4,P_8,......。确定分组,即每个校验位分别负责哪些数据位。P_1负责位置号的二进制符合XXXX1形式的数据位,即1、3、5、7、9、......。P_2负责位置号的二进制符合XXX1X形式的数据位,即2、3、6、7、10、......。P_3负责位置号的二进制符合XX1XX形式的数据位,即4、5、6、7、12、13、14、15、......。基于偶校验确定每组的校验位(0或1)。
注:汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。实际的海明码编码的过程也并不复杂,我们通过用不同过的校验位,去匹配多个不同的数据组,确保任何一个数据位出错,都会产生一个多个校验码位出错的唯一组合。这样,在出错的时候,我们就可以反过来找到出错的数据位,并纠正过来。当只有一个校验码位出错的时候,我们就知道实际出错的是校验码位了。
5.流量控制
链路层存在的另一个问题是接收方处理速率和接收方缓冲区溢出。解决方案包括基于反馈(feedback-based)的流量控制和基于速率(rate-based)的流量控制。发送方根据内建机制自行限速 。
6.媒体接入控制 MAC (Medium Access Control)子层
数据链路层分为两个子层:MAC子层和LLC子层。其中MAC子层负责介质访问 。6.1 信道分配问题包括时分多址接入-TDMA和频分多址接入-FDMA 。
信道总频带被划分为多个相同宽度的子频带,每个用户占用一个子频带,不管用户是否有数据发送。例如,6个用户的局域网中,1、3、4频带有数据发送,而2、5、6频带被闲置。
多路访问协议是计算机网络中用于解决冲突的技术。其中,随机访问协议是一种基于机会公平的协议,即每个站都有相同的机会进行通信。而载波侦听多路访问协议(CSMA)则是一种基于时间公平的协议,即每个站都需要等待一段时间后才能进行通信。
在随机访问协议中,有两种类型:非持续式和持续式。非持续式CSMA会在介质空闲时立即进行通信,而持续式CSMA则会在介质空闲时以一定概率进行通信,并在发生冲突时等待一个随机时间再进行通信。
受控访问协议则是一种可以克服冲突的协议。其中,位图协议(预留协议)是一种利用资源预留来避免冲突的协议;令牌传递则是一种通过令牌来控制发送权的协议;二进制倒计数协议则是一种通过竞争期和传输期来控制发送权的协议。
最后,有限竞争协议则是一种结合了自适应树搜索协议(Adaptive Tree Walk Protocol)等两种协议优点的协议。
在一次成功传输后的第一个竞争时隙,所有站点同时竞争。如果只有一个站点申请,则获得信道。否则在下一竞争时隙,有一半站点参与竞争(递归),下一时隙由另一半站点参与竞争,即所有站点构成一棵完全二叉树。
6.3虚拟局域网VLAN
广播域(Broadcasting Domain)是广播帧能够到达的范围。缺省情况下,交换机所有端口同属于一个广播域,无法隔离广播域。广播帧在广播域中传播,占用资源,降低性能,且具有安全隐患。VLAN是一个在物理网络上根据用途、工作组、应用等来逻辑划分的局域网络,与用户的物理位置没有关系。通过路由器或三层交换机进行VLAN间路由,实现VLAN间通信。VLAN类型包括基于端口的VLAN、基于MAC地址的VLAN、基于协议的VLAN和基于子网的VLAN。
6.4无线局域网WLAN是指以无线信道作为传输介质的计算机局域网。无线局域网需要解决的问题包括有限的无线频谱带宽资源、共享的无线信道以及组网模式管理。其中,通道划分、空间重用可以提高传输速率并解决传输问题;介质访问控制方法(CSMA/CA)可以提高可靠性传输和安全性;BSS构建、认证、关联和移动性支持(漫游)、睡眠管理(节能模式)则是组网模式管理方面需要注意的问题。
四、网络层概述了网络层在数据链路层提供的两个相邻端点之间的数据帧传送功能上进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。网络层关键功能包括路由(控制面),选择数据报从源端到目的端的路径;转发(数据面),将数据报从路由器的输入接口传送到正确的输出接口。Internet网际协议分为IPv4协议及其相关技术和IPv6协议。IPv4协议是互联网的核心,也是使用最广泛的网际协议版本。
IPv4报文格式包括版本、首部长度、区分服务、总长度、标识、标志、片偏移、生存时间TTL、协议、首部校验和、源地址、目的地址和选项等部分。其中,版本占4位,表示该协议采用的是哪一个版本的IP;首部长度占4位,表示整个IP报文头的长度;区分服务占8位,该字段一般情况下不使用;总长度占16位,表示整个IP报文的长度,能表示的最大字节为2^16-1=65535字节;标识占16位,IP软件通过计数器自动产生,每产生1个数据报计数器加1;在IP分片以后,用来标识同一片分片;标志占3位,目前只有两位有意义:MF表示后面还有分片,置1;DF不能分片标志,置0时表示允许分片;片偏移占13位,表示IP分片后,相应的IP片在总的IP片的相对位置;生存时间TTL占8bit,表示数据报在网络中的生命周期,用通过路由器的数量来计量,即跳数(每经过一个路由器会减1);协议占8bit,标识上层协议(TCP/UDP/ICMP...);首部校验和占16bit,对数据报首部进行校验,不包括数据部分;源地址占32bit,标识IP片的发送源IP地址;目的地址占32bit,标识IP片的目的地IP地址;选项可扩充部分,具有可变长度,定义了安全性、严格源路由、松散源路由、记录路由、时间戳等选项。
以下是重构后的内容:
IP协议功能及报头字段总结
网络层基本功能
支持多跳寻路将IP数据报送达目的端:
目的IP地址
表明发送端身份:
源IP地址
根据IP头部协议类型,提交给不同上层协议处理:
协议
其它相关问题
数据报长度大于传输链路的MTU的问题,通过分片机制解决:
标识、标志、片偏移
防止循环转发浪费网络资源(路由错误、设备故障...),通过跳数限制解决:
生存时间TTL
IP报头错误导致无效传输,通过头部机校验解决:
首部校验和
3.2 IP地址
3.2.1 概述
IP地址是网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位标识符。将IP地址划分为固定的类,每一类都由两个字段组成。网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀。IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址。IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255。IP特殊地址包括私有地址、保留地址等。
3.2.1 子网划分
子网划分(subnetting)是在网络内部将一个网络块进行划分以供多个内部网络使用,对外仍是一个网络。子网(subnet)是一个网络进行子网划分后得到的一系列结果网络称为子网。子网掩码(subnet mask)与IP地址一一对应,是32 bit 的二进制数,置1表示网络位,置0表示主机位。子网划分减少了IP地址的浪费,网络的组织更加灵活,便于维护和管理。
3.2.3 无类域间路由
将32位的IP地址划分为前后两个部分,并采用斜线记法,即在IP地址后加上“/”,然后再写上网络前缀所占位数。一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合(route aggregation),也称为构成超网 (supernet)。聚合技术在互联网中大量使用,它允许前缀重叠,数据包按具体路由的方向发送,即具有最少IP地址的最长短匹配前缀。注:当路由器收到一个IP数据包时,它会将数据包的目的IP地址与自己本地路由表中的所有路由表进行逐位(Bit-By-Bit)对比,直到找到匹配度最长的条目,这就是最长前缀匹配机制。(路由比对之前会用相应路由的目的网络掩码进行逻辑与运算,再拿结果与路由路径比对)。
3.3 DHCP动态主机配置协议
DHCP是动态主机配置协议。
当主机加入IP网络时,它们可以从DHCP服务器动态获取IP地址,从而有效利用IP地址,方便移动主机的地址获取。
在DHCP协议中,有以下几种工作模式:客户/服务器模式(C/S)和基于UDP的工作模式。在基于UDP的工作模式下,服务器运行在67号端口,客户端运行在68号端口。DHCP客户从UDP端口68以广播形式向服务器发送发现报文(DHCPDISCOVER),DHCP服务器广播发出提供报文(DHCPOFFER),DHCP客户从多个DHCP服务器中选择一个,并向其以广播形式发送DHCP请求报文(DHCPREQUEST),被选择的DHCP服务器广播发送确认报文(DHCPACK)。
此外,还有ARP地址解析协议用于解决网络设备有数据要发送给另一台网络设备时必须要知道对方的网络层地址(即IP地址)的问题。在ARP协议中,如果A已知B的IP地址,需要获得B的MAC地址(物理地址),则直接从ARP表中获取;如果没有缓存有B的IP地址与MAC地址的映射关系,则A广播包含B的IP地址的ARP query分组。在局域网上的所有节点都可以接收到ARP query。B接收到ARP query分组后,将自己的MAC地址发送给A。A在ARP表中缓存B的IP地址和MAC地址的映射关系,超时时删除;路由到另一个局域网。
类地址:10.0.0.0–10.255.255.255
B类地址:172.16.0.0–172.31.255.555
C类地址:192.168.0.0–192.168.255.255
NAT工作机制
出数据报:外出数据报用 NAT IP地址(全局),新port #替代源IP地址(私有),port #。
NAT转换表:每个 (源IP地址, port #)到(NAT IP地址, 新port #) 映射项。
入数据报:对每个入数据报的地址字段用存储在NAT表中的(源IP地址, port #)替代对应的 (NAT IP地址, 新port #)。
NAT根据不同的IP上层协议进行NAT表项管理:TCP、UDP、ICMP。
传输层TCP/UDP拥有16-bit 端口号字段,所以一个WAN侧地址可支持60,000个并行连接。
NAT的优势:节省合法地址,减少地址冲突;灵活连接Internet;保护局域网的私密性。
ICMP是互联网控制报文协议。它允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP由主机和路由器用于网络层信息的通信。ICMP报文携带在IP数据报中:IP上层协议号为1。
ICMP报文类型及功能:
- ICMP差错报告报文:终点不可达:不可达主机、不可达网络,无效端口、协议。
- ICMP询问报文:回送请求/回答 (ping使用)。
- ICMP报文格式:前4个字节包含格式统一的三个字段:类型、代码、检验和;相邻的后四个字节内容与ICMP的报文类型有关。
静态路由选择策略(非自适应路由选择):基于网络拓扑结构预先配置的路由规则。动态路由选择策略(自适应路由选择):根据网络流量和拓扑结构自动调整的路由规则。
距离向量路由算法基本思想:每个节点周期性地向邻居发送它自己到某些节点的距离向量;当节点x接收到来自邻居的新DV估计,它使用B-F方程更新其自己的DV:Dx(y)← minv{c(x,v)+Dv(y)} for each node y∊N。上述过程迭代执行,Dx(y)收敛为实际最小费用dx(y)。距离向量算法特点:迭代的、分布式的;每次本地迭代由下列引起:本地链路费用改变、邻居更新报文。
分布式路由器算法是指通过网络中的每个节点独立决策数据包的转发方向,而不是依赖于中心化的控制机构。常见的分布式路由器算法有距离矢量路由算法和链路状态路由算法。
其中,距离矢量路由算法是一个迭代的异步的分布式(局部)算法。每一个节点都要从一个或者多个直接相邻的邻居节点那获得信息并将计算结果发回给邻居。这个过程要一直重复到邻居之间没有可以交换的信息为止。
链路状态路由算法可分为五个部分:发现邻居,了解他们的网络地址;设置到每个邻居的成本度量;开销/度量/代价:自动发现设置或人工配置;度量:带宽、跳数、延迟、负载、可靠性等;常用度量:链路带宽(反比)。例如:1-Gbps以太网的代价为1,100-Mbps以太网的代价为10。可选度量:延迟。发送一个echo包,另一端立即回送一个应答。通过测量往返时间RTT,可以获得一个合理的延迟估计值。构造一个分组,分组中包含刚收到的所有信息;构造链路状态分组(link state packet,LSP)发送方标识序列号年龄邻居列表将此分组发送给其他的路由器;每个LSP分组包含一个序列号,且递增;路由器记录所收到的所有(源路由器、序列号)对当一个新分组到达时,路由器根据记录判断:如果是新分组,洪泛广播;如果是重复分组,丢弃;如果是过时分组,拒绝计算到其他路由器的最短路径。Dijkstra算法示例D(k):从计算节点到目的节点k当前路径代价p(k):从计算节点到目的节点k的路径中k节点的前继节点距离向量和链路状态算法比较网络状态信息交换的范围DV:邻居间交换LS:全网扩散网络状态信息的可靠性DV:部分道听途说LS:自己测量层次路由产生原因过于庞大的路由表存储、查找困难路由信息交互开销高现实情况:地址分配往往是随机的难以进行高效的地址聚合每个网络的网络管理员有自己的管理方法和思路并不希望每个路由器都干涉本网络内部的地址分配等问题层次路由可以解决以上问题
网络扩展性问题是当网络扩大时,控制路由表条目和路由表存储空间的增长。管理的自治问题是网络管理员可以控制和管理自己网络的路由。
互联网由大量不同的网络互连,每个管理机构控制的网络是自治的。自治系统(AS,Autonomous System)是一个管理机构控制之下的网络。一个AS内部通常使用相同的路由算法/路由协议,使用统一的路由度量(跳数、带宽、时延 ...)。不同的AS可以使用不同的路由算法/路由协议。每个AS有一个全球唯一的ID号:AS ID。自治系统内的还可以进一步划分层次:私有自治系统或区域。
广播路由是一种将数据包发送到所有目标地址的方式。实现方法包括:1.给每个主机单独发送一个数据包,效率低、浪费带宽;2.多目标路由(multi-destination routing),在需要转发的路由器线路复制一次该数据报,网络利用率高;3.泛洪(flooding),一种将数据包发送到所有网络节点的简单方法,将每个进入数据包发送到除了进入线路外的每条出去线路。
保证性:广播是一种有效广播手段,可确保数据包被传送到网络中每个节点。鲁棒性:即使大量路由器被损坏,也能找到一条路径(如果存在)。简单性:仅需知道自己的邻居。无控制的泛洪可能导致环路、广播风暴等问题。解决方法包括受控制的泛洪(每个路由器进行有选择地泛洪)、序号控制泛洪、逆向路径转发等。
生成树(spanning tree)是一种通过计算最短路径树来避免环路并提高性能的技术。源节点向所有属于该生成树的特定链路发送分组,改进了逆向路径转发。没有环路,最佳使用带宽,最少副本,消除了冗余分组。
Internet路由协议包括RIP、OSPF、BGP等。其中RIP是一种基于距离矢量算法的协议,使用跳数衡量到达目的网络的距离。RIP认为一个好的路由就是它通过的路由器数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。
路由器是互联网最主要的网络设备之一,包含两个核心功能:控制层和数据层。控制层运行各种路由协议(如BGP、OSPF、RIP等),学习去往不同目的的转发路径;数据层根据上述路由表,将收到的IP分组转发到正确的下一跳链路。
RIP协议的特点包括算法简单、易于实现、收敛慢和需要交换的信息量较大。RIP协议适用于中小型网络。
BGP-外部网关路由协议是目前互联网中唯一实际运行的自治域间的路由协议。BGP具有以下功能:eBGP从相邻的AS获得网络可达信息;iBGP将网络可达信息传播给AS内的路由器;基于网络可达信息和策略决定到其他网络的“最优”路由。BGP会话是指两个BGP路由器通过TCP连接交换BGP报文,通告到不同网络前缀的路径,即路径向量协议。
IP报文在路由器转发前后的变化包括:链路层封装更新,IP头部“TTL”减1,IP头部“校验和”更新。普通IP报文转发过程中,路由器不查看传输层及以上层协议的内容。数据报在不同硬件单元的处理包括:报文输入的接口卡、链路层解封装、转发表查询(该工作在输入接口卡处理)、通过交换结构将报文排队发往目的接口卡(发送过快将产生拥塞)、从输出接口发送报文。3种典型的交换结构包括:ASIC交换机、FPGA交换机、DSP交换机。拥塞控制算法包括开环控制和闭环控制,其中流量调节包括抑制包(Choke Packets)和逐跳的抑制包(Hop-by-Hop Choke Packets) 。
oS是服务质量(Quality of Service)的缩写,是指网络环境下服务满足用户的程度。QoS主要指网络环境下服务满足用户的程度,在视频服务的语境下也可认为是Quality of Streaming,即流媒体服务的质量。IP网络不能保证特定业务的QoS要求,已经成为IP网络发展的巨大障碍。通过沿着路由对 QoS 提供适当的支持,就能改善变量延迟和阻塞的状况(较差的网络性能表现) 。
oS是网络在传输数据流时要满足一系列服务请求,具体可以量化为带宽、时延、抖动、丢包率等性能指标。流量整形(traffic shaping)的作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。漏桶算法和令牌桶算法分别用于控制数据包的流量,其中漏桶算法输出的流量永远不可能超过一定限制,而令牌桶算法可以容忍短时间内的高流量输出。数据包调度算法则负责分配带宽和其他路由器资源,负责确定把缓冲区中的哪些数据包发送到输出链路上。
三层交换是一种基于IP层的网络交换技术,它可以实现不同VLAN之间的通信,并且可以对不同VLAN之间的数据流进行分类和过滤。三层交换技术背景中提到了二层交换网络中的广播问题,以及VLAN隔离了正常的用户间数据通信。
传统路由器主要用于解决VLAN间的互通问题,但由于其转发效率和拓扑复杂性,无法有效应对大规模网络扩展带来的通信瓶颈。三层交换机则利用第三层协议的信息来加强第二层交换功能,形成具有路由功能的交换机。它能融合VLAN间的二层隔离和三层互通,消除大规模网络中广播对性能的影响,简化网络配置、拓扑和管理,降低网络部署成本。
虚拟专用网(VPN)是为实现专用网络的经济、可靠、灵活的解决方案。通过安全隧道技术,在公共网络上扩展专用网络。VPN的设计原则包括安全性、隧道与加密、数据验证、用户验证和防火墙与攻击检测。VPN利用公用网络架设专用网络的远程访问技术,通过隧道技术在公共网络上模拟出一条点到点的逻辑专线,以实现安全数据传输的目的。
IPv6协议的初始动机是应付“32位地址空间耗尽”的问题(CIDR和NAT都无法从根本上解决地址短缺问题),以增加地址空间。IPv6地址长度为128位,是IPv4地址长度的4倍,地址空间数量约为3×10^38。IPv6地址表示法采用冒分十六进制,每个x前可省略0,连续的值为0的x可以表示为“::”,且“::”只能出现1次。例如,将原地址2001:0DA8:0000:0000:200C:0000:0000:00A5简化为2001:DA8:0000:0000:200C::A5。
传输层位于应用层和网络层之间,为分布式应用程序提供通信服务。按照因特网的“端到端”设计原则,应用程序只运行在终端上,即不需要为网络设备编写程序。站在应用程序的角度看,传输层应提供进程之间本地通信的抽象,使运行在不同终端上的应用程序进程仿佛是直接连在一起的。传输层的核心组件是套接字(socket),它提供了进程间通信所需的接口和规则。
传输层是OSI模型中的最高层,它是应用程序和网络之间的接口。在TCP/IP网络中,这扇“门”称为套接字(socket),是应用层和传输层的接口,也是应用程序和网络之间的API。传输层提供的服务包括:复用和分用、可靠数据传输、流量控制、拥塞控制等。因特网传输层通过UDP协议和TCP协议,向应用层提供两种不同的传输服务:UDP协议仅提供最低限度的传输服务;TCP协议提供基础服务和增强服务。
以下是对您提到的内容进行重构后的段落结构:
设想在应用程序和网络之间存在一扇“门”:需要发送报文时:发送进程将报文推到门外;门外的运输设施(因特网)将报文送到接收进程的门口;需要接收报文时:接收进程打开门,即可收到报文。在TCP/IP网络中,这扇“门”称为套接字(socket),是应用层和传输层的接口,也是应用程序和网络之间的API。
1.2 传输层提供的服务:因特网的网络层提供“尽力而为”的服务:网络层尽最大努力在终端间交付分组,但不提供任何承诺。具体来说,不保证交付、不保证按序交付、不保证数据完整、不保证延迟、不保证带宽等。传输层有所为有所不为:传输层可以通过差错恢复、重排序等手段提供可靠、按序的交付服务。但传输层无法提供延迟保证、带宽保证等服务。1.3 因特网传输层提供的服务:最低限度的传输服务:将终端-终端的数据交付扩展到进程-进程的数据交付;报文检错;增强服务:可靠数据传输;流量控制;拥塞控制。因特网传输层通过UDP协议和TCP协议,向应用层提供两种不同的传输服务:UDP协议仅提供最低限度的传输服务;TCP协议提供基础服务和增强服务。
2. 传输层基本服务——复用和分用:
2.1 复用和分用概述:传输层基本服务将主机间交付扩展到进程间交付,通过复用和分用实现。复用是指发送方传输层将套接字标识置于报文段中,交给网络层;分用是指接收方传输层根据报文段中的套接字标识,将报文段交付到正确的套接字。2.2 套接字标识与端口号:每个套接字在本地关联一个端口号;端口号是一个16比特的数;端口号分为熟知端口、注册端口、动态和/或私有端口等几类;报文段中有两个字段携带端口号:源端口号(与发送进程关联的本地端口号)和目的端口号(与接收进程关联的本地端口号)。2.3 TCP/UDP套接字(复用和分用):使用
3. 无连接传输:UDP:3.1 UDP报文段结构。
UDP报文的校验和是为了对传输的报文段进行检错。以下是报文段的字段:
- key
- human
- hex
- Source (192.168.1.106)
- Destination (11.111.111.111)
- Protocol (UDP(17))
- Length (17)
- Source Port (63549)
- Destination Port (12345)
- Length (17)
- Checksum (0xb12d b12d)
- Data (hello UDP 6865 6c6c 6f20 5544 5000)
将上表中所有的 16 进制数加起来,之后取反码。有一点需要注意的是,如果遇到最高位进位,那么需要对结果进行回卷,意思是求出来的即是校验和。
为什么需要UDP?应用可以尽可能快地发送报文:无建立连接的延迟、不限制发送速率(不进行拥塞控制和流量控制)、报头开销小、协议处理简单。UDP适合哪些应用?容忍丢包但对延迟敏感的应用如流媒体、以单次请求/响应为主的应用如DNS、若应用要求基于UDP进行可靠传输则由应用层实现可靠性。
面向连接的传输是TCP。如何实现可靠传输?基本原则是利用ACK确认、重传机制、差错检测。可靠传输实现举例-Stop and Wait。注:该实现俗称tcp的三次握手和四次挥手。三次挥手我们也常称为“请求 -> 应答 -> 应答之应答”的三个回合,主要就是为了建立连接。建立一条TCP连接需要确定两件事:双方都同意建立连接(知晓另一方想建立连接)、初始化连接参数(序号,MSS等)。四次挥手:目的就是确保断开连接时双方都是确认结束的状态。
由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。1GBN 协议(回退 N 步协议)发送窗口。
发送方维持的发送窗口,它的意义是:位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。
发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。累积确认接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认。这样就表示:到这个分组为止的所有分组都已正确收到了。优点:容易实现,即使确认丢失也不必重传。缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。如果发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做 Go-back-N(回退 N),表示需要再退回来重传已发送过的 N 个分组。可见当通信线路质量不好时,连续 ARQ 协议会带来负面的影响。
SR 协议在 GBN 协议的基础上进行了改进,它通过让发送方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组而避免了不必要的重传。选择重传协议只重传真正丢失的分组。选择重传的接收窗口与发送窗口一样大。选择重传协议允许与接收窗口一样多的分组失序到达,并保存这些失序到达的分组,直到连续的一组分组被交付给应用层。标记发出分组,当 ACK=Sf 时,将窗口滑过所有连续的已确认的分组。如果还有未确认的分组,则重发所有检测到的未被确认的分组并重启计时器。如果所有分组都被确认了则停止计时器。确认,确认号(ACK)只定义完好接收的那一个分组的序号,并不反馈任何其他分组的信息。注:SR 协议 ACK 确认和 GBN 的累计确认不同,是一个一个确认。
理论上选择重传协议要为每个分组使用一个计时器。当某个计时器超时后,只有相应的分组被重传。换而言之,返回 N 协议将所有的分组当做一个整体对待,而选择重传协议则分别对待每一个分组。但是大多数 SR 的运输层仅使用了一个计时器。注意只使用一个计时器而做到跟踪所有发出去的分组的情况的做法是:标记发出分组,当 ACK=Sf 时,将窗口滑过所有连续的已确认的分组;如果还有未确认的分组;则重发所有检测到的未被确认的分组并重启计时器;如果所有分组都被确认了则停止计时器。快速重传仅靠超时重发丢失的报文段恢复太慢!发送方可利用重复 ACK 检测报文段丢失:
以上内容来自CSDN博客文章《TCP/IP详解卷1:套接字编程》
TCP协议是一种可靠的传输协议,它通过使用序列号和确认来保证数据的可靠传输。在TCP协议中,每个报文段都有一个唯一的序列号,发送方将这个序列号作为确认消息的一部分发送给接收方。如果接收方收到了重复的序列号,它会重发一个带有该序列号的消息。
为了确保数据的可靠性,TCP协议采用了多个机制来防止数据丢失。其中最常用的是快速重传机制,它允许发送方在定时器到期前重发丢失的报文段。此外,TCP协议还使用了窗口控制、延迟确认和选择确认等多种机制来优化数据传输效率。
在使用TCP协议时,需要了解其基本概念和工作原理。例如,TCP连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。这两个窗口分别表示当前可以发送和接收的数据量。此外,TCP协议还使用了字节的序号来进行控制,并且所有的确认都是基于序号而不是基于报文段。
当数据量达到一个MSS或上一次传输的确认到来(取两者的较小时间),用一个TCP段将缓存的字节全部发走。
Nagle算法的优点:适应网络延时、MSS长度及应用速度的各种组合;常规情况下不会降低网络的吞吐量。
6.拥塞控制
发送方根据自己感知的网络拥塞程度,限制其发送速率。
6.1 拥塞控制的类型
- 网络辅助的拥塞控制:路由器向端系统提供显式的反馈,例如设置拥塞指示比特和给出发送速率指示。ATM、X.25采用此类方法。
- 端到端拥塞控制:网络层不向端系统提供反馈,端系统通过观察丢包和延迟,自行推断拥塞的发生。TCP采用此类方法。
6.2 TCP拥塞控制要解决的问题
- 发送方如何感知网络拥塞?
- 发送方利用丢包事件感知拥塞:拥塞造成丢包和分组延迟增大,无论是丢包还是分组延迟过大,对于发送端来说都是丢包了。丢包事件包括重传定时器超时和发送端收到3个重复的ACK。
- 发送方采用什么机制限制发送速率?
- 发送方使用拥塞窗口cwnd限制已发送未确认的数据量:LastByteSent-LastByteAcked<= cwnd,cwnd随发送方感知的网络拥塞程度而变化。
- 发送方感知到网络拥塞后,采取什么策略调节发送速率?
- AIMD:乘性减(Multiplicative Decrease),发送方检测到丢包后,将cwnd的大小减半(但不能小于一个MSS),目的迅速减小发送速率,缓解拥塞。加性增(Additive Increase):若无丢包,每经过一个RTT,将cwnd增大一个MSS,直到检测到丢包,目的缓慢增大发送速率,避免振荡。MSS是发送速率TCP建立连接时双方确定的每一个报文段所能承载的最大数据长度。
- TCP慢启动:慢启动的策略是每经过一个RTT将cwnd加倍;慢启动的具体实施是每收到一个ACK段则将cwnd增加一个MSS;只要发送窗口允许则发送端可以立即发送下一个报文段;特点以一个很低的速率开始按指数增大发送速率;区分不同的丢包事件超时说明网络交付能力很差;收到3个重复的ACK说明网络仍有一定的交付能力;收到3个重复的ACK将cwnd降至一半使用AIMD调节cwnd超时设置门限为cwnd/2并将cwnd设置为1MSS使用慢启动增大cwnd至门限使用AIMD调节cwnd。
- TCP拥塞控制的实现:发送方维护变量ssthresh。
TCP Reno是一种拥塞控制算法,主要由三部分组成:慢启动、拥塞避免和快速重传。当cwnd低于门限时,执行慢启动;当cwnd高于门限时,执行拥塞避免。在拥塞避免阶段,拥塞窗口线性增长:每当收到ACK, cwnd=cwnd + MSS*(MSS/cwnd)。检测到3个重复的ACK后:TCP Reno实现:cwnd= ssthresh+3,线性增长。
2P对等通信方式是指两个进程在通信时并不区分服务的请求方和服务的提供方。只要两个主机都运行P2P软件,它们就可以进行平等、对等的通信。音频/视频应用推动了P2P对等通信方式的发展(BitTorrent)。
服务器进程工作方式可以分为循环方式(iterative mode)和并发方式(concurrent mode)。循环方式一次只运行一个服务进程,当有多个客户进程请求服务时,服务进程就按请求的先后顺序依次做出响应 (阻塞方式)。并发方式可以同时运行多个服务进程,每一个服务进程都对某个特定的客户进程做出响应 (非阻塞方式)。无连接循环方式服务使用无连接的UDP服务进程通常都工作在循环方式,即一个服务进程在同一时间只能向一个客户进程提供服务。(顺序服务)。
面向连接的并发方式服务面向连接的TCP服务进程通常都工作在并发服务方式,服务进程在同一时间可同时向多个客户进程提供服务。在TCP服务进程与多个客户进程之间必须建立多条TCP连接,每条TCP连接在其数据传送完毕后释放。一个TCP连接对应一个(熟知)服务端口。主服务进程在熟知端口等待客户进程发出的请求。一旦收到客户的请求,就创建一个从属服务进程,并指明从属服务进程使用临时套接字与该客户建立TCP连接,然后主服务进程继续在原来的熟知端口等待向其他客户提供服务。
域名系统(DNS)是互联网重要的基础设施之一,向所有需要域名解析的应用提供服务,主要负责将可读性好的域名映射成IP地址。Internet采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。Internet的DNS是一个联机分布式数据库系统名字到域名的解析是由若干个。
域名服务器程序的工作原理是通过递归查询和迭代查询两种方式来完成域名解析过程。当收到查询请求报文的域名服务器不知被查询域名的IP地址时,该域名服务器就以DNS客户的身份向下一步应查询的域名服务器发出查询请求,即替本地域名字服务器继续查询,这是递归查询;当收到查询请求报文的域名服务器不知道被查询域名的IP地址时,就把自己知道的下一步应查询的域名服务器IP地址告诉本地域名字服务器,由本地域名字服务器继续向该域名服务器查询,直到得到所要解析的域名的IP地址,或者查询不到所要解析的域名的IP地址,这是迭代查询。
WWW体系结构与协议包括:WWW=World Wide Web=万维网、HTTP服务器和客户端、以及它们之间执行的HTTP协议。其中Web页面(HTML文档)包含多种对象或链接;Web对象可以是HTML文档、图像文件、视频文件、声音文件、脚本文件等。对象用URL(统一资源定位符)编址:协议类型://主机名:端口//路径和文件名;客户端发出请求、接收响应、解释HTML文档并显示;有些对象需要浏览器安装插件;统一资源定位器URLs;www协议。
HTTP是一种无状态协议,服务器端不保留之前请求的状态信息。与有状态协议相比,无状态协议效率较低,但实现起来较为简单。有状态协议维护状态相对复杂,需要维护历史信息,在客户端或服务器出现故障时,需要保持状态的一致性等。
在HTTP的发展历程中,主要经历了以下三个版本:HTTP/1.0(1996年)、HTTP/1.1(1999年)和HTTP/2(2015、2020年)。其中,HTTP/1.0采用无状态、非持久连接的方式,而HTTP/1.1则支持长连接和流水线机制,缓存策略优化、部分资源请求及断点续传等。此外,为了提高安全性,还出现了基于SSL/TLS加密的HTTPS协议(2008年),它在TCP之上提供了安全机制。
随着互联网的发展,Web安全与隐私问题日益突出。其中,Cookie作为一种广泛使用的技术手段,被广泛应用于Web应用中。HTTP协议本身是无状态的,因此服务器无法直接识别用户身份。为了解决这个问题,服务器会在响应的首部行里使用一个关键字头set-cookie来存储用户的唯一标识符(如SID),并在后续的HTTP请求中使用该标识符与服务器进行交互。这样一来,即使用户关闭浏览器或者更换IP地址,也可以通过Cookie记录下来的唯一标识符来识别用户身份。
Cookie文件通常保存在用户的主机中,由用户主机中的浏览器进行管理。每个域只能分配有限数量的Cookie,路径指明哪些服务器上的文件树可以使用该Cookie。Cookie的内容采用“名字=值”的形式存储,可以达到4K容量,内容只是字符串而不是可执行程序。此外,为了保证安全传输,安全指示要求浏览器只向使用安全传输连接的服务器返回Cookie。
总之,Cookie技术在Web开发中具有重要作用。通过分析用户喜好、向用户进行个性化推荐、在网站上标识用户信息以及查找用户以前浏览过的网站记录等功能,Cookie为网站提供了丰富的功能和便利性。同时,Cookie还可以用来记录用户的购物清单、跨站点跟踪用户点击广告等场景,进一步提升用户体验。然而,需要注意的是,Cookie技术也是一把双刃剑,如果使用不当可能会对用户的隐私造成影响。
Cookie技术是把双刃剑,它可以跟踪用户网络浏览痕迹,泄露用户隐私。Cookie跟踪用户以前浏览过哪些网站,跟踪用户频繁浏览哪类网站。Cookie收集用户信息,用户网络交互时关注的关键词。但是,Cookie容易嵌入间谍程序,这是个误区。Cookie文件保存的只是文本串,没有可执行程序。
流媒体是指连续媒体(音视频)经压缩编码、数据打包后,经过网络发送给接收方。接收方对数据进行重组、解码和播放。流媒体的特性有端到端时延约束、时序性约束(流媒体数据必须按照一定的顺序连续播放)和具有一定程度的容错性(丢失部分数据包也可完成基本功能)。
动态自适应传输是一种结合了流控和HTTP渐进式下载的分发技术,它能够自动适应网络带宽,为用户提供良好的视频播放体验。DASH (Dynamic Adaptive Streaming over HTTP) 是动态自适应流媒体传输协议DASH,由MPEG组织制定的标准。
内容分发网络CDN是一种Web缓存系统,靠近网络边缘(用户)提供内容服务。目前提供更丰富的服务,包括静态内容、流媒体、用户上传视频等。主要优点有降低响应时延、避免网络拥塞、避免原始服务器过载及防止DDoS攻击、分布式架构具有良好的可扩展性和对用户透明无需用户感知。
将内容分发给同时发起访问的数百万用户,可以使用CDN(Content Delivery Network)。CDN是一种通过在现有Internet中增加一层新的网络架构,利用物理上分散的节点服务器和逻辑上松散的网状结构,使用户就近获取所需内容的一种网络服务。CDN的主要作用是减轻源站的压力,提高网站的响应速度和稳定性。
DNS重定向实现CDN:将请求调度到较近或负载较轻的CDN服务器。HTTP重定向请求内容:服务提供者返回清单CDN。原始服务器决策CDN服务器:HTTP响应:状态码30X,Location:指明新的位置。DNS辅助实现CDN:负载均衡DNS负责决策CDN服务器选择。负载均衡DNS需要收集CDN服务器的位置和负载情况。如果找不到被请求的对象,需要从原始服务器获取。
FTP使用C/S方式实现
9.2 工作过程
当服务器主进程打开TCP21端口后,等待客户进程发出的连接请求。客户端可以使用分配的任意一个本地端口号与服务器进程的TCP21端口进行连接。当客户请求到来时,服务器主进程启动从属进程来处理客户进程发来的请求。服务器从属进程在处理完客户进程的请求后即终止,但在运行期间根据需要还可能创建其他一些子进程。服务器主进程返回后,继续等待接收其他客户进程发来的连接请求,服务器主进程与从属进程并行工作。
FTP的两个端口与两个连接:
控制连接:在整个会话期间一直保持,客户进程发出的文件传输请求通过控制连接发送给服务器控制进程(工作在TCP21端口)。但控制连接不用来传输文件。
数据传输连接:当服务器控制进程在接收到客户进程发送来的文件传输请求后就创建数据传输进程(工作在TCP20端口)和数据连接。数据连接用来连接客户进程和服务器数据传输进程,实际完成文件的传输。服务器数据传输进程在文件传输完毕后关闭数据连接并结束运行。
写在最后:
这篇知识汇总我写了好久,因为ppt的缘故,知识整理需要自己消化一遍然后挑选重要的部分整理摘录下来,同时对于某些知识点的组织结构做了相应调整。对于不太清楚的地方,我也去查阅了相关资料做了补充。但需要注意的是有些知识点并不完整,该知识点整理也只是根据我们当时考试的考点来整理的,所以不足之处请见谅。愿我们以梦为马,不负人生韶华!与君共勉。今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。网络安全学习资源分享:为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!网络安全资源分享:对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。1.学习路线图攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去接私活完全没有问题。2.视频教程网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。【点击领取视频教程】
技术文档和电子书:我整理了大量关于网安行动、CTF和SRC漏洞挖掘的经验和技术要点,以及200多本电子书籍【点击领取技术文档】。这些资料已经打包成一个整体,总共有300多集,方便大家查阅。
工具包、面试题和源码:
为了更好地进行网安工作,我为大家精选了几十款最受欢迎的黑客工具,涵盖了信息收集、Android黑客工具、自动化工具、网络钓鱼等领域。对于想要从事网安工作的朋友来说,这些工具绝对不容错过。
此外,我还整理了近年来网安领域的面试题,对于正在寻找网安相关工作的朋友来说,这些题目将大有裨益。这些问题都是在深信服、奇安信、腾讯等大厂面试中经常会遇到的,如果你有更好的问题或建议,欢迎分享。
参考资料包括深信服官网、奇安信官网、Freebuf、CSDN等。我的资料条理清晰,同时还包含图像化表示,以便大家更容易理解。内容涵盖了内网、操作系统、协议、渗透测试、安全服务、漏洞、注入、XSS、CSRF、SSRF、文件上传下载、文件包含、XXE、逻辑漏洞等方面。还包括一些实用的工具,如SQLmap、NMAP、BP、MSF等。
👋全套《黑客&网络安全入门&进阶学习资源包》👇👇👇
保证100%免费,欢迎大家学习!