计网复习笔记
概述
三网:电信网络,有线电视网络,计算机网络
三网指的是电信网络、有线电视网络和计算机网络。
-
电信网络:电信网络是指通过电信设施(如电话线、光纤等)提供的通信服务。它是一种基于传统的通信技术,主要用于提供语音通信、短信、传真和互联网接入等服务。电信网络由电信运营商建设和维护,用户可以通过电话、手机、调制解调器等设备接入电信网络。
-
有线电视网络:有线电视网络是一种通过有线电视线路传输信号的广播电视系统。它通过有线电视网络将电视信号传送到用户家中的电视机,提供各种电视频道和电视节目。有线电视网络通常由有线电视运营商提供,用户需要安装有线电视接收设备来接收电视信号。
-
计算机网络:计算机网络是一种互联的计算机系统,通过通信设备和协议连接起来,实现计算机之间的数据交换和资源共享。计算机网络可以是局域网(LAN)、广域网(WAN)或互联网(Internet)。它为用户提供了各种网络服务,如电子邮件、网页浏览、文件传输和远程访问等。计算机网络是现代信息社会中不可或缺的基础设施。
这三个网络在不同领域和应用中发挥着重要的作用,相互协作构成了现代通信和信息传输的基础。
电路交换,报文交换,分组交换
电路交换的特点:
- 建立专用的物理连接
- 数据按照固定大小的数据包进行传输
- 通信资源在整个会话期间被独占使用
- 提供实时性和稳定的连接
报文交换的特点:
- 不需要事先建立连接
- 整个消息或报文作为一个整体进行传输
- 传输过程中数据保持完整性
- 适用于需要一次性传输完整消息的场景
分组交换的特点:
- 不需要事先建立连接
- 数据被划分为小的数据块(分组)进行传输
- 通信资源在传输过程中被多个通信会话共享使用
- 高效利用网络资源
- 适用于大规模网络和不确定流量的情况
计算机网络按作用范围分类:广域网,城域网,局域网,个域网
计算机网络按照作用范围的不同可以分为以下几种类型:
-
广域网(Wide Area Network,WAN):广域网是一个覆盖范围广泛的网络,通常跨越地理上分散的区域,如城市、国家或跨越多个国家。广域网使用公共通信基础设施(如电信线路、光纤、卫星链路等)来连接远距离的网络节点,实现跨地域的数据传输。典型的广域网例子包括互联网和国际专线网络。
-
城域网(Metropolitan Area Network,MAN):城域网是介于广域网和局域网之间的网络,覆盖一个城市或城市区域。它通常由多个局域网互连而成,使用高速传输技术(如光纤、无线电、微波等)进行数据传输。城域网常用于连接城市内的分支机构、学校、医院等机构,提供高速数据通信和资源共享。
-
局域网(Local Area Network,LAN):局域网是在一个相对较小的地理区域内建立的网络,例如办公楼、学校或家庭。局域网通常由局部区域内的计算机、服务器、打印机等设备组成,使用以太网等局域网技术进行数据通信。局域网提供高速的内部通信和资源共享,例如共享文件、打印机、数据库等。
-
个域网(Personal Area Network,PAN):个域网是一个较小的、个人级别的网络,通常涉及个人设备之间的无线连接。个域网通常涉及个人电脑、智能手机、平板电脑、蓝牙耳机等设备之间的通信,例如通过蓝牙技术进行数据传输和设备互联。
这些不同范围的网络类型在覆盖范围、传输距离和应用场景上有所区别,适用于不同规模和需求的通信环境。
网络常用性能指标:速率,带宽,吞吐量,时延,RTT等
以下是网络中常用的性能指标的简要解释:
-
速率(Rate):速率是指单位时间内传输的数据量。通常以位率(bits per second,bps)或字节率(bytes per second,Bps)表示。例如,一个网络连接的速率为100 Mbps(兆位每秒)表示该连接每秒传输的数据量为100兆位。
-
带宽(Bandwidth):带宽是指网络或通信信道传输数据的能力。它表示在单位时间内能够通过网络或信道传输的最高数据率。带宽通常以比特率(bits per second,bps)表示,如10 Mbps或100 Mbps。带宽决定了网络的最大传输速度。
-
吞吐量(Throughput):吞吐量是指在实际传输中通过网络或链路传输的实际数据量。它表示网络在特定时间内能够成功传输的数据量。吞吐量可以受到网络拥塞、丢包和其他因素的影响,可能低于带宽。
-
时延(Delay):时延是指数据从发送端到接收端所经历的时间。它可以分为不同的类型:
- 传播时延(Propagation Delay):信号在传输媒介中传播的时间延迟,主要取决于传输媒介的物理特性和传输距离。
- 处理时延(Processing Delay):数据在网络设备(如路由器、交换机)上进行处理所需的时间。
- 排队时延(Queueing Delay):数据在网络设备的缓冲队列中等待处理的时间。
- 传输时延(Transmission Delay):数据从发送端开始传输到链路上所需的时间,取决于数据包的大小和链路的带宽。
-
往返时间(Round-Trip Time,RTT):RTT是指数据从发送端发送到接收端,再返回发送端所经历的时间。它包括了数据在传输过程中的时延以及接收端进行处理和应答的时间。RTT通常用于衡量网络延迟,如测量网络连接的响应时间或评估网络性能。
这些性能指标在评估和监测网络性能、优化网络传输以及故障排除方面起着重要作用。了解和掌握这些指标有助于对网络性能进行分析和改进。
物理层
信息交互方式:单工通信,双工通信,半双工通信
信息交互方式包括单工通信、双工通信和半双工通信,它们描述了信息在通信中的传输方向和能力。
-
单工通信(Simplex Communication):在单工通信中,数据只能在一个方向上进行传输。发送方向和接收方向是固定的,数据只能从发送方向传输到接收方向,而不能反向传输。这类似于单向的流动,就像一条单行道。例如,无线电广播是一个单工通信的例子,信号只能从广播台传输到收音机。
-
双工通信(Duplex Communication):在双工通信中,数据可以同时在两个方向上进行传输。发送方和接收方都可以同时发送和接收数据,实现了双向通信。这类似于一个双向的道路,允许交通双向流动。典型的双工通信例子是电话通话,两个人可以同时进行对话。
-
半双工通信(Half-Duplex Communication):在半双工通信中,数据传输是双向的,但不能同时进行。发送方和接收方可以交替地发送和接收数据,但同一时间只能有一个方向上进行传输。这类似于单行道上的交通信号灯,只允许一个方向的流量。典型的半双工通信例子是对讲机通信,用户需要按下对讲按钮才能发送消息,而在接收消息时无法发送。
这些信息交互方式在不同的通信场景中应用广泛。单工通信适用于只需单向数据传输的场景,双工通信适用于需要同时进行双向通信的场景,而半双工通信适用于需要双向通信但不要求同时传输的场景。选择适当的信息交互方式取决于通信需求和可用的通信技术。
基带调制,带通调制,以及它们常用的编码方式
曼彻斯特
比特时间中间跳变,从高电平跳到低电平表示1,反之0
解决连续0和连续1问题,但是因为中间跳转编码效率只有50%
基带调制:数字信号 -> 数字信号
基带调制(编码):仅对基带信号的波形进行变换,使它能够与信道特性相适应,变换后的信号仍是基带信号
带通调制:数字信号 -> 模拟信号,调幅,调频,调相
带通调制:使用载波调制,将基带信号的频率范围搬移到较高的频段,并转换为模拟信号。
最基本的二元制调制方法有以下几种:
调幅(AM): 载波的振幅随基带数字信号而变化。
调频(FM): 载波的频率随基带数字信号而变化。
调相(PM): 载波的初始相位随基带数字信号而变化。
信道的极限信息传输速率:香农公式
根据香农公式,信道的极限信息传输速率(C)可以表示为:
$C = B * log2(1 + S/N)$
C:信道的极限信息传输速率,以比特/秒(bps)为单位;
B:信道的带宽,以赫兹(Hz)为单位;
S:信号的平均功率,以瓦特(W)为单位;
N:信道中的噪声功率,以瓦特(W)为单位。
香农公式中的log2表示以2为底的对数。公式中的S/N比值代表了信号功率和噪声功率之间的比值,也称为信噪比(Signal-to-Noise Ratio, SNR)。SNR越大,表示信号相对于噪声更强,因此可以传输更高的数据速率。
传输媒体:双绞线、同轴电缆、光缆
-
双绞线(Twisted Pair):双绞线是一种常用的传输媒体,它由两条绝缘导线紧密绞合而成。双绞线分为无屏蔽双绞线(Unshielded Twisted Pair, UTP)和屏蔽双绞线(Shielded Twisted Pair, STP)两种类型。UTP常用于以太网网络中,而STP通常用于对电磁干扰更敏感的环境。双绞线的优点包括低成本、易于安装和维护,但受到距离限制和干扰影响。
-
同轴电缆(Coaxial Cable):同轴电缆是由中心导体、绝缘层、金属屏蔽层和外层护套组成的传输媒体。它的结构使其具有良好的抗干扰性能,适用于高频率和远距离的数据传输。同轴电缆常用于电视信号、有线电视和计算机网络等领域。
-
光缆(Fiber Optic Cable):光缆是一种利用光纤传输光信号的传输媒体。光缆由一个或多个光纤组成,每个光纤由一个纤维芯和一个护套组成。光缆具有高带宽、低衰减、抗电磁干扰等优点,适用于长距离和高速数据传输。它被广泛应用于光纤通信、互联网和局域网等领域。
物理层设备:集线器
集线器(Hub)是物理层设备中的一种,用于在局域网(LAN)中连接多个计算机和其他网络设备。它是一种多端口设备,将所有连接到它的设备组成一个共享的物理总线。
集线器的主要功能是将来自一个端口的数据包广播到其他所有端口,使得所有连接的设备都可以接收到数据。当一个设备发送数据时,集线器会将数据复制并广播到所有其他端口上。这种广播性质使得集线器工作在物理层,并且没有智能路由功能。
一些主要特点和特性包括:
-
数据广播:集线器会将数据广播到所有连接的设备上,而不区分目标设备。
-
半双工通信:由于共享物理总线的特性,集线器只能支持半双工通信,即同一时间只能有一个设备发送数据。
-
数据冲突:由于所有设备共享同一物理链路,当多个设备同时发送数据时,可能会发生数据冲突。集线器没有解决数据冲突的机制,而是依赖于冲突检测机制(CSMA/CD)。
-
最大传输距离:集线器的传输距离通常较短,受制于传输介质的限制。
-
可扩展性:集线器通常具有多个端口,可以通过连接多个集线器来扩展网络规模。
信道复用技术:频分复用,时分复用,波分复用,码分复用,各自的特点
频分复用 FDM
频分复用是把线路或空间的频带资源分成多个频段(带),将其分别分配给多个用户,每个用户终端的数据通过分配给它的子通路(频段)传输
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
为了防止相邻信道信号频率覆盖造成的干扰,在相邻两个信号的频率段之间设立一定的"保护"带
时分复用TDM
时分多路复用是将传输信号的时间进行分割,使不同的信号在不同时间内传送
即将整个传输时间分为许多时间间隔(称为时隙、时间片等,slot time)
每个时间片被一路信号占用。
线路上的每一时刻只有一路信号存在。
波分复用 WDM
波分复用WDM (Wavelength Division Multiplexing)就是光的频分复用。
整个波长频带被划分为若干个波长范围,每个用户占用一个波长范围来进行传输。
码分复用 CDM
常用的名词是 码分多址 CDMA (Code Division Multiple Access)。
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
每一个比特时间划分为 m 个短的间隔,称为码片(chip)。
数据链路层
使用点对点信道的数据链路层需要解决的三个基本问题:封装成帧,透明传输,差错检测,明白三个问题的含义
封装成帧
透明传输
差错检测
实际的通信链路不是理想的,比特在传输过程中可能会产生差错,1可能变成0,0可能变成1.这就称为比特差错
使用差错检测法来检测数据在传输过程中是否产生比特差错,是数据链路层索要解决的重要问题之一。
在一般的帧尾部分,都会包含FCS序列,就是让接收方的数据链路层检查帧在传输过程中是否产生误码。
理解循环冗余检验CRC方法
对生成多项式做模二除
MAC地址,适配器
MAC地址(Media Access Control Address)是一个唯一标识网络适配器(Network Adapter)的地址。每个网络适配器都有一个独特的MAC地址,由48位二进制数表示,通常以十六进制形式表示。
MAC地址是在制造网络适配器时硬件上固定的,它用于在局域网中唯一标识一个设备。无论是以太网、Wi-Fi还是其他类型的网络适配器,都具有自己的MAC地址。
适配器(Adapter)是指在计算机中与其他设备或网络进行连接的硬件组件。适配器可以是网络适配器(Network Adapter),也称为网卡(Network Interface Card,NIC),它允许计算机与网络进行通信。网络适配器负责将计算机中的数据转换成适合在网络上传输的格式,并将接收到的网络数据转换成计算机可以理解的格式。
适配器的主要功能是实现计算机和网络之间的接口,处理数据的发送和接收。它通过物理接口与网络连接,同时与计算机的主机总线(如PCI、USB等)相连。
在计算机网络中,适配器的工作是将数据从计算机发送到网络,并从网络接收数据传输到计算机。适配器根据数据链路层协议(如以太网)将数据封装成帧,并使用MAC地址进行数据帧的目标设备寻址和传输。接收时,适配器通过识别自己MAC地址与目标地址匹配的数据帧,并将其传递给计算机进行处理。
适配器在计算机网络中起到关键的作用,它是计算机与网络之间进行数据交换和通信的桥梁。通过适配器,计算机可以与局域网、互联网等进行连接,并进行数据传输和通信。
CSMA/CD协议适用场合
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种用于共享介质的访问控制协议,常用于以太网局域网中。它的主要目的是协调多个设备在共享传输介质上的访问,以避免冲突和数据碰撞。
CSMA/CD协议的工作原理如下:
-
载波监听(Carrier Sense):设备在发送数据之前先监听共享介质上是否有其他设备正在发送数据。如果介质空闲,即没有检测到其他设备发送数据的信号,设备可以开始发送数据。如果介质被占用,则设备等待,直到介质空闲。
-
多点访问(Multiple Access):多个设备可以共享同一传输介质,如同轴电缆或双绞线。每个设备都有权利在介质上发送数据。
-
碰撞检测(Collision Detection):如果两个或多个设备在同一时间开始发送数据,它们的数据包可能会在传输介质上发生碰撞。当一个设备发送数据时,它会持续监听传输介质上的信号,以检测是否有碰撞发生。如果检测到碰撞,设备会发送一个碰撞检测信号,以指示发生了碰撞。
-
退避和重传(Backoff and Retransmission):当设备检测到碰撞发生时,它会停止发送数据,并等待一个随机的时间段,然后重新尝试发送数据。这个随机的退避时间是为了避免再次发生碰撞。设备会重试一定次数,如果重试次数超过阈值仍然发生碰撞,则设备放弃发送数据。
CSMA/CD协议的目标是最小化碰撞的发生,并且在发生碰撞时能够进行及时的检测和处理。它被广泛应用于以太网局域网中,尤其是在共享介质的传输环境中,如以太网的半双工传输模式。然而,随着现代以太网的发展,全双工以太网和交换机等新技术已经取代了CSMA/CD协议的使用。
CSMA/CD协议适用于以下场合:
-
以太网局域网:CSMA/CD最早是为以太网局域网设计的,它适用于共享传输介质(如同轴电缆或双绞线)的传输环境。在这种环境中,多个设备共享同一传输介质,并且每个设备都可以在介质上发送数据。
-
半双工传输:CSMA/CD适用于半双工传输模式,其中设备在发送数据时不能同时接收数据。在半双工模式下,设备需要仔细监听介质上是否有其他设备正在发送数据,以避免碰撞。
-
较小的局域网:CSMA/CD通常用于相对较小的局域网,其中设备数量较少且传输距离不是很长。较小的局域网能够更好地控制和管理冲突,因为碰撞的概率较低。
需要注意的是,随着以太网技术的发展,现代以太网已经转向全双工传输和交换机技术。全双工以太网不再使用CSMA/CD协议,而是利用交换机进行数据转发和冲突隔离。因此,在现代网络中,CSMA/CD协议的应用范围相对较小,主要限于一些特定的环境或遗留的网络设备上。
链路层设备:网桥,二层交换机
网桥(Bridge)和二层交换机(Layer 2 Switch)是链路层设备,用于在局域网(LAN)中连接多个网络设备,实现数据的转发和交换。
-
网桥(Bridge):网桥是一种连接两个或多个局域网的设备,它工作在数据链路层(第二层)上。网桥通过读取和分析数据帧的目标MAC地址,将数据帧从一个局域网转发到另一个局域网,从而实现不同局域网之间的通信。网桥能够过滤和转发数据,帮助减少网络中的冲突和广播风暴。
-
二层交换机(Layer 2 Switch):二层交换机也是一种用于局域网中的设备,它同样工作在数据链路层(第二层)。二层交换机具有多个端口,用于连接多台计算机和其他网络设备。它通过读取和学习数据帧的目标MAC地址,并建立一个MAC地址表(也称为转发表)来维护与每个端口关联的MAC地址。当数据帧到达二层交换机时,它会根据MAC地址表决定将数据帧转发到哪个端口,从而实现针对目标设备的快速数据交换。
网桥和二层交换机的共同特点和功能包括:
-
广播和多播隔离:网桥和二层交换机能够隔离广播和多播数据帧,只在需要的端口进行转发,减少了网络中不必要的广播流量。
-
自学习:二层交换机通过监听数据帧的源MAC地址,自动学习和更新MAC地址表,以便进行更快速的转发。
-
无阻塞转发:网桥和二层交换机的转发是基于硬件的,具有高速转发能力,可以实现无阻塞的数据交换。
-
冲突域隔离:网桥和二层交换机能够将局域网划分为多个冲突域,减少了碰撞的可能性,提高了网络性能。
需要注意的是,现代网络中,二层交换机已经取代了网桥成为主要的局域网设备。二层交换机具有更强大的性能和功能,能够支持更大的网络规模和更高的带宽需求。网桥通常用于特定的场景或旧有网络的支持。
网络拓扑结构:星形网,环形网,总线网
网络拓扑结构是指计算机网络中设备之间连接和布置的方式和形式。其中,常见的网络拓扑结构包括星形网(Star Network)、环形网(Ring Network)和总线网(Bus Network)。
-
星形网(Star Network):星形网是一种常见的网络拓扑结构,其中所有设备都连接到一个中心设备(通常是交换机或集线器)。中心设备充当数据的中转站,它接收来自一个设备的数据并将其转发给目标设备。在星形网中,设备之间的通信必须经过中心设备,因此中心设备的可靠性和性能对整个网络的运行至关重要。
-
环形网(Ring Network):环形网是一种拓扑结构,其中每个设备通过点对点连接依次连接到下一个设备,形成一个环形的物理链路。每个设备接收从前一个设备传输过来的数据,并将数据转发到下一个设备,直到数据达到目标设备。在环形网中,数据在网络中按顺时针或逆时针方向传递。由于数据只能在一个方向上传输,所以环形网具有较低的碰撞和冲突的可能性。
-
总线网(Bus Network):总线网是一种线性的网络拓扑结构,所有设备通过共享的传输介质连接在一起。每个设备可以直接向总线发送数据,并且所有设备都可以读取总线上的数据。在总线网中,设备之间的通信是通过在总线上发送数据帧来实现的。由于总线是共享的,当多个设备同时发送数据时,可能会发生碰撞。因此,总线网通常需要采用冲突检测和冲突解决机制,如CSMA/CD协议。
每种网络拓扑结构都有其特点和适用场景:
- 星形网提供了高度的可靠性和易于管理,适用于较大的网络,特别是在需要集中控制和管理的环境中。
- 环形网具有较低的碰撞和冲突的可能性,适用于需要稳定数据传输的场景,如传感器网络或实时数据传输。
- 总线网具有简单的连接和低成本的优势,适用于小型网络和传输需求较低的环境。
在实际网络中,常常会采用多种拓扑结构的组合,以满足不同区域和需求的网络连接和通信。
网络层
网络层提供的两种服务:虚电路,数据报,它们各自的特点
-
虚电路服务:
- 特点:
- 建立连接:在数据传输之前,需要在源和目标之间建立虚电路,包括路径选择和资源分配。
- 可靠性:通过使用序号、确认和重传等机制,提供可靠的数据传输,确保数据的顺序和完整性。
- 有序交付:数据包按照建立的虚电路顺序逐一传输到目标端。
- 拥塞控制:通过网络层协议进行拥塞控制,保证网络资源的合理利用和公平共享。
- 应用场景:
- 需要可靠有序传输的应用,如语音通话、视频流传输等。
- 对延迟和吞吐量要求相对较高的应用,如实时数据传输。
- 特点:
-
数据报服务:
- 特点:
- 无连接:每个数据包都是独立的,没有建立预先的连接。
- 不可靠性:数据包可能会丢失、重复、顺序错乱,网络层不提供任何保证。
- 高灵活性:每个数据包独立处理,不需要维护虚电路的状态信息。
- 不进行拥塞控制:网络层不对拥塞进行控制,数据包尽可能快速地传输。
- 应用场景:
- 需要灵活性和简单性的应用,如Web浏览、电子邮件等。
- 对实时性要求不高的应用,可以容忍一定的数据包丢失或重复。
- 特点:
虚电路服务和数据报服务是网络层提供的不同传输方式,每种方式适用于不同类型的应用和需求。虚电路服务提供了可靠有序的数据传输,但需要建立连接和维护状态,适用于实时性要求高且对数据可靠性有较高要求的应用。数据报服务则更加灵活,适用于对实时性要求不高且可以容忍一定数据丢失或重复的应用。
核心协议:IP协议,ICMP,ARP功能分别是什么
核心协议包括IP协议、ICMP协议和ARP协议,它们在网络通信中扮演着重要的角色。
-
IP协议(Internet Protocol):
- 功能:IP协议是互联网中最基础的协议之一,负责在网络中进行数据包的路由和转发。它定义了数据包的格式、寻址方式和路由选择规则,使得数据能够从源主机发送到目标主机。
- 特点:
- 无连接:IP协议在数据传输之前不需要建立连接。
- 最佳路径选择:根据路由表选择最佳路径将数据包从源主机传送到目标主机。
- 不可靠性:IP协议本身不提供数据包的可靠传输,数据包可能丢失、重复、乱序等。
- 应用场景:IP协议是互联网的核心协议,适用于各种网络通信,包括传输各类数据、语音、视频等。
-
ICMP协议(Internet Control Message Protocol):
- 功能:ICMP协议用于在IP网络中发送控制消息和错误报告。它提供了网络设备之间交换信息的能力,包括网络可达性检测、错误报告、路由器发现等。
- 特点:
- 错误报告:ICMP可以向源主机发送错误报告,如目标不可达、超时等。
- 网络探测:ICMP包括Ping和Traceroute等命令,用于探测网络的可达性和延迟。
- 差错处理:ICMP协议可以处理各种网络层错误,如拒绝服务攻击、网络拥塞等。
- 应用场景:ICMP协议广泛用于网络故障排除、网络性能监测和诊断等方面。
-
ARP协议(Address Resolution Protocol):
- 功能:ARP协议用于将IP地址解析为MAC地址(物理地址),以便在局域网中进行数据包的传输。它通过发送ARP请求和接收ARP应答的方式获取目标主机的物理地址。
- 特点:
- 地址解析:ARP协议通过IP地址和MAC地址的映射,实现逻辑地址到物理地址的转换。
- 缓存机制:ARP缓存表存储已解析的IP地址和对应的MAC地址,减少重复解析的开销。
- 局域网通信:ARP协议通常用于局域网内部的通信,帮助确定目标设备的物理地址。
- 应用场景:ARP协议在局域网中用于确定目标设备的物理地址,以实现数据包的正确传输和交换。
这些核心协议在网络中扮演着重要的角色,协同工作以实现可靠、有效的数据通信。IP协议处理数据包的路由和转发,ICMP协议提供控制消息和错误报告,ARP协议解析IP地址到MAC地址。它们共同构成了互联网和局域网的基础。
IP地址编址方法:分类IP,CIDR编址
IP地址编址方法包括分类IP和CIDR编址,它们是为了有效管理和分配IP地址空间而提出的两种不同的方案。
-
分类IP编址(Classful addressing):
- 分类IP编址将IP地址空间划分为五个不同的地址类别:A、B、C、D和E类。每个类别都有不同的地址范围和默认的网络掩码。
- A类地址用于大型网络,B类地址用于中型网络,C类地址用于小型网络,D类地址用于多播(广播给一组特定接收者),E类地址保留未使用。
- 分类IP编址根据IP地址的首位比特来确定地址类别,其中特定的比特模式用于标识地址类别。
- 分类IP编址的缺点是不灵活,导致地址空间的浪费和分配不均匀。
-
CIDR编址(Classless Inter-Domain Routing):
- CIDR编址是为了解决分类IP编址的不足而引入的更灵活的编址方案。
- CIDR使用可变长度子网掩码(Variable Length Subnet Mask,VLSM)来划分IP地址空间,允许更细粒度地划分子网。
- CIDR编址中,IP地址由网络前缀和主机标识部分组成。网络前缀的长度可以根据需要进行调整,以适应不同规模的网络需求。
- CIDR编址支持更有效的地址空间利用,避免了地址的浪费,并提供了更好的灵活性和可扩展性。
总结起来,分类IP编址是根据IP地址的首位比特来划分地址类别,而CIDR编址则使用可变长度子网掩码来更灵活地划分地址空间。CIDR编址取代了分类IP编址,成为现代网络中广泛采用的IP地址编址方案,它能够更有效地管理和分配IP地址,并满足不同规模网络的需求。
分类IP地址:. IP 地址及其表示方法,常用的三种类别的 IP 地址
-
A类地址:
- 表示方法:A类地址使用 1 个网络标识位和 7 个主机标识位的格式,总共有 8 位的网络地址和 24 位的主机地址。它的网络标识位固定为 0。
- 范围:A类地址范围从 1.0.0.0 到 126.0.0.0。
- 特点:A类地址用于大型网络,可以容纳大量的主机。最高位的 0 是网络标识位,后面的 7 位可用于表示 128 个不同的网络。
-
B类地址:
- 表示方法:B类地址使用 2 个网络标识位和 14 个主机标识位的格式,总共有 16 位的网络地址和 16 位的主机地址。它的网络标识位固定为 10。
- 范围:B类地址范围从 128.0.0.0 到 191.255.0.0。
- 特点:B类地址适用于中型网络,可以容纳适中数量的主机。最高位的 10 是网络标识位,后面的 14 位可用于表示 16,384 个不同的网络。
-
C类地址:
- 表示方法:C类地址使用 3 个网络标识位和 21 个主机标识位的格式,总共有 24 位的网络地址和 8 位的主机地址。它的网络标识位固定为 110。
- 范围:C类地址范围从 192.0.0.0 到 223.255.255.0。
- 特点:C类地址适用于小型网络,每个网络只能容纳少量的主机。最高位的 110 是网络标识位,后面的 21 位可用于表示 2,097,152 个不同的网络。
区分IP地址与MAC地址
IP地址和MAC地址是两种用于网络通信的不同类型的地址。
-
IP地址(Internet Protocol Address):
- IP地址是用于在网络中标识和寻址设备的逻辑地址。
- IP地址由32位(IPv4)或128位(IPv6)二进制数表示,通常以点分十进制(IPv4)或十六进制(IPv6)形式呈现,例如192.168.0.1。
- IP地址在网络层使用,用于路由和转发数据包,以确定数据包的源和目标设备之间的通信路径。
- IP地址可动态分配(DHCP)或静态配置,可用于区分不同的网络和子网。
-
MAC地址(Media Access Control Address):
- MAC地址是用于在局域网(LAN)中唯一标识和识别网络设备的物理地址。
- MAC地址是由网络适配器(网卡)硬件制造商分配的,通常是48位二进制数,表示为十六进制形式,例如00:1A:2B:3C:4D:5E。
- MAC地址在数据链路层使用,用于直接在局域网上识别和寻址设备,以进行点对点通信。
- MAC地址是固定的,唯一地标识网络适配器,与设备的网卡密切相关。
总结: IP地址是逻辑地址,用于在网络层识别和寻址设备,以进行跨网络通信。MAC地址是物理地址,用于在数据链路层直接标识和识别网络适配器,以进行局域网内的通信。IP地址在网络中是可路由的,而MAC地址在局域网中是唯一的。
在同局域网和跨局域网中ARP协议的工作流程
ARP(Address Resolution Protocol)是一种用于在同一局域网和跨局域网中解析IP地址到MAC地址的协议。它的工作流程在同局域网和跨局域网环境下略有不同。下面是ARP协议在这两种环境中的工作流程:
在同一局域网(LAN)中:
- 主机A要发送数据包到主机B,但主机A只知道主机B的IP地址,不知道其MAC地址。
- 主机A首先在本地ARP缓存中查找是否存在与主机B的IP地址对应的MAC地址。
- 如果ARP缓存中存在对应的MAC地址,则主机A直接使用该MAC地址将数据包发送给主机B。
- 如果ARP缓存中没有对应的MAC地址,则主机A发送一个ARP请求广播消息到局域网上的所有主机。
- ARP请求消息中包含了主机A的IP地址和MAC地址,以及要查询的目标IP地址。
- 所有收到ARP请求的主机都会检查目标IP地址是否与自己的IP地址匹配。
- 目标IP地址与自己匹配的主机(主机B)将发送一个ARP应答消息,包含自己的IP地址和MAC地址。
- 主机A收到ARP应答消息后,将主机B的IP地址和MAC地址存储在本地ARP缓存中。
- 主机A现在知道了主机B的MAC地址,并可以使用它来发送数据包。
在跨局域网(WAN)中:
- 主机A要发送数据包到主机B,但主机A只知道主机B的IP地址,不知道其MAC地址。
- 主机A首先在本地ARP缓存中查找是否存在与主机B的IP地址对应的MAC地址。
- 如果ARP缓存中存在对应的MAC地址,则主机A直接使用该MAC地址将数据包发送给主机B。
- 如果ARP缓存中没有对应的MAC地址,则主机A发送一个ARP请求消息,包含要查询的目标IP地址,到默认网关(路由器)。
- 默认网关(路由器)接收到ARP请求消息后,在本地局域网中执行相同的ARP协议工作流程,以找到目标主机B的MAC地址。
- 默认网关(路由器)将ARP应答消息发送回主机A,并将主机B的MAC地址作为下一跳转发数据包。
- 主机A收到ARP应答消息后,将主机B的IP地址和MAC地址存储在本地ARP缓存中。
- 主机A现在知道了主机B的MAC地址,并可以使用它来发送数据包。
总结: 在同一局域网中,主机通过广播ARP请求来查找目标主机的MAC地址。在跨局域网中,主机通过发送ARP请求给默认网关(路由器)来解析目标主机的MAC地址。无论是在同一局域网还是跨局域网,主机在收到ARP应答后将目标主机的IP地址和MAC地址存储在本地ARP缓存中,以便后续通信时使用。
IP数据报重要字段的含义理解:版本,首部长度,总长度,标识,标志,片偏移,生存时间,协议,首部检验和,源地址,目的地址
-
版本:
- 版本字段指示IP协议的版本,通常为IPv4或IPv6。
- 在IPv4中,版本字段的值为4。
- 在IPv6中,版本字段的值为6。
-
首部长度:
- 首部长度字段表示IP首部的长度,以32位字(4字节)为单位。
- 由于IP首部长度可以变化,该字段指示了IP首部的字节数。
- 首部长度字段的值乘以4才是实际的首部长度。
-
总长度:
- 总长度字段表示整个IP数据报的长度,包括首部和数据部分。
- 总长度字段是以字节为单位表示的,最大值为65,535字节(包括20字节的IPv4首部)。
-
标识:
- 标识字段用于标识IP数据报的唯一性。
- 在进行分片时,同一个IP数据报的各个片段将具有相同的标识值。
-
标志:
- 标志字段包含了关于分片的一些标志位。
- 比特0:保留位,必须为0。
- 比特1:DF(Don't Fragment),如果设置为1,则表示该数据报禁止分片。
- 比特2:MF(More Fragments),如果设置为1,则表示还有更多的分片。
-
片偏移:
- 片偏移字段表示该片段在原始IP数据报中的位置。
- 片偏移值是以8字节为单位的,指示了片段相对于原始数据报起始位置的偏移量。
-
生存时间:
- 生存时间字段(TTL,Time to Live)指定了IP数据报在网络中可以经过的最大跃点数。
- 每经过一个路由器,生存时间字段减少1。
- 当生存时间字段的值为0时,数据报将被丢弃。
-
协议:
- 协议字段指示了IP数据报的上一层协议类型。
- 常见的协议类型包括ICMP(1)、TCP(6)、UDP(17)等。
-
首部检验和:
- 首部检验和字段用于检测IP首部的完整性和准确性。
- 它通过计算首部中所有字节的校验和来实现。
-
源地址和目的地址:
- 源地址字段表示发送IP数据报的源设备的IP地址。
- 目的地址字段表示接收IP数据报的目标设备的IP地址。
理解IP数据报分片案例:为什么要分片,如何计算分片后的IP数据报各字段
IP数据报分片是在网络传输过程中将一个较大的IP数据报拆分为多个较小的片段的过程。这是因为在网络传输中,不同的链路或设备可能对数据包的大小有限制,无法传输较大的数据报。以下是IP数据报分片的一般案例:
-
需要分片的情况:
- 当一个IP数据报的总长度超过链路或设备的最大传输单元(MTU)时,就需要对该数据报进行分片。
- MTU是链路或设备能够传输的最大数据包大小。
-
分片后的IP数据报字段计算:
- 标识字段:分片后的所有片段都具有相同的标识值,与原始数据报相同。
- 标志字段:如果一个IP数据报被分片成多个片段,除了最后一个片段外,其他片段的标志字段的MF位都设置为1,最后一个片段的MF位设置为0。
- 片偏移字段:计算每个片段相对于原始数据报的偏移量,以8字节为单位。
- 第一个片段的片偏移为0。
- 后续片段的片偏移计算为前一个片段的片偏移加上前一个片段的数据长度除以8。
- 总长度字段:分片后的每个片段的总长度字段需要重新计算,表示片段中的数据部分长度。
- 首部检验和字段:每个片段的首部检验和字段需要重新计算,只计算片段的首部部分。
需要注意的是,分片后的各个片段在传输过程中可能会以不同的路径到达目的地,目的地主机将根据这些片段的标识、标志和片偏移字段重新组装原始数据报。
CIDR编址与分类IP地址的区别,子网掩码
CIDR(Classless Inter-Domain Routing)编址和分类IP地址的区别在于如何对IP地址进行划分和分配。下面是它们的区别以及子网掩码的解释:
-
分类IP地址:
- 分类IP地址是一种早期的IP地址划分方法,根据地址的高位比特确定地址的网络部分和主机部分。
- 分类IP地址分为A类、B类、C类、D类和E类,每个类别有不同的地址范围和主机位数。
- A类地址范围为1.0.0.0到126.0.0.0,B类地址范围为128.0.0.0到191.0.0.0,C类地址范围为192.0.0.0到223.0.0.0。
- 分类IP地址在划分网络时,需要预留一定数量的地址给网络和主机,无法进行细致的地址利用。
-
CIDR编址:
- CIDR编址是一种更灵活的IP地址划分和分配方法,通过使用前缀长度表示子网掩码,可以更精确地划分网络。
- CIDR使用一个IP地址后面跟着斜线(/),后面紧跟着的是网络前缀长度,表示网络部分的位数。
- 例如,192.168.0.0/24表示前24位是网络部分,后8位是主机部分。
- CIDR编址可以根据需要划分和分配不同大小的网络,更有效地利用IP地址空间。
-
子网掩码:
- 子网掩码是一种用于确定IP地址中哪些位是网络部分和主机部分的掩码。
- 子网掩码的长度与CIDR中的前缀长度相对应。
- 子网掩码由连续的1和0构成,其中1表示网络部分,0表示主机部分。
- 例如,对于CIDR编址192.168.0.0/24,子网掩码为255.255.255.0,其中前24位为1,后8位为0。
总结: CIDR编址相较于分类IP地址提供了更灵活的网络划分和更有效的地址利用。CIDR使用前缀长度表示网络部分的位数,可以精确划分不同大小的网络。而分类IP地址则是早期的IP地址划分方法,根据高位比特确定地址的网络部分和主机部分。子网掩码用于确定IP地址中的网络部分和主机部分,它的长度与CIDR中的前缀长度相对应。
能够已知IP地址和子网掩码,求网络地址
例如,假设有一个IP地址为192.168.1.100,子网掩码为255.255.255.0:
-
将IP地址和子网掩码转换为二进制形式:
- IP地址:11000000.10101000.00000001.01100100
- 子网掩码:11111111.11111111.11111111.00000000
-
进行逻辑与运算:
-
11000000.10101000.00000001.01100100 & 11111111.11111111.11111111.00000000
11000000.10101000.00000001.00000000
-
-
转换回十进制形式,得到网络地址:
- 网络地址:192.168.1.0
因此,给定IP地址为192.168.1.100和子网掩码为255.255.255.0时,网络地址为192.168.1.0。
网络层设备:路由器
路由器是网络层设备,它在计算机网络中起着关键作用。路由器的主要功能是根据网络层的IP地址信息,将数据包从源主机转发到目标主机,实现网络中的数据路由和转发。
以下是路由器的主要特点和功能:
-
数据包转发:路由器通过查看数据包中的目标IP地址,并根据路由表中的路由信息,选择最佳的路径将数据包转发到下一个网络节点或目标主机。
-
路由选择:路由器根据一系列路由选择算法(如距离矢量算法、链路状态算法)来确定数据包应该通过哪个出口接口进行转发。它使用路由表来存储和管理路由信息。
-
路由表维护:路由器维护一个路由表,其中包含了网络中可达的目标网络的信息。路由表中的条目包括目标网络的IP地址、下一跳路由器的IP地址、出口接口等。
-
分割广播域:路由器通过将网络划分为多个子网,实现广播域的分割。它限制了广播消息的传播范围,提高了网络的性能和安全性。
-
过滤和策略控制:路由器可以基于源IP地址、目标IP地址、端口号等信息,对数据包进行过滤和策略控制,实现网络流量的控制和安全性的增强。
-
网络地址转换(NAT):某些路由器还支持网络地址转换功能,将内部私有IP地址转换为公共IP地址,实现内部网络与外部互联网的通信。
路由器在大型网络和互联网中起着关键作用,帮助数据包在复杂的网络拓扑中寻找最佳路径,并提供网络分割、策略控制和安全性等功能。它们是构建可靠、高效网络通信的核心设备之一。
路由器的结构:路由选择,分组转发
-
路由选择:
- 路由选择模块负责确定数据包从源到目的地的最佳路径,即选择合适的出接口和下一跳路由器。
- 路由选择是根据路由表或路由信息库中存储的网络拓扑和路由策略进行决策。
- 路由表包含了网络的可达性信息,包括目的网络的网络地址、子网掩码、下一跳路由器等。
-
分组转发:
- 分组转发模块负责接收数据包,并根据路由选择模块提供的信息进行数据包的转发。
- 分组转发是根据目的IP地址查找路由表,确定数据包应该转发到哪个接口和下一跳路由器。
- 转发过程中还会进行一些必要的处理,如重新计算校验和、更新TTL(生存时间)等。
整体而言,路由器的结构包括路由选择和分组转发两个模块,它们共同协作来实现数据包在网络中的传输和路由选择。路由选择模块负责决策最佳路径,并更新路由表,而分组转发模块负责实际的数据包转发操作。
NAT网络地址转换和VPN
NAT(Network Address Translation)和VPN(Virtual Private Network)是两种在网络通信中常用的技术,它们具有不同的功能和应用场景。
-
NAT(网络地址转换):
- NAT是一种网络技术,用于将私有网络内部的IP地址转换为公共网络可路由的IP地址,实现内部网络与外部网络之间的通信。
- NAT通常用于家庭或企业网络中,当内部网络使用私有IP地址时(如在家庭网络中使用的IP地址范围为192.168.x.x或10.x.x.x),通过NAT将内部IP地址映射为外部公共IP地址,以便与公共网络进行通信。
- NAT还可以实现端口映射,将内部网络中的特定端口映射到外部网络,以实现对内部网络中的服务的访问。
-
VPN(虚拟私有网络):
- VPN是一种通过公共网络(如互联网)建立安全连接的技术,用于创建一个安全的通信通道,使得远程用户或分支机构能够访问私有网络资源。
- VPN通过加密和隧道技术,将数据在公共网络上进行加密传输,保证数据的机密性和完整性。
- VPN常用于远程办公、远程访问企业内部资源、跨地域互联等场景,使得用户能够通过公共网络安全地访问私有网络资源。
总结: NAT是一种用于将内部私有网络地址映射为外部公共网络地址的技术,使得内部网络可以与公共网络通信。VPN是一种通过公共网络建立安全通信连接的技术,用于远程访问私有网络资源并保证数据的安全性。两者具有不同的应用场景和功能,但在实际网络中可以结合使用,例如通过VPN建立安全连接后,再使用NAT进行内部网络与外部网络的通信。
运输层
运输层是计算机网络中的一层,位于网络层和应用层之间,负责在源主机和目的主机之间提供端到端的数据传输服务。运输层的主要功能包括分段、数据传输、流量控制和错误恢复。
端口号
端口号是运输层中用于标识不同应用程序或服务的数字标识。它是通过16位的数字来表示,取值范围是0到65535。端口号的作用是将传输层的数据包正确地交付给目标应用程序或服务。
端口号分为两种类型:预留端口和动态端口。
-
预留端口(Well-known Ports):
- 预留端口是指在标准化的互联网协议中规定的端口号,范围是0到1023。
- 预留端口是为一些常用的服务和协议保留的,例如HTTP(端口号80)、FTP(端口号21)、SSH(端口号22)、DNS(端口号53)等。
- 预留端口号是由互联网分配机构(IANA)进行管理和分配。
-
动态端口(Dynamic Ports):
- 动态端口是指范围为1024到65535的端口号。
- 动态端口用于临时分配给客户端应用程序或服务,通常在应用程序启动时动态选择一个可用的端口号。
- 动态端口号是根据操作系统的端口分配策略动态分配的。
端口号的使用方式是通过将源端口和目标端口添加到运输层的数据包头部,这样目标主机就知道将数据包传递给哪个应用程序或服务。
总结: 端口号是用于标识不同应用程序或服务的数字标识,分为预留端口和动态端口。预留端口是为一些常用的服务和协议保留的,而动态端口用于临时分配给客户端应用程序或服务。端口号的正确使用可以确保数据包正确地交付给目标应用程序或服务。
运输层上的两个主要协议:TCP和UDP协议的特点和各自适用场合
运输层的两个主要协议是传输控制协议(TCP)和用户数据报协议(UDP)。
-
传输控制协议(TCP):
- TCP是一种面向连接的协议,提供可靠的数据传输。
- TCP使用三次握手建立连接,并使用数据确认、序列号、重传机制等技术来保证数据的可靠性。
- TCP通过流量控制和拥塞控制机制来调节数据传输速率,以避免网络拥塞。
- TCP适用于需要可靠性和顺序传输的应用,如文件传输、电子邮件、网页浏览等。
-
用户数据报协议(UDP):
- UDP是一种无连接的协议,提供不可靠的数据传输。
- UDP不需要建立连接,直接将数据报发送到目的主机。
- UDP不提供数据确认、重传等可靠性机制,因此传输速度较快,但数据传输可能存在丢失、重复或乱序。
- UDP适用于对实时性要求较高的应用,如音视频传输、实时游戏等。
总结: 运输层在计算机网络中负责端到端的数据传输服务,其中TCP提供可靠的、面向连接的数据传输,适用于需要可靠性和顺序传输的应用;UDP提供不可靠的、无连接的数据传输,适用于对实时性要求较高的应用。选择使用哪种协议取决于应用的需求和特点。
TCP协议中的滑动窗口:发送窗口,接收窗口,拥塞窗口
在TCP协议中,滑动窗口是一种流量控制和拥塞控制的机制,用于调节数据的传输速率和处理网络拥塞。滑动窗口包括发送窗口、接收窗口和拥塞窗口。
-
发送窗口(Sending Window):
- 发送窗口是发送方在TCP连接中可用于发送数据的一部分缓冲区。
- 发送窗口的大小由接收方通告的接收窗口大小和拥塞窗口大小决定,取二者的较小值。
- 发送窗口通过TCP的确认和重传机制来控制数据的可靠传输。
-
接收窗口(Receiving Window):
- 接收窗口是接收方在TCP连接中可接收的一部分缓冲区。
- 接收窗口的大小由接收方通告给发送方,表示接收方当前可接收的数据量。
- 接收窗口的大小可以动态调整,根据接收方的处理能力和可用缓冲区空间来决定。
-
拥塞窗口(Congestion Window):
- 拥塞窗口是为了控制网络拥塞而引入的一种机制。
- 拥塞窗口的大小是根据网络的拥塞程度动态调整的,用于限制发送方向网络发送数据的速率。
- 拥塞窗口的大小受到网络拥塞状态和拥塞控制算法(如拥塞避免、拥塞恢复等)的影响。
发送窗口、接收窗口和拥塞窗口共同作用于TCP连接中的数据传输和流量控制。通过动态调整窗口大小,TCP可以根据网络的状况和性能进行数据的可靠传输和拥塞控制,以实现高效的数据传输和网络资源的合理利用。
区分TCP流量控制和拥塞控制
TCP中的流量控制和拥塞控制是两种不同的机制,用于处理不同的问题,但它们都涉及到TCP传输过程中的数据流量管理。
-
流量控制(Flow Control):
- 流量控制是为了控制数据的传输速率,确保接收方能够处理来自发送方的数据,防止接收方被淹没。
- 流量控制通过接收窗口来实现,接收方通过通告发送方自己的接收窗口大小,限制发送方发送的数据量。
- 发送方根据接收方的接收窗口大小来调整发送数据的速率,保证发送方不会发送超过接收方处理能力的数据量。
- 流量控制是端到端的机制,在发送方和接收方之间进行,不考虑网络的拥塞情况。
-
拥塞控制(Congestion Control):
- 拥塞控制是为了防止网络拥塞,当网络的传输资源不足以满足所有流量时,通过减少发送方发送的数据量来缓解网络拥塞。
- 拥塞控制是基于网络状况的反馈来进行调整,包括网络的延迟、丢包等指标。
- 拥塞控制通过拥塞窗口来实现,发送方根据网络的反馈信息调整拥塞窗口的大小,限制发送的数据量。
- 拥塞控制是全局性的机制,在整个网络中进行,通过控制发送方的发送速率来保持网络的稳定和公平性。
总结:
流量控制是为了确保接收方能够处理发送方的数据,通过接收窗口来限制发送的数据量。拥塞控制是为了防止网络拥塞,通过调整拥塞窗口来限制发送方的发送速率。流量控制是端到端的机制,而拥塞控制是全局性的机制。两者都是为了提高网络性能和可靠性,但目标和机制不同。
TCP拥塞控制的方法:慢开始,拥塞避免,快重传,快恢复
TCP拥塞控制是一组算法和机制,用于在网络拥塞的情况下控制发送方的发送速率,以保证网络的稳定性和公平性。TCP拥塞控制包括以下几种方法:
-
慢开始(Slow Start):
- 慢开始是TCP连接刚开始发送数据时使用的算法。
- 发送方一开始将发送窗口的大小设置为一个较小的值,然后逐渐增加发送窗口的大小。
- 发送方通过观察网络的反馈信息(主要是ACK确认报文)来判断网络的拥塞程度,并相应地调整发送窗口的大小。
- 慢开始算法的目的是避免在网络拥塞的情况下过度发送数据,导致网络拥塞的恶性循环。
-
拥塞避免(Congestion Avoidance):
- 拥塞避免是在慢开始阶段之后使用的算法。
- 发送方每次收到一个ACK确认报文时,将发送窗口的大小逐渐增加,但增加的速率比慢开始阶段慢一些。
- 发送方使用拥塞窗口来限制发送的数据量,根据网络的拥塞情况动态调整拥塞窗口的大小。
-
快重传(Fast Retransmit):
- 快重传是一种快速处理丢失报文的机制。
- 当发送方连续收到多个相同的ACK确认报文时,表明有报文丢失,发送方可以快速重传丢失的报文,而不必等待超时重传。
-
快恢复(Fast Recovery):
- 快恢复是在快重传的基础上进行的一种机制。
- 当发送方检测到丢失报文时,不仅重传丢失的报文,还将拥塞窗口的大小减半,然后进入拥塞避免阶段。
- 这样做的目的是避免网络拥塞的加剧,同时保持较高的网络吞吐量。
这些方法组合在一起,构成了TCP拥塞控制的整体机制,用于保证在网络拥塞的情况下,TCP连接的稳定性和可靠性。通过动态调整发送窗口和拥塞窗口的大小,TCP可以根据网络状况进行自适应的拥塞控制。
TCP三报文握手、四报文握手过程
TCP建立连接时使用的是三次握手(Three-Way Handshake)过程,而关闭连接时使用的是四次握手(Four-Way Handshake)过程。
TCP三次握手过程:
-
第一步:客户端发送连接请求
- 客户端向服务器发送一个SYN(同步)报文,其中包含一个随机生成的初始序列号(ISN)。
- 客户端进入SYN_SENT状态,等待服务器的确认。
-
第二步:服务器回应连接请求
- 服务器收到客户端的SYN报文后,确认收到,并发送一个SYN-ACK(同步-确认)报文作为回应。
- SYN-ACK报文中包含一个确认号(ACK)和一个随机生成的初始序列号(ISN)。
- 服务器进入SYN_RCVD状态。
-
第三步:客户端确认连接
- 客户端收到服务器的SYN-ACK报文后,向服务器发送一个确认报文ACK,确认收到服务器的连接确认。
- 客户端和服务器都进入ESTABLISHED状态,建立了TCP连接。
- 数据传输可以开始。
TCP四次握手过程:
-
第一步:客户端请求关闭连接
- 客户端发送一个FIN(结束)报文,表示要关闭连接。
- 客户端进入FIN_WAIT_1状态,等待服务器的确认。
-
第二步:服务器回应关闭请求
- 服务器收到客户端的FIN报文后,发送一个ACK确认报文作为回应,确认收到客户端的关闭请求。
- 服务器进入CLOSE_WAIT状态,等待关闭连接的指令。
-
第三步:服务器关闭连接
- 服务器发送一个FIN报文,表示服务器也要关闭连接。
- 服务器进入LAST_ACK状态。
-
第四步:客户端确认关闭连接
- 客户端收到服务器的FIN报文后,发送一个ACK确认报文作为回应,确认收到服务器的关闭请求。
- 客户端进入TIME_WAIT状态,等待一段时间后关闭连接。
- 服务器收到客户端的确认后,进入CLOSED状态,连接彻底关闭。
通过三次握手和四次握手过程,TCP可以建立可靠的连接和安全地关闭连接,确保数据的可靠传输。
应用层
域名及域名结构
域名的结构是按照层次化的命名规则组成的,从右到左依次表示不同的层级。域名结构包括以下几个部分:
-
顶级域名(Top-Level Domain,TLD):
- 顶级域名是域名结构中的最高层级。
- 它通常表示域名的类别或所属的组织类型,例如.com(商业)、.org(非盈利组织)、.net(网络服务)、.edu(教育机构)等。
- 顶级域名可以是通用顶级域名(Generic Top-Level Domain,gTLD)或国家代码顶级域名(Country Code Top-Level Domain,ccTLD)。
-
域名注册局域名(Domain Registry Domain,DRD):
- 在某些域名结构中,顶级域名下面可能存在注册局域名,用于管理和注册特定的域名。
- 例如,.gov(美国政府机构)顶级域名下的注册局域名可以是.fbi(联邦调查局)、.nasa(美国国家航空航天局)等。
-
二级域名(Second-Level Domain,SLD):
- 二级域名是紧接在顶级域名后面的域名部分。
- 它可以是用户自定义的名称,用于标识特定的网站、组织或业务。
- 例如,在域名example.com中,example是二级域名。
-
子域名(Subdomain):
- 子域名是在二级域名之前的一个附加部分。
- 它可以用于进一步细分和组织域名空间,将特定的子部分划分为独立的子域。
- 例如,在域名blog.example.com中,blog是子域名。
-
主机名(Hostname):
- 主机名是域名中最底层的部分,用于标识特定的计算机或设备。
- 它可以是一个具体的主机名称或 IP 地址。
- 例如,在域名www.example.com中,www是主机名。
应用层各协议FTP,HTTP,SMTP,POP,IMAP,MIMA,DHCP分别使用了下层(运输层)的什么协议?
以下是各个应用层协议及其在运输层使用的协议:
-
FTP (File Transfer Protocol):在运输层使用 TCP 协议进行可靠的数据传输。
-
HTTP (Hypertext Transfer Protocol):在运输层使用 TCP 协议进行可靠的数据传输。
-
SMTP (Simple Mail Transfer Protocol):在运输层使用 TCP 协议进行可靠的邮件传输。
-
POP (Post Office Protocol):在运输层使用 TCP 协议进行可靠的邮件接收。
-
IMAP (Internet Message Access Protocol):在运输层使用 TCP 协议进行可靠的邮件访问。
-
DNS (Domain Name System):DNS 不直接使用运输层协议,而是使用 UDP 协议进行域名解析,同时也可以使用 TCP 协议进行大型数据传输。
-
DHCP (Dynamic Host Configuration Protocol):在运输层使用 UDP 协议进行动态主机配置和 IP 地址分配。
请注意,尽管这些应用层协议通常与特定的运输层协议相关联,但并不意味着它们只能使用指定的运输层协议。有时候,根据实际需求和配置,这些应用层协议可以选择不同的运输层协议来提供服务。
客户-服务器通信方式
客户-服务器通信方式是一种常见的网络通信模式,其中客户端和服务器之间进行数据交换和通信。在这种模式下,客户端是发送请求的一方,而服务器则是接收请求并提供响应的一方。以下是客户-服务器通信方式的基本流程:
-
客户端发起连接请求:
- 客户端通过指定服务器的地址(如 IP 地址或域名)和端口号,发起连接请求。
- 通常,客户端使用传输层协议如 TCP 或 UDP 来与服务器建立连接。
-
服务器接受连接请求:
- 服务器监听指定的端口,等待客户端的连接请求。
- 一旦服务器接收到连接请求,它会创建一个与客户端之间的通信通道。
-
客户端发送请求:
- 客户端向服务器发送请求,请求可以是特定的操作、数据查询或其他服务请求。
- 请求通常以特定的协议(如 HTTP、FTP、SMTP 等)进行封装,包括请求方法、请求头和请求体等信息。
-
服务器处理请求:
- 服务器接收到客户端的请求后,会根据请求的内容和协议进行相应的处理。
- 处理可能包括查询数据库、执行业务逻辑、获取资源等操作。
-
服务器发送响应:
- 服务器根据请求的处理结果生成响应数据,并将其发送回客户端。
- 响应数据也会以特定的协议进行封装,包括响应状态码、响应头和响应体等信息。
-
客户端接收响应:
- 客户端接收服务器发送的响应数据,并进行相应的处理。
- 处理可能包括解析响应、显示数据、处理错误等操作。
-
断开连接:
- 一旦通信完成,客户端和服务器之间的连接可以被关闭,释放资源。
- 客户端和服务器都可以主动发起断开连接的请求。
客户-服务器通信方式在各种网络应用中广泛应用,如网页浏览、电子邮件、文件传输等。客户端和服务器之间的通信遵循特定的协议和规范,以确保可靠的数据交换和有效的服务交互。
域名解析,DHCP
域名解析(Domain Name Resolution)是将人类可读的域名转换为计算机可识别的 IP 地址的过程。当用户在浏览器中输入一个域名时,系统需要将该域名解析为相应的 IP 地址才能建立网络连接。域名解析涉及到域名系统(Domain Name System,DNS)的使用。
DNS 是一种分布式的命名系统,它将域名映射到对应的 IP 地址。域名解析过程大致如下:
-
用户在浏览器中输入一个域名,比如 "example.com"。
-
操作系统中的 DNS 解析器(DNS Resolver)接收到域名请求。
-
DNS 解析器首先查询本地 DNS 缓存,查看是否已经缓存了该域名的 IP 地址。如果存在缓存且未过期,则直接返回 IP 地址。
-
如果本地 DNS 缓存中没有相应的记录,解析器将向配置的递归 DNS 服务器发送查询请求。
-
递归 DNS 服务器是一个负责域名解析的服务器,它会与其他 DNS 服务器进行通信以获取域名的 IP 地址。
-
递归 DNS 服务器首先向根域名服务器查询,获取顶级域名服务器(TLD)的地址。
-
然后递归 DNS 服务器向 TLD 服务器发送查询请求,获取负责该域名的权威 DNS 服务器的地址。
-
最后,递归 DNS 服务器与权威 DNS 服务器通信,获取域名的 IP 地址。
-
递归 DNS 服务器将获取的 IP 地址返回给本地 DNS 解析器。
-
本地 DNS 解析器将 IP 地址返回给操作系统,使其能够建立与目标服务器的连接。
这样,域名解析完成,操作系统可以使用获取到的 IP 地址与服务器进行通信。
DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于动态地为计算机分配 IP 地址和其他网络配置信息。DHCP 协议在局域网中起到了自动分配和管理 IP 地址的作用,使得计算机可以方便地获取有效的网络配置而无需手动配置。
DHCP 的工作原理如下:
-
客户端(计算机)在启动时发送一个 DHCP Discover 消息广播到局域网上的 DHCP 服务器。
-
局域网上的 DHCP 服务器接收到 DHCP Discover 消息后,会回复一个 DHCP Offer 消息,其中包含可用的 IP 地址和其他网络配置信息。
-
客户端接收到 DHCP Offer 消息后,选择一个 IP 地址,并向服务器发送一个 DHCP Request 消息,表明它想要使用该 IP 地址。
-
DHCP 服务器接收到 DHCP Request 消息后,确认该 IP
地址的可用性,并回复一个 DHCP Ack 消息,将 IP 地址和其他配置信息发送给客户端。
- 客户端接收到 DHCP Ack 消息后,将配置信息应用于自身,并配置网络连接。
通过 DHCP 协议,计算机可以自动获取有效的 IP 地址、子网掩码、默认网关、DNS 服务器等网络配置信息,简化了网络配置的过程,使得设备能够快速地加入网络并与其他设备进行通信。
课后习题
第一章:1-17,1-18,1-19
第三章:3-20,3-22,3-33
最短帧长 = (2 × 传播时延) / 传输时间
以太网最小帧长度为64字节,也就是$64*8=512bit$。
1)当以太网为10Mbit时,争用期为 :
$512/(10*1000000)=0.0000512秒=51.2us$
现在碰撞算法R=100,则退后100个争用期,等待时间:
$51.2us*100=5120us=5.12ms$
2)100M以太网,争用期为:
$512/(100*1000000)=0.00000512秒=5.12us$
现在碰撞算法R=100,则退后100个争用期,等待时间:
$5.12us*100=512us$
第四章:4-19,4-20,4-22,4-25,4-37,4-42
/16表示子网掩码 255.255.0.0
共有$256*256=65536$个
固定首部长度是20字节;
片偏移指的是当数据长度MTU>最大传输数据长度时,无法一次传输完成,必须要进行分片;分片偏移量,其算法是划分片长/8;
第一个偏移为0,第二个为$(1500-20)/8$,第三个为$((1500-20)/8)*2$。
MF标志指的是此数据报后是否还有数据报,没有为0,有就1;
name | 总长度(字节) | 数据长度 | MF | 片偏移 |
---|---|---|---|---|
原始数据报 | 4000 | 3980 | 0 | 0 |
数据报片1 | 1500 | 1480 | 1 | 0 |
数据报片2 | 1500 | 1480 | 1 | 185 |
数据报片3 | 1040 | 1020 | 0 | 370 |
转2进制数共同前缀
答:先把B收到的路由信息中“距离”加1,并在后面添加C,得:
新表:
N2 5 C
N3 9 C
N6 5 C
N8 4 C
N9 6 C
再对比上述新表和B表的“目的网络”和“距离”。
N1 7 A (新表无N1的信息,不变)
N2 5 C (两表都有N2,且下一跳相同,那么更新距离,并且更新下一跳路由器”)
N3 9 C (B表中无N3,而新表有,那么添加)
N6 5 C (两表都有N6,但下一跳不同,比较距离,距离短,那么更新)
N8 4 E (两表都有N8,但下一跳不同,比较距离,距离一样,不变)
N9 4 F (两表都有N9,下一跳不同,比较距离,距离更大,不变)
NAT(Network Address Translation,网络地址转换)是一种在计算机网络中常用的技术,用于将一个网络的IP地址映射到另一个网络中的IP地址,从而实现不同网络之间的通信。
NAPT(Network Address and Port Translation,网络地址和端口转换)是NAT的一种扩展形式,它在转换IP地址的同时还会转换端口号。
以下是NAPT的几个特点:
- IP地址和端口转换:NAPT通过将源IP地址和端口号与目标IP地址和端口号进行映射,使得多个主机可以使用同一个公共IP地址进行通信。
- 多对一映射:多个内部主机可以通过NAPT映射到同一个外部IP地址,从而实现多个内部主机共享一个公共IP地址。
- 端口复用:NAPT通过转换端口号,允许多个内部主机使用相同的端口号进行通信,提供了更多的端口资源。
- 增强网络安全性:NAPT可以隐藏内部网络的真实IP地址,对外部网络来说,只能看到NAPT的公共IP地址,提供了一定程度的安全保护。
NAT的优点:
- 节省IP地址资源:通过NAT,内部网络可以使用私有IP地址,而无需为每个主机都分配一个公共IP地址,从而节省了IP地址资源。
- 提供基本的防火墙功能:由于NAT隐藏了内部网络的真实IP地址,外部网络无法直接访问内部主机,起到了一定的防火墙作用。
- 简化网络配置:NAT可以帮助解决私有网络中与公共网络的连接问题,简化了网络配置过程。
NAT的缺点:
- 限制了对内部网络的直接访问:由于NAT隐藏了内部网络的真实IP地址,外部网络无法直接访问内部主机,因此某些网络应用和服务可能无法正常工作,例如对等网络连接、视频会议等。
- 增加了网络管理的复杂性:NAT需要维护转换表来跟踪内部和外部IP地址的映射关系,这增加了网络管理的复杂性和开销。
- 引入延迟和性能损耗:NAT在转换IP地址和端口号时会引入额外的处理延迟和性能损耗,可能对网络吞吐量和响应时间产生一定影响。
需要注意的是,虽然NAT在一定程度上解决了IPv4地址不足的问题并提供了一定的安全保护,但它并不是一种完美的解决方案。随着IPv6的普及和广泛应用,IPv4地址短缺和NAT的局限性将逐渐减少。
第五章:5-23,5-38,5-39
题型
选择题(单选):10题,每题2分,共20分
填空题:20空,每空1分,共20分
简答题:4题,每题5分,共20分
综合计算题:4题,每题10分,共40分