计算机网络
计算机网络概念:
-
是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
-
计算机网络是互连的、自治的计算机集合。
互连:互联互通,通信链路
自治:无主从关系
计算机网络的体系结构:
- 几个基本概念
- ISO:国际标准化组织
- OSI/RM:互联网法律上的国际标准
- TCP/IP Suite:因特网事实上的国际标准
- Network Protocols:数据交换遵守的规则、标准或约定
- 网络体系结构:计算机网络各层及其协议的集合
- OIS 七层:尽量降低各层之间的依赖。
- 应用层:能够产生网络流量以及能够和用户交互的应用程序。
- 表示层:加密、压缩,开发人员要参与的。
- 会话层:服务和客户端建立的会话 查木马 netstat -nb(可以查出所有程序的会话)
- 传输层:可靠传输建立会话(下载电影,确保电影中的数据都穿过来了) 不可靠传输建立会话(丢一个数据包,如果没回应,就再丢,QQ聊天发消息是不可靠传输) 流量控制
- 网络层:IP地址编址
- 数据链路层:输入如何封装 添加物理层地址 MAC
- 物理层:电压 接口标准
物理层
概念:
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层的主要任务描述为:确定传输媒体的接口的一些特性。例如:机械特性:接口形状,大小,引线数目。
数据通信:
典型的数据通信系统:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qYPniR74-1623111339079)(file:///C:\Users\Administrator.PC201809101449\AppData\Roaming\Tencent\Users\2408003640\QQ\WinTemp\RichOle\BR3`ATQ4MA1O1N8$BRS5VL2.png)]
数据通信的基础知识:
- 相关术语:
- 通信的目的是传送消息
- 数据(data):运送消息的实体
- 信号(signal):数据的电气的或电磁的表现
- “模拟信号”:代表消息的参数的取值是连续的。
- “数字信号”:代表消息的参数的取值是离散的。
- 码元(code):在使用时间域的波形表示数字信号时,则代表不同离散数值的基本波形就称为码元
- 有关信道的几个基本概念:
- 信道一般表示向一个方向传送信息的媒体。所以咱们说平常的通信线路往往包含一条发送信息的通道和一条接受信息的通道。
- 单向通信(单工通信):只能有一个方向的通信而没有反方向的交互。
- 双向交替通信(半双工通信):通信的双方都可以发送消息,但不能双方同时发送(当然也就不能同时接受)
- 双向同时通信(全双工通信):通信的双方可以同时发送和接收信息。
- 基带信号和带通信号
- 基带信号(即基本频带信号):来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。
- 带通信号:把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
- 因此在传输距离较近时,计算机网络都采用基带传输的方式,比如计算机到监听器、打印机等外设的信号就是基带传输的。
- 几种最基本的调制方法:
- 调幅(AM):载波的振幅随基带数字信号而变化。
- 调频(FM):载波的频率随基带数字信号而变化。
- 调相(PM):载波的初始相位随基带数字信号而变化。
物理层下面的传输媒体:
集线器:
- 工作特点:它在网络中只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送能力。
- 最大传输距离:100m
- 集线器是一个大的冲突域
数据链路层
CSMA
数据链路层的信道类型:
数据链路层使用的信道主要有一下两种类型:
- 点对点信道:这种信道使用一对一的点对点通信方式。
- 广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
链路与数据链路:
- 链路(link):是一条点到点的物理线路段,一条链路只是一条通路的一个组成部分。
- 数据链路(data link):除了物理线路外,还必须有通信协议来空着额这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
- 现最常用的方法是使用适配器(即网咖)来实现这些协议的硬件和软件。
- 一般的适配器都包括了数据链路层和物理层这两层的功能。
帧
- 数据链路层传送的是帧
- 有头和尾
- 数据链路层像个数字管道,常常在两个对等的数据链路层之间画一个数字管道,而在这条数字管道上传输的数据单位是帧。
数据链路层的三个基本问题:
- 封装成帧:
- 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
- 首部和尾部的一个重要作用就是进行帧定界。
- 用控制字符进行帧定界(帧开始符,帧结束符):如果只有开始符,那整个帧就直接放弃。
- 透明传输:
- 若传输的数据时ASCII码中“可打印字符(共95个)”集时,头和尾用不可打印字符。
- 若传输的数据不是仅由“可打印字符”组成时,就会出现问题。可能会出现和尾相同的字符。
- 用字符填充方法解决透明传输问题。
- 如果在封装帧的时候发现内容中有帧结束符,那在他之前田中一个ESC字符。
- 被接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
- 如果转义字符也出现在数据当中,那么应在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面一个。
- 差错控制
- CRC:循环冗余检验
- CRC是无差错接受:它认为“凡是接收端数据链路层接收的帧都没有传输差错”(有差错的帧就丢弃而不接收)
- 要做到“可靠传输”(即发送什么就受到什么)就必须再加上确认和重传机制。
- 考虑:帧重复、帧丢失、帧乱序的情况。
局域网的优点与特点:
- 最主要的特点:网络为一个单位所拥有,且地理范围和站点的数目均有限。
- 最主要的优点:
- 具有广播功能,从一个站点可以很方便的访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和生存性。
共享通信媒体:
- 静态划分信道:每次加一个主机要加一个信道(太麻烦,很少被使用)
- 动态接入控制:
- 随机接入(主要被以太网采用!)
- 受控接入(目前已不被采用。)
以太网的两个标准:
- DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。
- I EEE 的 802.3 标准。
- DIX Ethernet V2 和 I EEE 的 802.3 标准只有很小的差别,因此可以将 802.3的局域网简称“以太网”。
- 严格来说,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网。
以太网和数据链路层的两个子层:
- 为了使数据链路层能更好的适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层:
- 逻辑链路控制 LLC(Logical Link Control)子层
- 媒体接入控制 MAC(Medium Access Control)子层 (基本用的都是MAC)
- 与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
- 由于TCP/IP体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在802委员会制定的逻辑链路控制子层 LLC (即 802.2 标准)的作用已经不大了。
- 很多厂商生产的适配器上就仅装有 MAC 协议,而没有 LLC 协议。
集线器:
- 概念:以太网采用星型拓扑时,星型的中心则增加了一种可靠性非常高的设备,叫做集线器。
- 特点:
- 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性已大大提高了。
- 使用集线器的以太网在逻辑上仍然是一个总线网,各工作站使用的还是CSMA/CD 协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
MAC地址(多媒体设备地址):可以自己更改。
使用网桥扩展以太网:
- 优点:
- 过滤通信量。
- 扩大了物理范围。
- 提高了可靠性。
- 可互连不同物理层、不同MAC子层和不同速率(如10 MB/s 和 100 MB/s 以太网)的局域网。
- 缺点:
- 存储转发增加了时延。
- 在MAC子层并没有流量控制功能。
- 具有不同MAC子层的网段桥接在一起的时候时延更大。
- 网桥只适合于用户数不太多(不能超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
虚拟局域网:
- 交换机的使用使得VLAN的创建成为可能。
- 虚拟局域网: VLAN是由一些局域网网段构成的与物理位置无关的逻辑组。
- 这些网段具有某些共同的需求。
- 每个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。
- 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
网络层
网络层向运输层提供的两种服务:
- 虚电路服务:
- 虚电路表示这只是一条逻辑上的连接,而不是真正的建立了一条物理连接。
- 数据报服务:(互联网用的是数据报服务)
- 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
- 尽最大努力交付的好处:
- 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉(与电信网的交换机相比较)
- 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。
- 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
- 因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
网络互连的设备:
- 中间设备又被称为中间系统或中继(replay)系统。
- 物理层中继系统:转发器(repeater)(集线器)。
- 数据链路层中继系统:网桥或桥接器(bridge)。
- 网络层中继系统:路由器(router)。
- 网络层以上的中继系统:网关(gateway)。
- 路由器:
- 当中继系统是转发器或网桥时,一般不称为网络互连,因为这仅仅使一个网络扩大了,而这仍然是一个网络。
- 网关比较复杂,目前使用较少
- 互联网都是指用路由器进行互连的网络。
- 由于历史原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。
IP协议:
- 简介:网际协议 IP 是TCP/IP 体系中最重要的两个协议之一。
- 网络层使用的四个协议:
- 地址解析协议(APR):Address Resolution Protocol。
- IP地址 → APR → 物理地址
- 逆地址解析协议(RAPR):Reverse Address Resolution Protocol。
- 物理地址 → RAPR → IP地址
- 网际控制报文协议(ICMP):Internet Control Message Protocol。
- 网际组管理协议(IGMP):Internet Group Message Protocol。
- 地址解析协议(APR):Address Resolution Protocol。
网络层四个协议之间的层次:
IP地址及其表示方法:
-
网络地址:网络地址(也可以称为网络号)唯一指定了每个网络。同一网络中的每台计算机都共享相同的网络地址,并用它作为自己 IP 地址的一部分。
-
我们把整个因特网看成一个单一的、抽象的网络。IP 地址就是给接在因特网上的主机(或路由器)的每一个接口分配一个在全世界范围唯一的32位的标识符。
-
IP 地址现在由因特网名字与号码指派公司 ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
-
IP 地址的编址方法:
- 分类的 IP 地址:这是最基本的编址方法,在1981年就通过了相应的标准协议。
- 子网的划分:这是对最基本的编址方法的改进,其标准 [ RFC 950 ] 在1985年通过。
- 构成超网:这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
-
A B C三类地址:
- A类: 1 - 127
- B类:128 - 191
- C类:192 - 223
-
几个特殊地址
- 本地环回地址:127.0.0.1
- 169.254.0.0
- 保留的私网地址:
- 10.0.0.0
- 172.16.0.0 — 172.31.0.0
- 192.168.0.0 — 192.168.255.0
-
子网掩码的作用:将某个 IP 地址划分成网络地址和主机地址两部分。
IP数据报:
一个 IP 数据报由首都和数据两部分组成:
- 首都的前一部分是固定长度,共20字节,是所有 IP 数据报必须具有的。
- 在首都的固定部分的后面是一些可选字段,其长度是可变的。
数据路由:
- 路由器在不同网段转发数据包。
- 网络畅通的条件:能去能回。
- 沿途的路由器必须知道到目标网络下一跳给哪个接口。
- 沿途的路由器必须知道到源网络下一跳给哪个接口。
ICMP:
- 简介:
- 为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议
- ICMP: Internet Control Message Protocol
- ICMP:允许主机或路由器报告差错情况和提供有关异常情况的报告。
- ICMP:不是高层协议,而是 IP 层的协议。
- ICMP:报文作为 IP 层数据报的数据,加上数据报的首都,组成 IP 数据报发送出去。
- ICMP的报文的类型:
- ICMP报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
- ICMP报文有五种:
- 终点不可达
- 源点抑制(Source quench)
- 时间超过
- 参数问题
- 改变路由(重定向)(Redirect)
动态路由协议RIP:
他会选择最佳路线。
内部网关协议 OSPF(Open Shortest Path First):
- 向本自治系统中所有路由器发送消息,这里使用的方法是洪泛法。
- 发送的消息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分消息。
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此消息。
- 简介:
- 开放式动态路由协议
- 度量值 带宽 支持多区域 触发式更新
- 三张表:
- 邻居表 hello
- 链路状态表
- 计算路由表
- OSPF的其他特点:
- OSPF 不用UDP而是直接用 IP 数据报传送。
- OSPF 对不同的链路可根据 IP 分组的不同服务类型而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由。
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫做多路径间的负载平衡。
- 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
- 支持可变长度的子网划分和无类别编址 CIDR。
- 每一个链路状态都带上一个 32 位的序号,序号越大状态越新。
外部网关协议 BGP(不是重点):
- 简介:
- BGP是不同自治系统的路由器之间交换路由信息的协议,BGP 较新版本是 BGP-4
- 边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
- 每一个自治系统的管理员要选择而至少一个路由器作为该自治系统的 “BGP发言人”。
- BGP协议的特点:
- BGP 协议交换路由信息数量不是很多
- BGP 发言人数目不多,路由选择相对简单
- BGP 协议支持CIDR
- BGP 建立时,交换整个路由表但之后只能交换变化部分。
虚拟专用网(VPN):
-
简介:虚拟专用网络(Virtual Private Network,VPN)可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,其核心就是在利用公共网络建立虚拟私有网。
-
本地地址:仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。
-
全球地址:全球唯一的 IP 地址,必须向因特网的管理机构申请。
传输层
传输层的两个协议:
- TCP:分段的,有编号,有流量控制功能,建立会话,可以通过 netstat -n 查询
- TCP 提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
- UDP:一个数据包就能完成数据通信,不建立会话,多播
- UPD 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供任何可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。
传输层和应用层之间的关系:
- http = TCP + 80
- https = TCP + 443
- ftp = TCP + 21
- SMTP = TCP + 25
- POP3 = TCP + 110
- RDP = TCP + 3389
- 共享文件夹 = TCP + 445
- SQL = TCP + 1433
- DNS = UDP + 53 或者 TCP + 53(很少用TCP)
TCP的端口:
- 端口用一个16位端口号进行标志。
- 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。
传输控制协议TCP概述:
- TCP 是面向连接的传输层协议。
- 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
- TCP 提供可靠交付的服务。
- TCP 提供全双工通信。
- 面向字节流。
- TCP 的连接:
- TCP 把连接作为最基本的抽象
- 每一条 TCP 连接有两个端点
- TCP 连接的端点不是主机,不是主机的 IP 地址,不是应用进程,也不是传输层的协议端口。TCP 连接的端点叫做套接字(socket)。
- 端口号拼接到 IP 地址即构成了套接字。
- 套接字(socket) = (IP 地址 :端口号)
- 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。
TCP如何实现可靠传输:
- 以字节为单位的滑动窗口技术
- 超时重传时间的选择:
- TCP每发送一个报文段,就对这个报文段设置一次计时器,只要计时器设置的重传时间到,但还没收到确认,就要重传这一段报文。
拥塞控制:
- 出现资源拥塞的条件:对资源需求的总和 > 可用资源
- 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
- 流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制,它所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接受。
- 发送窗口的实际上限值:发送方的发送窗口的上限值应当取为接收方窗口和拥塞窗口,这两个变量中较小的一个。
TCP的传输连接管理:
- 连接传输有三个阶段:
- 连接建立
- 数据传送
- 连接释放
- TCP 连接的建立都是采用客户服务器方式。
- 主动发起连接建立的应用进程叫做客户。
- 被动等待连接建立的应用进程叫做服务器。
- 用三次握手建立 TCP 连接
应用层
DNS:
- DNS服务作用:
- 负责解析域名
- 将域名解析成 IP 地址
- 安装自己的DNS服务器:
- 解析内网自己的域名
- 降低到 Internet的域名解析流量
- 域环境
域名:
- 根
- 顶级域名:com edu net cn org gov
- 二级域名:91xueit inhe
- 三级域名:dba
DHCP:
- 静态 IP 地址
- 动态 IP 地址
- DHCP 客户端请求 IP地址的流程
- DHCP 服务器必须静态地址
FTP服务描述:
- FTP 连接方式
- 控制连接:标准端口为 21,用于发送 FTP 命令信息。
- 数据连接:标准端口为 20,用于上传、下载数据
- 数据连接的建立类型:
- 主动模式:服务端从 20 端口主动向客户端发起连接。
- 被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接。
- FTP 传输模式:
- 主动模式:ASCII 模式,以文本序列传输数据。
- 被动模式:Binary模式,以二进制序列传输数据。
HTTP:
- URL 的一般形式:
- 由冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。
- URL 的一般形式:<协议> :// <主机> :<端口> / <路径>
- 网站的标识:不同的端口 不同的 IP 地址 使用主机头(域名)
- 使用Web代理服务器访问网站
- 节省内网访问Internet的带宽
- 通过Web代理绕过防火墙
电子邮件:
- 发电子邮件:SMTP
- 收电子邮件:POP3、IMAP