要刷的几个题目
- 海明码、crc
- 信道利用率=(帧长/发送速率) / [(帧长/发送速率) + rtt] – 衡量发送方是不是在等待信道而空闲
- 信道吞吐率 = 信道利用率 * 发送速率
- 二进制指数退避重传算法,k=min{k,10} [0,2^k-1]
- PPP/HDLC的帧格式、区别
- 以太网相关记忆
- 停等、GBN、SR、ALOHA、CSMA、CSMACA、CSMACD、令牌环 (随机访问介质访问控制才有冲突)
- ip数据报的分片过程,及其中某些首部字段含义
- 子网掩码
- CIDR、最长匹配前缀、CIDR和子网掩码
- ipv4和ipv6的报文格式,以及区别
引入
- 计算机网络的功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡
- 组成:硬件软件 及协议。工作方式:边缘部分(主机 p2p c/s方式)及核心部分(路由器及大量网络)
- 功能组成:通信子网(实现数据通信 – 包括物理层、数链层以及网络层)和资源子网(实现资源共享和数据处理 – 包括会话、表示和应用层),传输层属于两个子网的接口
- 分类:按照分布范围:WAN MAN LAN PAN ;公用网、专用网;按交换方式分,电路交换、报文交换、分组交换;按拓扑结构分,网状(广域网);按传输技术分,广播式、点对点
- RFC – 因特网标准形式
- 组织:ISO ITU IEEE IETF
- 性能指标:速率 带宽 吞吐量。带宽:带宽变大是发送变快,一定时间往链路注入的bit更多,而不是传播更快。吞吐量:单位时间通过某个网络(信道/接口)的数据量。
层次
- TCP/IP协议栈:从下到上:物理层、数据链路层、[ARP] IP [ICMP/IGMP]、TCP/UDP、HTTP/FTP/DNS
物理层
数据链路
功能
保证数据无差错地传输到相邻节点,实现透明传输。进行: 组帧、差错控制–校验码、流量控制、链路管理(有连接的链路进行连接维持和释放)。从而为网络层提供服务(有连接有确认,无连接无确认,无连接有确认)。
封装成帧
4种方法。一般用比特填充和违规编码。
差错类型,位错和帧错。帧错:重复、失序、丢失。纠错 - 海明、检错 - 奇偶 crc(填上n-1个0 除以生成多项式,加上余数 又叫冗余码 FCS帧检验序列。除法是异或)。
有线传输一般,无确认无连接,保证交给上层-网络层。无线传输一般是有确认的(不一定有连接),尽量避免差错。
流量控制,收不下就不去确认。包括,停止等待协议、滑动窗口。
传输层的流量控制是公告窗口。
GBN:累积确认(捎带);接收方只按序接收、否则丢弃,并确认帧催更;发送方确认序列号最大的、按序号达到的;超时重传;发送窗口2^n-1,接收窗口1(n为帧序号长度);
SR:选择重传协议。只重传出错的;接收方有缓存的窗口;对数据逐一确认,收到一个确认一个;最大接收和最大发送窗口大小:2^(n-1)
点对点链路,广播链路。信道访问介质控制:静态、动态划分信道。动态分为 轮询和随机访问。随机访问介质控制:aloha、csma、csmacd、csmaca。
ALOHA ,纯aloha 和 时隙aloha。吞吐是一段时间的发送成功的帧数。一个想发就发,一个在时间片开始发送和重传。
CSMA:载波监听、多点接入(逻辑总),分为1坚持,非坚持,p坚持。1坚持是忙了还在监听,空了就发。非坚持是忙了随机等会监听,空了就发。p坚持是忙了随机等会再监听,空了p概率发送。
轮询:轮流(3个缺点),令牌传递协议。令牌:1过程 2缺陷 令牌开销;等待;单点故障 3应用 令牌环网-逻辑环,物理星;负载重和通信大的。节点在令牌后加上数据,修改令牌为忙,每个节点看到接收方不是自己则传给下一个,直到回到发送方,发送方发现数据正确,则说明发送成功。
CSMACD:总线型的以太网 有线。半双工网络。边发送边监听,电压检测。但是由于传播时延还是会冲突。争用期2*传播时延τ。重传:二进制指数退避重传算法(重传上限16次)。最小帧长:为了碰撞及时地被叫停–帧 的 传输时延至少2τ–以太网64B。
CSMACA:无线。先听后发,载波能量以及混合检测。无线局域网中无法全方位检测、隐蔽站问题,我发给b的时候不知道c发不发给b。– 检测空闲,a先发rts(包括接收方、发送方地址以及下一份数据持续发送的时间),b接收端收到返回cts。c收不到b的cts,则不发了。a收到cts后,开始发送数据并预约信道(告诉其他人我要发送多久),b收到数据后crc检验然后再发ack给a。a收到ack继续发下一帧,没有则重传(二进制指数退避)。
局域网:网络拓扑(星、总线、环、树) 以太网则是逻辑上总线型 ;传输介质:有线无线;根据介质访问控制,分为以太网(802.3 将数据链路分为了LLC和MAC两个子层,LLC主要为上面的网络层服务 比如建立确认连接的等,MAC主要帧同步之类)、令牌环网、FDDI、ATM、无线局域网(WLAN 802.11)。wifi是WLAN的一种应用。802.5令牌环、802.8光纤…
以太网:CSMACD,基带总线,无连接不确认(以太网提供的服务是不可靠的交付,即尽最大努力的交付。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正和重传由高层来决定。),无差错接收,但不可靠,物理星逻辑总,
10baseT:基带、双绞线UTP、10Mb/s、物理星逻辑总、每段双绞线最长100m、csmacd有冲突、曼切斯特编码
适配器–网卡,每个网卡有mac地址,全球唯一,48位 – 前24位代表厂家 ieee确定 6个16进制数表示,在网卡的rom上有
以太网的MAC帧:前同步码7B + 帧定界符1B + **以太网MAC帧 ( 目的地址6B源地址6B + 类型2B + 数据 + FCS4B)–这个是物理层 数据46B-1500B
高速以太网:大于100M就是高速。全双工时候,用的是交换机,隔离了冲突域,无冲突。光纤上1g or 10g。
无线局域网:802.11、MAC帧头格式:分为四种(to ap–BSSID SA DA,from ap–DA BSSID SA,wds–RA TA DA SA,ibss–DA SA BSSID) 、每个ap站点相连的为一个基本服务集BSS,多个BSS构成ESS,需要一个分配系统DS–将所有的ap接入到有线的线缆中,将有线和无线结合。自组织的网络即把所有的主机安排在同一个网段….所有主机之间直接通信,无固定基础设施(DS或者有线)
广域网:分组交换技术,多个局域网组件而成,链路层设备交换机互联,(局域网只覆盖物理层和链路层,广域网还有网络层–路由器),广域网强调资源共享
ppp:只支持全双工,封装帧、透明传输(字符填充法 转义字符)但是不需要序号纠错、不需要流量控制,简单差错检测,支持多种ip网络层协议,数据部分最大长度MTU,压缩,IP地址协商… 三个部分:1LCP身份验证2 NCP建立逻辑连接以支持各种网络层协议 3将ip数据报封装到串行链路。面向字节
HDLC:只支持全双工,不属于tcpip,面相比特,0比特插入法(51插入0)的透明传输,crc,有编号有确认 可靠,不纠错,主站、从站、复合站,三种数据操作方式:正常响应(主站同意从才能发)、异步平衡(每个复合站都可以发 地位平等)、异步响应(从站无需同意),三种帧类型:无监息 帧
链路层设备:物理层:集线器(集线器相连的任何两个设备之间有通信、其他都不能通信)、主干集线器(冲突域)、光纤调制器(距离),链路层:网桥or交换机(将以太网连接并根据mac地址进行过滤 分隔冲突域)。物理层虽然解决了距离问题,但是导致冲突域扩大。
网桥:透明网桥和源路由网桥。透明网桥通过自学习算法来填网桥的转发表,转发表即为主机和网桥接口之间的对应。源路由则是,发送方在帧首部加入 路由最少/时间最少 的 详细路由信息。交换机分为:直通式(查完6B的mac目的地址就直接转发)和存储转发式交换机(高速缓存中存放帧并检查是否正确,错误则丢弃)。交换机就是多接口的网桥。
冲突域和广播域:冲突域中同一时间只有一台设备才能发送数据。广播域是,网络中能接收到广播帧的所有设备集合。网络层设备都可以隔离,链路只能隔离冲突。
网络层
功能 : 把分组从源传到目的,单位是数据报。1路由和分组转发2异构网络互联3拥塞控制(闭环和开环两种控制方式)
数据交换方式:首先,为什么需要数据交换?(为了各个节点之间的通信,建立的链路不能过于复杂也需要远距离,就需要交换网络里的交换设备完成交换)。类别:电路交换、报文交换、数据报交换(分组交换)。电路:建立连接后通信。报文:先存储,等链路空闲后转发。分组交换:将报文分组。传送数据大且传送时间远远大于呼叫则选择电路交换。后两者都有存储转发技术。
数据报和虚电路:虚电路号,路由器记录虚电路号的转发接口,过程:建立连接、发数据、释放,保证有序到达。
路由算法:路由表(目的网络ip地址、子网掩码、下一跳ip地址、接口)。为了找到最佳路由而使用的算法,有两种分类:静态路由算法(非自适应,手动配置路由信息)、动态算法(路由器间彼此交换信息)。动态分为:全局性(链路状态路由算法–掌握完整的网络拓扑和链路费用信息)和分散性(距离向量算法–只掌握物理相邻的邻居以及链路费用)。OSPF 、RIP
分层次的路由选择协议:AS自治系统内的路由协议在其他AS是透明的。只要AS内的路由器都用本AS内的路由协议,并确定好和其他AS之间的路由方式。分为两类:内部网关协议IGP(AS内,OSPF / RIP)以及外部网关协议EGP(AS间,BGP-4)。
ip数据报格式
ip数据报分为首部和数据部分(TCP/UDP段)。首部又分为固定部分和可变部分。固定20B。首部长度最小为0101(5),单位是4B。总长度是包含数据部分的总长,单位1B,即总长度最大2^16-1,一般不会这么大,一般满足MTU。用于分组的”标识、标志、片偏移“。生存时间是ip分组在网络中的寿命,防止无限制地兜圈子。协议指数据部分所使用的协议,(即上层的协议),如TCP – 6 ,UDP – 17。首部检验和–质检验首部。源地址、目的地址都是32bit。可变部分为:可选字段、填充字段。
ip数据报分片:以太网中MTU是1500B,其中至少20B为首部。首部:同一个报文的分片都有同样的标识;标志DF有0或者1,0是允许分片;最低位MF,0是最后一片/无分片;片偏移能够确定分组在整个数据报的哪个位置开始的,单位为8B。
一种八片首饰,总长度是1B,片偏移是8B,首部长度单位是4B。
ipv4地址
-
网络地址转换NAT:私有ip地址(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)网段个数分别为1 16 256个。如何实现私有ip地址和外部互联网主机的通信?安装NAT软件,NAT路由器会为本地网各个主机生成一个全球的地址代表,然后再分发给具体主机,转换表里表明外部的主机以及端口(这里的外部主机就是那个生成的代表地址),LAN表示本地网段里的主机ip和端口号。也就是在外部,各个内部网段的主机只是一个地址的不同端口。
子网划分,子网掩码
ARP:数据经过传输层分组以及网络层分片、加ip首部后,在数链层加上mac地址首部。每个主机有自己的ARP缓存,缓存本局域网中的ip对应的mac。如果ip不在本局域网中,则填入目的网关的mac地址。如果此时不知道目的ip的对应mac地址,则需要发一个广播ARP请求(包括源ip、目的ip、源mac地址),目的ip主机收到后则 返回(本ip、本mac地址)。数链层加上mac后,加上FCS等,传给物理层,进行传输。ARP协议是自动进行的
DHCP:1主机广播DHCP发现报文(找到网络中的DHCP) 2DHCP服务器广播提供报文 3主机广播DHCP请求报文 4DHCP服务器返回广播DHCP确认报文。
ICMP:差错报告报文,几种类型:终点不可达、源点抑制、ttl=0、首部字段错误(参数问题)、重定向(让源主机知道下次更好的路由)。ICMP的前8个字节+IP数据报首部+IP数据报数据部分前8B = ICMP差错报告报文。再加上IP数据报的首部,构成一个ICMP报文的IP数据报。不发送ICMP:ICMP出错不发ICMP;第一个分片的数据报后的所有数据报片都不发ICMP;组播(1对多)地址的不发;特殊地址(环回等)不发。应用:比如ping(用了ICMP询问报文),用于回送请求和回答报文;时间戳请求和回答报文等。Traceroute(用了ICMP时间超过差错报文),来跟踪一个分组从源到终点的路径(方法是将ttl设为不同的值,那么到了中间的路由器,就会返回ttl=0的差错报告报文,就能知道路由过程)。
ipv6数据报格式
流是用于确定一些数据报是同一个流的。下一个首部:下一个扩展首部或者上层协议首部。有效载荷:扩展首部+数据。跳数限制:ttl。源地址和目的地址都是128bit。v6的首部是固定的40B。可变的放在扩展里。
ipv4和ipv6的区别:地址位数的扩展;没有了首部校验;将可选移到扩展首部里;ipv6首部长度是8B倍数,而v4是4B的整数倍;v6即插即用,不需要DHCP协议;v6只能在主机分片,如果在后面的链路层有MTU的限制,路由器只能将此v6报文丢弃,并且发送一个ICMPv6的分组过大报文;v6有资源的预分配;没有了协议和总长度字段,多了下一个首部和有效载荷长度字段;v6没有了服务类型字段。
ipv6表示:一般冒号十六进制,压缩:删除0,每一组至少有一个数字表示;或者一连串的0用冒号取代 – 只能出现一次两个冒号。
ipv6的类型: 单播–目的or源、多播–目的地址、任播 – 目的(对多台主机里最近的一台主机通信)。
如何从ipv4迁移到ipv6:双栈协议(同时启用)、隧道协议(重新封装)。
RIP协议:适用于小互联网,16表示网络不可达,最多包含15个路由器。每30s,只和相邻 路由器交换自己的路由表。180s,没有信息来则更新自己路由表:这个邻居死了。在拥有所有信息后,用距离向量算法得到 距离和下一跳。
RIP报文
是应用层协议,使用UDP传输数据。将RIP的首部和路由部分作为UDP的数据,加上UDP的首部,再加上IP首部,构成ip数据报。其中,路由部分最多包含25个路由信息,所以更多路由需要多发几个报文。
RIP好消息传得快,坏消息传的慢:不断更新,直到距离更新到16,才直到这个是不可达的。
OSPF协议:适用于大型互联网,通过划分区域的方式,区别区域内部路由器和区域边界路由器以及主干路由器,以及自治系统边界路由器。开放最短路径优先协议。使用了分布式的链路状态协议。只有变化时候,洪泛向所有路由器发送 本路由器相邻的所有路由器的链路状态,如何哪些路由器相邻以及费用。=>所有路由器都会有一个全网的拓扑图。OSPF分组:数据加首部最为ip数据报的数据部分。暂时理解为是网络层协议。
TIPS:发送的信息是与本路由器相邻的所有路由器的链路状态 ,只涉及与相邻路由器的连通状态,与整个互联网的规模无关
链路状态路由算法:1每个路由器发HELLO分组,发现邻居,并更新和邻居之间费用metric 2构造DD描述分组给邻站自己的数据库中链路状态信息的摘要 3DD信息我都有了,就不处理,否则发LSR链路状态请求分组来请求自己没有的信息 4收到LSR,发送LSU链路状态更新分组 5更新后返回LSAck链路状态确认分组 – 最后 用Dijkstra来计算最短路径。 (简单说,就是先hello找邻居,然后发摘要,然后看看别人的摘要再发请求,最后整理所有的信息)
BGP:网络较大,只要求到达其他AS的较好的路由。各个AS的BGP发言人,交换到达某个网络所经过的一系列AS,即交换的是一系列的路径(距离向量)。BGP的报文作为TCP的数据部分,为应用层协议,需要TCP传送,即首先要建立TCP连接,然后在此连接至上建立BGP会话,利用BGP会话交换BGP报文。支持CIDR,需要网络前缀。
最常用版本BGP-4的四种报文:OPEN报文(认证及发现邻居),UPDATE(路径变更),KEEPALIVE(邻居之间周期性连接,也可以作为OPEN确认),NOTIFICATION(报告差错、关闭连接。)
RIP OSPF BGP区别:
本文链接: https://satyrswang.github.io/2021/06/29/计算机网络/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!