您的位置:首页 > 理论基础

本科教学中计算机网络所需要的掌握和了解的协议

2019-02-21 17:40 260 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/NiTesla/article/details/87865418

本科教学中计算机网络所需要的掌握和了解的协议

网络协议:为进行网络中的数据交换而建立的规则、标准或约定。

PPP协议:点对点协议
特点:用户计算机和ISP进行通信时所使用的数据链路层协议。
帧格式:
标志字段F(0x7E) 1字节、
地址字段A(0xFF) 1字节、
控制字段C(0x03) 1字节、
协议字段(0x0021 PPP帧的信息字段就是IP数据报、0xC021信息字段是PPP链路控制协议LCP的数据、0x8021表示这是网络层的控制数据) 2字节、
信息字段 长度可变 不超过1500字节、
帧检验序列FCS(使用CRC) 2字节、
标志字段(0x7E) 1字节

| | |

字节填充:
当PPP使用异步传输时,它把转义符定义为0x7D
(1)、把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)
(2)、若信息字段中出现一个0x7D的字节,则把0x7D转变成2字节序列(0x7D,0x5D)
(3)若信息字段中出现ASCII码的控制字符(即出现了小于0x20的字符),则在嗨字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。(与0x20按位亦或),如出现0x03就要把它转变成2字节序列(0x7D,0x23)

零比特填充:
当PPP协议使用同步传输时,采用零比特填充方式。
具体做法:在发送端先扫描整个信息字段(通常用硬件实现)。只要发现有5个连续的1,则立即填入1个0,这样就能保证信息字段中不会出现6个连续的1。

CSMA/CD协议:载波监听多点接入/碰撞检测
实质:“载波监听"和"碰撞检测”
作用:协调总线上各计算机的工作,在同一时间只能允许一台计算机发送数据。
要点:
"多点接入"说明网络是总线型网络,许多计算机以多点接入的方式连接在一根总线上。
"载波监听"用电子技术检测总线上有没有其他计算机也在发送数据。(不管在发送前,还是发送中,每个站都必须不停地检测信道)
"碰撞检测"适配器边发送数据边检测信道上的信号电压的变化情况,以表判断自己在发送数据时其他站是否也在发送数据。(当适配器检测到的信号电压变化幅度超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。)

几个相关问题:

  1. 为什么站点检测到信道空闲发送数据仍会产生碰撞?
    传播时延对载波监听产生影响。

  2. 争用期(碰撞窗口)是多少?
    两倍的端到端的传播时延。

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
以太网的争用期长度:51.2s,对于100Mbit/s的以太网,在争用期内可发送512bit,即64字节。
凡是长度小于64字节的帧都是由于冲突而异常中止的无效帧。
使用CSMA/CD协议的以太网不可能进行全双工通信,而只能进行半双工通信。

  1. 为什么要强化冲突?
    当发送数据的站一旦发现了碰撞时:
    ①立即停止发送数据;
    ②再继续发送若干比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。

  2. 进行碰撞检测的目的是什么?
    每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

