基于王道计网
1.0版本 北航软院大三上计网课程复习笔记
2.0版本 保研复习笔记
分布在不同地理位置的独立计算机系统,使用统一的网络协议组织起来,以实现资源共享,这些计算机系统的集合称为计算机网络
广播式网络一般用于局域网,工作在数据链路层,所以可以不要网络层。
广域网的拓扑结构通常采用网状结构。
即发送端的宽度,指发送端最大传输速率(发送速率),单位比特/秒(b/s)
发送时延:发送端发送数据所用时间,等于分组长度(b)/信道宽度(b/s)
传播时延:一个比特从起点到终点所用时间,信道长度(m)/电磁波传播速率(m/s) 传播速率与传播介质有关
处理时延:数据在交换节点为存储转发而进行的一些必要处理所需的时间
排队时延:分组在路由器中排队所用时间
第一个比特从起点到终点的时间内(一个传播时延内),发送端发送的比特数
时延带宽积 = 传播时延 × 带宽
传播时延相当于传播链路以时间衡量的链路长度,带宽相当于链路的横截面积,所以时延带宽积也可以理解为链路的体积
也可以理解为以比特为单位的链路长度。
单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或额定速率的限制。
从发送端发送数据开始,到发送端收到接收端的确认帧结束所需时间
信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
网络利用率:表示全网络的信道利用率的加权平均
当某信道的利用率增大时,该信道引起的时延也会迅速增加;因此信道利用率并非越高越好。
丢包率就是分组丢失率,指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
分组丢失的两种情况:
丢包率反映了网络的拥塞情况。
计算机网络的体系结构:计算机网络的各层及其协议的集合
各层之间功能独立,上层使用下层提供的服务
分层的目的:
分层后能使各层之间相互独立,灵活性好,因而分层的体系结构更容易更新、易于调试、易于交流、易于抽象、易于标准化
计算机网络各层的报文都可以分为两部分,一部分是数据部分,即SDU(服务数据单元),一部分是控制部分PCI(协议控制信息),这两部分共同组成协议数据单元PDU
当两台主机通信时,每个对等层之间都有一条逻辑信道
协议:为进行网络中的数据交换而建立的规则、标准等(存在于不同节点的对等层之间)
接口:同一结点相邻两层之间交换信息的连接点,又称服务访问点(Service Access Point, SAP)(存在于同一结点的相邻层之间);第N层的SAP指的是第N+1层访问第N层服务的地方,例如应用层的SAP指的是用户界面。
服务:指下层为紧邻的上层提供的功能调用,上层只能看到下层的服务,而不能看到下层的具体协议
面向连接服务与无连接服务
面向连接的服务中,通信双方必须先建立连接,分配相应资源(如缓冲区),并在传输结束后释放连接和相应资源。这种服务可以分为连接建立、数据传输和连接释放三个阶段,例如TCP协议。
无连接服务中,通信双方不需要建立连接,而是直接将数据发送到线路上,这种方法又被称为“尽最大努力交付”,因为它并不保证通信的可靠性,例如IP协议、UDP协议。
可靠服务与不可靠服务
可靠服务是指具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。而不可靠服务只是尽力而为。
对于不提供可靠服务的网络,其信息的正确性、可靠性需要应用或用户去判断。
有应答服务与无应答服务
有应答服务是指接收方在收到数据后向发送方给出应答,其应答可以是肯定应答,也可以是否定应答,例如文件传输服务。
无应答服务是指接收方收到数据后不会给出应答,例如WWW服务。
为了使各种结构的计算机都能相连而设置了国际标准的计算机网络体系结构。
法律上的国际标准:OSI体系结构
低三层属于通信子网,高三层属于资源子网。在源节点和目的节点之间的中间结点只需要关注通信子网的低三层,完成寻址转发等即可,而不需要再向上关注传输层中目的主机的进程(端口号)。
分层 | 单位 | 功能 | 协议 |
---|---|---|---|
应用层 | 应用协议数据单元 | 是用户与网络交互的界面 | 用于文件传送的FTP、用于电子邮件的SMTP、用于万维网的HTTP |
表示层 | 表示协议数据单元 | 定义标准数据结构、标准编码形式,并提供数据压缩、加密、解密等 | - |
会话层 | 会话协议数据单元 | 利用传输的端到端服务,为不同主机间进程提供会话,并通过设置校验点等方式实现数据同步 | - |
传输层 | 报文段(TCP)或用户数据报(UDP) | 实现端到端连接,并为端到端连接提供差错控制、流量控制、服务质量、数据传输管理 | 面向连接 |
网络层 | 数据报 | 路由选择、差错控制、流量控制、拥塞控制、网际互连 | 数据报和虚电路 |
数据链路层 | 帧 | 组装成帧、物理寻址、差错控制、流量控制、介质访问控制 | PPP、HDLC等 |
物理层 | 比特 | 通过物理媒介传输比特流,确定机械及电气规范 | - |
OSI在网络层支持无连接(数据报)和面向连接(虚电路)两种方式,而在传输层只有面向连接一种方式;TCP/IP模型认为可靠性是传输层的任务,其在网络层只有无连接的方式(IP协议),而在传输层有面向连接(TCP)和无连接(UDP)两种方式。
实际上的国际标准:TCP/IP体系结构
分层 | 功能 | 协议栈 |
---|---|---|
应用层 | - | - |
传输层 | - | TCP、UDP |
网际层 | - | IP协议 |
网络接口层 | 表示与物理网络的接口,类似于OSI模型中的物理层加数据链路层 | 多个网络接口 |
综合两种体系结构,计算机网络学习采用如下结构进行:
分层 | 协议 |
---|---|
应用层 | DNS、FTP、电子邮件协议、WWW、HTTP |
传输层 | TCP、UDP |
网络层 | IPv4、IPv6、ARP、DHCP、ICMP、RIP、OSPF、BGP |
数据链路层 | MAC、PPP、HDLC |
物理层 | |
连续的数据/信号称为模拟数据/模拟信号
离散的数据/信号称为数字数据/数字信号
码元是指用一个固定时长的信号波形表示一位k进制数字,代表不同离散数值的基本波形。1码元可以携带若干比特的信息量。
k取决于码元有几种,例如,某规则中有16种码元,则一个码元表示一个16进制数字,携带4比特的信息量
信源指发送数据的源头,信宿是接收数据的终点
信道是信号的传输媒介,信道是一个逻辑概念,一条通信线路(物理)往往包含一条发送信道和一条接收信道(逻辑)。
对于下面三种信息交互方式,需要的信道数量不同:
速率指数据传输速率(发送速率)
若一个码元携带n比特的信息,则 带宽 = 波特率 × n
奈奎斯特定理(W:带宽,V:一个码元携带的信息量,即离散电平数量)
理想低通信道的极限数据传输速率 = 2Wlog2V
香农定理(W:带宽)
存在噪声的信道极限数据传输速率 = Wlog2(1 + S/N)
信噪比 = 10log10(S/N)
把数据变为数字信号:编码
把数据变为模拟信号:调制
将数字数据编码为数字信号:见下
将数字数据调制为模拟信号:略
将模拟数据编码为数字信号:略
将模拟数据调制为模拟信号:略
将数字数据编码为数字信号的方式:
中继器
集线器(Hub)
中继器和集线器的作用都是放大信号,不具备改变信号传输方向的作用,集线器是多接口的中继器
功能:将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
为网络层提供的服务:
①无确认的无连接服务;无需建立连接,无需发回确认,快但不安全;适用于实时通信或误码率较低的通信信道,如以太网。
②有确认的无连接服务;无需建立连接,但需要发回确认,提高了可靠性;适用于误码率较高的信道,如无线通信。
③有确认的面向连接服务;帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路;需要给出确认,可靠性最高,适用于通信要求(可靠性、实时性)较高的场合。
有连接就必须有确认
数据链路层为数据分组添加帧头和帧尾成为帧。组帧的意义是为了在出错时只需要重传出错的帧,而不需要重传全部数据,从而提高效率。
帧定界:首部和尾部包含许多控制信息,他们的作用是确定帧的界限,即帧定界
帧同步:指接收方能从接收到的二进制比特流中区分出帧的起始和终止
最大传送单元MTU:帧的数据部分的长度上限
透明传输即任何比特组合都可以在链路上传输,即可以区分数据部分中与帧头帧尾相同的比特组合。
在帧头部使用一个计数字段标明帧的长度(包括计数字段)。
如:5 1 2 3 4 3 1 2 4 1 2 3
使用特定字符作为帧的开始(SOH)和结束(EOT)。
当数据部分出现SOH或EOT时,在前面加上转义字符EOF作为区分。
需要注意的是,SOH、EOT、ESC都是一段二进制数,只是用这种方式描述,他们并不是三个字母。
如:SOH和EOT都是01111110
,ESC是11100000
,A是01000111
,则要传输SOH A ESC,比特流应为:
SOH ESC SOH A ESC ESC EOT
01111110
11100000
01111110
01000111
11100000
11100000
01111110
帧头帧尾确定为01111110
,为了区分数据部分的相同字段,发送端在数据部分每遇到5个连续的1就在其后加一个0,接收端每遇到5个1就去掉后面的0.
使用编码规定中的冗余编码方式来区分,如曼彻斯特编码中只用到了高-低和低-高两种,则高-高和低-低可以用来作为帧头和帧尾。
但它只适用于采用冗余编码的特殊编码环境。
一般来说,数据传输差错是由噪声引起的。通信信道的噪声可以分为热噪声和冲击造成。热噪声是信道固有的,引起随机差错,可以通过提高信道的信噪比来降低它的影响。而冲击噪声是由外界电磁干扰引起的,引起的是突发差错,它是引起传输差错的主要原因,无法通过提高信噪比来避免。
发送方和接收方商定采用奇校验还是偶校验,例如采用奇校验,发送方在发送之前计算数据中1的数量,将其补成奇数个发出。接收方同样计算1的数量,如果同样为奇数,认为没有发生错误。
这种校验方式只能判断奇数个位出现差错的情况,不能判断偶数个位出现差错的情况,也不能知道是哪些位错了。
发送方和接收方商定一个多项式。发送方在发送之前根据该多项式计算出余数(校验码)并补在数据末尾,接收方根据接收到的数据对多项式取余,如果余数为0,认为没有发生错误。
CRC其实是有纠错功能的,只是数据链路层只用到了它的纠错功能,遇到错误帧直接丢弃。
海明码相当于分组进行的奇偶校验。
· 海明码只能检测出2位错,纠1位错。
· 海明码默认进行偶校验(除非特殊说明使用奇校验)。
发送方:
需满足k+n≤2k-1
**1
在一组,*1*
在2组,1**
在3组)接收方:
检错:检查每一组1的数量是否都为偶数
纠错:如果出现错误,即为P3P2P1
位置,取反即可
海明码检错d位,可以采用海明距为d+1的编码方案,纠错d位,需要采用海明距为2d+1的编码方案
停止-等待协议:发送窗口大小=1,接收窗口大小=1
后退N帧协议:发送窗口大小>1,接收窗口大小=1
选择重传协议:发送窗口大小>1,接收窗口大小>1
接收窗口大小为1,可以保证帧的有序接收
发送端维持一组发送窗口,每接收到一个ACK,发送窗口向前滑动一格。
自动重传请求ARQ
发送方每发送一帧,都要等待接收方的应答信号才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可以接收下一帧。
发送方可以一次发送多个帧,而接收窗口大小为1,接收方必须按顺序接收帧并发送确认,发送方收到某一个帧的确认信息,表示这个帧以及它前面的所有帧都发送成功。
若采用n比特对帧编号,发送窗口的大小必须满足1 <= Wt <= 2^n-1
,否则会导致接收方无法分辨新帧和旧帧。
后退N帧协议一方面因为连续发送数据帧而提高了信道利用率,另一方面在重传时有可能需要重传发送正确的帧,又降低了传送效率,因此若信道质量很差导致误码率很大时,后退N帧协议不一定优于停止等待协议。
条件:接收窗口Wr+发送窗口Wt<=2n
发送方从开始发送数据到收到第一个确认帧为止,称为一个发送周期,设为T,发送方在这个周期内共发送L比特的数据,发送方的数据传输速率为C,则发送方用于发送有效数据的时间为L/C,信道利用率为(L/C)/T
信道吞吐率:信道利用率x发送方的发送速率
目的:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
用来决定广播信道中信道分配的协议属于数据链路层的一个子层,成为介质访问控制(MAC)子层。
访问控制方式主要有信道划分介质访问控制、随机访问介质访问控和轮询访问介质访问控制。信道划分介质访问控制是静态划分信道的方法,不会发生碰撞;第二种是动态分配信道的方法,有可能会发生碰撞;第三种适用令牌控制访问,由于令牌只有一个,因此不会发生碰撞。
多路复用技术:当传输介质的带宽超过传输单个信号所需的带宽时,可以通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率。
将物理信道的总带宽划分为多个子带宽。
优点:充分利用了传输介质的带宽,系统效率较高。
将一条物理信道按时间分成若干时间片,轮流分配给多个信号使用,每个时间片由复用的一个信号占用。
统计时分多路复用(STDM)是TDM的一种改进,它采用STDM帧,STDM帧并不固定分配时隙,而按需动态分配时隙,当终端有数据要传送时,才会分配到时间片,从而提高了线路利用率。
波分多路复用即光的频分多路复用。
采用不同的编码区分各路原始信号的一种复用方式,既共享信道频率,又共享时间。
码分多址CDMA:每个比特时间再划分为m个短的时间槽,成为码片。
当发送比特1时,发送码片序列;当发送比特0时,发送码片序列的反码。
要求两个发送站点的码片序列相互正交,且内积为0.
当收到序列后,根据2或-2来确定两个发送站发送的原始序列,一个码片或反码片代表一个比特。
所有用户根据自己的意愿随机发送信息,当在总线型信道中发送帧的冲突时,所有冲突用户均以失败告终。为了解决随机接入发生的碰撞,每个用户需要按照一定的规则反复重传它的协议。
发送时不需要进行检测,当发送帧后在一段时间内没有收到确认,就认为该帧发生了冲突,需要等待一段时间后重传。
将站点时间同步,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送帧,避免了用户发送数据的随意性,减少了数据产生冲突的可能,提高了信道利用率。
发送前先侦听信道,如果信道忙,继续坚持侦听,直到侦听到空闲。
发送前先侦听信道,如果信道忙,放弃侦听,等待一个随机时间再开始侦听。
用于时分信道。
发送前先侦听信道,如果信道忙,继续坚持侦听,直到侦听到空闲;如果信道空闲,以概率p发送数据,以概率1-p推迟到下一个时隙。
适用于总线型网络或半双工网络环境,目前应用于有限局域网。CSMA/CD协议包括载波侦听和碰撞检测。
载波侦听:发送前先侦听信道,如果信道忙,则暂时先不发送数据;等待信道空闲再发送。
碰撞检测:边发送边侦听,如果一直没有检测到碰撞,则顺利地将这个帧发送完;如果检测到碰撞,中止发送,并发送一个拥塞信号。中止发送后,适配器执行一个退避算法,等待一段随机的时间后继续边发送边侦听。
争用期:以太网端到端的往返时间
最小帧长=总线传播时延x数据发送速率x2
二进制指数退避算法:
CSMA/CD主要应用于有线局域网,而CSMA/CA主要应用于无线局域网。
CSMA/CA将碰撞检测修改为了碰撞避免。因为无线信道的通信质量不如有限信道,需要适用链路层的ARQ协议。为了尽量避免碰撞,所有的站发送完后必须等一段时间才能继续发送下一帧。
隐蔽站问题:
发送站A和B距离太远,彼此听不见对方,当A和B检测到信道空闲时,都向C发送数据导致产生碰撞。
解决方案:对信道进行预约
预约RTS控制帧,同意预约CTS控制帧。
CSDA/CD与CSDA/CA的区别:
在轮询访问中,用户不能随意地发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道分配,即拿到令牌后才能使用信道,由于令牌只有一个,因此不会发生冲突。
轮询介质访问控制非常适合负载很高的广播信道,因为负载高的信道使用随机介质访问控制的话产生冲突的概率会很高。
局域网LAN
拓扑结构:星形结构、环形结构、总线形结构、星形和总线形结合的复合型结构
传输介质:双绞线、铜缆、光纤
介质访问控制方式:CSDA/CD、令牌总线和令牌环
三种特殊的局域网拓扑实现:以太网、令牌环、FDDI
以太网:逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构
考虑到局域网信道质量好,以太网的MAC协议采用的是无连接的不可靠服务
局域网仅工作在物理层和数据链路层,因此以太网参考模型一般只包括物理层和数据链路层
以太网的MAC帧:
8字节前导码:使接收端和发送端时钟同步,可再分为两个字段:第一个字段共7字节,是前同步码;第二个字段是帧开始定界符。
6字节目的地址
6字节源地址
类型:2字节,指出数据域中携带的数据应交给哪个协议实体来处理
数据:46~1500字节
填充:当数据量太少,帧长太短时使用,大小为0~46字节,负责将帧填充为最小64字节
FCS:4字节,CRC产生的校验码
高速以太网:
允许在100Mb/s下用全双工或半双工两种方式工作。在半双工下使用CSDA/CD协议检测冲突,在全双工下保证无冲突。
即Gbit以太网,又称千兆以太网,允许在1Gb/s下用全双工或半双工两种方式工作。在半双工下使用CSDA/CD协议检测冲突,在全双工下保证无冲突。
广域网是大范围的网络,局域网是小范围的网络,二者之间并非包含关系。对互联网而言,广域网和局域网是平等的,它既能连接广域网也能连接局域网(通过路由器)。
而广域网内部是通过结点交换机连接的。
从层次上考虑,广域网的协议主要在网络层,而局域网的协议主要在数据链路层。
物理层、数据链路层、网络层
不可靠传输协议,没有确认机制,只支持全双工链路
首部:1字节F标志字段+1字节A地址字段+1字节C控制字段
信息部分:不超过1500B。因为PPP是点对点的,所以无须采用CSMA/CD协议,因此没有最短帧的限制
尾部:2字节帧检验序列FCS+1字节F标志字段
可靠传输
不属于TCP/IP协议族
8位标志F 8位地址A 8位控制C 长度可变的信息info 16位帧检验序列FCS 8位标志F
两个F中间是透明传输区间
A C info三个区间是FCS的校验区间
PPP是面向字节的,HDLC是面向比特的
PPP比HDLC多一个2字节的协议字段,如果协议字段值位0x0021,表示信息字段是IP数据报
PPP协议是不可靠传输,HDLC是可靠传输
两个或多个以太网通过网桥连接后构成更大范围的以太网,原来的每个以太网称为网段。
网络1和网络2通过网桥相连后,网桥接收网络1发送的数据帧,检查数据帧中的地址,如果是网络2中的地址,就转发给网络2;如果是网络1中的地址,就将其丢弃,因为当源站和目的站处于同一个网段时,目的站不需要经过网桥,可以直接收到这个帧。
物理层设备集线器和放大器既不能隔离冲突域,也不能隔离广播域。数据链路层设备网桥和以太网交换机可以隔离冲突域,但不能隔离广播域。网络层设备路由器可以隔离广播域。
网桥的基本特点:
网桥在一个时刻只能执行一个帧的转发操作,而以太网交换机相当于多个端口的网桥。
以太网交换机同样只能隔离冲突域,不能隔离广播域。但是利用以太网交换机还可以方便的实现虚拟局域网(VLAN),VLAN不但可以隔离冲突域,还可以隔离广播域。
原理:检测从以太端口传来的数据帧的源MAC地址和目的MAC地址,然后与系统内部的动态查找表进行比较,如果数据帧的源MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
对于普通的共享式以太网,N个用户共用W的带宽,每个用户占用的平均带宽只有W/N,而对于使用交换机的以太网,由于交换机有多个端口,每个用户仍然可以占用W的带宽。且整个交换机的总带宽会随着端口结点的增加而增加。
中继系统
物理层和数据链路层的中继系统本质上只是将一个网络扩大了,从网络层角度看,他们使用的仍然是一个网络。
TCP/IP协议在网络互联上采用的做法是在网络层采用标准化协议,但允许相互连接的网络是异构的。
(异构指的是物理层和数据链路层均不同)
注意,这是TCP/IP协议的要求,其实由路由器连接的多个局域网结构允许物理层、数据链路层、网络层协议都不同,但网络层以上的协议必须相同。路由器能够处理网络层协议不同的情况,通过特定的路由器将ipv4和ipv6相连就是例子。
路由器主要完成路由选择和分组转发两个功能。
维护最优化的路由表
生成最优化的转发表,并根据转发表将用户的IP数据报从合适的端口转发出去
进入拥塞状态的标志:随着网络负载的增加,网络吞吐量反而下降。
静态路由:由网络管理员手工配置的路由信息,当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工修改路由表中相关的静态路由信息。适用于简单的小心网络。
动态路由:根据一定的算法优化生成出来的,有助于流量控制,但算法复杂,会增加网络负担。
所有结点定期将它们的整个路由选择表传送给所有与之直接相邻的结点,路由选择表包含:
所有结点都监听从其他结点传来的路由选择更新信息,并在下列情况下更新它们的路由选择表:
使用跳数作为距离的度量
要求每个结点都具有完全的网络拓扑信息。
即向系统中所有路由器发送本结点的相邻结点的信息
适用于大型的或路由信息变化聚敛的互联网环境
将整个互联网划分为多个较小的自治系统。
一个自治系统内部使用的路由选择协议成为内部网关协议(IGP),有RIP、OSPF等
自治系统之间所使用的路由选择协议称为外部网关协议(EGP),具体协议有BGP。
分为首部和数据部分。
首部有:固定部分为20B(五行),可选部分不确定;二者相加最多60B(十五行)。
固定部分有:
版本:4位,ipv4版本即为4
首部长度:4位,最大值为15,以32位(4B)为一个单位,因此首部最多60B.
区分服务
总长度:16位,最大总长度为216-1,但还要满足数据链路层的MTU限制
标识:16位,是一个计数器,每产生一个数据报就加一,但它并不是序号,因为IP是无连接服务
标志:3位,但只有后两位有意义。最低位是MF,中间是DF。MF=1表示后面还有分片,MF=0表示是最后一个分片。只有DF=0时才允许分片。
片偏移:13位,表示较长的分组分片后,某片在原分组中的位置。以8个字节为偏移单位,即每个分片的长度一定是8B(64位)的整数倍。
生存时间TTL:8位,数据报在网络中可以被转发的最大次数,防止数据报在网络中循环,每次转发前减一,若TTL为0,必须丢弃。
协议:8位,表示此分组携带的数据使用何种上层协议,TCP为6,UDP为17
首部校验和:16位,首部校验只校验分组的首部,不校验数据部分
源地址:32位,发送方IP地址
目的地址:32位,发送方IP地址
可选字段和填充
分片原因:数据链路层对IP数据报长度的限制(MTU)
当源主机需要分片时且标志位的DF位为0允许分片时,可以进行分片,每一个片都要复制原始数据报的标识号。
当目的主机收到来自同一发送主机的一批数据报时,通过检查数据报的标识号来确定哪些数据报属于同一个原始数据报的片,并通过片偏移和标志位中的MF位将其组装起来。
IP地址=网络号+主机号
IP地址分类
除前几位固定位外其他网络号位全为0的网络号是不可指派的。
不能用于做主机的IP地址:
网络类别 | 可用网络数 | 第一个可用网络号 | 最后一个可用网络号 | 可用主机数 |
---|---|---|---|---|
A | 28-1-2=27-2 | 0 | 126(127是保留的) | 224-2 |
B | 216-2-1=214-1 | 128.1 | 191.255 | 216-2 |
C | 224-3-1=221-1 | 192.0.1 | 223.255.255 | 28-2 |
网络地址转换**(NAT)**,是通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。
优点:专用网本地IP地址是可重用的,所以NAT大大节省了IP地址的消耗;隐藏了内部网络结构,降低了内部网络受到攻击的风险。
划分出了部分IP地址为私有IP地址,只用于LAN,不用于WAN
IP分组在网络上转发的时候会更新MAC源地址/目的地址,因为MAC地址只在本地有意义;普通路由器不会更新IP源地址/目的地址,NAT路由器会更新IP源地址/目的地址
NAT规定的私有网段:
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
选择题中计算子网数量可以包括全0或全1的子网号,大题中用的时候不行
CIDR:网络前缀,将小型网络聚合为超网
地址解析协议,在ARP高速缓存中保存本局域网IP地址到MAC地址的映射表。
主机A欲向本局域网内主机B发送IP数据,先在ARP表中查询B的IP地址。如果有,查出其硬件地址,将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址;如果没有,使用MAC地址为ff-ff-ff-ff-ff-ff的MAC地址广播ARP请求分组,B收到该ARP请求后发送ARP响应,响应分组中包含B的IP地址与MAC地址的映射关系,A收到后将其添加进ARP表中。
ARP请求:广播发送
ARP响应:单播发送
动态主机配置协议,是应用层协议,基于UDP
工作原理是客户/服务器方式,需要IP地址的主机在启动时向DHCP服务器发送发现报文,DHCP收到后分配IP地址,并回答此报文。
网际控制报文协议
ICMP报文类型有两种:ICMP差错报告报文、ICMP询问报文
ICMP差错报告报文:
ICMP询问报文:回送请求和回答报文、时间戳请求和回答报文、地址掩码请求和回答报文、路由器询问和通告报文。
PING使用ICMP回送请求和回答报文。
128位地址(16B)
没有首部校验和字段
IPv6的双冒号零压缩法
首部长度不可变
不允许分片,如果IPv6数据报太大,直接丢弃
自治系统AS
内部网关协议IGP(RIP、OSPF)
外部网关协议EGP(BGP)
路由信息协议。应用层协议,使用UDP传送数据。不一定是时间最短的,是具有最少路由器的。
距离向量算法
最多15跳,距离等于16表示网络不可达。因此RIP只适用于小型互联网。
默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息。
RIP中不支持子网掩码的RIP广播,因此RIP中每个网络的子网掩码必须相同。
优点:简单,开销小,收敛过程较快
缺点:限制了网络规模,网络出现故障时会出现慢收敛现象,俗称坏消息传的慢
开放最短路径优先协议,网络层协议,使用IP数据报传送。
向本自治系统中所有路由器发送信息,洪泛法。
每隔10秒与相邻路由器交换一次问候分组,当发现链路状态发生变化时,使用洪泛法向所有路由器更新信息。
不同自治系统的路由器交换路由信息。
应用层协议,基于TCP。
每个自治系统选择一个BGP发言人,各自治系统的BGP发言人之间交换可达性信息。他们交换的可达性信息是要到达某个网络所有经过的一系列AS。
BGP寻找的不是最佳路由,而是一条能够到达目的网络的比较好的路由。
RIP | OSPF | BGP | |
---|---|---|---|
类型 | AS内部协议 | AS内部协议 | AS外部协议 |
所在层 | 传输层 | 网络层 | 应用层 |
传递协议 | UDP协议 | IP协议 | TCP协议 |
所用算法 | 距离-向量算法 | 链路状态算法 | 路径-向量算法 |
路径选择 | 跳数最少 | 代价最小 | 选择一条较好的路径 |
交换对象和内容 | 向相邻路由器交换当前本路由器知道的全部信息,即自己的全部路由表 | 向整个AS广播与本路由器相邻的所有路由器的链路状态 | 首次:整个路由表;非首次:有变化的部分 |
信息交换的触发条件 | 定时交换(每30秒) | 当链路状态发生变化时向全网发送链路状态更新分组,每隔一段时间(如30分钟)更新一次自己的链路状态数据库 | |
补充 | 存在慢收敛的问题,慢收敛会导致路由回路的问题 | 会给自治系统划分区域 |
即源主机向多个目的主机发送IP数据报,只需要向其组播地址发送一次。
需要组播路由器才能实现。
组播地址是D类地址(1110XXXX.X.X.X)
组播数据报的首部协议字段值是2,组播数据报不提供可靠服务,不产生ICMP差错报告报文(因此若PING命令后键入组播地址,将用户不会收到响应)。
D类IP地址的后23位用于与MAC地址的映射(转换为16进制)。
ICMP:因特网组管理协议
移动结点:IP地址固定,位置移动
本地代理(归属代理):移动结点在原LAN中的代理
外部代理(外埠代理):移动结点在新LAN中的代理
移动IP技术的接收IP数据报的流程:
移动IP技术发送IP数据报的流程:
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接异构网络并完成路由转发。
当源主机要向目的主机发送数据报时,
路由器隔离了广播域
端到端的连接
端口是应用层与传输层之间的连接关系,各种应用进程通过端口将其数据向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
数据链路层的SAP是MAC地址,网络层的SAP是IP地址,传输层的SAP是端口。
16bit长度
端口号只具有本地意义(即只表示本地计算机应用层中的各进程)
端口号的类别:
服务器端使用的端口号
熟知端口号0—1023。IANA(互联网地址指派机构)将这些端口指派给了TCP/IP最重要的一些应用程序。
登记端口号1024—49151。使用时需要在IANA登记。
客户端端口号。只在客户进程运行时才动态选择,又称为临时端口、短暂端口。通信结束后刚用过的客户端口号就不存在了,可以分配给其他客户进程使用。
套接字Socket(IP地址:端口号)
UDP提供不可靠服务,维护可靠性的工作在应用层完成。
UDP对应用层的报文不合并、不拆分,添加UDP首部后直接交付给网络层,因此应用层必须合理安排报文大小,过大的报文会导致在IP层分片,过小的报文会导致IP层首部相对长度过大,两者都会降低IP层效率。
总长度8B
16位源端口号:在需要对方回信时使用,不需要时全为0
16位目的端口号
长度:16位,包括首部和数据部分长度,最小值是8
校验和:16位校验整个UDP数据报。可选,当源主机不想计算校验和时全置为0
伪首部不仅能够检查源端口号、目的端口号和UDP用户数据报的数据部分,还可以检查IP数据报的源IP地址和目的IP地址。
如果不使用校验和,校验和字段填充全0;如果计算出的校验和恰好为全0,则校验和字段填充全1.
目的主机进行UDP校验后如果发现有错误,可以直接丢弃,也可以交付给上层,但是需要附上错误报告,即告诉上层这是错误的数据报。
TCP是在不可靠的IP层之上实现的可靠的数据传输协议,解决可靠、有序、无丢失和不重复的问题。
特点:
面向连接
面向字节
每条TCP连接只能有两个端点,是点对点的
可靠交付,保证无差错、不丢失、不重复且有序
全双工通信,允许通信双方的应用层在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存
发送缓存:发送应用程序传送给发送方TCP准备发送的数据;TCP已发送但还没有收到确认的数据。
接收缓存:按序到达但尚未被应用程序读取的数据;不按序到达的数据。
TCP报文的长度由接收方给出的窗口值和当前网络的拥塞程度决定。
源端口号和目的端口号:各2B
序号seq:4B,指本报文字段所发送的数据的第一个字节的序号
确认号ack:4B,指期望收到对方下一个报文段的第一个数据字节的序号(表明到ack-1为止的所有数据已成功接收)
数据偏移(首部长度):占4位,单位是4B(32位),此字段最大为15,说明TCP首部最长60B
紧要位URG:为1说明该报文紧急
确认位ACK:仅当ACK=1时确认号ack才有效,建立连接之后所有报文ACK位都为1
推送位PSH:PSH=1时,接收方收到报文就尽快向上推送,而不用等待缓冲区满
复位位RST:RST=1时表明连接出现严重差错,必须释放连接,重新建立运输连接
同步位SYN:SYN=1时说明是连接请求或连接接受报文
SYN=1且ACK=0说明是连接请求报文
SYN=1且ACK=1说明是连接接受报文
终止位FIN:FIN=1时表明报文段发送方的数据发送完毕,要求释放传输连接
窗口:2B,指出现在允许对方发送的数据量
校验和:2B,校验首部和数据两部分
紧急指针:URG=1时使用紧急指针指出紧急数据共有多少字节(紧急数据在数据部分的最前面)
选项:可选,TCP最初只规定了一个选项,即最大报文长度MSS
填充:将TCP报文填充为4B的整数倍
连接建立、数据传送、连接释放
客户、服务器
客户机开启,服务器开启,服务器进入LISTEN状态
客户机向服务器发送连接请求。SYN=1,ACK=0,seq=x(不能携带数据,但是要占一个序号x)
发送后客户机进入SYN-SENT状态
服务器收到连接请求报文,进入SYN-RCVD状态,如同意连接,向客户机发挥确认,并为该TCP连接分配缓存和变量,SYN=1,ACK=1,seq=y,ack=x+1(不能携带数据,但是要占一个序号y)
客户机收到服务器的确认报文字段后,进入ESTABLISHED状态,还要向服务器给出确认,并为该TCP连接分配缓存和变量,SYN=0,ACK=1,seq=x+1,ack=y+1;这一条数据可以携带数据,此时需要消耗序号;也可以不携带数据,此时不需要消耗信号。
服务器收到第三次握手后进入ESTABLISHED状态
注意:服务器资源在第二次握手时分配,客户机资源在第三次握手时分配,这使得服务器容易受泛洪攻击
客户机和服务器都可以提出连接释放
序号
TCP的序号是面向字节的,是针对数据部分而言的,与首部无关
确认
TCP的确认是面向数据报的
重传
超时重传
根据测量的RTTs样本设置超时重传时间
RTT加权计算算法(假设权值为α):
新RTT=(1-α)×(旧RTT)+α×(新RTT样本)
冗余ACK重传
收到3个确认号相同的ACK时重传确认号代表的报文
滑动窗口协议
动态调整发送窗口
发送窗口大小=min[拥塞窗口cwnd,接收窗口rwnd]
如果滑动窗口设置得太小,会导致产生过多的ACK(因为窗口比较大的时候可以累积确认)
如果滑动窗口设置得太大,会导致传送数据过多而使路由器变得拥挤,主机可能丢包
防止过多的数据注入网络,保证网络中的路由器或链路不过载。
接收端窗口通过TCP首部中的窗口字段通知发送方
cwnd大小变化:
特点:
P2P模型中的每台计算机既作为服务器向其他结点提供资源,也作为客户机访问其他结点的资源。
优点:
缺点:
根域名服务器
顶级域名服务器
授权域名服务器
本地域名服务器
域名解析:
www.cskaoyan.com
com是顶级域名。顶级域名包括.cn、.us、.uk等表示国家的域名,.com表示公司、.net表示网络服务机构,.gov表示政府等
cskaoyan是二级域名
www是三级域名