408目录(计算机网络篇)
第1章 计算机网络体系结构
1.1、概述
概念
略
组成
- 从组成部分上看:硬件、软件、协议、
- 从工作方式上看:边缘部分(指那些直接连接到Internet的供用户使用的主机)、核心部分(由大量网络以及连接这些网络的路由器,为边缘部分提供连通和交换服务)
- 从功能子网上看:通信子网、资源子网
功能
- 数据通信
- 资源共享
- 分布式处理
- 负载均衡
分类
按分布范围:
- 广域网WAN
- 城域网MAN
- 局域网LAN
- 个人区域网PAN
按交换技术:
电路交换网络
“电路交换”是一种面向连接的服务。两台计算机进行数据交换之前,首先要一个实际的物理线路连接。电路交换是根据交换机结构原理实现数据交换的。其主要任务是把要求通信的输入端与被呼叫的输出端接通,即由交换机负责在两者之间建立起一条物理通路。电路交换方式的主要特点就是要求在通信的双方之间建立一条实际的物理通路,并且在整个通信过程中,这条通路被独占。
- 电路交换的三个阶段
- 电路建立
- 数据传输
- 电路拆除
- 优点:
- 传输时延小(实时性强)
- 不存在失序问题
- 缺点:
- 建立连接时间很长
- 信道利用率低(因为通信双方独占物理通路)
报文交换网络
**报文交换的基本思想是先将用户的报文存储在交换机的存储器中,当所需要的输出电路空闲时,再将该报文发向接收交换机或用户终端,**所以,报文交换系统又称“存储—转发”系统。报文交换适合公众电报等。
- 特点:
- 不独占线路
- 无线路建立的过程
- 优点:
- 信道利用率高
- 一份报文可以发往多个目的地(复用)
- 缺点:
- 中间节点必须具备很大的存储空间
- 由于“存储-转发”和排队,增加了数据传输的延迟
分组交换网络
分组交换原理与报文交换类似,但它规定了交换设备处理和传输的数据长度(称之为分组)。它可将长报文分成若干个小分组进行传输,且不同站点的数据分组可以交织在同一线路上传输,提高了线路的利用率。可以固定分组的长度,系统可以采用高速缓存技术来暂存分组,提高了转发的速度。
- 优点:
- 可靠性高
- 灵活度高
- 传输质量高
- 缺点:
- 由于每个分组的都需要头部,使得传输效率较低
- 要求交换机有较高的处理能力
- 分组交换可能出现失序,丢失或反复分组。
- 实时性差
性能指标
- 带宽:数字信道传输的最高数据率。(即最大速率)
- 吞吐量:单位时间内通过某个网络的数据量。(某时刻的速率)
- 时延:包括发送时延,传播时延,处理时延,排队时延。(从网络一端发送到另外一端的时间)
- 信道利用率:指出某一信道有百分之多少的时间是有数据通过的
1.2、模型
基本概念
- 网络协议:为进行网络中的数据交换而建立的规则称为网络协议(由语法、语义、同步三部分组成)
- 接口:是同一结点内相邻两层间交换信息的连接点,如服务访问点(SAP)
- 服务:是指下层为紧邻上层提供的功能调用
- 可靠和不可靠服务
OSI七层模型
TCP/IP四层模型
第2章 物理层
物理层解决的问题是什么
确定传输媒体接口的一些特性: 如
1.机械特性::接口的形状,大小,引线数量。
2电气特性:电压的范围。
3.功能特性
4,过程特性:规定连接时各个部件的工作步骤。
通信基础
基本概念
- 数据:指传送信息的实体。分为数字数据和模拟数据
- 传输方式:分为串行和并行传输
- 码元:指用一个固定时长的信号波形表示一位k进制数字,该时长称为码元长度
- 信源、信道、信宿:略
- 通信的交互方式:
- 单向通信,例子:电视广播
- 半双工通信
- 全双工通信
- 速率:
- 码元传输速率(波特)
- 信息传输速率(信息速率、比特率)
- 带宽:
- 原指信号具有的频带宽度,单位Hz
- 又指网络中的最高数据率
- 两大定理:
- 奈氏准测:在任何信道中,码元的传输速率是有上限的,如果超过此上限就会出现严重的码间干扰问题使接收端对码元的完全正确识别成为不可能。B = 2W, X = 2Wlog2V
- 香农定理:信道信息传送速率的上限和信道信噪比及带宽的关系。Rmax=W*log2(1+S/N)。带宽或者信噪比越大,信息的极限传输速率就越高。只要信道的传输速率低于信道的极限传输速率,就一定可以找到某种方法实现无差错的传输。
- 调制:将数据转换为模拟信号
- 编码:将数据转换为数字信号
- 分组交换的两种实现方式(网络层)
- 数据报:
- 虚电路:逻辑上的虚电路,有建立、传输、释放的三个阶段
传输介质
略
物理层设备
略,后面总结
第3章 数据链路层
数据链路层解决的问题:
(1) 封装成帧:在一段数据的前后分别添加首部跟尾部,形成一个帧。
(2) 透明传输:用 比特填充**:连续5个连续的1就插入1个0或字符填充的方式**,在控制字符SOH.EOT的前面插入转义字符ESC。透明传输就是不管所传送的数据是什么样的比特组合,都应当能在链路上传输。
(3) 差错检验:传输过程中可能会出现比特错误,比如1变成0,0变成1,或者帧丢失,帧重复等问题。有循环冗余检验(CRC)、奇偶校验、海明码。
流量控制与可靠传输机制
流量控制:由接收方控制发送方的发送速率,常见方法有:
- 停等协议:发送方每发送一帧,都要等待接收方应答,才能继续发下一帧。
- 滑动窗口协议:接收窗口、发送窗口、确认机制
三个滑动窗口协议
单帧滑动窗口
后退N帧协议GBN
选择重传协议SR
注意:三者的发送和接收窗口大小,还有累积确认和重传机制
介质访问控制
信道划分介质访问控制
- 频分复用FDM
- 时分复用TDM
- 波分复用WDM
- 码分复用CDM:又共享频率,又共享时间
- 基本概念:码片,不同站的码片正交
随机访问介质访问控制
CSMA/CD(802.3):
特点:先听后发,边听边发,冲突停发,随机重发。
重要概念:
- 指数退避算法
- 争用期(2*Tao)端到端的往返时间
- 最小帧长 = 总线传播时间 × 数据传输速率 × 2
CSMA/CA(802.11):发送数据时先广播告知其他结点(信道预约),让其他结点不要发送。RTS和CTS
两者的区别
- (1) CSMA/CD可以检测冲突,但无法避免。 CSMA/CA发送包的同时不能检测到信道上面有无冲突,本结点没有冲突不意味着接收结点出没有冲突,只能尽量避免。
- (2) 传输介质不同,CSMA/CD用于总线式以太网,CSMA/CA用于无线局域网。
- (3) CSMA/CD的基本思想是发送前侦听,边发送边监听,出现碰撞则停止发送。CSMA/CA的基本思想就是发送数据时先广播告知其他结点,让其他结点不要发送。
轮询访问介质访问控制:
令牌传输协议,适合负载高的网络,避免频繁冲突
局域网
略
数据链路层设备
略
广域网
略
第4章
网络层功能
异构网络互联
路由与转发
拥塞控制
流量控制与拥塞控制的区别
流量控制:通常指发送端与接收端之间的点对点通信量的控制,抑制发送端的发送数据的速率
拥塞控制:是一个全局性问题,涉及网络中的所有主机和路由器
路由算法
略
IPv4
IPv4分组格式
几个重要的字段
- 首部长度:占4位,最大值为15,以4B为单位,最大值为60B。
- 总长度:指首部和数据之和的长度,单位为1B。
- 标识:占16位,用于区分分片是否属于同一个分组
- 标志:占3位,DF(don’t fragment)和MF(more fragment),其余一位保留不用。
- 片偏移:指出分片在原分组的相对位置,以8B为单位。
- 生存时间(TTL):指分组在网络中可以通过的路由器数的最大值,每通过一个路由器,TTL减1.
- 源地址字段和目的地址字段
- 首部校验和:只校验首部
IP数据包分片
标识、标志、片偏移
IPv4地址
分类
IP地址范围
特殊IPv4地址
受限广播:路由器不转发,受限广播地址是32位全1的IP地址
直接广播:可跨网段广播,允许通过路由器
**注意:**在所处路由器的广播域内广播,一个子网可能不止一个路由器,受限广播路由器不转发
私有IPv4地址
为了解决 IP 地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。RFC1918 描述了为私有网络预留的 3 个 IP 地址段。
NAT(属于传输层协议)
NAT名字很准确,网络地址转换,就是替换IP报文头部的地址信息。NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。
管理IP地址的两种方法
子网划分:从主机号借几位用作子网号
IP地址 = {<网络号>, <子网号>, <主机号>}
CIDR*(Classless Inter-Domain Routing,无类域间路由选择)*
IP地址 = {<网络前缀>, <主机号>}
注意:路由聚合:即将网络前缀相同的连续IP地址组成**”CIDR地址块“**或称为超网。
网络层的相关协议
ARP
原理
在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。
ARP请求
任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。(见图1)
ARP响应
局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。(见图2)
DHCP
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。
DHCP是应用层协议,基于UDP协议。
ICMP
提高IP数据报交付成功的机会,使用ICMP来让主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,属于IP层协议
两类报文:
- 差错报文:
- 终点不可达
- 源点抑制:由于拥塞而丢失数据报
- 时间超过:TTL为0,例子:Traceroute
- 参数问题
- 改变路由(重定向)
- 查询报文:
- 回送请求和会送报文,例子:PING
路由协议
- 内部网关协议(IGP)
- RIP
- 距离向量
- 优先选择跳数最少的路径
- 使用UDP协议
- 慢收敛现象
- OSPF
- 链路状态
- 直接使用IP协议
- 采用Dijkstra算法
- 外部网关协议(EGP)
- BGP-4
- 路径-向量
- 使用TCP协议
- 在AS中选举BGP发言人来代表不同AS之间的交流
第5章 传输层
传输层功能:
- 提供端到端的通信服务
- 复用和分用
UDP
UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
- 特点
- 面向无连接
- 有单播、广播、多播的功能
- UDP是面向报文的
- 不可靠性
- 头部开销小,传输效率高
- 适用场景
- 适用于实时应用(IP电话、视频会议、直播等)
TCP
TCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的RFC 793定义。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管中的水流。
特点:
- 面向连接
- 仅支持单播传输
- 面向字节流
- 可靠传输
- 提供拥塞控制
- TCP提供全双工通信
使用场景:
- 适用于要求可靠传输的应用,例如文件传输
TCP连接过程(三次握手)
TCP断开连接过程
TCP的机制
可靠机制
- 序号(seq):序号建立在传送的字节流上,而不是建立在报文段之上
- 确认号(ack):期待对方下一个报文段的数据的第一个字节的序号,TCP使用的是累计确认。
- 重传
- 超时:TCP每发送一个报文就对这个报文启动一个计时器。若在计时期间未收到该报文的确认报文,则超时后重传。
- 冗余ACK:连续对同一个报文发送3个确认报文,此时,可以认为该报文后的其他报文都已缺失。
流量控制:
- 接收窗口:是指接收方根据自己的缓存大小发给发送方的窗口值
- 拥塞窗口:是指发送方根据当前网络的拥塞程度而估计的窗口大小
- 发送窗口:以上两者的最小值,为发送方的真正的发送窗口的大小
拥塞控制:
- 慢开始算法
- 拥塞避免算法
- 快重传
- 快恢复
**注意:**超时对应的是慢开始和拥塞避免,冗余ACK对应的是快重传和快恢复
第6章 应用层
HTTP
HTTP简介:
HTTP 协议一般指 HTTP(超文本传输协议)。
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。
HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。
HTTP工作原理:
- HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
- HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
HTTP请求方法:
- GET:GET用于信息获取,而且应该是安全
- POST:POST请求表示可能修改服务器上资源的请求
版本区别:
- 1.0:HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。
- 1.1:HTTP1.1支持长连接和请求的流水线处理,持久性连接,指发送响应仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文;流水线指客户可以逐个地连续发出对多个引用对象的请求,而不用等待服务器返回的响应报文就继续发送请求。
DNS
DNS(domain name service):域名解析服务;
递归查询和迭代查询的区别
(1)递归查询
递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
(2)迭代查询
DNS 服务器另外一种查询方式为迭代查询,DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果
为止提供的服务:
*正向解析:*将我们熟知的域名,解析为地址,方面网络上的通信;
*逆向解析:*将IP地址解析为域名,方便记忆。
解析过程:
网络设备篇
所在层次 | 名称 | 功能 |
---|---|---|
物理层 | 中继器,集线器 | 用来连接物理特性相同的网段,将信号放大,使信号能传的更远。扩大网络传输的距离。集线器可以看作多个接口的中继器 |
数据链路层 | 网桥 | 在数据链路层扩展以太网或者是LAN要使用网桥。网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤 |
数据链路层 | 交换机 | 交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。具有自学习能力,学习的是交换表的內容,交换表中存储着MAC地址到接口的映射 |
网络层 | 路由器 | 路由器的主要工作就是为经过路由器的每个IP数据包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。(简单概括为路由选择、转发) |