IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 高级计算机网络考试复习 -> 正文阅读

[网络协议]高级计算机网络考试复习

思维导图图片来自知乎Tom不是猫

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1计算机网络概述

1、计算机网络分为:
工作方式:边缘部分和核心部分,核心部分由大量网络和连接这些网络的路路由器组成
功能组成:通信子网和资源子网
2、计算机网络分类:
分布范围:广域网WAN,城域网MAN,局域网LAN,个人局域网PAN
传输技术:广播式网络、点对点网络
拓扑结构:总线,星形,环形,网状
交换技术:电路交换网络、报文交换网络(整个报文存储转发)、分组交换网络(分组存储转发)
3、性能指标
带宽:通信线路允许通过的信号频带范围,最高数据传输速率
时延

  • 发送时延:将所有比特推向链路所需时间(从第一个比特到最后一个比特发送完所需时间)分组长度/信道宽度
  • 传播时延:一个比特从链路的一端到另一端所需时间
  • 处理时延:为存储转发而进行的处理时间
  • 排队时延:排队所需要的时延

总时延:发送时延+传播时延+处理时延+排队时延 后两者通常忽略不计
时延带宽积:发送方发送第一个比特,发送端已经发出了多少个比特 时延带宽积=传播时延*信道带宽
信道利用率:某一个信道有多少时间是有数据通过的 信道利用率=有数据通过时间/(有+无)数据通过时间

题目
计算机网络是由自治的计算机互联起来的集合体
多机系统是多个处理器通过共享内存实现的紧耦合系统
分布式系统是共同完成一项任务的分布式系统

计算机网络最近本的功能是数据通信
计算机网络的三大主要功能是数据通信、资源共享、分布式处理,是的计算机联系更加紧密而非相对独立
计算机网络的资源主要是指硬件资源、软件资源、数据资源(如果仅硬件则不对)

文件传输确认策略
1、对分组进行确认(网络不好)
2、对整个文件进行确认(网络好)

时延计算(忽略排队时延)
电路交换:连接时延+发送时延+传播时延
分组交换:发送时延+传播时延
电路交换没有存储转发
分组交换

传送的报文 x比特 从原点到终点共有k段链路 每段链路的传播时延为d秒 数据传输速率b比特/秒 电路交换链路的建立时间为s秒
分组交换分组长度为p比特
(一共有k段,每段传播时延是d秒,那么传播时延都是kd秒)

