一、计算机网络概述
1.1 概念
定义:计算机网络将地理位置不同的具有独立功能的多台计算机通过通信线路连接实现资源共享和信息传递的计算机系统。
组成:
- 终端系统/资源子网:提供共享的软件资源和硬件资源
- 通信子网:提供信息交换的网络结点和通信线路
类型:
按照拓扑分类
- 星型结构
- 树形结构
- 总线型结构
- 环形结构
- 网状结构
按照范围分类
- 局域网LAN
- 城域网MAN
- 广域网WAN
- 个人区域网PAN:蓝牙耳机、手环……
- 互联网Internet
一个学校的内部网络一般都属于(局域网)。个人区域网是在个人工作区内把个人使用的电子设备,如便携式计算机和打印机等,采用无线技术连接起来的网络,作用范围在10m左右;局域网覆盖的范围往往是地理位置上的某个区域,如某一企业或学校等;城域网一般来说是在一个城市,这种网络的连接距离可以达到10-100公里;这种网络也称为远程网,所覆盖的范围比MAN更广,它一般是在不同城市之间的LAN或者MAN网络互联,地理范围可从几百公里到几千公里。
按照传输方式分类
- 有线网络
- IEEE802.3
- 无线网络
- IEEE802.11
- WLAN无线局域网(wireless)
- WPAN无线个域网
- 有线网络
1.2 体系结构
传输方式
- 按传输方向
- 单工:只能单方向传输
- 双工:在同一时间内,线路上只允许一个方向的数据通过
- 全双工:双方可以同时进行数据通信
- 按传输对象
- 单播:1对1
- 多播:1对多
- 广播:1对All
- 按传输方向
数据交换技术
- 电路交换(一种实时交换,适用于实时要求高的话音通信( 全程<=200 ms ) ):在通信前要通过呼叫为主、被叫用户建立一条物理连接,整个报文从源头到终点连续的传输。在传送信息时,没有任何差错控制措施,不利于传输可靠性要求高的突发性数据业务。
- 报文交换(采用存储-转发方式):整个报文先传送到相邻结点,全部存储下来查找转发表,再转发到下一个结点。存储-转发时延大,随机性也大,过负荷时将会导致报文延迟 。
- 分组交换(可实现多路通信功能):将一个报文分成多个分组,再传送到相邻结点,再查找转发表,转发到下一个结点。数据传输质量高、可靠性高,可使用优先级。提高了链路利用率,经济性好。
通信协议和体系结构
网络协议的三要素
- 语法:指数据与控制信息的结构或格式,确定通信时采用的数据格式,编码及信号电平等,回答“怎么讲”;
- 语义:协议的语义是指对构成协议的协议元素含义的解释“讲什么” ;
- 时序:规定了事件的执行顺序。
OSI/RM参考模型(开放式系统互连参考模型)
下层为上层服务
- 物理层(bit):利用传输介质为通信的网络节点之间建立、维护和释放物理连接,实现比特流的透明传输,进而为数据链路层提供数据传输服务。
- 数据链路层(帧):在物理层提供服务的基础上,在通信的实体间建立数据链路连接提供点到点之间的通信,传输以帧(frame)为单位的数据包,并采取差错控制和流量控制的方法,使有差错的物理线路变成无差错的数据链路。
- 网络层(分组):为分组交换网络上的不同主机提供通信服务,为以分组为单位的数据报通过通信子网选择适当的路由,并实现拥塞控制、网络互连等功能。
- 传输层:向用户提供端到端(end-to-end)的数据传输服务,实现为上层屏蔽低层的数据传输问题,实现对数据的控制和操作功能。
- 会话层:负责维护通信中两个节点之间的会话连接的建立、维护和断开,以及数据的交换。
- 表示层:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据的加密与解密、数据压缩与恢复等功能。
- 应用层:为应用程序通过网络服务,它包含了各种用户使用的协议。
TCP/IP参考模型
- 网络接入层——物理层+数据链路层
- 互联网络层(网际层)——网络层
- 传输层
- 应用层——会话层、表示层、应用层
IP over everything是指IP协议可以在各式各样的网络构成的互连网上运行,Everything over IP是指IP协议可以直接地为传输层TCP,间接地为应用层的各个协议提供服务。
分析OSI-RM和TCP/IP体系结构的对应关系
二、物理层
2.1 物理层的基本概念
2.1.1 四大特性
- 机械特性:(物理)接口是怎么样的
- 电气特性:用多少伏的电
- 功能特性:线路上电平电压的特性
- 过程特性:实现不同功能所发射信号的顺序
2.1.2 两种信号
- 模拟讯号(连续的)特定频段的信号——有更加丰富的表现形式
- 数字信号(离散的)不是1就是0
2.1.3 调制和编码
- 调制:模拟信号的转换
- 编码:数字信号转换
- 步骤:采样、量化、编码
- 区别:
- 数据可以通过编码手段专成数字信号,页可以通过调制手段将数据转为模拟信号
- 数字数据可以通过数字发送器转化为数字信号(编码),也可以通过调制器转化为模拟信号(调制)
- 模拟数据可以通过PCM编码转化为数字信号(编码),也可以通过放大器调制器转化为模拟信号(调制)
2.1.4 传输介质
- 双绞线:
- 屏蔽双绞线STP:抗干扰强、贵
- 非屏蔽双绞线UTP:便宜、抗干扰弱
- 制作标准
- 568B:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
- 568A:1、3调换,2、6调换——>绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
- 光纤
- 单模光纤
- 多模光纤
- 同轴电缆
- 无线:无线信号频率 IEEE802.11
2.1.5 三大部分
- 源系统:发送数据的一端
- 传输系统:传输过程中的各种传输介质
- 目的系统:接受数据的一端
2.2 物理层的基本通信技术
2.2.1 四种信道复用技术
复用技术:一种在传输路径上综合多路信道,然后恢复原机制或解除终端各信道复用技术的过程(将多种不同的信号在同一信道上进行传输,复用技术主要是用于解决不同信号传输时应该如何区分)
- 频分复用FDM:划分不同频率来并行传输信号
- 时分复用TDM:划分不同时间段来传输信号
- 波分复用WDM:根据光波的波长进行传输(合波器耦合)
- 码分复用CDM:在同一时间同一频率根据传输的数据码进行区分
2.2.2 数据的传输方式
- 通过同时间传播数量分为
- 串行传输
- 并行传输(数据以成组的方式传输)
- 通过数据报文的双方行为分为
- 同步传输(双方需要建立一个连接)
- 异步传输(接收方不需要准备好就可以接收)
- 通过传输的信号分为
- 基带传输:传输数字信号
- 频带传输:传输模拟信号 (300-3400Hz)
- 传输方向:单工、半双工、全双工
- 传输对象:单播、组播、广播
三、数据链路层
3.1 数据链路层基础概论
3.1.1 数据链路层的概念及功能
- 数据链路层是在物理层和网络层之间的协议,提供相邻结点的可靠数据传输。
- 功能:链路管理、帧同步(帧定界)、流量控制、数据和控制信息的识别、寻址、透明传输、差错控制
3.1.2 帧的概念
帧是数据链路层的协议数据单元
组成
- 帧头——源MAC地址、目的MAC地址、类型
- 数据
- 帧尾——校验
以太网帧格式与局域网帧格式:
3.1.3 以太网数据帧中的MAC和LLC
MAC 介质控制访问(对接物理层)
数据帧的封装/卸载,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性
LLC 逻辑控制访问(对接网络层)
LLC子层的主要功能为传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输。
该协议位于数据链路层,数据链路层分为上层LLC(逻辑链路控制),和下层的MAC(媒体访问控制),MAC主要负责控制与连接物理层的物理介质。
3.1.4 两种传输方式
- 单播
- 广播
3.1.5 三个基本问题
- 封装成帧:就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流之后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和接收。如:PPP协议等
- 透明传输:指不管所传的数据是怎么样的比特组合,都应能够在链路上传送
- 差错检测:收到正确的帧就要想发送端发送确认,发送端在一定期限内如果没有收到对方的确认,就认为出现了差错,因而就要进行重传,直到收到对方的确认为止。如:奇偶校验、汉明码、CRC等
3.1.6 以太网中的设备
- 集线器Hub(物理层)共享
- 交换机Swith(数据链路层)独享
- 网桥(两个端口的交换机,两层之间)
桥和以太网交换机可以划分冲突域,但是不可以划分广播域。路由器和三层交换机既可以划分冲突域,也可以划分广播域。
3.2 数据链路层的通信协议
3.2.1 冲突域和广播域
冲突域
交换机的每一个端口都是一个冲突域;冲突域只能发生在一个网段
广播域
交换机的所有端口都在一个广播域,如果两个交换机直连那么这两个交换机的所有端口都在一个广播域;广播域在一个或多个网段
区别
- 广播域可以跨网段
- 冲突域是基于第一层(物理域),而广播域是基于第二层(数据链路层)
- HUB的所有端口都在同一个广播域、冲突域内。Switch所有端口都在同一个广播域中,而每一个端口就是一个冲突域
- 同一个冲突域共享带宽
3.2.2 虚拟局域网VLAN
- 定义:VLAN即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
- 优点和目的
- 划分广播域
- 增强局域网的安全
- 提高健壮性
- 灵活构建工作组
- 划分VLAN的方式
- 基于端口
- 基于子网
- 基于MAC地址
- 基于协议
- 基于匹配策略
3.2.3 CSMA/CD-检测总线型网络是否冲突
CSMA/CD即载波监听/冲突检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点,总线型网络传输数据。
CSMA/CD 在发送过程中继续检测信道。如果发现冲突,立即停止发送,并通知全网。等待随机时间后重新监听和发送。有效提高了网络传输效率。
工作原理: 载波监听 冲突检测 多路访问
四大要点:
- 先听再发
- 边听边发
- 冲突停止
- 延迟后发
3.2.4 PPP(点对点)协议-单播
- 数据链路层的协议,用于封装数据帧
- 包含三个组成部分 将 IP 数据报封装到串行链路的方法、 链路控制协议 LCP (Link Control Protocol)、网络控制协议 NCP (Network Control Protocol)。
- PPP 是面向字符的,所有的 PPP 帧的长度都是整数字节。
- 透明传输的方法
- 当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样,零比特自动插入/删除)。
- 当 PPP 用在异步传输时,就使用一种特殊的字符填充法:
- 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
- 若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。
- 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
3.2.5 CRC循环冗余校验
循环冗余码 (CRC)是一种特殊的线性分组码。 循环冗余码各码组中的码元循环左移(或右移),所形成的码组仍然是一个许用码组(全零码组除外),称为循环性。 循环冗余码具有较高的检错能力。
生成多项式g(x):在(n,k)循环码中,存在惟一的最高幂次为(n-k),最多 k-1 个连续的 0 项,且常数项必须为1 的码多项式g(x),此码多项式的幂次最低(0 元除外);其它所有的码多项式都能被g(x)整除;并且g(x)是 x^n+1 的一个因式。 g(x)称为该编码集的生成多项式。
循环冗余码CRC的编码步骤(发送端):
- 求\(M(x)\)所对应的码字,可先求\(M(x)\),并乘以\(x^{n-k}\)
- 然后被\(G(x)\)除,求其余式
- 得\(x^rM(x)\)
循环冗余码CRC的检错步骤:
用生成多项式\(G(x)\)除接受下来的\(x^rM(x)R(x)\),如果能整除,则表明传输无差错
例题:一个报文的比特序列为1101011011通过数据链路传输,采用CRC进行差错检测,如所用的生成多项式为g(x)=x^4+x+1,试说明: 1)CRC码的产生过程及所产生的发送序列; 2)CRC码的检测过程(有差错及无差错)。
四、网络层
4.1 网络层作用
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。(提供端到端的服务)
单位:分组
4.2 网际层协议IP
4.2.1 ARP地址解析协议
- 解决同一个物理网络上的主机或路由器的 IP 地址和硬件地址的映射问题。(根据IP地址获取物理地址)
- 如果目的主机和源主机不在同一个局域网上,先选路,再通过 ARP 找到下一跳路由器在本 LAN 的硬件地址,然后把分组发送给它,让它把分组转发给下一个网络。从IP地址到硬件地址的解析是自动进行的,是由主机所运行的TCP/IP内核实现的。
- RARP(反向的地址解析协议)的作用是完成物理地址到IP地址的解析。
4.2.2 ICMP网际控制报文协议
- ICMP允许主机或路由器向源站报告差错情况和异常情况,还包括提供信息的功能。即通过ICMP传输控制信息,控制信息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,如ping命令。
- ICMP报文分为两大类:差错报告报文和询问报文。 差错报告报文有:目的不可达报文、超时报文、源抑制报文等。 提供信息的报文有:回应请求与应答报文、时间戳请求与应答报文、地址掩码请求与应答报文等。
4.2.3 IGMP网际组管理协议
- IGMP是用于管理网路协议多播组成员的一种通信协议
- IP主机和相邻的路由器利用IGMP来创建多播组的组成员。组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费。
4.2.4 IP数据报
版本——4 bit,指IP协议的版本
首部长度—— 4 bit,单位是4字节,最大值是60字节
总长度——16bit,首部和数据之和的长度,单位为字节 总长度必须不超过最大传送单元 MTU,以太网中MTU最大值1500
标识(identification) ——16bit,一个计数器,用来产生 数据报的标识。当数据报需要分片时, 此标识表示同一个数据报的分片
标志(flag)—— 3 bit, 1位保留, DF位用来表示 数据报是否允许分片,MF位表示是否有后续分片
片偏移——13 bit,分片在原分组中的相对位置,以 8 个字节为偏移单位
生存时间TTL(Time To Live)——8bit,数据报在网络中的寿命,其单位为秒。在目前的实际应用中,以“跳”为单位
协议——8 bit,字段指出此数据报携带的数据使用何种协议 以便目的主机的 IP 层将数据部分上交给相应处理过程
协议字段值 1 2 3 4 6 8 17 88 89 协议名 ICMP IGMP GGP IP TCP EGP UDP IGRP OSPF 首部检验和——16 bit,只检验数据报的首部 ,不包括数据部分,采用简单的计算方法
源地址和目的地址都各占 4 字节(32bit)
4.3 IP地址
4.3.1 IP地址的概念
- IP地址:是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
- 组成:一个IP地址由4个字节,32位组成,一般用点分十进制的方式表现。
- IP地址和MAC地址的区别:
- IP地址是一个逻辑地址,MAC地址是一个物理地址
- MAC地址是唯一的,但IP地址不是唯一的
- MAC地址主要是工作在第二层,IP地址在网络层
- MAC地址是48位的,而IP地址一般是32位(IPv6时128位)
- IP地址的分配取决于网络拓扑,MAC地址分配取决于制造商
4.3.2 IP地址的组成
- 组成:
- 网络地址/网络号:标识某一个网段的地址
- 主机地址/主机号:标识某一台设备的地址
- 子网掩码:用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
- 网络号、子网号全1
- 主机号全0
4.3.3 IP地址的分类
网络类别 | 最大网络数 | 最后一个可用的网络号 | 第一个可用的网络号 | 网络最大的主机数 | 默认子网掩码 |
---|---|---|---|---|---|
A | 126(\(2^7-1\)) | 1 | 126 | 16,777,214 | 255.0.0.0 |
B | 16,384(\(2^14\)) | 128.0 | 191.255 | 65,534 | 255.225.0.0 |
C | 2,097,152(\(2^21\)) | 192.0.0 | 223.255.255 | 254 | 255.255.255.0 |
- 特殊地址
- 网络地址:主机号为全0的地址不可用
- 广播地址:主机号为全1的地址
- 回环地址:127.0.0.0
4.3.4 IPv6
IPv6地址由128位,16个字节组成,一般表现形式为十六进制
每个16bit的值用十六进制表示,各值之间用冒号分隔。
- 零压缩,即一连串连续的零可以为一对冒号所取代
- 一个IPv6地址中,零压缩只能使用一次
IPv6数据报格式
- 通信种类——8bit,区分不同数据报的类别或优先级。
- 流标号——20bit,“流”是互联网络上从特定源到特定终点的一系列数据报,“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有相同的流标号。
- 有效载荷长度——16bit
- 下一个首部——8bit,相当于IPv4的协议字段或可选字段
- 跳数限制——8bit,源站在数据报发出时即设定跳数限制
- IPv6数据报的目的地址分3中基本类型地址
- 单播:点对点
- 组播:一对多
- 任播:任播的目的站时一组计算机,但数据报在交付时只交付给其中一个,通常是距离最近的一个
IPv4向IPv6过渡的方法
- 双协议栈:指一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6
- 隧道技术
4.4 子网划分
4.4.1 定义
使得多个物理网络可以共用一个网络前缀,这种做法叫作划分子网(subnetting) 即可变长子网掩码VLSM。通过子网划分可以减少地址的浪费,使得IP地址的使用更为科学。
4.4.2 方法
通过修改子网掩码,起到更加精细划分网络号和主机号的作用
IP 地址 = [ 网络号,子网号,主机号 ]
子网地址 = 子网掩码 AND IP 地址
为了反映哪些位用于子网号,采用子网掩码:网络号、子网号对应位为1,主机号对应位为0。
一般从主机号的最左边开始连续借用若干位用作子网号,位数是可变的。
4.4.3 VLSM可变长子网掩码
为了有效的使用无类别域间路由(CIDR)和路由汇聚(route aggregation)来控制路由表的大小,它是网络管理员常用的IP寻址技术,VLSM就是其中的常用方式,可以对子网进行层次化编织,以便最有效的利用现有的地址空间。
- 无类别域间路由CIDR:消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。 IP 地址从三级编址(使用子网掩码)又回到了两级编址。
- 使用“斜线记法”: 即在IP地址后面加上一个斜线“/”,后面写上网络前缀所占的比特数,如20.5.0.0/10,还可简写为 20.5/10。
- 128.14.32.0/20表示的地址块共有个地址(主机号的比特数 = 32-20)。 该地址块的起始地址是 128.14.32.0。 该地址块的最小地址:128.14.32.0即 10000000.00001110.00100000.00000000 ,该地址块的最大地址:128.14.47.255 即1000 0000.0000 1110.0010 1111.1111 1111
- 路由聚合:路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
- 路由表中的每个项目由“网络前缀/掩码”和“下一跳地址”组成。 在查找路由表时可能会得到不止一个匹配结果。 应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。 网络前缀越长,其地址块就越小,因而路由就越具体。
4.5 网络层的路由
4.5.1 路由的定义
路由是指分组从源到目的地时,决定端到端路径的网络范围的进程。路由是知道报文转发的路径信息,通过路由可以确认转发IP报文的路径。
路由是网络层最主要的工作任务
4.5.2 路由器
- 网络层的基本设备
- 用作数据转发
- 一个端口代表一个网段,路由器中存放着通往各个网段的表格,叫路由表
- 路由表又称路由择域信息库,是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库,路由表存储着指向特定网络地址的路径
4.5.3 网关
- 网关是一个IP地址,用于不同网段之间的通信
- 网关又称网间连接器、协议转换器。用于两个高层协议不同的网络互联。网关既可以用于广域网互连,也可以用于局域网互连。
4.5.4 路由获取方式
- 直连路由
- 静态路由
- 动态路由
4.5.5 路由的配置方式
- 静态路由
- 由管理员手动配置,配置方便、对系统要求低,适用于拓扑结构简单稳定的小型网络
- 缺省路由: 是一种特殊的路由,当报文没有在路由表中找到匹配的具体表现项时才能使用的路由
- 动态路由
- 通过动态路由协议来实现不同网段的路由互通
- 动态路由协议自己的路由算法,能够自动适应网络拓扑结构的变化,适用于具有一定数量的三层设备的网络
- 动态路由协议:
- RIP路由信息协议——内部网关协议
- 基于矢量的动态路由协议
- 适用于中小规模的网络拓扑,最大跳数为15
- RIP 协议中的“距离”也称为“跳数” (hop count),因为每经过一个路由器,跳数就加 1。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。RIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”。 RIP 允许一条路径最多只能包含 15 个路由器。
- 运行RIP的路由器仅和相邻路由器交换信息。 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- OSPF开放式最短路径优先协议——内部网关协议
- 基于链路状态的协议
- 使用SPF算法,计算最短路径。树形协议。收敛速度比RIP更加迅速
- 适用于大规模的网络拓扑
- 划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。
- BGP——外部网关协议
- BGP是自治系统间的路由协议,自治系统之间的路由协议
- IS-IS——内部网关协议
- 类似OSPF,IS-IS是基于路由划分区域,而OSPF基于接口划分区域
- RIP路由信息协议——内部网关协议
4.6 IP地址转换
VPN
- 隧道传输
- 加密技术
NAT(网络地址转换)
- 基本网络地址转换(NAT) 并发访问特定外部地址存在限制;
- 网络地址和端口转换(NAPT) 通过对TCP和UDP端口以及IP地址的转换允许并发访问。
五、传输层
5.1 传输层概论
5.1.1 传输层的作用
提供端到端的服务
传输层的作用是在通信子网提供的服务的基础上,为应用层提供有效的、合理的传输服务。使高层用户在相互通信时不必关心通信子网实现细节和具体服务质量。
5.1.2 端口和套接字
端口
- 端口就是传输层服务访问点 TSAP(也就是与应用进程的接口)
- 端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
- 端口是应用层进程的标识,字长16bit。
- 分类
- 熟知端口:其数值一般为 0~1023。这些端口号是TCP/IP体系确定并公布
- 一般端口:用来随时分配给请求通信的客户进程
端口 21(20) 23 25 53 69 80 161 443 协议 FTP TELNET SMTP DNS TFTP HTTP SNMP HTTPS 中文 文件传输协议(21建立连接,20传输数据) 远程登录 电子邮件传输协议 域名系统 简单文件传输协议 超文本传输协议 简单网络管理协议 超文本传输安全协议 TCP TCO TCP TCP 套接字
- \(套接字=<IP地址,端口号>\)
- \(五元组 = <源IP地址,源端口,目的IP地址,目的端口,传输协议>\)
5.2 传输层两个重要协议
5.2.1 TCP传输控制协议
TCP是TCP/IP体系中较为复杂的协议,是传输层的重要协议。
TCP数据报
- 源端口和目的端口字段(2 字节),传输层的复用和分用功能都要通过端口才能实现。
- 序号字段(4字节),TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
- 确认号字段(4字节),期望收到对方的下一个报文段的数据的第一个字节的序号。
- 数据偏移(4bit),指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。4字节为计算单位。
主要特点
- 是面向连接的传输层协议
- 提供可靠的交付服务
- 提供全双工通信
- 面向字节流
窗口
- 固定窗口
- 滑动窗口
- 用于拥塞处理和流量控制
三次握手——建立连接
- 四次挥手——释放连接
保证可靠传输的三个方面
序号确认
- TCP 将所要传送的整个应用层报文看成是一个个字节组成的数据流,然后对每一个字节编一个序号。 在连接建立时,双方要商定初始序号。 TCP 就将每一次所传送的报文段中的第一个数据字节的序号,放在TCP首部的序号字段中。
- TCP 的确认是对接收到的数据的最高序号表示确认。确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。
- 为提高效率,TCP可以累积确认,即在接收多个报文段后,一次确认。
超时重传
定时器设置
拥塞控制
- TCP 采用大小可变滑动窗口的方式进行流量控制。窗口大小的单位是字节。
- 根据接收方接收能力,通过接收窗口rwnd(receive window)可以实现端到端的流量控制,接收端将接收窗口rwnd的值放在 TCP 报文的首部中的“窗口”字段,传送给发送端。
- 发送窗口的取值依据拥塞窗口和接收窗口中的较小的值,即 Min[rwnd,cwnd]
- 慢启动:指在TCP刚建立连接或者当网络发生拥塞超时的时候,将拥塞窗口cwnd设置成一个报文段大小,并且当cwnd≤ssthresh时,指数方式增大cwnd(即每经过一个传输轮次,cwnd加倍)。
- 拥塞避免:当cwnd≥ssthresh时,为避免网络发生拥塞,进入拥塞避免算法,这时候以线性方式增大cwnd(即每经过一个传输轮次,cwnd只增大一个报文段)。
- 快速重传:快速重传算法是指发送方如果连续收到三个重复确认的ACK,则立即重传该报文段,而不必等待重传定时器超时后再重传。
- 快速恢复:快速恢复算法是指当采用快速重传算法的时候,直接执行拥塞避免算法。这样可以提高传输效率。
TCP的应用
- FTP,要求保证数据传输的可靠性
- TELNET,要求保证字符正确传输
- SMTP,POP3,要求保证邮件从发送方正确到达接收方
- HTTP,要求可靠的交换超媒体信息
5.2.2 UDP用户数据报协议
- 在IP数据报之上增加了一些功能,增加了复用和分用、差错检测功能
- 主要特点
- 无连接
- 不可靠的服务
- 面向报文,没有拥塞控制
- 开销较小、传输效率较高
- UDP数据报
- UDP的应用
- DNS——域名系统,为了减少协议的开销
- DHCP——动态主机配置协议,需要进行报文广播
- TFTP——简单文件传输协议,实现简单文件需同时向许多机器下载
- SNMP——简单网络管理协议,网络上传输SNMP报文的开销小
- RIP——路由选择信息协议,路由协议开销小
- RTP、RTCP——实时传输协议、实时传输控制协议,因特网的实时应用
六、应用层
6.1 应用层的作用
通过位于不同主机中的多个应用进程之间的通信和协同工作来完成。应用层的内容就是具体定义通信规则。
6.2 部分应用层协议与传输层协议的对应关系
6.3 网络应用模式、服务器工作模式
以大型机为中心的应用模式 该应用模式又称为分时共享模式,也就是面向终端的多用户计算机系统(主从结构)
以服务器为中心的应用模式 该应用模式又称为资源模共享模式,向单个用户站点提供灵活的服务,但管理控制和系统维护工具的功能较弱。
客户机-服务器模式 (Client/Server, C/S) 传统的网络基本服务基本上都是基于客户机-服务器模式 如:Telnet, WWW, E-Mail, FTP等。
C/S 应用模式:应用层的许多协议都是基于客户服务器(C/S)方式。 客户端(Client)和服务器端(Server)都是指通信中所涉及的两个应用进程。 所描述的是进程之间服务和被服务的关系。客户端是服务请求方,服务器端是服务提供方。
基于Web的客户机/服务器应用模式
对等网络应用模式(Peer-to-Peer, P2P)
6.4 服务器工作方式
- 循环方式:只进行1个进程,按请求先后顺序依次响应
- 并发方式:同时运行多个进程,每个进程分别对某个特定进程做响应
6.5 网络基本服务
6.5.1 DNS(域名系统)命名系统
- DNS是一个分布式数据库联机系统
- 采用客户端/服务器应用模式
- client:从域名到IP地址的解析是由若干个域名服务器程序完成
- 采用层次树状结构的命名方法,为主机命名
- 任一连接在因特网上的主机或路由器,都有一个唯一的层次结构名字,即域名
- 用点号“.“ 将各级域名分开,但域层次顺序自右到左,即右侧的域最高
- 域名解析服务
- 根域名Serve
- 正向域名解析
- 递归解析
- 重复解析
- 反向域名解析
- 正向域名解析
- 授权域名Serve
- 本地域名Serve
- 根域名Serve
6.5.2 FTP(文件传输协议)
- Internet的文件传输标准
- 允许在联网的不同主机和不同操作系统之间传输文件,并允许含不同文件的结构和字符集
- 面向连接的C/S服务,使用两条TCP连接来完成文件传输
- 连接专用于控制(Port:21)
- 连接为数据连接(Port:20)
- 一个FTP进程可服务多个客户进程
- FTP进程分为
- 主进程:负责接收客户请求,并建立从属进程
- 从属进程:负责处理请求,并按需可以多个从属进程
- 主进程打开Port21,倾听客户的连接请求(一直打开)——控制连接
- 当Client发出数据传输命令式,Serve(Port:20)主动与客户建立一条数据连接——数据连接
6.5.3 DHCP(动态主机配置协议)
- BOOTP(引导程序协议)使用UDP协议,C/S服务模式,静态配置协议
- 即插即用连网
- 允许一台计算机加入新网可自动获取IP地址
- 允许用户动态使用网络资源
- 使用C/S服务模式
- 某主机需要IP地址,向DHCP服务器发送广播报文(广播发现报文)
- DHCP查找该计算机配置文件作出响应,若找不到则分配一个IP地址(提供报文)
- 主机只接收第一个响应
- 并不是每个网络上都有DHCP服务,使每个网络中至少有一个DHCP中继代理(配置了DHCP Serve的IP),中继代理收到主机发送的广播发现报文后,以单播方式向DHCP服务器转发
6.5.4 电子邮件系统与SMTP(简单邮件传送协议)
组成构件
- 用户代理UA
- 邮件服务器
- 电子邮件所用协议,如SMTP、POP3(用于从目的邮件服务器上读取邮件)、MINE……
SMTP协议三个阶段
- 建立连接
- 邮件传送
- 连接释放
6.5.5 万维网与HTTP
万维网WWW
- 用链接的方式能从因特网上的一个站点访问另一个站点
- 是一种多媒体超文本信息服务系统
- C/S工作模式
- 在一个客户程序主窗口上显示出的万维网文档称为页面
- 组成:浏览器、Web服务器和超文本传输协调
怎样标志分布在整个因特网上的万维网文档?
使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。使每一个文档在整个因特网的范围内具有惟一的标识符 URL。
如何实现WWW上各种超链的链接
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
怎样使用户能够很方便地找到所需的信息?
为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)
万维网工作过程
七、网络管理与网络安全
7.1 网络管理
网络管理系统也称网络的操作管理和维护系统
7.1.1 网络管理的主要功能
- 配置管理:初始化网络,配置网络,以提供网络服务。目的是实现某个特定功能或使网络性能达到最优。
- 性能管理:对网络性能、资源利用率及有关通信活动进行分析,以帮助网络管理人员评价网络资源及相关通信活动的情况和效率。
- 故障管理(最基本):网络管理最基本的功能,主要对网络设备和服务器故障进行检测、诊断,故障排除、维修及报告。
- 计费管理:记录网络资源的使用,目的是控制和监测网络操作的费用和代价。可以估算出用户使用网络资源可能需要的费用和代价,以及已使用的资源。 计费管理是对网络资源和通信资源的使用进行计费,对用户的访问活动建立详细记录。 计费系统还具有安全管理功能。
- 安全管理
7.1.2 网络管理协议(一种通信标准)
三种
- 基于OSI参考模型:公共管理信息服务和公共管理信息协议(CMIS/CMIP)
- 基于TCP/IP体系:
- 简单网络管理协议SNMP
- CMIP
SNMP
- 采用管理进程-代理进程模型,C/S工作方式,管理协议在应用层上运行。
- 三个基本元素:管理者、代理、管理信息库(MIB)
- SNMP 的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。 在网络正常工作时,SNMP 可实现统计、配置、和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。
- SNMP三个主要部件
- 管理信息结构(SMI):描述管理信息的标准符号。
- 管理信息库(MIB):包含待管理的各种变量。MIB定义的通用化格式支持对每一个新的待管理服务定义其特定的MIB组,使厂家有标准方法以定义其专用的管理对象。
- 管理协议,也称 SNMP。
- SNMP 是有效的网络管理协议——使用探询(至少是周期性地)以维持对网络资源的实时监视,同时也采用陷阱机制报告特殊事件,使得 SNMP 成为一种有效的网络管理协议。 SNMP具有网络管理所要求的主要管理功能。
7.2 网络安全
7.2.1 计算机网络安全威胁因素
- 截获——从网络上窃听他人的通信内容。
- 中断——有意中断他人在网络上的通信。
- 篡改——故意篡改网络上传送的报文。
- 伪造——伪造信息在网络上传送。
截获信息的攻击称为被动攻击,更改信息和拒绝用户使用资源攻击称为主动攻击。
7.2.2 安全目标
可靠性、可用性、保密性、完整性、不可抵抗性
7.2.3 数据加密技术
- 对称加密(加密与解密密钥相同
- 非对称加密RSA
- 加密密钥(公开)PK
- 解密密钥(保密)SK
八、无线网络
- 注:部分内容参考本篇文章CSDN【期末复习】计算机网络