文件名称:
计网C学生整理复习大纲.md
所在目录:
计算机网络
文件大小:
28.89 KB
下载地址:
文本预览:
written by CurryWOE
# 网络的定义
用 *通信线路* 将分散在不同地点的、并 *具有独立功能的多个计算机系统* 互相连接,按照 *网络协议* 进行数据通信,实现 *共享资源* 的计算机的集合
# 网络的分类
1. 按网络规模、地理覆盖范围、所采用的传输技术划分
* 局域网(LAN)
* 城域网(MAN)
* 广域网(WAN)
* 个人区域网(PAN)
2. 按网络拓扑结构划分
* 总线型网络
* 环型网络
* 星型网络
* 树型网络
* 分布式网络
3. 按传输介质划分
* 有线网
* 无线网
4. 按通信方式划分
* 点对点传输网络
* 广播式传输网络
5. 其他分类方式
* 对等网和客户机/服务器模式(C/S)
* 公用网和专用网
* Internet和Intranet
# Internet是什么
译名互联网
全球最大、最重要的计算机网络
# 互联网发展的三个阶段
1969-1990:从单个网络ARPANET向互联网发展
1985-1993:建成了三级结构的互联网(主干网-地区网-校园网/企业网)
1993-现在:全球范围的多层次ISP结构的互联网(主干ISP-地区ISP-本地ISP)
ISP(互联网服务提供者),比如电信移动联通
# 互联网的组成
* 边缘部分(资源子网)
由所有连接在互联网上的 *主机* 组成,由用户直接使用,用来进行通信和资源共享
* 核心部分(通信子网)
由大量 *网络* 和连接这些网络的 *路由器* 组成,为边缘部分提供服务
# 三种交换方式
电路交换,分组交换,报文交换
互联网的核心部分采用分组交换
## 电路交换
必须经过“建立连接-通话-释放连接”三个步骤的交换方式
优点|具体描述
---|:--:|
时延小|由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小
时间性强|通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强
无失序|双方通信时按发送顺序传送数据,不存在失序问题
使用面广|电路交换既适用于传输模拟信号,也适用于传输数字信号
控制简单|电路交换的交换设备(交换机等)及控制均较简单
缺点|具体描述
---|:--:|
信道利用低|电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,不适合计算机通信(突发性),因而信道利用低
终端要求|电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信
## 分组交换
采用存储转发技术,发送端,把报文划分成短等长数据段
数据段前面添加首部构成分组(又称包,首部->包头)
分组是数据传输单元,根据首部包含目的地址、源地址等信息转发
每个分组独立选择传输路径
路由器负责转发分组,创建和动态维护转发表
优点|具体描述
---|:--:|
高效|在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
灵活|为每一个分组独立地选择最合适的转发路由
迅速|以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
可靠|保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
缺点|具体描述
---|:--:|
排队延迟|分组在各路由器存储转发时需要排队
不保证带宽|动态分配
增加开销|各分组必须携带控制信息;路由器要暂存分组,维护转发表等
失序|当分组交换采用数据报服务时,可能出现失序、丢失或重复分组
## 报文交换
和分组交换同样是存储转发,每个结点接受整个报文,整个报文一次发送完毕
优点:
* 无需建立连接,用户随时发送报文
* 不同时间一段一段地占用通信线路,通信线路利用率高
缺点:
* 报文交换的时延较长,实时性差
* 只适用于数字信号
* 报文长度没有限制,中间转发结点存储空间大
## 三种交换方式的比较
传送大量数据,传送时间远大于连接建立时间,电路交换最快
报文交换和分组交换不需要预先分配传输带宽,传送突发数据时可提高整个网络的信道利用率
由于一个分组的长度往往远小于整个报文的长度,分组交换比报文交换时延小,更灵活
# 性能指标(比如时延的计算)
## 速率(数据率)
最重要的一个性能指标
数据的传送速率(bit/s或b/s或Kbit/s或Mbit/s或Gbit/s)
1Byte=8bit
## 带宽
带宽越宽,最高速率越高
单位(Kb/s或Mb/s或Gb/s或Tb/s)
## 吞吐量
单位时间内通过网络(或信道、接口)的实际数据量
## 时延
数据从网络的一端传送到另一端所需的时间
### 发送时延(传输时延)
发送数据帧的第一个bit算起,到该帧的最后一个bit发送完毕所需的时间
发送时延 $=\frac{数据帧长度(bit)}{发送速率(bit/s)}$
### 传播时延
电磁波在信道中传播所花费的时间
传播时延 $=\frac{信道长度(m)}{信号在信道上的传播速率(m/s)}$
### 处理时延
主机或路由器在收到分组时,为处理分组所花费的时间
### 排队时延
分组在路由器输入输出队列中排队等待处理和转发所经历的时延
排队时延的长短取决于网络当时的通信量
---
总时延等于四个时延加起来
高速链路,提高了数据发送速率,减小了发送时延,但在链路上传播速率不变
## 时延带宽积
表示链路的数据流量,流量大,利用率高。时延带宽积=传播时延*带宽
## 往返时间
表示从发送方发送完数据,到发送方收到接收方的确认总共经历的时间
有效数据率 $=\frac{数据长度}{发送时间+往返时间}$
# 两种体系结构
OSI七层模型(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层)
TCP/IP四层模型(应用层,传输层,网际层,网络接口层)
工业界会把网络接口层拆成数据链路层和物理层
# 网络协议三要素
网络协议简称协议,是为进行网络中的数据交换而建立的规则、标准或约定
三要素:
* 语法:数据与控制信息的结构或格式
* 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
* 同步:事件实现顺序的详细说明
# 物理层基本概念
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体
作用:尽可能屏蔽掉不同传输媒体和通信手段的差异
用于物理层的协议也常称为物理层规程
## 物理层的主要任务
确定与传输媒体的接口的一些特性(机械特性,电气特性,功能特性,过程特性)
## 码元
时间轴上的一个信号编码单元
二进制只有01两个码元
码元速率是信号每秒变化次数,单位波特率
$比特率=波特率\times\log_2 M$
M 是码元个数
# 数据通信的基本知识(奈氏准则、香农公式)
## 奈氏准则
$C=2W\log_2 M$
C 最大码元速率,W 带宽,M 码元个数
## 信噪比
信号的平均功率和噪声的平均功率之比,记为 $S/N$,单位分贝(dB)
$信噪比=10\log_{10}(S/N)$
## 香农公式
$C=W\log_2(1+S/N) (bit/s)$
C 信道的极限信息传输速率,W 带宽
# 几种传输媒体的特点(双绞线、光纤等)
传输媒体:数据传输系统中在发送器和接收器之间的物理通路。
## 导引型传输媒体
### 双绞线
绞合度越高,可用的数据传输率越高
信号衰减随频率升高而增大
### 同轴电缆
很好的抗干扰特性,被广泛用于传输较高速率的数据
### 光缆
传输带宽远远大于目前其他各种传输媒体的带宽
通信容量非常大
传输损耗小,中继距离长,对远距离传输特别经济
抗雷电和电磁干扰性能好
无串音干扰,保密性好,不易被窃听或截取数据
体积小,重量轻
## 非导引型传输媒体
### 微波
优点
* 微波波段频率很高,频段范围很宽,其通信信道的容量很大。
* 工业干扰和天电干扰对微波通信的危害小,微波传输质量较高。
* 与相同容量和长度的电缆载波通信比较,微波接力通信建设投资少,见效快,易于实施。
缺点
* 相邻站之间必须直视(常称为视距 LOS (Line Of Sight)),不能有障碍物,存在多径效应。
* 有时会受到恶劣气候的影响。
* 与电缆通信系统比较,微波通信的隐蔽性和保密性较差。
* 对大量中继站的使用和维护要耗费较多的人力和物力。
## 卫星通信
通信容量大,通信距离远,通信比较稳定,通信费用与通信距离无关。
传播时延较大:在 250~300 ms之间
# 信道复用技术(FDM和TDM的特点等)
复用:允许用户使用一个共享信道进行通信,降低成本,提高利用率。
目前多路复用方法中用得最多的有两大类:频分多路复用(FDM)和时分多路复用(TDM)。
频分多路复用一般用于模拟通信;时分多路复用一般用于数字通信。
## 频分复用FDM
将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
所有用户在同样的时间占用不同的带宽(即频带)资源。
## 时分复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)
每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙
每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的
TDM 信号也称为等时 (isochronous) 信号
所有用户在不同的时间占用同样的频带宽度
# 数据链路层的三个基本问题
## 封装成帧
在数据前后添加首部和尾部,构成帧
首部尾部作用是帧定界,确定帧的界限
控制字符作为帧定界符,SOH表示帧的首部开始,EOT表示帧的结束
## 透明运输
因为数据段可能恰好有控制字符SOH/EOT
透明意为对上层透明
做法是对数据段的EOT/SOH前面加ESC,类似转义
## 差错控制
传输过程出现比特差错
误码率=传输错误的bit占全部bit的比率
# CRC的计算
在发送端,先把数据划分为组。假定每组k个比特。
设数据段M,M后面添加n位0
新数除以,事先选定的,n+1位的,除数P,得余R,R是n位
R拼在M后面,发送
接收方反向处理即可得到余数,余数为0则无差错,接受,否则不接受
除法是逐位异或
# PPP协议的字节填充、比特填充方法
对于点对点的链路,最广泛使用的数据链路层协议是点对点协议
异步传输用字节填充,同步传输用零比特填充
字节填充就是转义,零比特填充是5连1后填0
# 以太网CSMA/CD协议(求最短有效帧长)
以太网是数据链路层的电气标准的一种技术
CSMA/CD译名载波监听多点接入/碰撞检测
多点接入:总线型网络,多台计算机以多点接入的方式连接在一根总线上
载波监听:在任何时刻,每个站都不停地检测信道
碰撞检测:检测信道的电压变化,超过阈值则认为发生碰撞(冲突)
检测到冲突之后会停止发送数据,发生冲突到停止发送期间发送的bit数,的最坏情况下,称之为最短帧长,$=2\tau=\frac{2dis\times带宽}{spd}$
停止之后根据一个算法随机地选取2τ的正整数倍时间后重新发送
# 网卡作用、MAC地址、MAC帧格式
通信适配器(又称网卡)
CPU/存储器和网卡是并行通信,局域网和网卡是串行通信
网卡作用:
* 串行/并行转换
* 缓存数据
* 在OS安装设备驱动程序
* 实现以太网协议
---
硬件地址(又名物理地址/MAC地址)
48位,局域网上的每台计算机固化在适配器的ROM中的地址
适配器把收到的MAC帧过滤,留下发往本站的帧
---
以太网V2的MAC帧格式:
目的地址、源地址、类型(标志上一层用什么协议)、数据、FCS(检验传输的信息)
# 集线器、以太网交换机(VLAN)
为了在物理层扩展以太网,可以用光纤或集线器
当以太网传输媒体是双绞线,采用星形拓扑,星形中间增加高可靠性设备,叫集线器
使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
但是碰撞域更大了
---
为了减小碰撞域,在数据链路层扩展以太网,可以用以太网交换机
实质上是一个多接口网桥,通常有十几个或更多的接口。
每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
以太网交换机具有并行性:
* 能同时连通多对接口,使多对主机能同时通信。
* 相互通信的主机都独占传输媒体,无碰撞地传输数据。
* 每一个端口和连接到端口的主机构成了一个碰撞域。
每个用户独享带宽,增加了总容量
---
以太网交换机的自学习功能是维护交换表
收到帧:
如果交换表有帧的源地址,更新进入的接口或有效时间
如果没有,插入信息(源地址、进入的接口,有效时间)
转发帧:
如果交换表有帧的目的地址,向表中记录的接口转发
如果没有,向所有接口转发(除进入的接口)
如果记录的接口就是进入的接口,则丢弃,因为两台机子连着同一个接口,无须经过交换机转发
---
为了解决广播风暴,利用以太网交换机实现虚拟局域网(VLAN)
VLAN是由一些局域网网段构成从与物理位置无关的逻辑组,是一种服务,不是新型局域网
VLAN改善性能,管理,成本,安全性
# 10Base-T、100Base-T
10表示10Mbit/s,BASE表示基带,T表示双绞线
---
网际协议(IP),IPv4(32位)是第一代网际协议,IPv6(128位)是第二代网际协议,课本大部分讲的是IPv4
IPv4配套的3个协议:
* 地址解析协议ARP
* 网际控制报文协议ICMP
* 网际组管理协议IGMP
---
连接不同局域网,需要用中间设备互连
层|中间设备
---|:--:|
运输层及以上|网关
网络层|路由器
数据链路层|网桥或交换机
物理层|转发器
# ARP协议
地址解析协议,作用是从 IP 地址解析出 MAC 地址
## ARP高速缓存
存放IP地址到MAC地址的映射表
映射表动态更新(新增或超时删除)
## ARP工作
A向B发送IP数据报时,先在ARP高速缓存找B的IP地址对应的MAC地址,没有就运行ARP找,找到之后把MAC地址写入MAC帧发送
## 运行ARP
本局域网广播,有设备的IP地址和ARP请求的IP地址相同就返回响应信息
---
对于不同局域网的两台设备,采取的是广度优先搜索样子的广播
# IP地址的组成、IP地址的分类、私有地址
IP地址32位,8位一组转为十进制,小数点分隔
互联网的每台主机或路由器的每个接口分配一个全世界唯一的IP地址
IP地址由网络号和主机号组成
---
IP地址的分类:
* A类地址:0+网络号+主机号
* B类地址:10+网络号+主机号
* C类地址:110+网络号+主机号
* D类地址:1110+多播地址
* E类地址:1111+保留(实验用途)
---
特殊的IP地址:
网络号|主机号|源地址使用|目的地址使用|意思
---|---|---|---|---|
0|0|可以|不可|在本网络上的本主机
0|x|可以|不可|在本网络上主机号为X的主机
全1|全1|不可|可以|只在本网络上进行广播(各路由器均不转发)
Y|全1|不可|可以|对网络号为Y的网络上的所有主机进行广播
127|非全0或全1的任何数|可以|可以|用于本地软件环回测试
---
私有地址:属于非注册地址,专门组织内部使用
若要与外部通信,私有地址通过防火墙的NAT(网络地址转换)变成公有地址
# 子网划分、子网掩码、网络地址和广播地址的计算
为了解决有些地址浪费有些地址不够用的现象,把主机号划分出一部分作为子网号
只给出一个IP地址无法判断是否使用子网划分,使用子网掩码可以找出子网号
掩码32位,某位为1,IP地址的对应位为网络号和子网号,否则为主机号,一般主机号前几位作为子网号
网络地址=IP地址按位与子网掩码
广播地址=网络地址的主机号改为全1
# 给定IP地址范围,能给各部门分配CIDR地址块(CIDR斜线记法,最小地址、最大地址)
无分类域间路由选择(CIDR):不像之前那样划分ABC类地址和划分子网
IP地址=网络前缀+主机号
网络前缀位数不固定
CIDR斜线记法:a.b.c.d/n,n表示IP地址前n位是网络前缀
网络前缀相同的连续IP地址组成一个CIDR地址块
一个CIDR地址块包含的IP地址数目$=2^{主机号的位数}$
全0和全1主机号地址一般不使用
IP地址范围差值取log2就是主机号位数,网络前缀位数=32-主机号位数
最小地址是主机号全0,最大地址是主机号全1
# IP分片
当数据长度太长,大于最大传输单元(MTU),需要分片传输
接收端需要把分片的信息重新组合在一起,因此路由器在IP数据报的首部记录了一些相关信息
* 总长度,IP数据报的总长度
* 标识,同一个IP数据报的分片有相同标识
* 标志,最低位是MF,为1表示后面还有分片,为0表示最后一个分片。倒数第2位是DF,只有为0才允许分片
* 片偏移,分片在整组中的偏移,以8个字节为偏移单位
# 路由协议的分类(IGP和EGP等)
数据传输路线不唯一,为了更好的规划数据传输路线,有了路由选择协议
把整个互联网划分为许多较小的自治系统 AS,采用分层次的路由选择协议。
* 自治系统之间的路由选择,外部网关协议EGP(常用BGP-4)
* 自治系统内部的路由选择,内部网关协议IGP(常用RIP、OSPF)
自治系统(AS):在单一技术管理下的许多网络、IP地址以及路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。每一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略
# RIP协议和OSPF协议的要点、BGP的基本原理
路由信息协议(RIP),分布式,基于距离向量
要求每个路由器维护以自己为起点的其他所有网络的距离记录
距离=经过的路由器数+1,直接相连的距离为1,当距离大于等于16视为无穷
* 仅和相邻路由器交换信息
* 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
* 按固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
路由表例子:
目的网络|距离|下一跳R
---|---|---|
--|--|--|
路由表更新用距离向量算法
```cpp
//RO把R1发来的表修改后,与自己表中的条目进行比较
if("新的项目? "){
"添加到RO的路由表";
}else if("相同的下一跳? "){
"把RO中的条目更新";
}else if("距离更短? "){
"距离更短,更新";
}else {
"什么也不做";
}
```
优点:
* 实现简单,开销较小
缺点:
* 网络规模有限。最大距离为 15
* 交换的路由信息为完整路由表,开销较大
* 坏消息传播得慢,收敛时间过长
---
开放最短路径优先(OSPF),分布式,基于链路状态
* 采用洪泛法,向本自治系统中所有路由器发送信息
* 发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
* 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量
* 当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。
链路状态数据库:
* 每个路由器最终都能建立
* 全网的拓扑结构图
* 在全网范围内是同步的
* 每个路由器使用链路状态数据库中的数据构造自己的路由表
优点:
* 减少了整个网络上的通信量
* 减少了需要维护的状态数量
缺点:
* 交换信息的种类增多了
* 使 OSPF 协议更加复杂了
其他特点:
* 对于不同类型的业务可计算出不同的路由
* 可实现多路径间的负载均衡
* 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能
* 支持可变长度的子网划分和无分类编址 CIDR
* 32 位的序号,序号越大状态就越新
OSPF收敛比RIP快,RIP适用于中小型网络,OSPF适用于大型网络
---
边界网关协议(BGP),基于路径向量
BGP发言者:AS的边界路由器,负责AS之间交换信息
BGP发言者之间建立TCP连接,又称eBGP连接
AS内,路由器也用TCP连接,AS内所有路由器全连通,又称iBGP连接
AS内部运行IGP(OSPF或RIP),iBGP。
AS之间运行eBGP。
iBGP和eBGP是同一个BGP,但是通报前缀规则不同,从iBGP获得的消息不能通报给另一个iBGP,而eBGP无此限制
BGP路由=前缀+BGP属性
前缀:指明到哪一个子网(用 CIDR 记法表示)
BGP 属性:最重要的两个属性是
* 自治系统路径 AS-PATH
* 下一跳 NEXT-HOP
属性 AS-PATH,不允许出现相同的 AS 号
4种BGP报文:open,update,keepalive,notification
---
...|UDP|TCP
---|---|---|
名称|用户数据报协议|传输控制协议
运输协议数据单元|UDP报文或用户数据报|TCP报文段
连接方式|无连接|面向连接
建立连接|无需|需要
给出确认|无需|需要
信道可靠性|不可靠|可靠
广播多播功能|提供|不提供
开销|少|多
运输协议数据单元(TPDU):两个对等实体通信的数据单位
# UDP的首部格式、主要特点
首部格式=源端口+目的端口+长度+检验和
特点:
* 无连接。发送数据之前不需要建立连接
* 使用尽最大努力交付。即不保证可靠交付
* 面向报文。UDP 一次传送和交付一个完整的报文
* 没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低。很适合多媒体通信的要求
* 支持一对一、一对多、多对一、多对多等交互通信
* 首部开销小,只有 8 个字节
# TCP的主要特点
TCP连接的端点是套接字,套接字=(IP地址:端口号),套接是用管子把两根管子接起来,字是标识
TCP连接::={套接字1,套接字2}
IP地址和TCP连接是1对多,端口号和TCP连接是1对多
* TCP 是面向连接的运输层协议
* 每一条 TCP 连接只能是一对一
* TCP 提供可靠交付的服务
* TCP 提供全双工通信。
* 面向字节流
* 字节流指流入或流出进程的字节序列
* 虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流
* 发送和接受的字节流一样,但是数据块(大小/数量)不一样
# 端口的作用和范围
协议端口号,简称端口,是通信的抽象终点
复用:任意应用层进程都可以通过运输层端口向下层传输
分用:下层收到的信息需要通过运输层端口指明交付的应用层进程
软件端口:
* 协议栈层间的抽象的协议端口
* 是应用层的各种协议进程与运输实体进行层间交互的地点
* 不同系统实现端口的方法可以不同
硬件端口:不同硬件设备进行交互的接口
端口号16位,只具有本地意义,标志不同进程
有服务器端使用的端口和客户端使用的端口
# 流量控制的特点
流量控制:让发送方的发送速率不要太快,使接收方来得及接收
滑动窗口实现流量控制,具体就是发送方数据一块一块地发送,接收方回复信息,告诉发送方还能发送多少数据
控制TCP发送报文段的时机的3种机制:
* 缓存数据足够多就发送
* 应用程序进程要求发送
* 发送方的计时器时限到了就发送
接收方回复不能太频繁,因此有2种情况才回复:
* 缓存能容纳最长报文段
* 缓存有一半空闲空间
# TCP连接建立和释放过程
TCP建立连接的过程叫握手,在客户和服务器之间交换3个TCP报文段
服务器进程先创建传输控制块TCB,准备接受连接请求
客户发送连接请求报文段,首部SYN=1,seq=x
SYN=1,表示这个报文段是连接请求报文段
seq是为了超时重传
服务器收到连接请求报文段,若同意,发回确认报文段,SYN=1,ACK=1,ack=x+1,seq=y
ACK=1,表示这个报文段是确认报文段
客户收到确认报文段,再发回确认报文段,ACK=1,seq=x+1,ack=y+1
---
TCP连接释放的过程叫挥手,在客户和服务器之间交换4个TCP报文段
客户发送连接释放报文段,FIN=1,seq=u
FIN=1,表示这个报文段是连接释放报文段
服务器发回确认报文段,ACK=1,ack=u+1,seq=v,TCP连接属于半关闭状态,服务器发送数据,客户仍要接受
若服务器已经没有要发送给客户的数据,其应用程序进程通知TCP释放连接,FIN=1,ACK=1,ack=u+1,seq=w
客户发回确认报文段,ACK=1,ack=w+1,seq=u+1
客户发出后,经过时间等待计时器设置的2MSL后,客户才释放TCP连接,因为客户发回的确认报文段可能丢失
---
# 了解应用层包含的主要协议及其下层(运输层)所使用的协议
* 域名系统(DNS):提供主机名和IP地址之间相互转换的服务,下层是UDP
* 文件传输协议(FTP):提供传送文件的服务,下层是TCP
* 简单文件传送协议(TFTP):提供传送文件的服务,下层是UDP
* 远程终端协议(TELNET)):允许用户在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上,下层是TCP
* 超文本传送协议(HTTP):定义浏览器怎样向万维网服务器请求万维网文档,以及服务器如何把文档传输给浏览器,下层是TCP
* 简单邮件传送协议(SMTP):规定在两个相互通信的 SMTP 进程之间应如何交换信息,下层是TCP
* 邮局协议(POP3)、网际报文存取协议(IMAP):提供邮件读取的服务,下层都是TCP
* 动态主机配置协议(DHCP):允许一台计算机加入网络和获取 IP 地址,而不用手工配置,下层是UDP
* 简单网络管理协议(SNMP): IP网络管理网络节点,下层是UDP
# DNS协议的原理及其使用的端口号
互联网使用的命名系统,把人们使用的域名转换为IP地址
域名是树状结构命名法,域名唯一,域名结构=... .三级域名.二级域名.顶级域名
DNS端口号53
## 工作原理
客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域 (根的子域) 的主域名服务器的地址。
本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
重复第四步,直到找到正确的纪录。
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
# WWW万维网服务
分布式超媒体系统,大规模的、联机式的信息储藏所,方便从互联网上的一个站点访问另一个站点,从而主动获取信息,访问方式称为链接,在一个客户程序主窗口上显示出的万维网文档称为页面
C/S架构,浏览器/万维网服务器
使用统一资源定位符(URL)标志文档,使用HTTP实现链接,使用超文本标记语言(HTML)显示文档
# 在浏览器中输入一个网址后涉及到的访问过程和主要协议(包括前面章节内容)
1. 浏览器分析超链指向页面的 URL
2. 浏览器向 DNS 请求解析 jsjxy.cuit.edu.cn 的 IP 地址
3. 域名系统 DNS 解析出我校计算机学院服务器的 IP 地址
4. 浏览器与服务器建立 TCP 连接
5. 浏览器发出取文件命令:GET /bkjy/zysz.htm
6. 服务器给出响应,把文件 zysz.htm 发给浏览器
7. TCP 连接释放
8. 浏览器显示“计算机学院专业设置”文件 zysz.htm 中的所有文本
# 网络的定义
用 *通信线路* 将分散在不同地点的、并 *具有独立功能的多个计算机系统* 互相连接,按照 *网络协议* 进行数据通信,实现 *共享资源* 的计算机的集合
# 网络的分类
1. 按网络规模、地理覆盖范围、所采用的传输技术划分
* 局域网(LAN)
* 城域网(MAN)
* 广域网(WAN)
* 个人区域网(PAN)
2. 按网络拓扑结构划分
* 总线型网络
* 环型网络
* 星型网络
* 树型网络
* 分布式网络
3. 按传输介质划分
* 有线网
* 无线网
4. 按通信方式划分
* 点对点传输网络
* 广播式传输网络
5. 其他分类方式
* 对等网和客户机/服务器模式(C/S)
* 公用网和专用网
* Internet和Intranet
# Internet是什么
译名互联网
全球最大、最重要的计算机网络
# 互联网发展的三个阶段
1969-1990:从单个网络ARPANET向互联网发展
1985-1993:建成了三级结构的互联网(主干网-地区网-校园网/企业网)
1993-现在:全球范围的多层次ISP结构的互联网(主干ISP-地区ISP-本地ISP)
ISP(互联网服务提供者),比如电信移动联通
# 互联网的组成
* 边缘部分(资源子网)
由所有连接在互联网上的 *主机* 组成,由用户直接使用,用来进行通信和资源共享
* 核心部分(通信子网)
由大量 *网络* 和连接这些网络的 *路由器* 组成,为边缘部分提供服务
# 三种交换方式
电路交换,分组交换,报文交换
互联网的核心部分采用分组交换
## 电路交换
必须经过“建立连接-通话-释放连接”三个步骤的交换方式
优点|具体描述
---|:--:|
时延小|由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小
时间性强|通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强
无失序|双方通信时按发送顺序传送数据,不存在失序问题
使用面广|电路交换既适用于传输模拟信号,也适用于传输数字信号
控制简单|电路交换的交换设备(交换机等)及控制均较简单
缺点|具体描述
---|:--:|
信道利用低|电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,不适合计算机通信(突发性),因而信道利用低
终端要求|电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信
## 分组交换
采用存储转发技术,发送端,把报文划分成短等长数据段
数据段前面添加首部构成分组(又称包,首部->包头)
分组是数据传输单元,根据首部包含目的地址、源地址等信息转发
每个分组独立选择传输路径
路由器负责转发分组,创建和动态维护转发表
优点|具体描述
---|:--:|
高效|在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
灵活|为每一个分组独立地选择最合适的转发路由
迅速|以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
可靠|保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
缺点|具体描述
---|:--:|
排队延迟|分组在各路由器存储转发时需要排队
不保证带宽|动态分配
增加开销|各分组必须携带控制信息;路由器要暂存分组,维护转发表等
失序|当分组交换采用数据报服务时,可能出现失序、丢失或重复分组
## 报文交换
和分组交换同样是存储转发,每个结点接受整个报文,整个报文一次发送完毕
优点:
* 无需建立连接,用户随时发送报文
* 不同时间一段一段地占用通信线路,通信线路利用率高
缺点:
* 报文交换的时延较长,实时性差
* 只适用于数字信号
* 报文长度没有限制,中间转发结点存储空间大
## 三种交换方式的比较
传送大量数据,传送时间远大于连接建立时间,电路交换最快
报文交换和分组交换不需要预先分配传输带宽,传送突发数据时可提高整个网络的信道利用率
由于一个分组的长度往往远小于整个报文的长度,分组交换比报文交换时延小,更灵活
# 性能指标(比如时延的计算)
## 速率(数据率)
最重要的一个性能指标
数据的传送速率(bit/s或b/s或Kbit/s或Mbit/s或Gbit/s)
1Byte=8bit
## 带宽
带宽越宽,最高速率越高
单位(Kb/s或Mb/s或Gb/s或Tb/s)
## 吞吐量
单位时间内通过网络(或信道、接口)的实际数据量
## 时延
数据从网络的一端传送到另一端所需的时间
### 发送时延(传输时延)
发送数据帧的第一个bit算起,到该帧的最后一个bit发送完毕所需的时间
发送时延 $=\frac{数据帧长度(bit)}{发送速率(bit/s)}$
### 传播时延
电磁波在信道中传播所花费的时间
传播时延 $=\frac{信道长度(m)}{信号在信道上的传播速率(m/s)}$
### 处理时延
主机或路由器在收到分组时,为处理分组所花费的时间
### 排队时延
分组在路由器输入输出队列中排队等待处理和转发所经历的时延
排队时延的长短取决于网络当时的通信量
---
总时延等于四个时延加起来
高速链路,提高了数据发送速率,减小了发送时延,但在链路上传播速率不变
## 时延带宽积
表示链路的数据流量,流量大,利用率高。时延带宽积=传播时延*带宽
## 往返时间
表示从发送方发送完数据,到发送方收到接收方的确认总共经历的时间
有效数据率 $=\frac{数据长度}{发送时间+往返时间}$
# 两种体系结构
OSI七层模型(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层)
TCP/IP四层模型(应用层,传输层,网际层,网络接口层)
工业界会把网络接口层拆成数据链路层和物理层
# 网络协议三要素
网络协议简称协议,是为进行网络中的数据交换而建立的规则、标准或约定
三要素:
* 语法:数据与控制信息的结构或格式
* 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
* 同步:事件实现顺序的详细说明
# 物理层基本概念
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体
作用:尽可能屏蔽掉不同传输媒体和通信手段的差异
用于物理层的协议也常称为物理层规程
## 物理层的主要任务
确定与传输媒体的接口的一些特性(机械特性,电气特性,功能特性,过程特性)
## 码元
时间轴上的一个信号编码单元
二进制只有01两个码元
码元速率是信号每秒变化次数,单位波特率
$比特率=波特率\times\log_2 M$
M 是码元个数
# 数据通信的基本知识(奈氏准则、香农公式)
## 奈氏准则
$C=2W\log_2 M$
C 最大码元速率,W 带宽,M 码元个数
## 信噪比
信号的平均功率和噪声的平均功率之比,记为 $S/N$,单位分贝(dB)
$信噪比=10\log_{10}(S/N)$
## 香农公式
$C=W\log_2(1+S/N) (bit/s)$
C 信道的极限信息传输速率,W 带宽
# 几种传输媒体的特点(双绞线、光纤等)
传输媒体:数据传输系统中在发送器和接收器之间的物理通路。
## 导引型传输媒体
### 双绞线
绞合度越高,可用的数据传输率越高
信号衰减随频率升高而增大
### 同轴电缆
很好的抗干扰特性,被广泛用于传输较高速率的数据
### 光缆
传输带宽远远大于目前其他各种传输媒体的带宽
通信容量非常大
传输损耗小,中继距离长,对远距离传输特别经济
抗雷电和电磁干扰性能好
无串音干扰,保密性好,不易被窃听或截取数据
体积小,重量轻
## 非导引型传输媒体
### 微波
优点
* 微波波段频率很高,频段范围很宽,其通信信道的容量很大。
* 工业干扰和天电干扰对微波通信的危害小,微波传输质量较高。
* 与相同容量和长度的电缆载波通信比较,微波接力通信建设投资少,见效快,易于实施。
缺点
* 相邻站之间必须直视(常称为视距 LOS (Line Of Sight)),不能有障碍物,存在多径效应。
* 有时会受到恶劣气候的影响。
* 与电缆通信系统比较,微波通信的隐蔽性和保密性较差。
* 对大量中继站的使用和维护要耗费较多的人力和物力。
## 卫星通信
通信容量大,通信距离远,通信比较稳定,通信费用与通信距离无关。
传播时延较大:在 250~300 ms之间
# 信道复用技术(FDM和TDM的特点等)
复用:允许用户使用一个共享信道进行通信,降低成本,提高利用率。
目前多路复用方法中用得最多的有两大类:频分多路复用(FDM)和时分多路复用(TDM)。
频分多路复用一般用于模拟通信;时分多路复用一般用于数字通信。
## 频分复用FDM
将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
所有用户在同样的时间占用不同的带宽(即频带)资源。
## 时分复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)
每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙
每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的
TDM 信号也称为等时 (isochronous) 信号
所有用户在不同的时间占用同样的频带宽度
# 数据链路层的三个基本问题
## 封装成帧
在数据前后添加首部和尾部,构成帧
首部尾部作用是帧定界,确定帧的界限
控制字符作为帧定界符,SOH表示帧的首部开始,EOT表示帧的结束
## 透明运输
因为数据段可能恰好有控制字符SOH/EOT
透明意为对上层透明
做法是对数据段的EOT/SOH前面加ESC,类似转义
## 差错控制
传输过程出现比特差错
误码率=传输错误的bit占全部bit的比率
# CRC的计算
在发送端,先把数据划分为组。假定每组k个比特。
设数据段M,M后面添加n位0
新数除以,事先选定的,n+1位的,除数P,得余R,R是n位
R拼在M后面,发送
接收方反向处理即可得到余数,余数为0则无差错,接受,否则不接受
除法是逐位异或
# PPP协议的字节填充、比特填充方法
对于点对点的链路,最广泛使用的数据链路层协议是点对点协议
异步传输用字节填充,同步传输用零比特填充
字节填充就是转义,零比特填充是5连1后填0
# 以太网CSMA/CD协议(求最短有效帧长)
以太网是数据链路层的电气标准的一种技术
CSMA/CD译名载波监听多点接入/碰撞检测
多点接入:总线型网络,多台计算机以多点接入的方式连接在一根总线上
载波监听:在任何时刻,每个站都不停地检测信道
碰撞检测:检测信道的电压变化,超过阈值则认为发生碰撞(冲突)
检测到冲突之后会停止发送数据,发生冲突到停止发送期间发送的bit数,的最坏情况下,称之为最短帧长,$=2\tau=\frac{2dis\times带宽}{spd}$
停止之后根据一个算法随机地选取2τ的正整数倍时间后重新发送
# 网卡作用、MAC地址、MAC帧格式
通信适配器(又称网卡)
CPU/存储器和网卡是并行通信,局域网和网卡是串行通信
网卡作用:
* 串行/并行转换
* 缓存数据
* 在OS安装设备驱动程序
* 实现以太网协议
---
硬件地址(又名物理地址/MAC地址)
48位,局域网上的每台计算机固化在适配器的ROM中的地址
适配器把收到的MAC帧过滤,留下发往本站的帧
---
以太网V2的MAC帧格式:
目的地址、源地址、类型(标志上一层用什么协议)、数据、FCS(检验传输的信息)
# 集线器、以太网交换机(VLAN)
为了在物理层扩展以太网,可以用光纤或集线器
当以太网传输媒体是双绞线,采用星形拓扑,星形中间增加高可靠性设备,叫集线器
使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
但是碰撞域更大了
---
为了减小碰撞域,在数据链路层扩展以太网,可以用以太网交换机
实质上是一个多接口网桥,通常有十几个或更多的接口。
每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
以太网交换机具有并行性:
* 能同时连通多对接口,使多对主机能同时通信。
* 相互通信的主机都独占传输媒体,无碰撞地传输数据。
* 每一个端口和连接到端口的主机构成了一个碰撞域。
每个用户独享带宽,增加了总容量
---
以太网交换机的自学习功能是维护交换表
收到帧:
如果交换表有帧的源地址,更新进入的接口或有效时间
如果没有,插入信息(源地址、进入的接口,有效时间)
转发帧:
如果交换表有帧的目的地址,向表中记录的接口转发
如果没有,向所有接口转发(除进入的接口)
如果记录的接口就是进入的接口,则丢弃,因为两台机子连着同一个接口,无须经过交换机转发
---
为了解决广播风暴,利用以太网交换机实现虚拟局域网(VLAN)
VLAN是由一些局域网网段构成从与物理位置无关的逻辑组,是一种服务,不是新型局域网
VLAN改善性能,管理,成本,安全性
# 10Base-T、100Base-T
10表示10Mbit/s,BASE表示基带,T表示双绞线
---
网际协议(IP),IPv4(32位)是第一代网际协议,IPv6(128位)是第二代网际协议,课本大部分讲的是IPv4
IPv4配套的3个协议:
* 地址解析协议ARP
* 网际控制报文协议ICMP
* 网际组管理协议IGMP
---
连接不同局域网,需要用中间设备互连
层|中间设备
---|:--:|
运输层及以上|网关
网络层|路由器
数据链路层|网桥或交换机
物理层|转发器
# ARP协议
地址解析协议,作用是从 IP 地址解析出 MAC 地址
## ARP高速缓存
存放IP地址到MAC地址的映射表
映射表动态更新(新增或超时删除)
## ARP工作
A向B发送IP数据报时,先在ARP高速缓存找B的IP地址对应的MAC地址,没有就运行ARP找,找到之后把MAC地址写入MAC帧发送
## 运行ARP
本局域网广播,有设备的IP地址和ARP请求的IP地址相同就返回响应信息
---
对于不同局域网的两台设备,采取的是广度优先搜索样子的广播
# IP地址的组成、IP地址的分类、私有地址
IP地址32位,8位一组转为十进制,小数点分隔
互联网的每台主机或路由器的每个接口分配一个全世界唯一的IP地址
IP地址由网络号和主机号组成
---
IP地址的分类:
* A类地址:0+网络号+主机号
* B类地址:10+网络号+主机号
* C类地址:110+网络号+主机号
* D类地址:1110+多播地址
* E类地址:1111+保留(实验用途)
---
特殊的IP地址:
网络号|主机号|源地址使用|目的地址使用|意思
---|---|---|---|---|
0|0|可以|不可|在本网络上的本主机
0|x|可以|不可|在本网络上主机号为X的主机
全1|全1|不可|可以|只在本网络上进行广播(各路由器均不转发)
Y|全1|不可|可以|对网络号为Y的网络上的所有主机进行广播
127|非全0或全1的任何数|可以|可以|用于本地软件环回测试
---
私有地址:属于非注册地址,专门组织内部使用
若要与外部通信,私有地址通过防火墙的NAT(网络地址转换)变成公有地址
# 子网划分、子网掩码、网络地址和广播地址的计算
为了解决有些地址浪费有些地址不够用的现象,把主机号划分出一部分作为子网号
只给出一个IP地址无法判断是否使用子网划分,使用子网掩码可以找出子网号
掩码32位,某位为1,IP地址的对应位为网络号和子网号,否则为主机号,一般主机号前几位作为子网号
网络地址=IP地址按位与子网掩码
广播地址=网络地址的主机号改为全1
# 给定IP地址范围,能给各部门分配CIDR地址块(CIDR斜线记法,最小地址、最大地址)
无分类域间路由选择(CIDR):不像之前那样划分ABC类地址和划分子网
IP地址=网络前缀+主机号
网络前缀位数不固定
CIDR斜线记法:a.b.c.d/n,n表示IP地址前n位是网络前缀
网络前缀相同的连续IP地址组成一个CIDR地址块
一个CIDR地址块包含的IP地址数目$=2^{主机号的位数}$
全0和全1主机号地址一般不使用
IP地址范围差值取log2就是主机号位数,网络前缀位数=32-主机号位数
最小地址是主机号全0,最大地址是主机号全1
# IP分片
当数据长度太长,大于最大传输单元(MTU),需要分片传输
接收端需要把分片的信息重新组合在一起,因此路由器在IP数据报的首部记录了一些相关信息
* 总长度,IP数据报的总长度
* 标识,同一个IP数据报的分片有相同标识
* 标志,最低位是MF,为1表示后面还有分片,为0表示最后一个分片。倒数第2位是DF,只有为0才允许分片
* 片偏移,分片在整组中的偏移,以8个字节为偏移单位
# 路由协议的分类(IGP和EGP等)
数据传输路线不唯一,为了更好的规划数据传输路线,有了路由选择协议
把整个互联网划分为许多较小的自治系统 AS,采用分层次的路由选择协议。
* 自治系统之间的路由选择,外部网关协议EGP(常用BGP-4)
* 自治系统内部的路由选择,内部网关协议IGP(常用RIP、OSPF)
自治系统(AS):在单一技术管理下的许多网络、IP地址以及路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。每一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略
# RIP协议和OSPF协议的要点、BGP的基本原理
路由信息协议(RIP),分布式,基于距离向量
要求每个路由器维护以自己为起点的其他所有网络的距离记录
距离=经过的路由器数+1,直接相连的距离为1,当距离大于等于16视为无穷
* 仅和相邻路由器交换信息
* 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
* 按固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
路由表例子:
目的网络|距离|下一跳R
---|---|---|
--|--|--|
路由表更新用距离向量算法
```cpp
//RO把R1发来的表修改后,与自己表中的条目进行比较
if("新的项目? "){
"添加到RO的路由表";
}else if("相同的下一跳? "){
"把RO中的条目更新";
}else if("距离更短? "){
"距离更短,更新";
}else {
"什么也不做";
}
```
优点:
* 实现简单,开销较小
缺点:
* 网络规模有限。最大距离为 15
* 交换的路由信息为完整路由表,开销较大
* 坏消息传播得慢,收敛时间过长
---
开放最短路径优先(OSPF),分布式,基于链路状态
* 采用洪泛法,向本自治系统中所有路由器发送信息
* 发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
* 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量
* 当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。
链路状态数据库:
* 每个路由器最终都能建立
* 全网的拓扑结构图
* 在全网范围内是同步的
* 每个路由器使用链路状态数据库中的数据构造自己的路由表
优点:
* 减少了整个网络上的通信量
* 减少了需要维护的状态数量
缺点:
* 交换信息的种类增多了
* 使 OSPF 协议更加复杂了
其他特点:
* 对于不同类型的业务可计算出不同的路由
* 可实现多路径间的负载均衡
* 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能
* 支持可变长度的子网划分和无分类编址 CIDR
* 32 位的序号,序号越大状态就越新
OSPF收敛比RIP快,RIP适用于中小型网络,OSPF适用于大型网络
---
边界网关协议(BGP),基于路径向量
BGP发言者:AS的边界路由器,负责AS之间交换信息
BGP发言者之间建立TCP连接,又称eBGP连接
AS内,路由器也用TCP连接,AS内所有路由器全连通,又称iBGP连接
AS内部运行IGP(OSPF或RIP),iBGP。
AS之间运行eBGP。
iBGP和eBGP是同一个BGP,但是通报前缀规则不同,从iBGP获得的消息不能通报给另一个iBGP,而eBGP无此限制
BGP路由=前缀+BGP属性
前缀:指明到哪一个子网(用 CIDR 记法表示)
BGP 属性:最重要的两个属性是
* 自治系统路径 AS-PATH
* 下一跳 NEXT-HOP
属性 AS-PATH,不允许出现相同的 AS 号
4种BGP报文:open,update,keepalive,notification
---
...|UDP|TCP
---|---|---|
名称|用户数据报协议|传输控制协议
运输协议数据单元|UDP报文或用户数据报|TCP报文段
连接方式|无连接|面向连接
建立连接|无需|需要
给出确认|无需|需要
信道可靠性|不可靠|可靠
广播多播功能|提供|不提供
开销|少|多
运输协议数据单元(TPDU):两个对等实体通信的数据单位
# UDP的首部格式、主要特点
首部格式=源端口+目的端口+长度+检验和
特点:
* 无连接。发送数据之前不需要建立连接
* 使用尽最大努力交付。即不保证可靠交付
* 面向报文。UDP 一次传送和交付一个完整的报文
* 没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低。很适合多媒体通信的要求
* 支持一对一、一对多、多对一、多对多等交互通信
* 首部开销小,只有 8 个字节
# TCP的主要特点
TCP连接的端点是套接字,套接字=(IP地址:端口号),套接是用管子把两根管子接起来,字是标识
TCP连接::={套接字1,套接字2}
IP地址和TCP连接是1对多,端口号和TCP连接是1对多
* TCP 是面向连接的运输层协议
* 每一条 TCP 连接只能是一对一
* TCP 提供可靠交付的服务
* TCP 提供全双工通信。
* 面向字节流
* 字节流指流入或流出进程的字节序列
* 虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流
* 发送和接受的字节流一样,但是数据块(大小/数量)不一样
# 端口的作用和范围
协议端口号,简称端口,是通信的抽象终点
复用:任意应用层进程都可以通过运输层端口向下层传输
分用:下层收到的信息需要通过运输层端口指明交付的应用层进程
软件端口:
* 协议栈层间的抽象的协议端口
* 是应用层的各种协议进程与运输实体进行层间交互的地点
* 不同系统实现端口的方法可以不同
硬件端口:不同硬件设备进行交互的接口
端口号16位,只具有本地意义,标志不同进程
有服务器端使用的端口和客户端使用的端口
# 流量控制的特点
流量控制:让发送方的发送速率不要太快,使接收方来得及接收
滑动窗口实现流量控制,具体就是发送方数据一块一块地发送,接收方回复信息,告诉发送方还能发送多少数据
控制TCP发送报文段的时机的3种机制:
* 缓存数据足够多就发送
* 应用程序进程要求发送
* 发送方的计时器时限到了就发送
接收方回复不能太频繁,因此有2种情况才回复:
* 缓存能容纳最长报文段
* 缓存有一半空闲空间
# TCP连接建立和释放过程
TCP建立连接的过程叫握手,在客户和服务器之间交换3个TCP报文段
服务器进程先创建传输控制块TCB,准备接受连接请求
客户发送连接请求报文段,首部SYN=1,seq=x
SYN=1,表示这个报文段是连接请求报文段
seq是为了超时重传
服务器收到连接请求报文段,若同意,发回确认报文段,SYN=1,ACK=1,ack=x+1,seq=y
ACK=1,表示这个报文段是确认报文段
客户收到确认报文段,再发回确认报文段,ACK=1,seq=x+1,ack=y+1
---
TCP连接释放的过程叫挥手,在客户和服务器之间交换4个TCP报文段
客户发送连接释放报文段,FIN=1,seq=u
FIN=1,表示这个报文段是连接释放报文段
服务器发回确认报文段,ACK=1,ack=u+1,seq=v,TCP连接属于半关闭状态,服务器发送数据,客户仍要接受
若服务器已经没有要发送给客户的数据,其应用程序进程通知TCP释放连接,FIN=1,ACK=1,ack=u+1,seq=w
客户发回确认报文段,ACK=1,ack=w+1,seq=u+1
客户发出后,经过时间等待计时器设置的2MSL后,客户才释放TCP连接,因为客户发回的确认报文段可能丢失
---
# 了解应用层包含的主要协议及其下层(运输层)所使用的协议
* 域名系统(DNS):提供主机名和IP地址之间相互转换的服务,下层是UDP
* 文件传输协议(FTP):提供传送文件的服务,下层是TCP
* 简单文件传送协议(TFTP):提供传送文件的服务,下层是UDP
* 远程终端协议(TELNET)):允许用户在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上,下层是TCP
* 超文本传送协议(HTTP):定义浏览器怎样向万维网服务器请求万维网文档,以及服务器如何把文档传输给浏览器,下层是TCP
* 简单邮件传送协议(SMTP):规定在两个相互通信的 SMTP 进程之间应如何交换信息,下层是TCP
* 邮局协议(POP3)、网际报文存取协议(IMAP):提供邮件读取的服务,下层都是TCP
* 动态主机配置协议(DHCP):允许一台计算机加入网络和获取 IP 地址,而不用手工配置,下层是UDP
* 简单网络管理协议(SNMP): IP网络管理网络节点,下层是UDP
# DNS协议的原理及其使用的端口号
互联网使用的命名系统,把人们使用的域名转换为IP地址
域名是树状结构命名法,域名唯一,域名结构=... .三级域名.二级域名.顶级域名
DNS端口号53
## 工作原理
客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域 (根的子域) 的主域名服务器的地址。
本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
重复第四步,直到找到正确的纪录。
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
# WWW万维网服务
分布式超媒体系统,大规模的、联机式的信息储藏所,方便从互联网上的一个站点访问另一个站点,从而主动获取信息,访问方式称为链接,在一个客户程序主窗口上显示出的万维网文档称为页面
C/S架构,浏览器/万维网服务器
使用统一资源定位符(URL)标志文档,使用HTTP实现链接,使用超文本标记语言(HTML)显示文档
# 在浏览器中输入一个网址后涉及到的访问过程和主要协议(包括前面章节内容)
1. 浏览器分析超链指向页面的 URL
2. 浏览器向 DNS 请求解析 jsjxy.cuit.edu.cn 的 IP 地址
3. 域名系统 DNS 解析出我校计算机学院服务器的 IP 地址
4. 浏览器与服务器建立 TCP 连接
5. 浏览器发出取文件命令:GET /bkjy/zysz.htm
6. 服务器给出响应,把文件 zysz.htm 发给浏览器
7. TCP 连接释放
8. 浏览器显示“计算机学院专业设置”文件 zysz.htm 中的所有文本
点赞
回复
X