(一个站点对一个分组的发送时延 分组的大小/数据传输率 p/b
k个链路,则有k-1个会有发送时延

(一共有报文长度/分组的大小个分组 x/p)

电路交换:连接时延+发送时延+传播时延=s+x/b+kd

计算机参考模型

定义功能执行的方法不是分层的目标
协议是对等实体的不同节点进行通信的规则
协议的内部实现细节由厂家指定
每层调用下层进行服务
服务、接口、协议是OSI参考模型的三个主要概念
数据链路层不具有拥塞控制功能,数据链路层提供物理寻址,成帧,流量控制,差错校验,数据重发
物理层处理信号通过介质的传输
网络层控制报文通过网络的路由选择
数据链路层保证数据的正确的顺序和完整性
网络层、表示层、应用层都会对上层提交的数据加上首部,数据链路层加上首部和尾部,物理层不存在下一层因此不需要封装
只有传输层以上的才有端对端

可同时提供无连接服务和面向连接服务的是网络层
注意osi网络层支持无连接和连接,传输层仅支持面向连接
tcp模型网络层仅有无连接,传输层支持无连接和面向连接

数据的格式转换和压缩在osi的表示层中,表示层主要功能是表示出用户能够看的懂的数据格式,完成数据字符集的转换,数据格式化和文本压缩,数据加密和解密
能够提供流量控制的有数据链路层、网络层和传输层(虽然控制的对象不一样)

物理层实现传输介质的透明传输 数据链路层是先有差错的物理线路变为无差错的数据链路,实现相邻节点之间点对点的数据传输
网络层路由选择,拥塞控制和网际互联 对等层传送的数据的单位都称为协议数据单元(PDU)
传输层称为TCP(报文段) UDP(用户数据报)
网络层称为分组或者数据报 数据链路层称为 物理层称为比特

集线器是一个多端口的中继器,工作在物理层
交换机是多端口网桥工作在数据链路层
路由器是网络层设备

服务访问点SAP是一个层次系统的上下层之间进行通信的接口
物理层的SAP是网卡接口,数据链路层SAP是MAC地址(网卡地址),网络层的SAP是IP地址,传输层是端口号,应用层是用户界面
协议由语法,语义和时序三部分组成,语法“怎么讲” ,语义“讲什么” ,时序“交流的次序”

物理层、数据链路层、网络层提供点对点服务
传输层为网络中的主机提供端对端的通信
端指的是端口,端口号标识了应用层中的不同进程

物理层

报文交换的数据单元是报文,报文大小不固定,在中间结点的接收,存储和转发时间较长也不固定,因此不能用于实时通信
电路交换传输时延小,通信实时性强
报文交换和分组交换采用存储转发,传输时延较大,报文交换数据长度不固定,分组交换固定
虚电路是有连接的,数据报中网络为每一个分组独立的选择路由,不保证可靠性,也不保证分组的按序到达
电路交换是真正的物理线路交换,虚电路是多路复用技术,每条物理线路有多条逻辑上的连接
数据报是无连接的,每个分组在传输中都必须携带源地址和目的地址,虚电路在建立连接后分组只需要携带虚电路标识,不需要带源和目的地址

中继器 工作在物理层,将信号整形后并放大再转发出去,不能连接具有不同速率的局域网
集线器是一个多端口的中继器,集线器从一个端口收到数据后,从其他所有端口转发出去
两个网段在物理层进行互联的时候要求 数据传输速率要相同,但数据连链路层协议可以不同
集线器连接的工作站集合同属于一个冲突域,也同属于一个广播域
基带传输由计算机或终端等数字设备直接发出的信号(二进制数字信号),基带传输中,整个信道只传输一种信号,通信信道利用率低。
频带传输就是先将基带信号变换(调制)成便于在模拟信道中传输的、具有较高频率范围的模拟信号(称为频带信号),再将这种频带信号在模拟信道中传输。
同步通信是双方的时钟要调整到同一个频率,方式是全网同步(用一个主时钟对全网所有节点时钟同步),另一种是准同步(允许有微小误差)
异步通信每个帧发送字符之间的时间间隔是任意的,但接收方必须时刻做好接收的准备

数据链路层

将物理层提供的可能粗错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

  • 无确认的无连接服务(适用于实时通信)

  • 有确认的无连接服务(适用于无线通信)

  • 有确认的面向连接服务
    有连接就一定要有确认
    组帧的目的是为了在出错时只重发出错的帧
    帧定界 将网络层传过来的前后加上帧定界F(01111110)
    最大传送单元
    透明传输 为了避免出现与帧定界符相同的比特组合而误认为是传输结束的方法
    流量控制 如果发送方的发送能力大于接收方的接收能力,接收方在缓存中大量缓存接受的包,直到缓存区满了。满了之后接着就会出现缓冲区溢出,也就是丢包的现象
    因此应该限制发送方的数据流量

  • 停等流量控制(接收方发送一个确认,发送方接收到再发送)

  • 滑动窗口流量控制(一次发送n个,然后等待一个确认 能提高效率 必须为每一个帧分配一个序号,接收端需要按照序号接收,进行校验是否出错)
    差错控制 循环冗余校验
    介质访问控制 介质访问控制子层(MAC)
    为使用介质的每个节点隔离来自同一信道上其他节点所传送的信号。(共用一条信道,两对节点之间的通信课鞥呢会因为干扰而失败)
    信道划分介质访问控制(静态划分信道)->多路复用(频分多路复用FDM 时分多路复用TDM 波分多路复用 WDM 码分多路复用 CDM)
    随机访问介质访问控制(静态划分信道)->胜利者争用信道 (ALOHA协议 时隙ALOHA协议 CSMA协议 CSMA/CD协议 CSMA/CA协议)
    轮询访问介质访问控制(动态划分信道->令牌传递协议

组帧

  • 字符计数法(帧头标明这个帧有多少个字符)
  • 字符填充的首位定界符法(如果有和首位定界符一样的字符,在前面加上转义字符)
  • 零比特填充的首位标识法(使用01111110来标识一帧的开始和结束,发送方在数据流中碰到5个1,就会在后面插入一个0 接收方没收到5个连续的1就删除后面的0)
  • 违规编码法(高高电平和低低电平是违规的,因此视为帧的起始和终止)

差错控制

检错编码:奇偶校验码、循环冗余码
纠错编码:海明码

奇偶校验码
用奇校验码,将1的个数附加一个校验元,如果后来变为偶数,那么就错了,偶校验码同理
循环冗余码
在数据发送之前,先按某种关系附加一定的冗余位,构成符合某种规则的码字后再发送,当要发送的有效数据变化时,相应的冗余位也会发生变化,接收方根据收到的码字是否符合原规则从而判断是否出错
在这里插入图片描述
要传的数据加上余数(冗余码)
接收方除以多项式,如果余数为0那么就是没有错误
具体例子
比如要发送的数据是1101 0110 11 采用CRC校验,生成多项式10011,求最终发送的数据
1、加0 假设生成多项式的阶为r,则加r个0
10011的多项式X{4}+X{1}+X^{0}所以阶为4,需要加4个0 或者多项式N位,阶为N-1(这里有5位,因此阶为4位)
对要发送的数据加四个0后变为1101 0110 11 0000
2、数据加0后除以多项式,余数为冗余码
在这里插入图片描述
够位就写1,不够就写0,最后的余数就是冗余码
接收方将收到的数据除以同样的除数,然后检查得到的余数,如果余数为0那么就确认接受,否则将会丢弃这个帧

海明码
1、求海明码位数
公式:2^{k}≥N+k+1,其中N为有效信息位数,K为校验码位数。
栗子:编码前有效信息为10011101,求校验码位数? k从1开始代,找到能够维持的k最小的
2、求海明码位置
校验码只能放在2的n次方位置(1 2 4 8…),然后将剩余部分填上,以1100为例 110x0xx
3、
考试不考,就不打了,详见我另一个博客添加链接描述

流量控制
停止等待
滑动窗口
对发送方维持一个发送窗口(一般很大),接收方也维持一个接收窗口(一般就一个帧)
发送方可以发送发送窗口里面的帧,接收方按序号往前只要一个帧,收到后给发送方发送一个确认帧,自己窗口往前移动
发送方收到确认帧后,窗口往前移动一格
接收方收到的帧落在接收窗口里面的才收下,其他的一律丢弃,前两种都是按顺序接收帧
停止-等待协议 :发送窗口=1,接收窗口=1 (发送方和接收方单帧传收)
后退N帧协议:发送窗口>1,接收窗口=1 (发送方可以发送多个,GBN协议允许接收方在接收多个后发送最后一个序号的确认帧)
选择重传协议:发送窗口>1,接收窗口>1 (接收方不一定按顺序,等到我窗口里面所有的帧都收到了再交给主机)
接收窗口为1时,可以保证帧的有序接收
添加可靠传输机制,确认和重传(超时重传)。
为了超时重传和判定重复帧,发送方和接收方都需要设置一个帧缓冲区,然后保留数据帧的副本
介质访问控制

信道划分介质访问控制(静态划分信道)
随机访问介质访问控制(静态划分信道)
轮询访问介质访问控制(动态划分信道)

ALOHA协议
当网络中任何一个站点发送数据前,可以不进行检测就发送数据,如果没有收到确认,那么就认为发生了冲突
时隙ALOHA协议
每个站在时间上同步起来,将时间划分为一段段等长的时隙,只能在时隙开始时才能发送一个帧,减少了发送数据的随意性因此减少了冲突
CSMA协议 发送前先侦听一下信道,空闲以后再发送
1-坚持CSMA 先侦听信道,忙则一直侦听,直到不忙再发送
非坚持CSMA 信道忙,等待一个随机的时间后再侦听
p-坚持CSMA 信道忙则一直侦听,等到空闲后,以p的概率发送数据,以1-p的概率推迟到下一个时隙

CSMA/CD协议(检测到空闲不一定是空闲的,2τ(端对端传播时延的两倍-冲突窗口或者叫碰撞窗口)才能确定是否发生碰撞)
先听先发,边听边发,冲突停发,随机重发
只能半双工通信,有线连接的局域网
为了确保发送方在发送数据的同时能够检测可能出现的碰撞,需要在发送完帧之前就能收到自己发送出去的数据,也就是帧的传播时延要至少两倍与在总线的传播时延 最小帧长=总线传播时延数据传输速率2
CSMA/CA协议
不能够实现碰撞检测,因为可能存在隐蔽站问题
站点检测到信道空闲,先等待时间DIFS后,发送整个数据帧
否则执行CSMA/CA退避算法那,选择一个随机回退值
当退避计时器到0,就会发送真个帧并等待确认
发送站收到确认,就知道已发送的帧被目的站接收。
CDMA计算
局域网
计算机与外界局域网的连接是通过一块网络接口板实现,数据链路层设备都是用各个网卡的MAC地址
局域网使用广播通信,网卡从网络上每收到一个MAC帧,首先检查MAC帧的MAC地址,如果是发往本站就留下否则丢弃
MAC不需要帧结束符
以太网MAC帧需要尾部,在数据链路层,帧就需要头也需要尾部
局域网的标准是工作在数据链路层和物理层,数据链路层又被划分为逻辑链路控制(LLC)和介质访问控制(MAC)两个子层
以太网没有网络层,

广域网

广域网是有一些节点交换机以及这些交换机的链路在组成。节点之间都是点对点连接,但通常为了提高网络的可靠性,一个节点交换机通常与多个节点交换机相连,位于物理层,数据链路层和网络层
ppp协议
HDLC协议

数据链路层设备

网桥工作在链路层MAC子层,拥有过滤功能因此位于链路层,它不是物理层的转发器因此不具备过滤通信量的功能。
网桥处理的是帧
物理层的处理器和中继器处理的是信号
网桥能过滤通信量,使用不同的物理层,互联不同的局域网,
不能流量控制(流量控制需要编号,编号在LLC子层),
透明网桥 在建立转发表时,网桥会记下源地址和进入网桥的端口
源路由网桥发送一个发现帧进行探测
局域网交换机是一个多端口网桥,能将网络分为小的冲突域
vlan不仅可以隔离冲突域又可以隔离广播域
冲突域 一次只能有一个发 而交换机可以多个发
广播域 对于交换机我都能广播到,但是我不愿意广播,但只要我想,我还是全部都能广播,所以还是在一个广播域里面
只有路由器既可以隔离冲突域,又能隔离广播域

题目

1、一个网络层分组需要10个数据链路层帧发送,如果假设物理信道的传输成功率是95%,采用无确认无连接服务,那么发送网络层分组的成功率是 (95%)的十次方 有一个数据链路帧失败则失败
2、通过提高信噪比能减弱随机差错
3、信道效率=发送方发送数据所需要的时间占整个发送周期的比率
C为数据传输率,L为帧长,R为单程传播时延,因此发送数据时间L/C,发送周期L/C+2R,信道利用率 这两个相除
4、后退N帧,需要对比特对帧编号,32大小的发送窗口,序列号的个数需要33个,因此需要6位序列号进行编号
5、窗口大小为n的滑动窗口,发送窗口为窗口总数-1,接收窗口为1,因此可以最多确定n-1帧已经发送但是没有确认
6、序号位数为n,发送窗口最大为2^n-1
7、采用后退N帧协议传输数据,发送方窗口尺寸为1000,数据帧长为1000字节,信道带宽为100MB/S,接收方收到数据帧后立即用一个帧(可忽略传输延迟)进行确认,如果发送方和接收方单向传播时延为50ms,那么发送方可以达到的最大数据传输速率为
发送100*1000B=1MB, (有问题)
8、将物理信道的总频带分割为若干子信道,每个子信道传递一路信号称为频分复用
9、FDM适合传输模拟信号,TDM适合传输数字信号
10、同步时分多路复用预先分配时间片,异步时分多路复用动态分配时间片
11、TDM静态划分信道,不会发生碰撞,ALOHA\CSMA\CSM/CD都是动态的随机访问协议,因此会发生碰撞
12、以太网MAC协议提供的是无连接的不可靠服务、
以太网逻辑拓扑是总线,物理拓扑是星形或拓展星形,局域网只工作在OSI的物理层和数据链路层、广域网工作在OSI的下三层,以太网是局域网的一种实现形式,只有当以太网工作在半双工时才需要CSMA/CD解决冲突问题。
以太网看成局域网,以太网地址就是通常所说的MAC地址,以太网地址存储在网卡中
13、两个设备具有相同的静态MAC地址时,会这两个设备都不能正常通信
ARP禁止把同一个MAC地址绑定两个不同的ip地址

14、一个16端口的集线器的冲突域和广播域的个数为1,1

物理链路是指正常的链路,逻辑链路是物理链路加上必要的通信协议
由于数据链路连接具有检测、确认和重传功能,使的不太可靠的物理链路变成可靠的物理链路
数据链路层我要保证交给上层的是正确的,因此不管什么协议我都要进行差错检测

网络层

网络层的路由器称为网关
异构网络互联
路由器功能:路由选择(更新和维护路由表),分组转发(从路由表总选择合适的端口进行转发)
拥塞控制:开环控制,闭环控制
网络层主要目的:在任意节点进行数据报传输
路由器连接的异构网络是数据链路层和物理层均不同
网络中发生了拥塞,根据是随着通信子网负载的增加,吞吐量反而下降
路由表通常包含目的网络和到达该目的网络路径的下一个路由器的ip地址
ip分组的传输通常是源主机和中间路由器都不知道ip分组到达目的主机需要经过的完整路径

路由算法(路由表是由各种算法得到的):
静态路由算法(管理员手动配置)
动态路由算法(相互连接的路由器之间彼此交换信息):距离-向量路由算法,链路状态路由算法

距离-向量路由算法(相互彼此交换信息)
被通告自己没有加上
被通告比自己的近修改
好消息传得快,坏消息传的慢,因此容易导致发生回路,也就是慢收敛容易导致路由回路
链路状态路由算法
一个节点检查所有直接链路的状态,并将所得到的状态发送给网上其他节点,而不仅仅送给直接相连的节点
具有快速收敛的优点,能在网络拓扑发生变化时立即进行路由的重新计算,并及时告知其他路由器
在每个路由器都得到网络的完整拓扑结构后,使用Dijkstra最短路径算法找出到其他路由器的路径长度

ABCDEFG
对于C,来自B带来的向量(5.0.8.12.6.2),来自D带来的向量(16.12.6.0.9.10),来自E带来的向量(7.6.3.9.0.4)
c到b 到d 到e 的距离是6 3 5
综合看来 通过b(11.6.414.18.12.8) 通过d(19.15.9.3.12.13)通过e(12.11.8.14.5.9)
那么c到所有节点的最短路径(11 6 0 3 8) 向量都是按顺序排的 c是第三个

直接交付和间接交付,直接交付在同一个网段中,不涉及路由器,要求发送方和目的站有相同的子网地址
使用分层路由后,路由器将划分为区域,每个路由器知道如何将分组路由到其他所在区域内的目标地址,对其他区域内的结构毫不知情

ipv4
数据链路层的MTU限制着ip数据报的长度,因此需要将ip数据报的数据分开,分开的小的数据报称为片
片包括 标识(原始数据报的标识号)+标志(3个比特位,第一个没意义,后两个分别标识MF位和DF位,DF=0才能被分片 MF=1 还有后续的片 =0是原始数据报最后一个)+片偏移量(原始数据报的第几个)

网络层转发
如果属于相同子网,直接交付

网络地址转换

子网 使两级ip地址变为三级ip地址

ip地址={网络号,子网号,主机号}

无分类域间路由选择(CIDR)
消除传统ABC类网络划分
128.14.32.5/20 截取网络号

得到下一跳路由的ip地址不是直接将改地址填入待发送的数据报,而是将该ip地址转换为MAC地址 放到MAC帧首部,根据这个MAC地址找到下一跳路由器
ip数据报在被路由器转发的时候是不断改变的,因此无法通过MAC地址跨网络进行通信

地址解析协议(ARP) ip地址映射到MAC地址
无论网络层使用什么协议,在实际网络的链路传送数据帧时,最终都必须使用硬件地址

网络控制报文协议(ICMP)
报告差错和异常情况

网络号
A类-2 网络全为0 网络号127
B类-1 128.0不可指派
C类-1 192.0.0不可指派
1、最大主机号 无论什么网络都要减去2
2、网络:下述是第一位是从0开始的一直到10000000,到了第八位,但是从0开始,因此有是2^7, 主机是填满8位 延伸到9位,因为从0开始的因此是8位,因此28-1,但是又有全为0,因此28 再去掉两个全为0和全为1的,因此2^8-2
划分为128个子网 2^7 -1 但是0也可以,因此再加1 一共7位 这里128需要7位才能表示 也就是从00000000到七个1 11111111
记住2^7 也就是7位才能表示128个
1

3、属于自己的势力,网络号不能为0,比如00000000不可以 10000000不可以 11000000不可以,因为全为0表示本网络
4、只要头属于某类地址,那么不管后面网络号占了多少还是属于哪个地址
比如198.90.10.0 198属于c类地址 后面的90是属于c类地址的
A类 0xxxxxxx 从1开始,到第7位填满 也就是2^7 -1=127 但是127又不能用 因此1-127
B类 10xxxxxxxxxxxxxx 有着16-2位(x)要看前八位,因此一共8-2=6位,注意仅看前八位
后面的不算,也就是看到127以内的 126.255.255.254后面的全是主机号
129.255.255.254 从第三段开始是主机号
也就是10xxxxxx 此时最小2^7+1=128 最大10111111 也即2^7+2^6-1=128+64-1=191 C类 110 2^7+2^6+2^5-1=128+64+32-1=223 综上 A类 2 B类 2^7+1 2^7+2^6-1 C类 2^7+2^6+1 2^7+2^6+2^5-1仅需要记住 A类1-126 127为环回
B类 128-191 127环回加一 192-1
C类 192-223 192熟 223 qq号-1

子网也有主机号不能全为0和全为1的规则

NAT规定对目的地址是私有地址的数据报一律不转发,保留了3段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
NAT的表项需要管理员添加,如果不对那么就丢弃不转发

ARP是根据ip地址查询MAC地址 因此是主机要发送数据,如果ARP表中没有那么就会发起ARP请求,就会广播ARP请求分组,因此ARP请求是广播形式,响应的时候ARP响应失单薄发送

ICMP是IP协议,ICMP报文作为IP层数据报的数据,加上IP数据报的首部,组成ip数据报发送出去,如果本身出错那么不再处理。ICMP差错报文有5种,终点不可达、源点抑制、时间超时、参数问题、改变路由,如果因为路由器因为拥塞而丢弃数据报时,将会向源点发送源点抑制报文,让他发慢点
ICMP对已经分片的分组,只会第一个分片产生ICMP差错报文

CIDR是把小的网络汇聚成大的超网
为了避免产生环路,ipv4为ip数据报增加了生存时间(TTL),每经过一个路由器就会减1,当TTL为0时,路由器不再转发6

片段偏移字段的单位是8B,也就是偏移为1则实际偏移了8B,
如果有三片 1480 1480 1020B ,那么偏移量 0 、1480/8、 (1480+1480)/8 偏移量表示的是自己的数据报第一个的单位 比如0 就是08B 第二个1480/88B

报片的有效载荷是8B的倍数,比如MTU为576,头部占了20,数据只能由556,但556不能被整除,因此数据只能填552
MF=0不能确定是独立的数据报还是分片来的,当MF=0,片段偏移量>0时,才能确定是最后一个片段

路由整合 看它们最大的公共部分
在自己的ip网络里面 子网不能全0或者全1 因此4个子网需要3个比特 各个子网的主机也是-2

路由下一跳选最匹配的前缀
如果增加0.0.0.0 则其他的不匹配的都会到这
CIDR广泛使用后允许子网位可以全0或者全1草 有时候不能全0

分配子网时如果有的需要8位,但是给了9位,那么将第9位置为0
另一个需要7位 10
6 110
就像数据结构那样能不和其它干扰最好

IPV4 OX45 00 00 两个数代表一个字节 如果要找位数,一个数代表4个二进制
首部长度单位是4B
片偏移字段单位是8B
请求DCHP给自己分配ip时 源地址ip是0.0.0.0 目的地址是255.255.255.255

IP地址空间192.168.1.0/24 分成了两个子网,没有说怎么分的,这时候观察子网的主机ip,看两个子网主机ip的区别

ipv6
单播、多播、任播
当有重复0出现时可以仅写一个 一个值域开头有0可以仅写没0的 4BF5:0:0:0:BA5F:39A:A:2176
当有相继的0出现可以用::代替 但一个ipv6仅能写一个:: ,因为两个就不知道::代表的有几个
ipv6没有提供校验和字段(数据链路层会丢弃出差错的帧),首部是固定的,因此也不需要首部长度字段,
IPV6不允许分片,如果路由器发现数据报太大时会丢弃
隧道技术是将整个ipv6封装到ipv4的数据部分

路由协议
RIP规定一个路由器只向相邻路由器发布路由信息,OSPF是向整个域洪泛
RIP发送的是整个路由表,OSPF发送的仅是路由表的一部分
RIP不知道全网的拓扑结构,OSPF任何一个路由器都知道自己所在区域的拓扑结构

BGP交换的可达信息是到达某个网络所经过的路径
RIP OSPF BGP 的路由选择过程分别使用 距离向量协议、链路状态协议、路径向量协议
直接封装RIP OSPF BGP 豹纹的协议分别是 TCP UDP IP
OSPF协议根据Dijkstra选择路由 先加入自己然后找距离最小的节点 然后再慢慢变大

路由一般会有聚合 把两个子网聚合在一起,然后再路由表中就一条
转发表是由路由表生成的,路由表又由路由算法得到的,因此路由算法决定转发表的值
路由器的路由表应当 ip地址将它们的子网掩码进行与运算,得到4个子网的网络地址

IP组播
将一个分组发送给多个目的主机,在d类地址中进行分配
组播数据报使用D类ip地址作为目的地址,并且协议字段是2表示使用IGMP
使用组播转发树去避免路由环路

移动ip

题目

1、ipv4以32bit为计数单位,总长度以8bit为计数单位
片偏移量以8B为单位
如果分组长度超过MTU,那么当DF=1,丢弃该组
2、分组转发 最长前缀匹配
比如有个132.19.273.5 存在132.0.0.0/8 132.0.0.0/11 132.19.232.0/22 0.0.0.0/0 看斜线 8对应 11对应 但是前22不对应,这时候对应的最大是11 ,因此应该转发到132.0.0.0/11
3、所有形如127.x.x.x的ip地址都是保留地址用于回路测试
4、可以有的主机地址 2^n -1 无论是abc网还是超网,都是-2
5、在整个传输过程中,ip数据报首部的源ip地址和目的ip地址都不发生变化
6、将ip网络划分为子网好处是减少了广播域的大小
7、网桥不能隔离广播风暴
8、路由器是网络层设备,在路由器上实现了物理层、数据链路层、网络层的功能,因此路由器的传输延迟时间最高

传输层

网络层协议不可靠,传输层为应用层提供可靠的服务
在通信子网中没有传输层,传输层只存在通信子网之外的主机中
网络层提供主机之间的逻辑通信(通信的双方是两台主机,ip给出了两台主机的ip地址)
传输层提供应用进程之间的逻辑通信(端对端的通信)

数据链路层的SAP是MAC地址 网络层是ip地址 传输层时候端口
传输层使用的软件端口
端口号有16位,能提供2的16次方个端口号

端口号拼接到ip地址构成套接字Socket (ip地址:端口号)
主机A发给主机B的报文段中包含目的端口号和源端口号, 当b需要发回一个报文段给A时, 使用源ip地址和源端口号

UDP首部有8个字节 TCP有20个字节
使用UDP的网络应用,数据传输的可靠性由应用层负责

UDP比ip数据报多提供了端口功能
UDP没有流量控制,有复用和分用和差错检测功能

TCP

三次握手
握手吧 同意 伸手
挥手吧 (不舍) 同意 伸手(为啥你还不挥手 主动伸手) 同意

面向连接 能够保证数据到达顺序是正确的
tcp 字节流 全双工 可靠

TCP的确认号是希望收到的下一个报文
为了保证数据传输的可靠性,TCP提供了对报文段确认的机制
发送方的窗口大小取决于接收方允许的窗口和拥塞窗口
滑动窗口是为了流量控制

接收窗口 接收方的容量
拥塞窗口 发送方的网络的当前容量
发送窗口的上限值是上面两个的最小的一个

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:38:29  更:2021-11-29 16:38:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:46:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码