1、计算机网络的定义
计算机网络主要是由一些通用的、可编程的硬件互联而成的,而这些硬件并非专门用来实现某一特定目的(例如传送数据或视频信号)。这些可编程的硬件能够用来传送不同类型的数据,并能支持广泛和日益增长的应用。
2、报文交换、分组交换和电路交换的区别
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往小于整个报文的长度,因此,分组交换比报文交换的时延小,同时具有更好的灵活性。
3、发送时延=数据帧长度÷发送速度
传播时延=信道长度÷电磁波在信道上的传播速度
处理时延、排队时延
4、端系统之间的两种通信模式
客户/服务器方式:客户A向服务器B发出请求,服务器B向客户A提供服务。
P2P方式:指两个主机在通信时并不区分哪一个是服务器提供方,哪一个是服务请求方。
5、OSI体系结构 物理层 数据链路层 网络层 运输层 会话层 表示层 应用层
(物链网输会表用)
TCP/IP体系结构 网络接口层 网际层 运输层 应用层
1、信道的几个基本概念
基带调制:仅仅对基带信号的波形进行变换。使它能够与信道特性相适应。变换后的 信号仍是基带信号。
带通调制:使用载波的调试,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。
常用的编码方式:
不归零编码:高电平为1,低电平为0
下面三种中心位一定会跳变!!!
归零编码:正脉冲为1,负脉冲为0
曼彻斯特编码:中心位跳变前高电平表示1,低电平表示0
差分曼彻斯特编码:在开始部分有跳变的是0,无跳变的是1,,,中心位一直跳啊跳啊跳
2、信道的极限容量的影响因素
信道能够通过的频率范围和信噪比
奈氏准则指出了在假定的理想条件下,为了避免码间串扰我,码元的传输速率的上限值。
香农定理指出了信息传输速率的上限值以及信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
香农公式:C=W*Log2(1+S/N) 其中S/N是信噪比 W是信道带宽 C是信道的极限传输速率
3、信道复用技术
信道复用技术是将一条物理信道分割成多条逻辑信道的一种技术,包括频分复用、时分复用、统计时分复用、码分复用、波分复用等。
码分复用CDM:每一个用户可以在相同的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,因此各用户间不会造成干扰。
码片是一个比特时间再划分成m个短的间隔。
4、传输媒体的类别
分为引导型传输媒体和非引导型传输媒体。引导型传输媒体有双绞线、同轴电缆、光缆等
非引导性传输媒体有短波通信、微波通信。
1、三个基本问题:封装成帧,透明传输,差错检测
!!!计算题 循环冗余检验CRC检错方法、FCS帧检验序列(冗余码)
n位冗余码,n+1位除数 模2运算 加法不进位减法不借位
在数据链路层使用循环冗余检验CRC差错检测计数,只能做到对帧的无差错接受。但做不到可靠传输。使用循环冗余检验CRC差错检测计数可以避免比特差错,但是对于帧丢失、帧重复、帧失序这类传输错误无法避免,应该加上帧编号、确认、重传机制。
2、CSMA/CD工作原理和过程
多点接入:计算机以多点接入的方式连接在一根总线上。
载波监听:用电子技术检测总线上有没有其他计算机也在发送。
碰撞检测:边发送边监听,适配器边发送数据边检测信道上的信号电压的变化情况,一边判断自己在发送数据的时候其他站是否也在发送数据。
过程如下:
(1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中,但在发送之前,必须先检测信道。
(2)检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测道信道空闲,并在96比特时间内信道保持空闲(保持了帧间最小间隔)
(3)在发送地过程中仍不停地检测信道,网络适配器要边发送边监听。这里只有两种可能性:
发送成功:在争用期内一直未检测到碰撞,这个帧肯定能够发送成功。发送完后,其他什么也不用做,回到(1)
发送失败:在争用期内检测道碰撞。这时候立即停止发送数据,并按规定发送人为干扰信号,适配器接着就执行指数退避算法,等待r倍512比特时间后,返回到步骤(2)继续检测信道,如果16次仍不能成功地话,就要停止上传而向上报错
3、无效的MAC帧
① 帧的长度不是整数个字节
② 用收到的帧检验序列FCS查出有差错
③ 收到的帧的MAC客户数据的长度不在46~1500之间。考虑到帧的首部和尾部的长度共有18字节,可以得出有效的MAC帧的长度在64~1518字节之间。
1、IP地址的划分
① 分类的IP地址
A类地址网络前缀8位 固定第一位0
网络数2^7-2全0表示此网络全1用作软件环回测试使用 主机数2^24-2全0表示该IP地址是本主机所连接到的单个网络地址,全1表示此网络上的所有主机。
B类地址网络前缀16位 固定一二位10
网络数2^14-1 因为128.0.0.0不指派。 主机数2^16-2
C类地址网络前缀24位 固定一二三位110
网络数2^21-1 因为192.0.0不指派。 主机数2^8-2
A,B,C类地址都是单播地址,一对一通信
D类地址,固定前四位1110,后面的是多播地址
E类地址,固定前四位1111,保留为今后使用
② 子网的划分
划分子网的方法是从网络的主机号借用若干位作为子网号,当然主机号也就相应减少了同样的位数。
子网掩码:子网掩码中的1对应于IP地址中原来二级地址中的网络号加上新增的子网号,子网掩码的0对应于现在的主机号。
不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的与运算,就立即得出网络地址来
在一个IP地址中不能把十进制和二进制混用
③ 构成超网
使用无分类域间路由选择CIDR,使用无分类的二级编码,还使用斜线记法,在IP地址的后面加上/写上网络前缀所占的位数,也是地址掩码中1的个数
CIDR将网络前缀都相同的连续IP地址组成一个CIDR地址块,知道地址块中一个IP地址可算出地址块的最大最小地址,但全0全1的地址一般不使用。
查找路由表时如果得到了多个匹配结果,应该从匹配结果中选择具有最长网络前缀的路由。
2、ARP协议
要点:
① 每一台主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,并且这个映射表还经常动态更新。
② 当主机A要向本局域网上的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该帧发往此硬件地址
③ 如果未查到主机B的IP地址,则ARP进程在本局域网上广播发送一个ARP请求分组
④ 在本局域网上的所有主机运行的ARP进程都收到此ARP请求分组
⑤ 主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组。
使用ARP的四种典型情况
① 发送方是主机H1,要把IP数据报发送到同一个网络上的另一台主机。这时H1发送ARP请求分组在网1上广播,找到目的主机H2的硬件地址
② 发送方是主机H1,要把IP数据报发送到另一个网络上的一台主机如H4或H3。这时H1发送ARP请求分组在网1上广播,找到网1上的一个路由器R1的硬件地址,剩下的工作由R1来完成,R1完成步骤3或4
③ 发送方是路由器如R1,要把IP数据报转发到与R1连接在同一个网络网2上的主机H3,这时R1发送ARP请求分组在网2上广播,找到目的主机H3的硬件地址。
④ 发送方是路由器如R1,要把IP数据报转发到网3上的一台主机如H4,H4和R1不是连接在同一个网络上。这时R1发送ARP请求分组在网2上广播,找到连接在网2上的一个路由器R2的硬件地址,剩下的工作由路由器R2来完成。
3、IP数据报首部字段和分片
IP数据报由首部和数据两部分组成,首部的前一部分是固定长度20字节。总长度单位为字节,字段为16位,IP数据报的最大长度为2^16-1=65535字节。数据帧的长度不能超过最大传送单元MTU的值。标志在首部中占三位,最低位记为MF。MF=1表示后面还有分片,MF=0表示这是若干数据报中的最后一个。标志字段中间的一位记为DF,意思不能分片,只有当DF=0才可以分片。片偏移以8个字节为单位,每个分片的长度一定是8字节的整数倍。
4、划分子网情况下,路由器分组转发的算法
子网划分后,路由表必须包含一下三项内容:目的网络地址、子网掩码和下一跳地址。路由器转发分组算法如下:
(1)从收到的数据报的首部提取目的IP地址D
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位进行与运算,看结果是否和相对应的网络地址匹配。若匹配,则把分组进行直接交付,转发任务结束。否则就是间接交付,执行(3)
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(4)
(4)对路由表中的每一行,用其中的子网掩码和D逐位做与运算,其结果与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器,否则执行(5)
(5)若路由器中有一个默认路由,则把数据报传送路由表中指明的默认路由器,否则,执行(6)
(6)报告转发分组出错
5、互联网的路由选择协议,距离向量算法
RIP是一种分布式的基于距离向量的路由选择协议。从一路由器到直接相连的网络的距离定义为1,从一路由器到非直接相连的网络的距离定义为所经过的路由器数加1。
距离向量算法:
1、对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目,把下一跳字段中的目的地址都改为X,并把所有的距离字段的值加1。
2、对修改后的RIP报文中的吗每一个项目,进行以下步骤:
(1)若下一跳路由器地址是X,把收到的项目替换成路由表中的项目
(2)若到目的网络N,但下一跳路由器不是X,则把收到的项目中的距离d小于路由表中的距离更新,否则什么也不做。
RIP协议的主要优点就是实现简单开销较小,但缺点就是当网络中出现故障时,故障的传播时间往往需要较长的时间,好消息传得快坏消息传的慢。
6、IPv4向IPv6过渡的两种策略
双协议栈:双协议栈是指在完全过渡到IPv6过渡之前,使一部分主机或路由器装有双协议栈:一个IPv4一个IPv6。但是IPv6数据报在总统过IPv4网络时,首部字段的某些字段会被破坏无法恢复。
隧道:在IPv6数据报要进入IPv4网络时,把IPv6数据报封装为IPv6数据报,当IPv4数据报离开IPv4网络中的隧道时,再把数据部分交给主机的IPv6协议栈。
7、ICMP网际控制报文协议,为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP。ICMP允许主机或路由器报告差错情况和提高有关异常情况的报告。ICMP报文是装在IP数据报中,作为其中的数据部分,加上数据报的首部,组成IP数据报发送出去。ICMP报文分为差错报文和询问报文,其中差错报文共有四种:终点不可达、时间超过、参数问题、改变路由(重定向)
8、网络地址转换NAT:装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换为全球IP地址,才能和互联网连接。
1、运输层两个主要协议
用户数据报协议TCP:提供面向连接的服务
TCP首部格式:前20个字节是固定的(最小首部长度20字节)
确认号=N,表明到序号N-1为止的所有数据都已正确收到。
窗口指的是接收窗口,明确指出了现在允许对方发送的数据量,动态变化。
MISS最大报文段长度,是每一个TCP报文段中的数据字段的最大长度,默认是536字节。则互联网上所有主机都能接受的报文段长度是536+20=556字节长
传输控制协议UDP:在传送数据之前不需要先建立连接
UDP首部格式:由四个字段组成,每字段2字节。源端口、目的端口、长度、检验和
2、三种端口
运输层的端口分为两大类:
服务器所使用的端口号:熟知端口号和登记端口号
客户端使用的端口号:短暂端口号
3、TCP最主要的特点
TCP是面向连接的运输层协议
TCP协议只能是点对点的
TCP提供可靠交付的服务
TCP提供全双工通信
TCP是面向字节流的
4、停止等待协议的信道利用率的计算方式
假定A发送分组需要的时间是T1。(T1=分组长度÷数据率)
假定B发送确认分组需要的时间是T2
假定A、B处理分组的时间忽略不计,RTT是往返时间。
则信道的利用率是: T1/(T1+RTT+T2)
5、滑动窗口协议
以字节为单位,A的发送窗口一定不能超过B的接收窗口
假定数据传输只在一个方向进行,A发送数据,B接收数据并发送确认报文段
在没有收到B的确认的情况下,发送方A可连续把窗口内的数据都发送出去,凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传中使用
发送窗口内的序号表示允许发送的序号
发送窗口的前沿的前面部分表示不允许发送
发送窗口的后沿的后面部分表示已经发送且收到了确认
发送窗口前沿通常是不断地向前移动,但也有可能不动。
不动的两种情况:没有收到新的确认,对方通知的窗口大小也不变。收到了新的确认,但对方通知的窗口缩小了使得前沿正好不动
接收窗口内:允许接收的,已接收的但为按序到达
接收方已发送确认的:数据已提交给主机不再保留,只对按序到达的数据的最高序号给出确认
接收方具有累计确认的功能,对按序到达的最后一个分组发送确认
TCP的流量控制ACK字段=1确认号字段才有意义,ack表示现在的开始序号,rwnd表示接收窗口,seq表示数据报文段的起始序号。
TCP有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器,若持续计时器设置的时间到期,就发送一个零窗口探测报文段,对方就在确认这个探测报文段时给出了现在的窗口值。如果窗口仍然是零,那么收到这个报文段的一方就重新设置持续计时器,如果不是0就打破死锁了。
6、TCP的拥塞控制
TCP进行拥塞控制的算法有四种,慢开始、拥塞避免、快重传、快恢复
慢开始算法:由小到大逐渐增大发送窗口,每经过一个传输轮次,拥塞窗口cwnd就加倍
拥塞避免算法:让拥塞窗口缓慢增大,每经过一个传输轮次,拥塞窗口cwnd就+1
当拥塞窗口cwnd增长到慢开始门限值sstresh时,就改为执行拥塞避免算法。
当网络出现超时的时候,调整门限值sstresh=1/2cwnd,然后设置cwnd=1,进入慢开始阶段!!!
当发送方一连收到3个对同一个报文段的重复确认,采用快重传算法可以尽早知道发生了个别报文段的丢失,快重传算法要求立即发送确认,即使收到了失序的报文段也要对已收到的报文段的重复确认。
发送方知道丢失了个别的报文段,执行快恢复算法,调整ssthresh=cwnd/2,cwnd=ssthreth,并开始执行拥塞避免算法!!!
7、TCP的运输连接管理
TCP建立连接(三报文握手)
1、A的TCP向B发出连接请求报文,其首部中同步位SYN=1,并选择序号seq=x,表明传送数据时的第一个数据字节的序号是x
2、B的TCP收到连接请求报文段后,如果同意,则发回确认,B在确认报文段中应使SYN=1、ACK=1,其确认号ack=x+1,自己选择的序号seq=y
3、A收到此报文段后向B给出确认,其ACK=1,确认号ack=y+1。
4、A的TCP通知上层应用进程,连接已经建立
TCP释放连接(四报文握手)
数据传输结束后,通信的双方都可释放连接。现在A的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接
1、A设置连接报文段首部的FIN=1,seq=u,等待B的确认
2、B发出确认ACK=1,确认号ack=u+1,而这个报文段自己的序号seq=v
3、TCP服务器进程通知高层应用进程,从A到B的连接就释放了,但此时TCP连接处于半关闭状态,如果B已经没有要向A发送的数据,其应用进程就通知TCP释放连接,这时B发出的连接释放报文段的首部必须使FIN=1,同时让ACK=1。若假定此时B的序号为w,则令seq=w。B还必须重复上次已发送过的确认号ack=u+1
4、A收到连接释放报文段后,必须发出确认。确认报文段中ACK=1,确认号ack=1,而自己的序号seq=u+1
必须经过时间等待计时器设置的时间2MSL后,A才进入到关闭状态。
设置2MSL的作用,保证A发送的最后一个ACK报文段能够到达B,防止已失效的连接请求报文段产生。
1、域名解析的过程
主机向本地域名服务器的查询一般都是采用递归查询。递归查询指的是:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器发出查询请求报文,而不是让该主机自己进行下一步的查询。
本地域名服务器向根域名服务器的查询通常是迭代查询。迭代查询指的是:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步一个向哪一个域名服务器进行查询。”然后让本地域名服务器进行后续的查询。
2、HTTP协议
HTTP协议是无状态的,也就是说同一个客户第二次访问同一个服务器上的页面时,度武器的响应与第一次被访问时相同。这个特性大大简化了服务器的特性,使服务器更容易支持大量并发的HTTP请求
HTTP/1.1使用了持续连接,所谓持续连接就是万维网服务器在发送响应后仍然在一段时间内保持这条请求连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
3、HTTP的报文结构
请求报文:从客户向服务器发送请求报文
响应报文:从服务器到客户的回答
HTTP的请求报文和响应报文都是由三个部分组成的。他们只有开始行不同
开始行:用来区分是请求报文还是响应报文。在请求报文中叫做请求行,而在响应报文中叫做状态行。
首部行:用来说明浏览器、服务器或报文主体的一些信息。
实体主体:在请求报文中一般不用这个字段,响应报文中也可能没有这个字段
HTTP请求报文的主要特点:
请求报文的第一行“请求行”只有三个内容:方法、请求资源的URL,以及HTTP的版本
GET请求读取由URL所标志的信息,HEAD请求读取由URL所标志的信息的首部
POST给服务器添加信息,例如注释
HTTP响应报文的主要特点:
状态行包括三项内容:HTTP的版本,状态码以及解释状态码的简单短语
4、邮件协议
简单邮件传送协议SMTP用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件。
SMTP的优缺点:不使用中间的邮件服务器,无论发送方和接收方相隔多远,TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,SMTP使用TCP连接使邮件的传送可靠。
但是SMTP不能传送可执行文件或其他的二进制对象。
SMTP限于传送7位的ASCII码。
SMTP服务器会拒绝超过一定长度的邮件
某些SMTP的实现并没有完全按照SMTP的互联网标准
邮件读取协议POP或IMAP用于用户代理从邮件服务器读取邮件。
POP3和IMAP的区别:POP3允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作是不会反馈到服务器上的;而IMAP协议提供了客户端和邮箱的更新同步,客户端的操作都会反馈到服务器上。
DHCP动态配置协议:当运行客户软件的计算机移至一个新的网络时,就可使用DHCP获取其配置信息而不需要手工干预。
SNMP简单网络管理协议:该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。