端系统实际指的是位于网络边缘部分的主机
交换机对数据包的处理方式有(直通式)和(存储转发式)两种,它们各有优点和缺点。
信号(Signal):信号是在传输介质中的电磁波或电流脉冲,用于表示数据或信息。常见的信号类型包括模拟信号和数字信号。
编码(Encoding):基带调制,编码是将数据转换为特定的信号形式以便在通信中传输和解码的过程。常见的编码方式有单极性非归零编码(NRZ)、曼彻斯特编码、差分曼彻斯特编码等。
调制(Modulation):调制是将数字信号转换为适合于在传输介质中传播的模拟信号的过程。常见的调制方式有振幅调制(AM)、频移键控(FSK)、相移键控(PSK)等。
(1)基带调制:通过编码的方式,让基带信号更适合信道特性。
(2)带通调制:为了确保信号能够传输的更远,因为基带信号
中有较多的低频甚至直流成分。
(3)正交振幅调制
QAM16:
16种码元,一个码元可携带4比特信息
问题提出
常见应用场景包括有线电视、广播电台和卫星通信等。
常见应用场景包括电话网络、以太网等。
常见应用场景包括宽带接入网络(如DSL)和无线通信系统等
常见应用场景包括光传输网络和光纤通信系统等。
常见应用场景包括CDMA无线通信系统和卫星通信等。
工作原理
使用 CDMA 的每一个站被指派一个唯一的 m bit 码片序列。
如果一个站要发送比特 1,则发送它自己的 mbit 码片序列;
如果要发送比特 0,则发送该码片序列的二进制反码。
例如,指派给 S 站的 8 bit 码片序列是 00011011,当 S 发送比特 1 时,
它就发送序列 00011011;而当 S 发送 0 时,就发送11100100。为了方便,
按惯例将码片中的 0 写为 -1,将 1 写成 +1,因此 S 站的码片序列就是
(-1-1-1+1+1-1+1+1)。
特点
CDMA又叫码分多址,是一种信道复用技术。
允许用户在同一时刻在同一信道上使用同一频带进行通信。
其是人们追求高质量无线通信的产物。
每一个比特时间被划分m个间隔,通常m=64、128 。
CDMA 系统的一个重要特点就是这种体制给每一个站分配的码片序列不仅必须
各不相同,而且还必须互相正交。
规格化内积为0
数字传输系统是一种利用数字信号进行数据传输和通信的系统。它将要传输的数据转换为数字形式,并通过数字信号进行传输和恢复,具有较高的抗噪性能和可靠性。以下是数字传输系统的一些关键方面:
数字编码:数据在数字传输系统中需要进行编码以便于传输和解码。常见的数字编码方式包括二进制编码和多级调制编码(如四相调制、八相调制等)。编码可以将原始数据映射到数字信号上,以便在传输过程中表示和恢复数据。
传输介质:数字传输系统可以使用不同的传输介质进行数据传输,包括铜缆、光纤、无线电波等。选择适当的传输介质取决于传输距离、带宽要求、抗干扰性能和成本等因素。
传输速率与带宽:数字传输系统的传输速率是指单位时间内传输的比特数,通常以比特/秒(bps)或千兆比特/秒(Gbps)为单位。带宽是指数字传输系统所使用的频带宽度,它决定了系统能够传输的最大数据率。
调制与解调:在数字传输系统中,数字信号必须经过调制(Modulation)将其转换为模拟信号以适应传输介质。接收端需要进行解调(Demodulation)将接收到的模拟信号转换回数字形式。
错误检测与纠正:为了提高数据传输的可靠性,数字传输系统通常采用错误检测和纠正机制,例如循环冗余校验(CRC)和前向纠错编码(FEC)。这些机制可以检测和纠正在传输过程中产生的误码,保证数据的完整性和准确性。
协议与协商:数字传输系统通常需要定义协议和规范来确保不同设备之间的
宽带接入技术是指通过各种技术手段实现高速、大容量的互联网接入。以下是几种常见的宽带接入技术:
数字用户线(Digital Subscriber Line,DSL):DSL技术利用普通电话线实现宽带数据传输,通过将高频信号叠加在低频语音信号上,实现同时传输语音和数据。常见的DSL技术包括对称数字用户线(ADSL)、高比特率数字用户线(HDSL)和徕卡尔数字用户线(VDSL)等。
光纤到户(Fiber to the Home,FTTH):FTTH技术采用光纤作为传输介质,将光纤直接延伸到用户住宅或办公室,提供高速、稳定的宽带接入。常见的FTTH技术包括光纤到户(FTTP),其中最常见的是光纤到家(FTTP)和光纤到楼(FTTB)。
电缆调制解调器(Cable Modem):电缆调制解调器技术利用有线电视网络提供宽带接入。用户通过电缆调制解调器将数据发送和接收通过有线电视网络传输,并与用户计算机设备进行通信。
无线接入技术:无线接入技术通过无线信号传输数据,为用户提供便捷的宽带接入。常见的无线接入技术包括Wi-Fi(无线局域网)、移动蜂窝网络(如4G和5G)等。
这些宽带接入技术各具特点,可以根据用户需求、地理条件和可用基础设施来选择适合的技术。宽带接入技术的发展不断推动了互联网的普及和信息社会的发展。
作用
在不考虑TCP/IP协议体系的情况下,可以简单的看成数据(帧)在数据链路层传输。
目的
数据链路层协议的目的是在物理层提供的传输介质上建立可靠的连接并实现数据的
可靠、有序传输,同时处理媒体访问和流量控制等问题,从而实现高效的数据通信。
(1) 链路:从一个节点到相邻节点的一段物理链路(中间没有任何交换节点)
(2)数据链路:把实现通信协议的软硬件加在链路上。
(3)数据链路层以帧为单位传输数据。
(4)通信协议的作用是控制数据怎链路上的传输 。
(1)帧头包含目的地址(6B),源地址(6B),类型(2B)
(2)帧尾包含FCS字段(2B)
(3)封装过程
(4)类型字段
(1)帧定界(接收方的数据链路层可以从物理层交互的比特流中提取出一个个帧)
主见于PPP帧,以太网MAC帧里面是没有帧定界的标志的,所以以太网MAC帧
会在物理层的MAC帧前面添加前导码,而且在物理层,帧和帧之间有帧间间隔
(帧间间隔的存在保证了MAC帧不需要帧结束界定符。)。
(1)概念:数据链路层对上层交付的数据没有任何限制。
(2)但是网络层交互给数据链路层的数据肯定会存在下面的问题
(交互的数据存在帧定界符或者转义字符)
(3)解决方法:
面向字节的物理链路:字符填充法(扫描数据帧,没出现一个帧定界符或者转
义字符就添加一个转义字符。)
面向比特的的物理链路:零比特填充法:从左往右扫描,没出现五个一添个零。
8.最大传输单元 :MTU
为了提高帧传输的效率,应该使帧的数据部分尽可能的大,但是考虑到差错控制等,
每种数据链路层协议都规定了帧数据部分的长度上限:MTU
2.2.1.检错码(FCS)在帧的尾部
2.2. 2.接收方主机判断误码的方法:根据数据帧尾部的检错码检测是否有误码
(1)奇偶校验码:在数据后面添加一位奇偶校验位,使得1的个数如果为奇数就是奇
校验,如果1的个数是偶数就是偶校验。
CRC基本原理
CRC基本原理,首先肯定已知原始数据(待发送的数据),以及一个
已知生成多项式,根据生成多项式计算出原始数据的帧检验序列,在
传输过程中将此帧检验序列封装在FCS中,接收方通过对FCS包装过
后的数据进行检测,如果校验余数为0则证明数据传输正常,反之则有误。
(2)循环冗余校验(CRC)
1.发送信息(构造可以被检验的CRC码):
2.接收信息的检错过程(判断传输是否有误码):
尽管误码不能避免,但能实现发送方发送什么,接收方就收到什么,
这个过程就是实现可靠传输。
接收方对收到的数据检测,如果数据有错就直接丢弃数据
(1)共享式局域网:
有线网络: CSMA/CD协议(载波监听,多点接入/碰撞检测)
注意WIFI(无线网)用的是CSMA/CA协议
(2)交换式局域网:
(引入了交换机)在有线领域完全取代了共享式局域网
在数据链路层:有线链路的误码率一般较低,所以
多采用不可靠传输;但是无线链路易受干扰,误码率较高,所以必须采用可靠传输
(不仅适用于数据链路层,还适用于各层协议中)
发送方每发送一个分组就停止等待接收方的确认分组,
只有等到确认分组之后才会继续发送新的分组。
1.协议的目的:采用流水线数据分组,从而提高信道利用率
2.视频讲解:传送锚点
3.个人心得:
(1)发送窗口Wt = 1就是停止等待协议SW
(2)对于回退N帧协议接收窗口WR只能等于1
(3)无差错情况:
发送方发送数据,然后接收方接收数据,接收窗口向右移动,
并回传确认分组,接收方收到确认分组,发送窗口就对应向右移动。
(3)累积确认:
(4)累积确认的优势:
比如接收方回传确认分组ACK1和ACK4就算ACK1丢失了,
只要ACK4正确到达了发送方,那么发送窗口内ACK4及其
之前的数据都确认收到了。
(5)累积确认的缺点:
不能及时的向发送方反映出接收方已经正确接收的数据分组的信息。
(6)有差错情况:
5号分组产生误码,接收方会先丢弃5号分组,然后接收窗口发现后面四个数据分组都不是5号数据分组,于是每检查一次就得重新向发送方发送一个之前的确认分组4,如下图所示:
(7)回退N帧(GBN)的概念来历:
(8)发送窗口超过了取值范围会出现的情况:
接收方可能会出现无法分辨新旧分组,造成分组重复的情况
依次发送0~7号数据:
接收窗口此时的位置:
但是在接收窗口发送分组确认7的时候 分组确认7丢失了
之后发送方的超时重传计时器会发现一直收不到7号数据分组,然后就会再发一次0~7号数据分组
接收窗口此时就会右移,但是我们此时是不希望接收窗口右移的!!!因为右移就会导致数据重复接收。
(9)小结:
(1)协议目的:设法只重传出现误码的数据分组
(2)接收方不能再采用累积确认:
2.视频讲解:传送锚点
当出现2号数据分组丢失的时候:
于此同时发送方可以把0号和1号分组从发送缓存中删除了,接收方也可将0号和1号分组移交给上层处理。
发送窗口需要记录3号数据分组已确认,这样3号分组才不会超时重发
2号分组的重传计时器超时了:
发送方就会重传2号数据分组:
发送方和接收方的窗口尺寸需要满足的关系:
总结:
3.真题讲解:
透明传输的概念:如果数据中的二进制代码恰好和帧定界FCS字段相同,就会
导致数据链路层“错误的”找到帧的边界,可以用零比特填充
法或者字节填充法来解决这个问题,从而实现透明传输。
码分复用CDM:(由于该技术多用于码分多址,故又简称为CDMA)
理论:
习题:
真题:
(10Mb/s以太网把争用期规定为512比特的发送时间)
2.争用期亦等于端到端的往返时延
3.
(11)注意
(1)协议出现的原因:CSMA/CD协议中的CD(碰撞检测)在无线网中意义不大:
所以CSMA/CA 协议把CD换成了CA(碰撞避免)。
(2)帧间间隔
(3)工作原理
(4)CA 退避算法
(5)相关习题
1.
(1) 物理连接:适配器通过物理接口,将计算机与网络之间的传输介质
(如以太网电缆或无线信号)进行连接。
(2)数据封装和解封:适配器负责将计算机内部的数据进行封装,将数据
根据一定的网络协议格式组装成数据帧,并在发送
时通过物理链路传输到网络中。
(3)数据报错检测和纠正:适配器通过使用错误检测技术(例如CRC)来
检测在数据传输过程中可能发生的误码和传输
错误。
(4)地址识别和转发:适配器具备分配和识别本地设备的物理地址
(即MAC地址)的能力。
(5)网络参数设置:适配器还可以通过配置网络参数,如IP地址、
子网掩码、网关等,使计算机能够与所连接
的网络相适应,并实现与其他设备的正常通
信。
单播地址:指定了目的地址:特定主机
广播地址:只要在广播范围内的所有主机都可以接受该广播帧(目的地址为:F:F:F:F)
多播地址:广播范围内的主机根据自己的多播组列表来判断是否接收该帧;某些主机
快速判断多播地址的方法:
由于MAC地址不具备区分不同网络的功能(所以如果只有一个网络,不接 入因特网,但这肯定不切实际。)
(1)由网络号字段和主机号字段共同构成。
(2)同一个网络中的各主机以及该网络的路由器接口的网络号应该相同,主机 号应该不同。
(3)不同网络的网络号字段肯定不同。
视频解析:传送锚点 5:55 (已经懂了,不需要传送)
5.相关习题:
(分析问题时,其实可以把集线器就看成一条总线)
(既然集线器使用的还是CSMA/CD协议,就说明各主机还是争用总线的,所以工作方式是半双工的方式:同一时间要么发送帧要么接收帧,两个不能同时进行。)
(1)同样是发送端发送单播帧,集线器是广播发送特定接收,交换机特定发送特定接收(因
为交换机有特定的帧交换表)
(2)发送广播帧 二者效果是一样的
(3)主机A 和 主机C同时给主机B 发送数据帧:
(4)同样是发送单播帧,集线器扩展的以太网就会产生碰撞,而交换机就不会:
(5)上述小结:
1.概述
2.自学习和转发帧的流程
2.1视频解析:传送锚点 1:50
2.2注意事项:
(1)更新交换表时先检查是否有该条记录,如果没有,就按照:
‘发送主机MAC地址 发送主机的接口号’ 格式更新。
(2)注意发送端如果在查表的时候查到了目的主机MAC地址对应的接口,那么
接下来就按照这个接口转发,而不是泛洪转发!!!此时其它交换机的帧
交换表可能是不需要更新的:比如下面这种情况:
(3)只要帧交换表找不到目的主机MAC地址记录,就泛洪转发(盲目转发)
3.帧交换表和ARP高速缓存表一样,每条记录都有自己的有效时间:
这主要是因为如果终端主机被替换或者终端主机的网卡坏了,响应的MAC地址也要跟着变
1.如何提高以太网的可靠性(单纯的冗余链路出现的各种问题)
2. STP的好处(提高以太网可靠性的同时还避免网络环路带来的各种问题)
3.STP的实质就是在环路中自构成树结构
物理层:使用光纤和集线器扩展
数据链路层:使用交换机扩展
碰撞域(Collision Domain): 碰撞域指的是在以太网中,共享同一物理介质的设备之间可能发生碰撞的范围。当多台设备同时发送数据时,由于物理介质的限制,信号传输会发生碰撞,导致数据丢失。在同一个碰撞域内的设备会共享带宽,并且碰撞会对所有设备造成影响。
通常,一个碰撞域由一个集线器(Hub)或者一个无集线器的以太网(使用半双工模式)所组成。在交换机(Switch)等设备出现后,碰撞域可以被划分为更小的范围,因为交换机可以通过转发数据只将其送达目的设备,避免了碰撞问题。
广播域(Broadcast Domain): 广播域指的是在网络中广播消息传播的范围。广播是一种向局域网中所有设备发送消息的方式,以便实现各种网络功能。在同一个广播域内的设备能够接收到其他设备发送的广播消息。
通常,一个广播域由一个交换机或者一个路由器的端口所定义。交换机会将广播消息转发到同一VLAN中的所有设备,而路由器能够控制广播消息在不同VLAN之间的传播,实现对广播流量的隔离和管理。
目的:保护数据隐私。
实现方式:以太网交换机。
概念:由一些局域网网段构成的,与位置无关的逻辑组。
然而因特网没有采用这种方式,而是采用的面向无连接的数据报服务。
核心思想:可靠传输应该由用户主机来保证,从而使得路由器成本降低。
可靠传输交给了运输层
是一种无连接的,面向数据包的协议;其主要作用是寻址和路由
其中包含三大配套协议( ICMP , IGMP , ARP )
简称为IP网:就是本来互连起来的各种物理网络之间的异构性是客观存在的,但是
可以利用IP协议,使用户将这些看起来异构的物理网络逻辑统一起来。如果在这种IP
网的上层添加TCP协议,那么就是现在使用的互联网。
IP地址:对应的一个网络里面主机的地址,如果一个主机属于多个网络,那它就是多归属主机,
再如路由器至少连接两个网络,所以路由器至少有两个接口IP地址
1. IPV4地址就是给因特网上的每一个主机或者路由器的每一个接口
分配一个在全世界范围内的唯一的32bit的标识符。(IPV6可以在同一个
接口有多个IP地址,即一个接口的IP地址可用来唯一的标志该节点。)
2.IPV4的地址在2011年就已经分配完毕
3.IPV4地址编址方法经历了三个历史阶段
4. 采用点分10进制表示方法 每8bit分为一组
(目的是为了能够区分ABC类地址以及判断是否合法)
(实验课上可能用到,了解即可)
因为当一个很大的网络想要分成三个或多个小的子网时,如果这个时候选择
重新去申请网络号字段,将会浪费大量的金钱和时间,所以工程师就萌生了
通过在主机号字段划分子网字段的方式来实现划分子网。
这个时候就诞生了子网掩码,子网掩码和ip地址做逻辑与运算就能得出网络
网络号加子网号了。
因为虽然划分子网的方式缓解了一定的地址压力,但是这肯定不够,所以
因特网工作组就通过使用这种方法暂缓IP数量不够的压力,于此同时研究
IPV6。
4.1 why?
因为当两个路由器相连时,一个路由器给另一个路由器交互信息,另一个路由
器的路由表需要记录很多条记录,这个时候,就可以考虑通过压缩路由表,把
具有相同前缀的路由信息整合在一起从而实现路由聚合,路由聚合的结果就是
聚合地址块。
4.2 真题
上面的192.168.4.3是该子网的广播地址,故四个主机都能收到,但是由于
可分配的主机数量是两个,所以选C
4.3 路由聚合
不要懒笔 遇到路由聚合找共同前缀,然后数出相应的位数
4.4 最长前缀匹配
既然有路由聚合,那当遇见多个匹配的目的地址时就使用最长前缀匹配
8.1 路由器是隔离广播域的
8.2 网际层并不负责可靠传输
上图说明:R1知道IP5 ,但是不知道MAC5 。 ARP的作用就是将IP地址转化为MAC地址。
(1)发送主机先检查自己的ARP高速缓存表,如果查到对应ip的MAC地址就返回并使用该
MAC地址。
(2)如果ARP高速缓存表里面没有对应的IP MAC记录,就利用ARP请求广播报文去获取
到目的主机IP对应的MAC地址(只有知道接收方的MAC地址,发送方才知道要把数
据传到哪里去。)
(3)目的主机收到ARP请求报文之后,响应该请求报文,发送ARP响应单播报文给对应
的源主机,源主机收到信息之后更新ARP缓存表。
(4) ARP只能在一个网络或一段链路上使用,而不能跨网络使用
说白了就是路由表可以自动配置直连网络,而不能配置间接相连的网络,像这种间接相连
的网络需要人工配置 如上图的两个静态网络。
默认路由说白了就是具有相同下一跳的目的网络可以使用同一条的路由记录,如上图所示,主要
原因就是,比如我想通过R1向因特网发送消息,但是因特网里面有很多不同的网络,为了节省
路由表的空间,可以选择使用默认路由。
用于处理目标网络不在当前路由表内的情况的路由规则。当一个数据包的目标IP地址与路由表中的任何特定主机路由或子网路由都不匹配时,路由表将会使用默认路由来决定下一跳的路径。默认路由通常被设置为一个网关的IP地址,该网关将负责将数据包转发到其他网络中进行进一步的路由。
指定了将数据包发送到目标网络中具体某个主机的路径。这种路由适用于需要直接和特定主机通信的情况,它会在路由表中明确指定目标主机的IP地址和出口接口,以确保数据包能够正确地传递到目标主机。
特定主机路由用于发送数据包到目标网络上的特定主机,而默认路由用于处理目标网络不在当前路由表内的情况。特定主机路由通过明确指定目标主机的路径实现精确的路由,而默认路由则作为备用路径,用于处理其他未匹配的目标网络。
多个输入端口和输出端口(需要注意的是每个路由器的端口都具有输入和输出的功能)的专用计算机,其任务是转发分组,其可划分为路由选择部分和分组转发部分,路由选择部分的路由选择处理机根据其路由协议与其它路由器周期性的交互来更新路由表。输入端口如果是传入的普通的数据分组,则到达交换机结构之后根据其相应的转发表进行转发到相应的输出端口即可,但是如果是路由报文的话,需要先转发到路由选择处理机中,然后路由选择处理机根据其修改更新路由表,这个修改 更新之后的路由表就是转发表。转发表相当于路由表的最大更新化和最优化。输入和输出缓冲区是为了存储待输入和待输出的分组。
RIP的基本工作过程
RIP的路由条目更新规则
下面的更新条件是:假设路由器C的RIP更新报文发送周期到了
更新的原则是:首先更新发送请求的路由表,然后根据这个路由表去修正接收方的路由表,如果是新的目的地址就直接添加;如果是旧的目的地址,先看下一跳,下一跳相同就直接更新,下一跳不同就看旧的距离有没有优势,如果有优势(距离短为大)就不更新,反之则更新。;到达目的网络,不同下一跳但是距离相等采用等价负载均衡(谢希仁教材不需要考虑这个)的原理添加新的路由条目。
1.更改C的路由表的下一跳统一为C,距离加1
2.对应更新D的路由表
路由表更新的理解:
实质就是表C代表的是新路由表,相当于用这个新的路由表去修正之前的旧路由表,距离上有变化的肯定就需要相应的按照新路由表C来变化。
链路状态数据库 LSDB :
每个路由器会不定时泛洪发送自己的链路状态给其它路由器,从而会使每个路由器的
状态数据库更新为以下的样子,然后最短路径优先算法就是基于状态数据库进行的链
路选择。
OSPF的工作原理:
指定路由器DR和备用指定路由器BDR :其主要作用就是减少邻居数量
区域的诞生和使用:
OSPF的特点:
1.开放性:OSPF是开放性的协议,不受特定厂商的控制,使得不同厂商的设备相互通信
2.适用于大规模的网络:比如因特网
3.分层设计:引入了区域(Area)使得整个自治系统(AS)路由计算量大大降低
4.采用SPF:采用迪杰斯特拉算法计算最短路径,避免了网络环路的问题
5.快速收敛:当网络拓扑发生变化时:其能迅速适应网络变化并更新路由表
其主要作用是用于自治系统(AS)间的路由选择
由于政治,经济等众多不确定性因素,因此BGP的目的是找到一条能够到达目的网络较好的路由(不用兜圈子)而并非找到一条最佳路由。
BGP的工作原理:
1.标识 标志 片偏移三个字段共同用于IP数据报分片
2.为什么要进行IP数据报分片,主要原因在于,数据报文从网络层传输到数据链路层的时候需要对数据载荷封装成帧,但是比如以太网规定了数据载荷的最长帧长为1500B,如果超过了这个长度就需要进行分片处理。分片是在网络层完成的。
3.分片的举例:
标识字段始终和原始数据报保持一致 片偏移因为以8B为单位,所以为首部第一个字节的编号除以8
假设二号分片还需要分片(主要分片2的分片2的MF取值为1):
例题:
ICMP是Internet控制消息协议(Internet Control Message Protocol)的缩写。它是TCP/IP协议族中的一个协议,用于在IP网络上进行错误报告、网络状况监测和诊断等功能。
ICMP协议位于网络层,使用IP数据报来传输控制信息。它通过在IP包的数据部分封装特定类型的控制消息,例如传输过程中的错误报告、网络不可达通知、时间超时通知、回送请求和回答等。
2.应用
起源:
应用:
发送
转换(同时根据NAT路由器中的NAT转换表找到内网地址)
基本地址格式
变化:
变化后的格式详情:
各个字段含义解释:
零压缩:
首部长度必须是8字节整数倍
首部长度是固定的40字节
IPV4向IPV6的过渡只能采用逐步演进的方法,同时新安装的IPV6系统还必须向后兼容,
IPV6系统还必须能够接收和为IPV4数据报寻找路由转发
在过渡阶段:使一部分主机和路由器同时装有两个协议栈,一个IPV6,一个IPV4。
双协议栈在和IPV6主机通信时采用的是IPV6地址,在和IPV4地址通信时采用的是
IPV4地址。
把整个IPV6数据报封装在IPV4数据报的数据部分,当IPV4数据报离开IPV4网络的隧道后
把数据部分(原来的IPV6)交互给对应的IPV6协议栈。
更好的支持一对多通信
多播是一种将多播数据分组(多播数据分组需要在目的地址写入多播组的标识符形成多播地址,多播地址的标识符就是D类地址,多播数据分组的协议地址字段是2,表示使用的是IGMP协议。)同时发送多个接收方(接收方需要支持多播功能,并正确的加入多播组成为多播组成员才能用以接收多播数据报)的通信方式,
多播功能,并正确加入多播组以接收数据。
为了使路由器更好的了解多播组成员信息
IGMP是让连接在本地局域网上的路由器知道本局域网上是否有主机(主机进程),加入
或者退出了多播组。
IGMP是IP的一部分:IGMP使用IP数据报传送信息,同时它也向IP提供服务。
(下面的端口不是物理上的端口,而是用来区分不同应用进程的标识符。 )
面向连接的TCP
面向无连接的UDP
数据报的传输方式不同:
1. 利用复用和分用技术为应用进程提供端到端的逻辑通信
2. 在一台主机中经常有多个应用进程同时和另一台主机的
多个应用进程进行通信(这就是复用和分用的重要作用)
套接字:
通过套接字可以唯一确定一条逻辑通信线路:
(所以必须用统一的方法对TCP/IP协议体系来进行标识)
三大端口号:
三大端口号的分类:
(复用和分用是基于端口的)
视频讲解:传送锚点 6:04
DNS服务器的概念:
发送方UDP对应用层交互下来的应用层报文进行封装一个UDP首部之后,
交互给IP层,IP层为上面的UDP报文再封装一个IP首部,之后传递给接
收方,接收方IP层对接收到的IP数据报,然后上交给运输层,接收方
UDP根据其首部的目的端口把UDP数据报分用(通过相应的目的端口传递给)
原封不动的将UDP数据报传递给应用层。
#UDP支持单播(一对一),多播(一对多),广播(多对多)方式的通信
#TCP由于是面向连接的,顾名思义,其首先要通过三次握手建立连接,从
而TCP仅仅支持单播,也就是一对一通信
# UDP是面向应用报文的 而TCP是面向字节流的。
# TCP面向字节流保证的是接收方接收的字节流和
发送方发送的字节流是一致的,但是不要求两个字
节流所分的字节块的数量一致。
# TCP面向字节流的传送传输特性是流量控制、拥塞
控制、可靠传输的基础。
# TCP字节流传输时全双工可靠通信的。
# 由于TCP要实施的可靠传输服务,所以首部字段要比UDP首部字段长的多
目的:为了让发送方的发送速率不要太快,接收方来得及接收数据,也不
至于发生网络拥塞
实现机制:滑动窗口机制
rwnd : 接收窗口的大小
ack: 表示已收到之前接收的确认分组的数量,现在希望收到序号ack及其后序数据
seq: 表示该发送分组开始的序号
产生死锁:新的rwnd发生了丢失 就会造成死锁局面:A一直等待B的非零窗口,B一直等待A发送的数据
如何打破死锁局面:采用零窗口报文段机制
注意:就算接收窗口为零,但此时TCP协议规定仍然必须接收零窗口探测报文以及携带紧急报文字段的TCP报文。
如果发生零窗口探测报文丢失怎么办?
零窗口报文段本身也具有重传计时器,所以无需担心。
(主要注意发送窗口和接收窗口移动得时机:发送方在收到一个确认之后,发送窗口就得右移,同样的,接收方在接收到序列分组后,接收窗口也得右移。)
(说白了就是通过拥塞控制算法来控制拥塞窗口的大小)
2.1探讨条件:
2.3 增加资源不能解决拥塞。
2.4 拥塞引起得重传并不会缓解网络的拥塞,反而会加剧网络的拥塞(恶性循环)。
2.5 拥塞控制其实质就是防止过多的数据注入网络,使得网络中的路由器发生过载现象。
2.6 流量控制和拥塞控制的区别:
2.7 检测网络拥塞的指标:例如被丢弃的分组的百分数
2.8 TCP采用基于窗口的方式进行拥塞控制
2.9 控制拥塞窗口变化原则:只要没有发生拥塞就把拥塞窗口的值变大一些,一旦发生拥塞,就减小拥塞窗口。
2.10 出现拥塞的判断:
重传定时器超时:cwnd 归一然后开启慢开始算法
收到三个重复的ACK: 使用快恢复算法(cwnd 和ssthresh同时置为 cwnd/2 , 然后执行拥塞
避免。 )
2.11 传输伦次:
发送方给接收方发送数据报文段后,接收方给发送方发回相应的确认报文。
一个传输轮次所经历的时间其实就是往返时间,往返时间并非恒定的数值,
使用传输轮次是为了强调把拥塞窗口所允许发送的报文段都连续的发送出去,
并收到了对已发送的最后一个报文段的确认。
2.12 TCP双方建立逻辑关系时:拥塞窗口cwnd设置为1 慢开始门限的初始值ssthresh按需设置即可(做题的时候这点很重要!!!)
2.13 慢开始和拥塞避免:
2.14 快重传和快恢复
目的:发生超时重传不一定就是发生了拥塞,相应的也没必要把cwnd立马置为1
快重传:(使发送方尽快重传)
重复确认M2数据分组:意思就是我现在期望收到的是M3数据分组,而不是M4...Mn失序分组。
快恢复算法:
(1)开始客户机和服务器都处于关闭的状态
(2)TCP服务器创建一个传输控制块
(3)TCP服务器进入监听状态(等待TCP客户机发送连接请求)
(4)TCP客户机建立传输控制块
(5)TCP客户机发送TCP连接请求报文段(TCP客户机进入同步已发送状态)
# SYN被设置为1表示这是一个TCP连接请求报文段
# seq=x 表示TCP进程所选择的初始序号为x
(6)TCP服务器对TCP客户机的请求发送确认报文段(进入同步已接收状态)
SYN和ACK都设置为1 表明这是一个TCP连接请求确认报文段
seq=y表示TCP服务器进程所传输的数据的初始序号为y
ack=x+1 是对TCP客户机发送的连接请求报文段的初始序号的确认
(因为连接请求报文段不携带数据报文段,但是要占一个序号)
(7)TCP客户机对TCP客户机连接请求确认报文的确认(客户机进入连接已建立状态)
(8) TCP服务器收到上述确认也进入连接已建立状态
(9)连接建立成功(双方可以进行数据传输了此时)
(1)TCP客户机发送TCP连接释放请求报文段(进入终止等待状态)
#终止位FIN和确认位ACK都被设置为1(表明这是一个TCP连接释放报文段)。
#对此前收到的报文段进行确认(seq的值设置为u u等于客户进程已传送过
的数据的最后一个字节的序号加1 ack设置为v v=TCP客户进程之前已收
到的数据的最后一个字节的序号加1)。
(2)TCP服务器收到客户机发送的TCP连接释放报文段之后会发送一个
普通的TCP确认报文段(进入关闭等待的状态)
(3)TCP服务器进程告诉高层 TCP客户机进程要断开与自己的TCP连接
此时从TCP客户机进程到TCP服务器进程的连接就释放了
(TCP连接进入半关闭状态,也就是TCP客户机进程已经没有数据要发送了)
(4) TCP客户机进入终止等待2的状态
如果TCP服务器进程的应用进程没有数据要发送了
(5)TCP服务进程发送连接释放报文并进入最后确认状态
ack=u+1 是对之前的重复确认
(6)TCP客户进程进入时间等待(发送TCP普通确认报文)
FIN=1 ACK=1 虽然不携带数据但是要占一个序号所以seq为u+1
(7) TCP服务器进入关闭状态
(8) TCP客户进程进入关闭状态
时间等待状态的必要性:
防止最后的确认报文段丢失导致TCP服务器最后不断超时重传
TCP连接释放导致无法进入关闭状态
TCP保活计时器保证TCP客户机进程出错后也不会进入死等的状态
特别注意:只有ACK=1的时候确认号字段才有用
序号字段和确认号字段搭配使用
例如:
用A表示发送方,B表示接收方,在没有收到B的确认的情况下,A可以连续的把窗口内的数据都发送出去。
规定发送窗口的大小。
实现过程:
确认丢失和确认迟到
确认丢失 接收方B丢弃重复的分组,并向A发送这个丢失的确认。
确认迟到 简单的丢弃这个迟到的确认即可
# 重传的请求是自动进行的,不需要接收方请求重传某个出错的分组
#使用重传确认机制,就可以在不可靠的传输网络上实现可靠传输
#触发条件:发送方总是可以接收到发送方的确认分组,如果不能
收到就是网络的传输的问题此时就会触发ARQ
#用于确保可靠传输
信道利用率
工作原理
累计确认和回退N
累计确认
回退N
选择确认SACK
显然回退N会导致重传某些序号字段(这对网络资源是一种极大的浪费)
# 应用层的功能是设计和建立计算机网络的目的,通过应用进程的交互解决特定的网络问题。
# 规定应用进程在通信时使用的协议。
# 定义协议和接口:
* 应用层负责定义应用程序和网络基础设施之间的接口和协议,保证不同的
应用进程之间的相互通信。
# 数据格式化和编码:
* 应用层负责对数据的格式化和编码使其易于在网络上传输。
# 发送和接受数据:
* 利用运输层发送数据和接收数据。
# 数据的管理和控制:
* 运输层可以实现数据的可靠性传输以及控制数据的传输,同时可以控制数据的分段。
# 提供应用服务:
* 为用户提供各种网络服务和应用程序服务
用于名字到IP地址的解析。
# 运行域名服务器程序的机器就是域名服务器。
# 管辖范围以区为单位而不是以域为单位。
# 树状结构
* 所有根域名服务器都知道顶级域名服务器的域名和IP地址
* 不管是哪一个本地域名服务器,只要本地域名服务器不能
解析某个互联网上的域名,都首先求助于根域名服务器。
# 每一个区都有一个权限域名服务器,权限域名服务器用来存储
该区的所有主机域名到IP地址之间的映射
域名:在互联网上的主机都有唯一的层次结构名字。
# 递归查询就是一查到底然后返回相应的所需要查询的IP地址
# 迭代查询就是先递归查询本地服务器,如果本地域名服务器
没有所要查询的IP地址利用本地服务器去迭代查询根域名服务器
根域名服务器返回再要查询的顶级域名服务器的IP,顶级域名服
务器接着返回下一步需要查询的权限域名服务器的IP地址,然后
本地服务器紧接着去查询权限域名服务器,权限域名服务器返回
最终需要查询的IP地址给本地服务器,然后本地服务器将该IP地
址返回给查询主机。
工作方式:高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
作用:提高域名服务器进行域名解析的效率,减缓根域名服务器的负荷以及因特网上
DNS请求报文的数量。
补充: * 高速缓存会定期更新记录以维持域名和IP之间正确对应关系。
* 不仅域名服务器里面有高速缓存,而且本地主机同样具有高速缓存,其
工作方式和作用都是一样的。
1. 用于计算机之间传输文件,尤其是用于批量传输。
2. 网站设计者将构成其网站内容的大量文件上传到他们的web服务器。
(两个连接:一个用于传送控制命令的TCP连接,熟知端口号是21;
一个用于传送数据的TCP连接,熟知端口号是20)
1. 主要为了减少和消除不同操作系统下处理文件的不兼容性。
2. 使用TCP可靠的运输服务。
3.采用客户服务器方式,一个服务器可同时为多个客户机服务。
(客户机从服务器下载文件,同时可将文件上传到服务器。)
4.其庞大的命令集合可支持FTP客户机完成类似于目录建立
和用户权限管理的交互操作。
1.采用的也是客户服务器方式。
2. 使用的是UDP用户数据报不可靠传输。
3.只支持文件传输不支持文件交互。
4.没有通过命令行创建目录和区分用户的功能。
# 用户使用TELNET就可以在本地通过TCP连接登录到远地的另一个主机。
#透明服务:
用户在本地的击键可以在远程主机上响应,就好像本地的输入
输出设备直接与远程主机相连。
#采用客户服务器方式
服务器中的主进程等待连接,并产生从属进程处理每一个连接请求。
#使用网络虚拟终端NVT格式
(这种格式就好像中介的作用一样)
# 万维网是运行在因特网上的大规模的分布式应用,而不是某种特殊的计算机网络。
# 利用超链接将各个网页连接成一张逻辑上的信息网
资源定位:万维网使用统一资源定位符(URL)来唯一标识和定位网络上的资源。URL由协议类型(如http://或https://)、主机名(表示资源所在的服务器),以及路径和文件名组成。
HTTP协议:万维网使用HTTP协议作为数据传输的基础。HTTP定义了客户端和服务器之间的通信规则。客户端通过发送HTTP请求到服务器来获取资源,服务器则通过发送HTTP响应来返回请求的资源。
超文本标记语言(HTML):万维网使用HTML来描述和组织文档内容。HTML使用标签(例如 )来标记文本的结构、样式和链接等。浏览器会解析HTML文档,并根据标记显示页面内容。、
超链接:HTML中的超链接通过标签指定,用于在不同页面之间创建跳转链接。用户可以点击超链接来访问其他页面或资源。
图片、样式和脚本:除了文本内容,万维网还支持在页面中嵌入图片、样式表和脚本等元素。图片通过标签插入,样式表用来设置页面的外观和布局,而脚本可以添加交互和动态效果。
网页索引和搜索引擎:为了帮助用户查找所需的信息,万维网使用网页索引和搜索引擎。搜索引擎通过自动抓取和分析网页内容,并建立索引,使得用户可以通过关键词搜索来获取相关页面。
总之,万维网的基本原理是通过URL定位资源,使用HTTP协议进行数据传输,使用HTML描述和组织文档内容,并支持超链接、图片、样式和脚本等元素来呈现丰富的页面内容。
#主要作用是负责对网页内容进行解析和显示。
#不同浏览器内核对同一网页的渲染效果不同,
因此同一网页在不同浏览器会呈现不同效果。
(用来标志万维网文档在万维网中的位置)
上述主页下的某个超链接 二者URL的区别主要是路径和文件不同
(在客户程序主窗口上显示的页面)
(注意HTML)
建立连接:客户端(如Web浏览器)向服务器发送一个HTTP请求。该请求包括URL(Uniform Resource Locator),以及其他可能的参数和标头信息。客户端与服务器之间建立起TCP(Transmission Control Protocol)连接。
发送请求:客户端通过已建立的连接将HTTP请求发送到服务器。请求方法常见的有GET、POST、PUT、DELETE等。GET方法用于从服务器获取资源,而POST方法用于向服务器提交数据。
服务器响应:服务器接收到请求后,根据请求的内容进行处理,并生成相应的HTTP响应。响应包含了状态码(如200 OK表示成功、404 Not Found表示未找到)以及响应报文的内容。
接收响应:客户端接收服务器发送的HTTP响应。响应报文中包含了所请求资源的内容、标头信息以及响应状态码等。
断开连接:一旦完成了请求和响应交互,客户端和服务器之间的TCP连接被关闭。
HTTP定义了浏览器(即万维网客户机)怎么向
万维网服务器请求万维网文档,以及万维网
服务器如何将万维网文档传送给浏览器。
* 指的是协议对事物没有记忆的能力,服务器不知道客户端的状态。
即给服务器发送完HTTP请求之后,服务器根据请求发回数据,发
回数据之后不记录任何信息,如果其后续还需要使用前面的信息进
行处理操作,则需要重发。
*早期的万维网文档多是静态文档,用户仅仅查看存放在不同服务器
上的静态文档。 所以HTTP被设计成一种无状态的协议。
* 服务器每次连接只处理一个请求,服务器处理完客户的请求之后就断开连接。
采用这种方式可以节省传输时间
提供了一种机制:使得万维网服务器可以记住用户
作用:大大减少万维网上的通信量
作用过程:
作用:保证万维网文档没过期(过期指的是原始服务器中的万维网文档
过期了,但是代理服务器中的文档没有及时的的修改。)
HTTP1.0
HTTP1.1
HTTP2.0
电子邮件把邮件发送到接收方的邮箱所在的服务器,
收件人可随时从服务器中的收件邮箱取出邮件。
DHCP服务器:局域网中通常会设置一个DHCP服务器,负责管理和分配IP地址和其他网络配置信息。DHCP服务器保存了一个可用IP地址池,以及每个IP地址的租期信息。
IP地址分配:当计算机设备加入网络或需要续租IP地址时,它会通过DHCP协议广播一个请求消息(DHCP Discover)。DHCP服务器收到请求后,从可用地址池中选择一个未被使用的IP地址,并发送回复消息(DHCP Offer),包含所选IP地址和其他配置信息。
IP地址确认:计算机设备收到DHCP服务器的回复后,可以确认接受所提供的IP地址,并向DHCP服务器发送一个确认消息(DHCP Request)。
IP地址绑定:DHCP服务器收到设备的确认消息后,将为该设备分配所选的IP地址,并发送一个确认消息(DHCP Acknowledgment)给设备,确认分配成功。
租期管理:DHCP服务器会为每个分配的IP地址指定一个租期(Lease Duration),表示这个IP地址在网络上的有效时间。设备在租期结束前需发送租约更新请求(DHCP Renewal)给DHCP服务器,以延长租期。若设备不再需要IP地址,则可通过发送释放请求(DHCP Release)将IP地址返还给服务器。
跨越子网:DHCP中继允许DHCP消息在不同子网之间传递。当在一个子网中没有可用的DHCP服务器时,设备可以通过DHCP中继将DHCP请求消息转发给其他子网上的DHCP服务器来获取IP地址和配置信息。
减轻DHCP服务器压力:通过使用DHCP中继,可以将DHCP请求分散到多个DHCP服务器上,减轻单个DHCP服务器的负载压力。这对于大规模网络或拥有多个子网的组织特别有用。
统一管理:DHCP中继集中管理所有子网上的DHCP消息,将它们转发到特定的DHCP服务器。这样可以简化网络管理,提高配置的一致性,并确保每个子网上的设备都能获得正确的IP地址和配置信息。
跨 VLAN 通信:DHCP中继可以实现在不同VLAN之间进行跨网络的DHCP消息转发。这对于虚拟局域网(VLAN)环境下的设备动态地址分配非常重要,使得设备不受VLAN边界的限制,能够获得正确的IP地址和配置信息。
总之,DHCP中继的作用是实现在不同子网或VLAN之间传递和转发DHCP消息,使得设备能够获得正确的IP地址和配置信息,减轻DHCP服务器压力,并简化网络管理。