目录
网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?
总结
网络适配器的作用是什么,工作在哪一层
-
进行串行和并行传输的转换
-
对数据进行缓存,对接收速率进行匹配
-
对接收的数据进行差错检测
-
在计算机的操作系统上安装设备驱动程序,跟主机当中的存储器、CPU等部件进行协调
-
实现以太网协议,如数据的封装、发送、地址的检查、接收、有效判断、校验等等。
网络适配器工作在数据链路层和物理层。
ip地址与硬件地址的区别,为什么要用这两种不同的地址
1、长度的区别:
物理地址即硬件地址,由48bit构成;IP地址由32bit组成,是逻辑地址。
2、放置位置的区别:
IP地址放IP数据报的首部,而硬件地址则放在MAC帧的首部。
3、使用的区别:
在网络层和网络层以上使用IP地址,数据链路层及以下使用硬件地址。
在IP 层抽象的互连网上,我们看到的只是IP 数据报,路由器根据目的站的IP地址进行选路。在具体的物理网络的链路层,我们看到的只是MAC 帧,IP 数据报被封装在MAC帧里面。MAC 帧在不同的网络上传送时,其MAC 帧的首部是不同的。
这种变化,在上面的IP 层上是看不到的。每个路由器都有IP 地址和硬件地址。使用IP 地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,但IP 层抽象的互连网却屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP 地址进行通信。
计算机网络法律上的国际标准和事实上的国际标准,划分哪几层
osi:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层
tcp、ip:应用层,,运输层,网际层IP,链路层
文件传输协议FTP的工作过程是是怎么样的
某网络的掩码是,能连接多少台主机
客户服务器方式和p2p对等通信主要区别,有没有相同的地方
判断ip地址的网络类型
大题
码分多址通信计算传输错误的
p70 2-16
CRC计算余数的问题
地址匹配的问题
划分子网的问题
收到分组转发分组选择路由的问题
TCP报文段
2-物理层
怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
3-数据链路层
功能:为了向网络层提供服务,数据链路层必须使用物理层提供的服务。而物理层是以比特流进行传输的,这种比特流并不保证在数据传输过程中没有错误,接收到的位数量可能少于、等于或者多于发送的位数量。而且它们还可能有不同的值,这时数据链路层为了能实现数据有效的差错控制,就采用了一种”帧”的数据块进行传输。而要采帧格式传输,就必须有相应的帧同步技术,这就是数据链路层的”成帧”(也称为”帧同步”)功能。
作用:将源计算机网络层来的数据可靠的传输到相邻节点的目标计算机的网络层。
解决的问题:封装成帧,透明传输,差错检测
数据链路和数据帧
协议控制数据的传输
三个基本问题分别解决什么,能不能缺少:(封装成帧,透明传输,差错检测)
差错检测CRC
3-2点对点协议PPP
:是用户计算机和ISP进行通信的所用的数据链路层协议
有三部分
-
一个将IP数据报封装到串行链路的方法,支持异步和同步链路,IP数据报作为PPP帧的信息部分。
-
一个用来建立、配置和测试数据链路连接的链路控制协议LCP,负责协商链路的参数,如认证、压缩、错误检测等。
-
一套网络控制协议NCP,每一个协议支持一个网络层协议,如IP、AppleTalk等,负责协商网络层的参数,如IP地址、路由协议等。
字节填充
PPP使用0x7E(01111110)作为这个定界符,即路由器检测到某个字节为0x7E就说明上个帧传输结束,开始下个帧的传输
PPP使用异步传输时,我们使用0x7D(01111101)作为转义符,
把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)。 若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把转义字符0x7D转变为2字节序列(0x7D,0x5D)。
0比特填充:连续5个1后加0
3-3使用广播信道的数据链路层
局域网特点:为一个单位所拥有,地理范围和站点数目有限
局域网网络拓扑分类:星型网(中间是集线器 ),环形网,总线网,树形拓扑
共享信道采用的技术:静态划分信道(频分多址,时分多址,码分多址),动态媒体接入控制(多点接入)
适配器作用:(已有)
载波监听多点接入/碰撞检测):
先听后发,边听边发,冲突停发
96比特时间,帧间最小间隔,使接受方可以检测一个帧的结束
10Mbit/s 争用期是512比特时间,退避时间=争用期2&*随机数r(对于以太网,最小帧时间是确定的)
检测空闲(512bit时间-->争用期)后,等待96bit重发数据
怎么实现
使用集线器的星型拓扑:使用的还是CSMA/CD协议
一个集线器有许多端口
集线器工作在物理层、
以太网的信道利用率
以太网的mac层:48位
以太网交换机的特点:
1、以太网交换机的每个端口都直接与主机相连,并且一般都工作在全双工方式。 2、交换机能同时连通许多对的端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。 3、用户独占传输媒体的带宽,若一个接口到主机的带宽是10Mbit每秒,那么有10个接口的交换机的总容量是100Mbit每秒。这是交换机的最大优点。 以太网交换机的自学习功能:
虚拟局域网
一个vlan=一个广播域=一个网段
vlan标识符12位vid
连接两个交换机之间端口的链路成为汇聚链路或干线链路
4-网络层
作用:将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能。
解决的问题:网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输
4.1网络层的两个重要概念
网络层的两种服务
网络层不提供服务质量的承诺,填空应该是数据报服务
网络层的两个层面:(转发)数据层面,控制层面。一个是转发源主机和目的主机之间所传送的数据,另一个是传送路由信息。
4.2网际ip
网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?
不可能让所有的用户都使用相同的网络。这是因为用户的需求是多种多样的,没有一种单一的网络能够满足所有用户的需求。另外,网络技术是不断发展的,网络的制造厂家也要经常推出新的网络,在竞争中求生存。因此,在市场上总有很多种不同性能、不同网络协议的网络,供不同的用户选用。因此我们面临的现实就是:在客观上,世界上有很多特性各异的网络,但这些网络又希望能够相互通信,于是网络互连的意义非常重大。
网络互连会遇到许多问题需要解决,如:
-
不同的寻址方案:
-
不同的最大分组长度:
-
不同的网络接入机制:
-
不同的超时控制;
-
不同的差错恢复方法:
-
不同的状态报告方法:
-
不同的路由选择技术:
-
不同的用户接入控制:
-
不同的服务(面向连接服务和无连接服务);不同的管理与控制方式;等等
作为中间设备,转发器、网桥、路由器和网关有何区别?
将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,有以下四种不同的中间设备: (1)物理层使用的中间设备叫作转发器 (2)数据链路层使用的中间设备叫作网桥或交换机。 (3)网络层使用的中间设备叫作路由器。 (4)在网络层以上使用的中间设备叫作网关
ip地址分类
ip由网络号和主机号组成,ABC类都是单播地址(一对一通信)D类是多播地址,一对多通信
目前是无分类(CIDR)的ip地址 (斜线记法),只分网络前缀和主机号
使用其一个ip地址可能不属于任何的IP地址
当ip最后为0可以省略,128.14.31.0/24-->128.14.31/24
计算机是通过子网掩码来判断网络前缀的长度,用and与运算来计算网络地址。
ip地址和mac地址
mac是数据链路层用的地址--物理地址 ip地址是网络层及其以上各层所用的地址--逻辑地址
mac地址是对ip地址进行封装而成的,二者 首部都放地址。
ip地址与硬件地址的区别,为什么要用这两种不同的地址
从层次的角度看,MAC地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为I地址是用软件实现的)。
1、长度的区别:
物理地址即硬件地址,由48bit构成;IP地址由32bit组成,是逻辑地址。
2、放置位置的区别:
IP地址放IP数据报的首部,而硬件地址则放在MAC帧的首部。
3、使用的区别:
在网络层和网络层以上使用IP地址,数据链路层及以下使用硬件地址。
由于全世界存在着各式各样的网络,它们使用不同的MAC地址。要使这些异构网络能够互相通信就必须进行非常复杂的 MAC地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。但统一的IP地址把这个复杂问题解决了。连接到互联网的主机只需拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便。当需要把IP 地址转为MAC 地址时,调用ARP的复杂过程都由计算机软件自动进行,而用户是看不见这种调用过程的。因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来很大的方便。
地址解析协议ARP
地址解析协议 ARP:用来把一个机器(主机或路由器)的IP地址转换为相应的MAC地址(或硬件地址)。
ip数据报格式
片偏移:较长的分组的分片中间的某个分片在原来的 IP 分组中的相对位置,当前字节除以8
标志字段中的最低位记为MF(More Fragment):MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
例题
检验和计算
16位一行划分,二进制依次相加再取反算出
ip地址划分
4.3IP转发分组的过程
基于分组首部的ip地址:基于终点的转发
二叉线索查找转发表
依次计算,若不存在则为默认转发R4
4.4网际控制报文协议icmp
分两种:ICMP差错报告报文和ICMP询问报文
4.5ipv4--ipv6的过渡
用到双协议栈和隧道检测技术
4.5互联网的路由选择协议
自治系统--AS
分层次的路由选择协议有以下两个:
内部网关协议IGP:自治系统内部使用的路由选择协议
外部网关协议EGP:不同自治系统之间的路由选择
内部网关协议RIP:基于向量的路由选择协议-->利用到距离向量算法
内部网关协议OSPF:利用了最短路径算法,最主要的特征是使用链路状态协议
外部网关协议BGP:自治系统之间交换“可达性”信息
RIP,OSPF和BGP路由选择协议的主要特点。
RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,最大优点就是简单。RIP 协议的特点是:
(1)仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。 (2)路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。也就是说交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。 (3)按固定的时间间隔交换路由信息,例如每隔 30秒。然后,路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
(4)坏消息传得慢
OSPF最主要的特征就是使用分布式的链路状态协议。OSPF协议的特点是:
(1)向本自治系统中的所有路由器发送信息。这里使用的方法是洪泛法,即路由器通过所有输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。这样,最终整个区域中所有的路由器都得到了这一信息的一个副本。 (2)发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”,就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”。OSPF 将这个“度量”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定,因此较为灵活。有时为了方便,称这个度量为“代价”。 (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息
BGP是不同自治系统的路由器之间交换路由信息的协议,它采用路径向量路由选择协议BGP协议的主要特点是: (1)BGP在自治系统之间交换“可达性”信息(即“可到达”或“不可到达”)。例如,告诉相邻路由器:“到达目的网络N可经过 AS”。 (2)自治系统之间的路由选择必须考虑有关策略。 (3)BGP只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
RIP距离向量算法更新路由表
先把收到的更新信息的距离加1,下一跳改成自己。
与原有旧的比对;
下一跳相同,距离不同,需更新(更新成新的)(坏消息传的慢)
不同的下一跳,选距离短的替换
不同的下一跳,距离相同,不变
判断用哪个路由协议更好(4-38/4-39)
选择路由按最长前缀匹配原则(4-49)
路由器输入和输出端口的处理
4.6ip多播
为了使路由器知道多播组成员的信息,需要利用网际组管理协议IGMP (Internet Group Management Protocol)。
连接在局域网上的多播路由器还必须和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议。
网际组管理协议IGMP
互联网组管理协议 (IGMP) 是允许多个设备共享一个 IP 地址以便它们可以接收相同数据的协议。
多播路由选择协议:连接在局域网上的 多播路由器 通过 多播路由选择协议 和 其它多播路由器 协同工作,把多播数据报用 最小代价 传送给所有的多播组成员
4.8虚拟专用网vpn和网络地址转换nat
5-运输层
解决的问题:运输层(传输层),解决的是计算机程序到计算机程序之间的通信问题,即所谓的“端”到 “端”的通信。
5.1运输层协议概述
-
运输层向上面的应用层提供通信服务
-
通信的两端是主机中进程之间的通信,即端到端的通信
-
重要功能:复用和分用
-
网络层为主机之间的通信提供服务,而运输层在网络层的基础上,为应用进程提供通信服务
-
传输协议:面向连接的TCP和无连接的UDP
-
向高层用户屏蔽了网络的核心细节
-
TCP协议尽管下面的网络不可靠,但这种逻辑通信信道相当于一个全双工的可靠信道
用户数据报协议:UDP
传输控制协议:TCP
两个对等运输实体之间传送的数据单位叫做运输协议数据单元--TPDU
应用层所有的应用进程都可以通过运输层在传送到ip层,这就是复用。
常见端口号
5.2用户数据报协议UDP
概述:在ip的数据报服务上加了很少一片的功能,即复用和分用和差错检测的功能
UDP特点:
-
无连接的
-
使用尽最大努力交付
-
没有拥塞控制
-
支持一对一,一对多,多对一,多对多的交互通信
-
UDP首部开销小
首部格式及校验和计算
首部组成:源端口,目的端口,长度,校验和
5.3传输控制协议TCP
TCP特点:
-
面向连接的运输层协议
-
每一条TCP只有两个端点
-
TCP提供可靠交付
-
提供全双工通信
-
面向字节流
TCP的连接:连接的端点叫套接字或插口,被通信两端的套接字对确定
5.4可靠的传输原理
停止等待协议
每次发送一个分组(分组必须编号)(发送后保留发送的副本以便超时重传)后停止发送,等待确认,收到确认再发送下一个分组。
超时重传:超过一段时间没有收到确认,就重传前面的分组。要设置超时计时器(时间比往返时间更长)。
确认丢失和迟到:一是丢弃重复的分组,二是收下迟到的确认什么都不做。
以上可靠传输 协议为自动重传请求ARQ,但是效率低,可以采用连续ARQ协议和滑动窗口协议来实现高效。
信道利用率=发送的时间/(发送的时间+传输的时间+确认分组的时间)
连续ARQ协议
优点:容易实现,即使部分确认丢失也不必重传。 缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。
5.5TCP报文的首部格式
首部固定部分各字段意义如下:
1) 源端口和目的端口 各占2个字节,分别写入源端口和目的端口。
2) 序号 占4字节。序号范围是【0,2^32 - 1】,共2^32(即4294967296)个序号。序号增加到2^32-1后,下一个序号就又回到0。也就是说,序号使用mod 2^32运算。TCP是面向字节流的。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。整个要传送的字节流的起始序号必须在连接建立时设置。首部中的序号字段值则是指的是本报文段所发送的数据的第一个字节的序号。例如,一报文段的序号是301,而接待的数据共有100字节。这就表明:本报文段的数据的第一个字节的序号是301,最后一个字节的序号是400。显然,下一个报文段(如果还有的话)的数据序号应当从401开始,即下一个报文段的序号字段值应为401。这个字段的序号也叫“报文段序号”。
3) 确认号 占4字节,是期望收到对方下一个报文段的第一个数据字节的序号。例如,B正确收到了A发送过来的一个报文段,其序号字段值是501,而数据长度是200字节(序号501~700),这表明B正确收到了A发送的到序号700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701。注意,现在确认号不是501,也不是700,而是701。
总之:若确认号为= N,则表明:到序号N-1为止的所有数据都已正确收到。
4) 数据偏移 占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度。由于首部中还有长度不确定的选项字段,因此数据偏移字段是必要的,但应注意,“数据偏移”的单位是32位字(即以4字节的字为计算单位)。由于4位二进制数能表示的最大十进制数字是15,因此数据偏移的最大值是60字节,这也是TCP首部的最大字节(即选项长度不能超过40字节)。
5) 保留 占6位,保留为今后使用,但目前应置为0 。
5.6TCP可靠传输的实现()
基于以字节为单位的滑动窗口
也会超时重传,接收方只对按序收到的数据中的最高序号给出确认。
5.7TCP流量控制
让发送方的发送速率不要太快,要让接收方来得及接受
否则会减少RWND值
5.8TCP的拥塞控制
对网络中某一资源的需求超过了网络可以提供的部分,性能就要变坏
当输入负载到达某一数值时,网络的吞吐量反而随着负载的增大而减小,这是网络就进入了拥塞状态。 当输入负载继续增大到某一数值时,网络的吞吐量就减小为0,此时网络就无法工作了,这就是所谓的死锁。
拥塞控制与流量控制的区别和联系(考)
TCP(传输控制协议)具有流量控制和拥塞控制两种机制,用于确保数据可靠传输,并防止网络过载。虽然它们的目标都有助于提高网络传输效率和稳定性,但它们在原理和实现方式上有所不同。
流量控制:为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。
实现:由滑动窗口协议(连续ARQ协议)实现。滑动窗口协议既保证了分组无差错、有序接收,也实现了流量控制。
拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;
实现:慢开始,拥塞避免、快重传、快恢复
5-9:TCP的运输连接原理
运输连接三个阶段:建立连接,数据传送,释放连接
TCP的连接建立
ACK:确认号字段,1表示确认
ack:表示序号多少之前的数据已经收到,ack=x+1对tcp客户进程初始序号的确认
rwnd表示滑动窗口
SYN为1表示是tcp连接请求报文段(不能携带数据,但消耗一个序号)
seq为x作为tcp客户进程所选择的初始序号,y表示服务进程
TCP的连接释放
FIN=1表示tcp连接释放,seq表示客户进程之前传输过的序号+1(消耗一个序号)
ack表示客户进程收到的序号+1
习题:
最大报文段长度-MSS
6-应用层
任务作用功能:每个应用层协议都是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协调工作来完成。
域名系统dns
域名结构:顶级域,二级域,三级域。
文件传输协议FTP
基本工作原理:FTP有两个过程一个是控制连接,一个是数据传输。 FTP协议需要两个端口,一个端口是作为控制连接端口,也就是FTP的21端口,用于发送指令给服务器以及等待服务器响应;另外一个端口用于数据传输端口,端口号为20(仅用PORT模式)。
FTP连接需要FTP服务器和客户端两方在网络上建立通信,建立FTP连接时会有两个不同的通信通道,一个被称为命令通道,另一个为数据通道。
Telnet协议:它为用户提供了在本地计算机上完成远程主机工作的能力。
万维网 (World Wide Web,WWW):是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体。文本、图形、视频、音频等多媒体,也称为超媒体。
统一资源定位符,又叫URL(Uniform Resource Locator),是专为标识Internet网上资源位置而设置的一种编址方式,我们平时所说的网页地址指的即是URL。 http://主机名/路劲
超文本传输协议HTTP:
http1.0缺点:短连接 每一个请求建立一个TCP连接,请求完成后立马断开连接。这将会导致2个问题:连接无法复用。每请求一个文档会有两倍RTT的开销。
阻塞 连接无法复用会导致每次请求都经历三次握手和慢启动。三次握手在高延迟的场景下影响较明显,慢启动则对文件类大请求影响较大。会导致带宽无法被充分利用,以及后续健康请求被阻塞。客户端同时发起的请求数目是固定的,如果太多就会排队阻塞。
电子邮件:
SMTP发送:连接建立,邮件发送,连接释放。
POP3和IMAP文件读取:
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
MIME是什么
MIME是一种对二进制文件进行编码以便在互联网上传输的方法,MIME用于允许在互联网上传输各种各样的文件类型
动态主机配置协议:自动分配IP地址,使设备可以进行通信