等待的随机时间的确定:二进制指数退避算法。
确定基本退避时间,一般是取为争用期 2t。
定义重传次数 k ,k <=10,即
k = Min[重传次数, 10]
从整数集合[0,1,…, (2k -1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

举例:
在一个时隙的起始处,两个CSMA/CD站点同时发送一个帧,求前4次竞争都冲突的概率?
第一次竞争冲突的概率为1;
第一次冲突后:A、B都将在等待0个或1个时隙之间选择,选择的组合有:00、01、10、11,共4种,其中00和11将再次冲突,所以第二次竞争时,冲突的概率为0.5
第二次冲突后:A、B都将在0、1、2、3之间选择,选择的组合有:00、01、02、03、10、11、12、13、20、21、22、23、30、31、32、33共16种,其中00、11、22、33将再次冲突,所以第三次竞争时,冲突的概率为0.25
第三次冲突后:A、B都将在0、1、2、3、4、5、6、7之间选择,选择的组合共有64种,其中00、11…….77将再次冲突,所以第四次竞争时,冲突的概率为0.125
前四次竞争都冲突的概率为:
1×0.5×0.25×0.125=0.015625

ARP协议:地址解析协议(网络层协议)
用途:解决IP地址到物理地址的映射。(为了从网络层使用的IP地址解析出再数据链路层使用的硬件地址)

简述ARP高速缓存形成的过程:
答:假设主机A的ARP高速缓存为空,则按下列步骤建立ARP高速缓存:
(1)主机A中的ARP进程在本局域网上广播发送一个ARP请求分组,ARP请求分组包括:本主机IP地址和硬件地址,欲查找其硬件地址的主机(设为B)IP地址。
(2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。
(3)主机B在ARP请求分组中见到自己的IP地址后,就向发送此ARP请求分组的主机A发送ARP响应分组,并写入自己的硬件地址。同时将A的IP地址到硬件地址的映射写入自己的ARP高速缓存中。
(4)发送ARP请求分组的主机A收到ARP响应分组后,就在其ARP高速缓存中写入B的IP地址到硬件地址的映射。

ICMP协议:网际控制报文协议(IP层协议)
作用:更有效地转发IP数据报和提高交付成功地机会。
种类:ICMP差错报告报文、ICMP询问报文
ICMP差错报告报文包括:终点不可达、源点抑制、时间超过、参数问题、改变路由(重定向)

不发送ICMP差错报告报文的情况:
对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
对具有多播地址的数据报都不发送 ICMP 差错报告报文。
对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

ICMP询问报文包括:回送请求和回答报文、时间戳请求和回答报文

ICMP的应用举例:
分组网间探测PING:用来测试两台主机之间的连通性。(使用ICMP回送请求和回送回答报文)
路由跟踪命令Tracert:用来跟踪一个分组从源点到终点的路径。(使用ICMP数据报超时报文)

RIP协 7ff7 议:路由信息协议(动态路由选择协议)
作用:用于自治系统(AS)内的路由信息的传递。
RIP 是基于距离向量的路由选择协议。
RIP 协议中交换的路由信息是到某一个目的网络的距离向量。
RIP 协议的特点:

  1. 仅和相邻路由器交换信息。
  2. 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。(到目的网络的距离,下一跳地址)
  3. 按固定的时间间隔交换路由信息。

RIP 协议关于“距离”的定义:

  1. 从一路由器到直接连接的网络的距离定义为 1。
  2. 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
  3. RIP 协议中的“距离”也称为“跳数”(hop count)。
  4. RIP认为好的路由就是通过的路由器数目少的路由。
  5. 一条路径最多只能包含 15 个路由器,“距离”的最大值为16 时即相当于不可达。

距离向量算法:

  1. 收到相邻路由器(其地址为 X)的一个 RIP 报文:
  2. ①先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
  3. ②对修改后的 RIP 报文中的每一个项目,重复以下步骤:
  4. 若项目中的目的网络不在路由表中,则把该项目加到路由表中。
  5. 否则 若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
  6. 否则 若收到项目中的距离小于路由表中的距离,则进行更新,
    否则,什么也不做。
  7. ③若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
  8. ④返回。


首部后面的“必为0”是为了4字节字的对齐。

例题:
假定网络中的路由器R1的路由表有如下的项目(这三列分别表示目的网络、距离、下一跳路由器)
N1 7 A
N2 2 D
N6 8 F
N8 4 E
N9 4 C
现在R1收到从邻站R2发来的路由信息(这两列分别表示目的网络、距离)
N2 4
N3 8
N6 4
N8 3
N9 5
请求出路由器R1更新后的路由表。

RIP协议的优缺点:

  1. 实现简单,计算量小
  2. 交换的路径信息量大
  3. 不适合大型网络
  4. 坏消息收敛速度慢

RIP协议使用UDP。

OSPF协议:开放最短路径优先协议
OSPF基于链路状态路由算法
链路状态算法:

  1. 发现邻居结点,获取它们的网络地址;
    (路由器启动后,通过发送一个HELLO分组,从邻居结点的应答中发现邻居结点。)
  2. 测量到每个邻居结点的时延;
    (发送一个要对方立即响应的ECHO分组,往返时间除以2即为时延。)
  3. 构造链路状态分组;
    (每个结点将测量到的时延组成分组)
  4. 发布链路状态分组;
    (采用洪泛法将组成的分组发布出去)
  5. 计算到每个其他路由器的最短路径。
    (根据最短路径的算法计算最短路径)

OSPF协议的特点:

  1. 采用洪泛法向本自治系统中所有路由器发送信息。
  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态(和哪些路由器相邻及到它们之间的距离)。
  3. 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
  4. OSPF 对不同类型的业务可计算出不同的路由。
  5. 可实现多路径间的负载平衡;
  6. 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
  7. 支持可变长度的子网划分和无分类编址 CIDR。
  8. 每一个链路状态都带上一个 32 bit 的序号,序号越大状态就越新。

OSPF不用UDP而是直接用IP数据报传送。

OSPF的分组类型:
类型1:问候(Hello)分组。
类型2:数据库描述(Database Description)分组。
类型3:链路状态请求(Link State Request)分组。
类型4:链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。
类型5:链路状态确认(Link State Acknowledgment)分组。

BGP协议:边界网关协议
作用:是不同 AS 的路由器之间交换路由信息的协议。
BGP采用了路径向量路由选择协议。
BGP的必要性:
因特网的规模太大,使得AS之间路由选择非常困难。
AS之间的路由选择必须考虑有关策略。
因此,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),并非要找寻一条最佳路由。

BGP报文类型:

  1. 打开(Open)报文:用来与相邻的另一个BGP发言人建立关系。
  2. 保活(Keepalive)报文:用来确认打开报文,并周期性地证实邻站关系。
  3. 更新(Update)报文:用来发送某一路由的信息,以及列出要撤消的多条路由。
  4. 通知(Notificaton)报文:在检测到错误状态时发送该报文。

BGP协议的特点:

  1. BGP 协议交换路由信息的结点数量级是自治系统个数的量级,比这些自治系统中的网络数少很多。
  2. BGP 支持 CIDR,因此 BGP 的路由表应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
  3. 在BGP 刚刚运行时,BGP 的邻站交换整个 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样可以节省网络带宽、减少路由器的处理开销。

NAT协议:网络地址转换协议
功能:实现公有地址与私有地址之间的转换。
NAT存在的问题:

  1. NAT违反了IP的体系结构:IP规定一个IP地址对应一个网络接口,而在NAT中,某个地址可能会对应成千上万个地址
  2. NAT将Internet的无连接服务变成了有连接服务: 因为NAT必须包含所有经过它的连接信息
  3. NAT违反了网络分层原则:在第三层用了第四层的信息
  4. 如果IP包的载荷不是TCP或UDP,则NAT无法工作:因为在其他协议的信息中不包含源端口号
  5. 在有些应用中NAT可能会出错:在有些应用中,发送方会将源IP地址嵌在它的消息中,接收方必须从信息中取用源IP地址,但NAT不作此类处理,因而将导致错误

UDP协议:用户数据报协议

伪首部:12字节
例题:
一UDP用户数据报的首部十六进制表示是:
06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用UDP的这个服务器程序是什么?

解:源端口1586,目的端口69,UDP用户数据报总长度28字节,数据部分长度20字节。
此UDP用户数据报是从客户发给服务器(因为目的端口号69,是熟知端口)、服务器程序是TFTP。

TCP协议:传输控制协议

报文格式:



停止等待协议:
每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。
四种情况:


可靠传输的实现:

  1. 使用确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。
  2. 这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。
  3. ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。

DNS:域名系统
功能:完成完成域名到IP地址之间的映射。
DNS请求报文以UDP用户数据报方式发送给本地域名服务器。
域名的解析通过4个域名服务器:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器

域名服务器中的高速缓存的作用:
提高DNS查询效率、
减轻根域名服务器的负荷、
减少 DNS 查询请求和回答报文的数量

FTP协议:文件传送协议
作用:用来在远程主机与本地主机之间或两台远程主机之间传输文件的。
功能:是减少或消除在不同操作系统下处理文件的不兼容性。
FTP协议基于TCP协议。
FTP使用客户服务器方式。

在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接。

控制连接:
在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
数据连接:
服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”,并结束运行。

TFTP协议:简单文本传送协议
使用客户服务器方式、使用UDP数据报、需要有自己的差错改正措施
只支持文件传输而不支持交互。
两个优点:可用于UDP环境、TFTP代码所占的内存较小。

TELNET协议:远程终端协议
作用:用来远程登录到另一台计算机
TELNET 使用客户/服务器方式。
TELNET利用网络虚拟终端NVT适应许多计算机和操作系统的差异。

WWW万维网
万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。
标志万维网上的各种文档:使用统一资源定位符URL。
实现万维网上的各种链接:使用超文本传输协议
如何组织万维网上的不同风格的文档:使用超文本标记语言HTML
查找信息:全文检索搜索、分类目录搜索

URL 格式:

主机:值得就是该主机在互联网上的域名。
端口和路径通常可以省略。

HTTP协议:超文本传输协议
从层次的角度看,HTTP 是面向事务的应用层协议,它使用TCP连接进行可靠的传送。
是万维网上能够可靠交换文件(包括文本、声音、图像等多媒体文件)的重要基础。
HTTP协议本身是无连接的(通信的双方在交换HTTP报文之前不需要先建立HTTP连接)、无状态的。
代理服务器:一种网络实体,又称为万维网高速缓存。(把最近的一些请求和响应暂存在本地磁盘中)。
HTTP是面向文本的。
HTTP的两类报文:请求报文(从客户向服务器发送请求报文)、响应报文(从服务器到客户的回答)

万维网的文档:静态文档、动态文档(指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建的)

电子邮件:
两个重要标准:简单邮件传送协议SMTP、互联网文本报文格式
三个主要组成构件:用户代理、邮件服务器、邮件协议(发送协议(SMTP)、读取协议(POP3))

还有其他没有整理到的协议,上面这些比较重要,希望能够带来帮助。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: