| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络笔记 -> 正文阅读 |
|
[网络协议]计算机网络笔记 |
计算机网络概述ISP 因特网服务提供者 三网:电信,有线电视,计算机网络 三种交换方式:电路交换,报文交换,分组交换 路由器工作方式:分组交换,存储转发 网络分类网络分类: 作用:广域网 WAN,域域网 MAN,局域网 LAN,个人局域网 PAN 使用者:公用,专用,虚拟专用 性能指标
计算为b/s的时候除以8
体系结构网络协议:为进行网络中的数据交换而建立的规则 注意:要实现本层协议,必须要下一层提供的服务 语法:数据与控制信息的格式 语义:需要发出何种控制信息,完成何种动作以及做出何种响应 同步:事件实现顺序的详细说明 五层协议的体系结构 下层为上层提供服务 应用层,运输层,网络层,数据链路层,物理层 TCP/IP 四层:应用层,运输层,网络层,数据链路层 OSI/RM 加一层:物理层 实体:表示任何可发送或接收信息的硬件或软件进程 协议是控制两个对等实体进行通信的规则集合 统一系统相邻两层的实体进行交互的地方称为服务访问点SAP 物理层基本概念物理层考虑的是怎么样才能在连接各种计算机的传输媒体上传输数据比特流 物理层作用尽可能地屏蔽掉不同传输媒体和通信手段的差异 用于物理层的主要任务描述为物理层的规程 特性:机械,电气,功能,过程 传输方式一般是串行传输,即逐个比特按照时间顺序传输 一个数据通信系统包括三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。 常用术语: ? 消息:语音,文字,图片等 ? 数据:运送消息的实体 ? 信号:数据的电气或电磁的表现 ? 数字信号:代表消息的取值是离散的 ? 码元:不同离散数值的基本波形 ? 信道比:信号的平均功率和噪声的平均功率之比 数据通信基础知识有关信道的概念 ? 信道:表示向某一个方向传送信息的媒体 ? 单向通信:只有一个方向的通信 ? 双向交替通信,半双工:通信双方都可发送消息但不能同时 ? 双向同时通信,全双工:可以同时 基带信号:来自信源的信号,带有较多的低频成分 基带调制:编码 带通调制:用载波把基带信号频率范围调到较高的 带通信号:记过载波调制后的信号 模拟信号和数字信号的区:一个连续,一个离散 常用编码方式 ? 不归零制:正电平1,负电平0 ? 归零制:正脉冲代表1,负脉冲代表0 ? 曼彻斯特编码 ? 差分曼彻斯特 基本的带通调制方法 调幅AM:载波的振幅随基带数字信号而变化 调频FM:频率 调相:初始相位 每个码元对应4bit 限制码元在信道上的传输速率的因素有 ? 信道能过通过的频率范围 ? 码元的传输速率是有上限的,否则会出现码间串扰 ? 频带越宽,就可以用更高的速率传送 ? 信噪比 ? 信号平均功率和噪声的平均功率之比,常记作S/N 香农公式 W为信道的带宽 信道传输媒体? 导引型:有线 ? 如 双绞线(用于局域网。类型标准5类和超5类),同轴电缆(有限电视),光纤(分为多模:多条不同角度入射的光线在一条光纤上传输 和单模:一根光纤 ) ? 非导引型:无线 ? 短波通信:有阻挡 ? 微波:无阻挡 ? 地面微波接力通信 ? 卫星通信 ? ISM不用申请,2.4 GHZ~5.8 GHZ 信道复用技术是一种将若干个彼此独立的信号,合并为一个可在同一信道上同时传输的复合信号的方法 频分复用FDM:所有的用户在同样的时间占用不同的带宽资源 时分复用TDM:在不同时间占用同样的频带宽度,可能会造成浪费 统计时分:按动态分配资源 波分复用:光的频分复用,特殊的频分复用 码分复用CDM:用户挑选不同的编码,可以同频率进行通信 ? 比特时间:发送一个比特波形所占的时间 ? 码片:每一个比特时间划分的m个短间隔 ? 码片序列:mbit ? 如发送比特 1,则发送自己的 m bit 码片序列。 ? 如发送比特 0,则发送该码片序列的二进制反码 ? 扩频信道 ? 直接序列扩频:码片序列 ? 跳频扩频:不同信道按一个随机函数产生的序列跳跃 CDMA ? 每隔站分配的码片序列必须各不相同,并且还必须互相正交,实用系统中使用伪随机码序列 计算方法: ? 先将码元转换为m码片序列,1就是正常的,0为反码 ? 发出去的信号是多个站叠加的 ? 接收端要接收的信号就用接收端的码片序列去乘以叠加的信号 ? 按位相乘相加,结果除以m,结果为0则没有这个站的数据,为1,-1则有,且1代表该站发送的是1,-1是0。 数据链路层简单模型 两种通信模型 ? 点对点,广播 点对点信道链路:一条无源的点到点的物理线路段,中间没有任何其他的交换节点 数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上就构成了数据链路,数据链路层发送传送的是帧 ? 常用的是使用适配器(网卡NIC), 一般包括了数据链路层和物理层这两层的功能
? 透明传输:对上层应用不可见,解决在数据中出现控制字符的问题 ? 字节填充或字符填充 ? 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”,十六进制是1B ? 接收端会在将数据送往网络层之前删除插入的转义字符 ? 如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 ? 差错控制:检测数据帧是否出错,一般是CRC校验 ? 比特差错 :在传输过程中0和1发生突变 ? 传输错误的比特占所传输比特总数的比例称为误码率,它与信噪比有很大的关系 ? 无差错接受:凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近 于 1 的概率认为这些帧在传输过程中没有产生差错 ? 可靠传输:发送什么就收到什么,需要加上确认和重传机制 点对点的PPP协议用户使用拨号电话线接入互联网时,用户计算机和ISP进行通信时所使用的数据链路层协议就是PPP
? 最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP) 调用网络协议 ? 认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态IP地址和主从DNS服务器地址 PPPOE提供在广播室网络中多台主机连接到远端的访问集中器(宽带接入服务器)上的一种标准
链路层的广播信道
以太网采用曼彻斯特编码 CSMA/CD协议Carrier Sense Multiple Access with Collision Detection 载波监听多点接入/碰撞检测 ? 多点接入:表示许多计算机以多点接入的方式连接在一根总线上 ? 载波监听:就是用电子技术检测总线上有没有其他计算机发送的数据信号。 ? 碰撞检测:计算机边发送数据边检测信道上的信号电压大小 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送 半双工通信 最短有效帧长:争用期(端到端往返时延),如果经过争用期这段时间还没有检测到碰撞,就肯定这次发送不会发生碰撞,规定发送帧的最小长度,长度64字节。小于64字节的帧都是由于冲突而异常终止的无效帧 强化碰撞:碰撞出现后,停止传输,并且立即发送人工干扰信号,让所有用户知道产生了碰撞 二进制指数型退避算法
集线器采用双绞线的以太网采用星型拓扑结构,星型的中心就是集线器
使用集线器的以太网逻辑上还是总线网,它工作在物理层
MAC地址物理地址 48位,高24位是组织唯一标识符(IEEE注册管理机构向厂家分配的),低24位是扩展唯一标识符(厂家自行指派),保证无重复 全F地址代表广播 特殊位:I/G(0/1):单站/组 L/G:全球管理/本地管理
以太网扩展物理层
链路层
虚拟局域网是局域网给用户提供的一种服务 作用:控制广播域,加强网络安全性和健壮性和降低延迟 原理:在普通MAC帧基础上多了一个VLAN的标志字段,每个帧中发送前要检测这个字段的值,判断有没有权限到目的网络。没有的话就被过滤掉了 高速以太网帧格式不变 T开头是铜缆,F是光纤 10G以上以太网是全双工 网络层虚电路与数据报服务的对比 网际协议IP是TCP/IP体系中主要协议之一 配套使用的其他协议
网络互联中间设备,中继系统
直接交付与间接交付判断标准是交给主机还是路由器 地址及表示方法唯一的32位标识符,由互联网名字和数字分配机构ICANN分配 各类IP地址网络号和主机字段 指派范围 A类减去2的原因是,网络字号全0 的是保留地址,表示本网络,全1 的表示本地软件环回测试即127不是网络地址 不用的特殊的IP 全1就是广播,广播无法辨别来源不能做源地址 全0是自己,自己地址不能做目的 重要特点
IP地址与硬件地址
地址解析协议ARP从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址 ARP高速缓存:每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。 作用:存放最近获得的 IP 地址到 MAC 地址的绑定,以减少 ARP 广播的数量。 一些要点
arp缓存 缓存项目最后的静态和动态 静态就是人为添加的,arp高速缓存不会自己删掉 动态就是通过arp协议获得的,到了生存时间就会删掉 ARP欺骗 通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞或者实现“man in the middle” 进行ARP重定向和嗅探攻击。 arp IP数据报格式由首部和数据两部分组成 首部20字节,固定长度,首部是协议规定了含义,可以解析的字段 首部20字节,所有的IP数据报必须有的,可选字段长度可变 版本4位,根据值来确定IPV4或IPV6 首部长度4位,可表示最大数值是15个单位,一个单位为4字节,则最大值为60字节 总长度16字节,首部和数据之和的长度,最大为65535字节,必须不超过最大传送单元MTU 标识16位,用来产生IP数据报的标识 标志(flag) 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。 片位移:相对于用户数据字段的起点,该片从何处开始 生存时间(TTL):指示数据报在网络中可通过的路由器的最大值 协议8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程 首部检验和16 位,只检验数据报的首部,不检验数据部分,使用简单计算方法(反码求和) ip数据包分片ip转发流程特定主机路由 ? 为特定的目的主机指明一个路由 ? 指定的路由器ip放在可选字段 默认路由 路由器分组算法 直接交付,间接交付,源路由,匹配路由,默认路由 子网划分
子网号的位数中没有0,1,15,16。这没有意义 不同的子网掩码得出相同的网络地址,不同的掩码的效果是不同的
目的ip和源ip的子网掩码做与操作,得到的网络地址,跟源ip所在网络地址对比。相同就是一个子网 CIDR无分类编址无分类域间路由选择 路由聚合构成超网 常用CIDR地址块 有多个匹配项的前提下,路由选择是最长前缀匹配,前缀越长,越精确 ICMP网际控制报文:辅助ip数据包传输 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。 tracert原理:利用ip数据报中的TTL字段和ICMP时间超过差错报告报文实现对源点到终点的跟踪
路由选择协议动态生成路由表 静态路由选择:非自适应路由,人工配制的,不能适应网络状态变化 动态路由选择:自适应 AS自治系统: 自治系统 AS 的定义:在单一的技术管理下的一组路由器 一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略 IGP 内部网关协议 ? 在一个自治系统内部使用的路由选择协议 ? 如:RIP和OSPF EGP 外部网关协议 ? 使用一种协议将路由选择信息传递到另一个自治系统中 ? 如:BGP-4 RIP内部协议 路由信息协议,分布式,基于距离向量的路由选择协议 要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录 网络故障传播的很慢 距离 一个路由器到直接连接的网络的距离定义为1,经过一个路由器就+1 注意 RIP允许一条路径最多只能包含15个路由器(适用于小型互联网) RIP不能在两个网络之间同时使用多条路由 特点 路由表建立 距离向量算法 先看目的(不在则添加),再看下一跳(同则更新,不同则比较(小则更新)) 报文格式 OSPF内部网关协议,开放最短路径优先 要点 链路状态数据库:各路由器之间交换信息形成,是全网的拓扑结构,在全网范围内是一致的 区域:OSPF 将AS自治系统划分为若干更小范围,有32位的区域标识符 主干区域:在上层的区域,标识符规定为0.0.0.0 作用是用来连通其他在下层的区域 特点 OSPF不用UDP而是直接用IP数据报传送,数据报很短,且还要分片传送的数据报丢失一个就必须重传 多路径间的负载平衡:到同一个目的网络有多条相同代价的路径,把通信量分配给这几条路径 分组有鉴别功能,支持可变长度的子网划分和CIDR 规定每30分钟刷新一次数据库的链路状态 分组 基操 BGP外部网关协议 不同AS的路由器之间交换路由信息的协议 BGP发言人 每一个自治系统的administrator要选择至少一个路由器作为发言人,一般来说是边界路由器。 信息交换 BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS 特点 报文 路由器网络层设备 具有多个输入和输出端口,任务是转发分组 结构
转发和路由选择区别:路由表是根据路由选择算法得出的。而转发表是从路由表得出的 分组丢弃 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。 输入和输出端口发生分组丢弃时都会发送一个ICMP包,但源ip不一样 交换结构 把分组从一个输入端口转移到某个合适的输出端口 常用交换方法
IPV6更大地址空间,扩展的地址层次,灵活的首部格式,改进的选项 允许协议继续扩充,自动配置无需DHCP,支持资源预分配,首部为8字节对齐 包括 arp 和 igmp 基本组成组成部分 基本首部是固定的40字节 通信量类:区分不同数据报的类别或优先级 流标号20位:“流”是互联网络上从特定源点到特定终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。 有效载荷长度16位:除基本首部以外的字节数 下一首部: 跳数限制8位:值为0的时候就丢弃 扩展首部: IPv6把原来IPv4首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。 数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部) 地址128位 单播,多播 任播(单播和多播一起):任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。 冒号十六进制计法:0压缩 分类: 未指明地址:只有一个,主机当做源地址使用 环回地址,多播地址:和v4一样 本地链路单播地址:路由器不转发带有链路本地源地址或目的地址的数据报文给其他链路 双协议栈:看到哪个网络就用那种地址,但v6转换v4会有缺失 隧道技术:把 IPv6 数据报封装成为 IPv4 数据报 ICMPv6取消arp协议,通过邻接点请求报文(NS)和邻接点公告报文(NA)的交互来解析链路层地址 IP多播IGMP网际管理协议 让连接在本地局域网上的 多播路由器知道本局域网上是否有主机参加或退出了某个多播组 使用IP数据报传递报文,IGMP报文加上IP首部构成IP数据报 工作阶段
多播路由选择三种方法
专用地址VPN与NAT网络地址转换VPN隧道技术 NATMPLS多协议标记交换 支持上下层,“标记”是指每个分组被打上一个标记,根据该标记对分组进行转发 作为一种IP增强技术 特点
运输层进程之间的通信,是面向连接的运输层协议,为相互通信的应用进程提供逻辑通信,属于面向通信部分的最高层,也是用户功能中的最底层 复用和分用 操作系统的 多个进程(这里一个端口表示一个进程) 利用一个运输层协议(或者称为运输层接口)发送数据称为复用 同理,接收时叫做 分用 屏蔽作用 端口 常用端口号:53(DNS) 25(SMTP) 20 21(FTP) 23(Telnet) 80(HTTP) 443(HTTPS) UDP
TCP传输控制协议,全双工可靠信道 面向字节流 TCP 中的“流”(stream)指的是流入或流出进程的字节序列。 TCP的连接 每一条 TCP 连接有两个端点
停止等待协议
为保证接收方正确接收消息:超时重传 发送方为每一个已发送的分组都设置了一个超时计时器 确认丢失 确认迟到 在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。 自动重传请求 信道利用率 流水线传输 发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认 连续ARQ协议 位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。 发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置 累计确认 回退 报文格式 分为首部和数据,而 TCP 的全部功能都体现在它首部中各字段的作用。 源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 TCP可靠通信的实现 TCP 的滑动窗口是以字节为单位的 B给出窗口值20,和确认好31,那么A就构造从31开始的20个字节的发送窗口 确认号是指下一个希望收到的,假如没收到31,收到了32,33。还是会返回确认号31 发送缓存都是来自应用程序 发送缓存用来暂时存放: 强调 发送窗口和接收窗口不总是一样大,有时间滞后 TCP先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程 接收方必须有累积确认的功能 SACK(选择确认) 用滑动窗口实现流量控制 死锁 解决死锁办法:持续计时器 在收到TCP连接的一方收到对方的零窗口通知,就启动该计时器,若时间到期就发送一个零窗口探测报文对方就在确认这个探测报文段时给出了现在的窗口值。若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。若窗口不是零,则死锁的僵局就可以打破了 拥塞控制和流量控制区别 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素 流量控制往往指点对点通信量的控制,是个端到端的问题(接收端控制发送端) TCP拥塞控制方法: 拥塞窗口:真正的发送窗口值 =Min(公告窗口值,拥塞窗口值) 防止过多的数据注入到网络使网络路由器或链路过载 拥塞判断:
拥塞控制算法 超时
三个确认ACK
**发送窗口上限值=Min [rwnd, cwnd] ** 运输连接管理
应用层DNS域名系统
FTP文件传送协议 传输层采用TCP 万维网WWW,万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息 C/S架构
实例 HTTP
电子邮件SMTP:发送邮件的协议 POP3和IMAP:读取邮件的协议 MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据
DHCP
SNMP简单网络管理 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 6:17:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |