导图社区 计算机网络
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
编辑于2022-10-13 20:50:38 河南计算机网络
计算机网络体系结构
计算机网络概述
计算机网络组成
从组成部分上看:主要由硬件,软件,协议
从工作方式上看:分为边缘部分和核心部分
从功能组成上看:由通信子网和资源子网组成
计算机网络功能
数据通信:最基本,最重要的功能
资源共享
分布式处理
提高可靠性
负载均衡
计算机网络分类
按分布范围分类
广域网
城域网
局域网
广域网和局域网的差异不仅在于覆盖范围,还有所使用的协议 广域网使用PPP(面向字节,只保证无差错接收,尽最大努力交付,只支持全双工)协议 或者HDLC(仅限于ISO参考模型,面向比特,非平衡配置)协议 局域网采用CSMA/CD协议,逻辑拓扑为总线型
个人区域网
按传输技术分类
广播式分类
点对点网络
按拓扑结构分类
总线形
星形
环形
网状形
按交换技术分类
电路交换网络:建立一条专用物理通道,数据直达,时延小,可靠传输 但线路利用率低,不能充分利用线路容量,不便于差错控制。
报文交换网络:给用户数据加上源地址、目的地址、校验码等信息,封装成报文, 传送到相邻节点,全部存储后再转发给下一结点
分组交换网络
计算机网络体系结构
OSI参考模型
1物理层:定义物理终端设备和数据通信设备的物理与逻辑连接方法。 物体传输媒体如双绞线,光缆等不在物理层协议之内
2 数据链路层:将网络层传来的IP数据报组装成帧,并提供差错控制,流量控制和传输管理等功能
3 网络层:传输单位为数据报,把网络层协议数据单元从源端口传到目的端口号。 主要功能是路由选择,并实现流量控制,拥塞控制,差错控制和网际互联等
4 传输层:传输单位是报文段或用户数据报,负责主机中两个进程之间的通信,为端到端连接提供可靠的传输服务,提供流量控制、差错控制,服务质量,数据传输管理等服务
5 会话层:允许不同主机上各个进程之间进行会话,负责管理主机间的会话进程,包括建立、管理及终止进程间会话
6 表示层:主要处理在两个通信系统中交换信息的表示方式。用抽象的标准方法定义数据结构,并采用标准的编码形式,统一不同系统的数据格式
7 应用层:采用不同协议解决不同类型的应用要求
TCP/IP模型
1 网络接口层:类似于OSI参考模型的物理层和数据链路层,指出主机必须使用某种协议与网络连接,以便在其上传递分组。
2 网际层: 是TCP/IP的关键部分,与OSI参考模型的网络层功能相似,提供路由选择,但不保证各个分组的有序到达。
3 传输层:与OSI参考模型的传输层功能类似。主要使用TCP和UDP协议
4 应用层:包含所有的高层协议。如文件传输协议(FTP),域名解析服务(DNS)等
物理层
通信基础
基本概念
带宽:原指信号具有的频带宽度,单位赫兹(Hz), 表示单位时间内从网络中的某一点到另一点所能通过的“最高数据率”单位是b/s
码元:指用一个固定时长的信号波形表示一位k进制数字
速率
码元传输速率:又称波特率,单位时间内通信系统所传输的码元个数,单位Baud
信息传输速率:又称信息速率,比特率等,表示单位时间内数字通信系统传输的二进制码元个数, 单位是比特/秒(b/s) 若一个码元携带n比特的信息量,设M波特率的码元传输速率所对应的信息传输速率为Mn比特/秒 2进制即表示一个码元携带2比特的信息量
两个定理
奈奎斯特定理:理想低通信道下的极限数据传输速率=2WlogV 2W为极限码元传输速率,W为低通信道的带宽,V是每个码元既然电平的数目,或者说变化的次数
香农定理:信道的极限数据传输速率=Wlog(1+S/N) W为信道的带宽,S为信道所传输信号的平均功率,N为信道内部的高斯噪声功率,
log表示以2为底的对数
编码与调制
数字数据编码为数字信号
归零编码(RZ):高电平为1,低电平为0,每个时钟周期中间均跳为低电平,提供自同步机制
非归零编码(NRZ):不用归零,无法传递时钟信号,高电平为1,低电平为0
反向非归零编码(NRZI):信号翻转代表0,信号不变代表1,既能传递时钟信号,又能尽量不损失带宽
曼彻斯特编码:将时钟周期二等分,前高后低为1,前低后高为0 常用于以太网编码
差分曼彻斯特编码:常用于局域网传输 若码元为1,前半个码元的电平与后半个码元电平相同,若码元为0,则前半个码元与后半个码元不同。可以实现同步,抗干扰性好
数字数据调制为模拟信号
幅移键控(ASK)
频移键控(FSK)
相移键控(PSK)
正交振幅调制(QAM)
模拟信号编码为数字信号
采样定理:采样频率必须≥最大频率的两倍,才能保证采样后的数字信号完整保留原始模拟信号的信息
模拟数据调制为模拟信号
频分复用技术(FDM)
数据交换技术
电路交换
定义:通信两个结点之间建立一条专用(双方独占)的物理通信通道,传输期间一直独占,通信结束后释放
优点:1 通信时延小 2 有序传输 3 没有冲突 4 适用范围广 5 实时性强 6 控制简单
缺点:1 建立连接时间长 2 线路独占 3 灵活性差 4 难以规格化
报文交换
定义:对数据添加源地址,目的地址等信息组成报文,交换节点在完全接收一个报文后再进行转发,采用存储转发的传输方式
优点:1 无需建立连接 2 动态分配线路 3 提高线路可靠性 4 提高线路利用率 5 提供多目标服务
缺点:1 会引起转发时延 2 对报文发现没有限制,要求网络结点有较大缓存空间
分组交换
定义:与分组交换一样,对数据添加源地址,目的地址等辅助信息后,采用存储转发的方式传输,但添加了最大传输报文限制。
优点:1 无建立时延 2 线路利用率高 3 简化了存储管理 4 加速传输 5 减少了出错概率和重发数据量
缺点:1 存在传输时延 2 需要传输额外的信息量 3 当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,到达目的结点后还对分组按编号排序 当分组采用虚电路服务,有呼叫建立,数据传输和虚电路释放三个过程
数据报特点
发送分组前不需要建立连接
网络尽最大努力交付
发送的分组中要包括发送端和接收端的完整地址
分组交换结点存储转发时,需要排队等候处理,交换结点还可根据情况丢弃部分分组
网络具有冗余路径,当某个交换结点或一条链路出现故障时,可相应地更新转发表,寻找另一条路径, 对故障适应能力强
存储转发的时延一般较小,提高了网络的吞吐量
收发双方不独占某条链路,资源利用率较高
虚电路特点
通信链路的建立和拆除需要时间开销
路由选择体现在建立阶段,连接建立后,就确定了传输路径
虚电路提供了可靠的通信功能,保证分组正确有序到达
当某个结点或者某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏
分组首部不包含目的地址,包含的是虚电路标识符,相对于数据报服务,开销小
电路不是专用的,同一结点可以有多个虚电路经过
传输介质
双绞线:以太网常用,最大段长100,星形拓扑结构,采用曼彻斯特编码
同轴电缆:总线型结构,最大段长500m,采用曼彻斯特编码
光纤
无线传输
物理层接口的特性
1 机械特性:指明所用接线器的形状和尺寸,引脚数目和排列等
2 电气特性:指明在接口电缆的各条线上出现的电压的范围
3 功能特性:指明某条线上出现的某一电平的电压表示何种意义
4 过程特性:指明对于不同功能的各种可能事件的出现顺序
物理层设备
中继器:将信号整形再生后再转发出去,起到信号放大作用。
集线器:多端口中继器,不能隔绝冲突域和广播域
数据链路层
数据链路层功能
为网络层提供服务
无确认无连接服务
有确认的无连接服务
有确认的有连接服务
链路管理
数据封装
透明传输
差错控制
检错编码
奇偶校验码:只能检测奇数位的出错情况,不能确定哪位出错,也不能发现偶数位的出错情况
循环冗余码:需要双方提前商定一个多项式G(x),采用模2运算,可以纠错
纠错编码
海明码:有效信息位n+k位检验位≤2的k次方-1
流量控制
可靠传输:包括确认和超时重传协议
单帧滑动窗口与停止-等待协议:发送窗口=1,接收窗口=1
多帧滑动窗口与后退N帧协议(GBN):接收窗口=1,1≤发送窗口W≤2的n次方-1(n为帧编号的位数)
多帧滑动窗口与选择重传协议(SR):接收窗口与发送窗口都大于1, 一般情况下,发送窗口=接收窗口≤2的n-1次方,
信道利用率:(L/C)/T,其中T为一个发送周期,L为该周期内发送的数据,C为发送方的数据传输率
介质访问控制(MAC)
信道划分介质访问控制
频分多路复用:充分利用了传输介质的带宽,系统效率较高
时分多路复用:某段时间并行,某一时刻串行
波分多路复用:光纤传输,有很高的带宽
码分多路复用:又称为码分多址(CDMA),不同站点码片向量相互正交,让结果与某一站点码片向量内积,结果为正则为1,为负则为-1
随机访问介质访问控制
ALOHA协议:不检测就发送,超时未确认则认为发生冲突,等一段时间后再发送,直到成功
CSMA协议
1-坚持CSMA:忙则继续监听,一旦空闲,立即发送
有可能在空闲时多个结点同时发送,导致冲突
非坚持CSMA:忙则等待一个随机时间再次监听若空闲,则立即发送,
会增加数据在网络中的平均时延
p-坚持CSMA:仅在时隙发送数据,忙则推迟到下一个时隙监听,空闲则以p概率发送,以1-p概率重新监听
子主题
CSMA/CD
工作流程:先听后发,边听边发,冲突停发,随机重发
争用期:以太网端到端的往返时间,又称为冲突窗口,或碰撞窗口
最小帧长=总站传播时延x数据传输速率x2
二进制指数退避算法来解决碰撞问题
算法精髓
1 确定基本退避时间,一般取总线端到端传播时延2t(即争用期)
2 定义参数k=min【重传次数,10】
3 从集合[0 1 3 7…,2的k次方-1]中随机取出一个数r,所需退避时间就是r倍的基本退避时间2rt
4 当重传达16次仍不能成功时,抛弃此帧并向高层包含出错
CSMA/CA:适用于无线局域网,避免碰撞,
两大协议
PPP协议
结构
链路控制协议(LCP),一种拓展链路控制协议,可用于身份验证
网络控制协议(NCP),每个不同的网络层协议都要有一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
一个将IP数据报封装到串行链路的方法
工作原理:线路静止时,不存在物理层连接,当线路有载波信号时才建立线路 首先由LCP开始商定身份验证,然后进行身份验证, 通过后进入网络状态,采用NCP配置网络层, 配置成功后进入打开状态,可以进行数据传输 传输完成后线路转为终止状态
是点对点的,不是总线形拓扑,不采用CSMA/CD协议,信息段占0-1500B 提供差错检测,但不提供纠错功能,只保证无差错接收 只支持全双工链路 双端可以运行不同的网络层协议 面向字节,在异步线路采用字节填充法发到透明传输,在同步线路采用硬件来完成比特填充
HDLC协议
两种基本配置
非平衡配置:一个主站控制整个链路工作
平衡配置:链路两边都是复合站,可以平等地发起数据传输
数据操作方式
正常响应方式:非平衡结构操作方式,从站只有收到主站许可后,才可进行相应
异步平衡方式:平衡结构操作方式,每个复合站都可以进行对另一站的数据传输
异步响应方式:非平衡结构操作方式,从站即使未收到主站允许,也可以进行传输
HDLC帧
信息帧:控制字段第一位为0,用来传输数据信息,或捎带技术对数据进行确认
监督帧:控制字段第一二位为1、0;用于流量控制和差错控制。执行对信息帧的确认、请求重发和请求暂停发送等功能
无编号帧:用于提供对链路的建立、拆除等多种控制功能
两大协议不同点
1 PPP协议是面向字节的,HDLC协议是面向比特的
2 PPP帧比HDLC帧多一个2字节的协议字段,当协议字段值为0x0021时,表示信息字段是IP数据报
3 ppp协议不使用序号和确认机制,只保证无差错接收,而端到端差错检测由高层协议负责,HDLC协议的信息帧使用了编号和确认机制
以太网
以太网帧格式
最小帧长64B,不足的要用填充字段补齐,最长帧长为1500B
组帧帧格式
在数据首部添加6字节的目的地址,6字节的源地址和2字节的类型字段, 在数据尾部添加0-46字节的填充字段和4字节的校验码
常用参数
10BASE5——基带同轴电缆(粗缆),总线形拓扑
10BASE2——基带同轴电缆(细缆)总线形拓扑
10BASE-T——非屏蔽双绞线,星形拓扑
10BASE-FL——光纤对(850nm),点对点
都采用曼彻斯特编码
数据链路层设备
网桥
基本特点: 1 必须具备寻址和路径选择能力,以确定帧的传输方向 2 从源网络接收帧,以目的网络的介质控制协议向目的网络转发该帧 3 在不同或相同类型的LAN之间存储并转发该帧,必要时还进行链路层上的协议转换 4 网桥对接收到的帧不做任何修改,或只对帧的封装格式做很少的修改 5 可以把原协议的信息段的内容作为另一种信息段的信息部分封装在帧中 6 有足够大的缓冲空间
优缺点
优点: 1能过滤通信量 2 扩大了物理范围 3 可使用不同的物理层 4 可互联不同类型的局域网 5 提高了可靠性 6 性能得到改善
缺点: 1 增大了时延 2 MAC子层没有流量控制功能 3 不同MAC子层的网段桥接在一起时,需要进行帧格式的转换 4 网桥只适合于用户数不多和通信量不大的局域网
透明网桥:选择的不是最佳路由,为了避免环路,使用了一种生成树算法
源路由网桥:选择的是最佳路由,对主机不透明,采用发现帧来寻找最短路由,可能会使网络拥塞
局域网交换机
特点: 1 每个端口都于主机相连,一般工作在全双工方式下 2 能同时连通多对端口,每对相互通信的主机都能像独占通信媒体一样无碰撞地传输 3 即插即用,自学习算法建立转发表 4 独占传输媒体的带宽 5 交换速率高三
直通式交换机:只检查目的地址,速度快,但缺乏智能性和安全性,不支持不同速率的端口交换
存储转发式:先将收到的帧缓存到高速缓存器中,并检查数据正确性,确认无误后再查找转发表转发 若发现帧出错则丢弃,可靠性高,能支持不同速率端口间的交换,但是延迟较大
网络层
网络层功能
设计思路
向上只提供灵活的,无连接的,尽最大努力交付的数据报服务
异构网络互联
将两个网络层,数据链路层,物理层协议不同的网络相互连接, 网络层以上的高层协议必须相同
路由与转发
路由选择
指按照复杂的分布式算法, 根据从各相邻路由器所得到的关于整个网络拓扑的变化情况, 动态的改变所选择的算法
分组转发
指路由器根据转发表将用户的IP数据报从合适的端口转发出去
拥塞控制
IPV4
IPV4分组
特点:首部前一部分固定20B
关键字段
首部长度:在第4位到第7位,单位4B
总长度:在第16位到31位,单位1B
片偏移:在第50位到63位,单位8B
标志:在第47位到49位
最后一位为MF代表是否还有分片
中间一位为DF代表是否可以分片, 只有DF=1时,片偏移与MF才有意义
协议:占8位,表示传输层所使用的协议,值为6代表TCP,值为17表示UDP
网络层分组转发流程
1 从数据报的首部提取目的主机的IP地址D,得到目的网络地址N
2 若网络N与比路由器直接相连,则将数据报直接交付给目的主机D,这称为直接交付,否则是间接交付,执行步骤3
3 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由,否则执行步骤4
4 若路由表中有到达网络N的路由,则把数据报传送给路由表所指明的下一跳路由,否则执行步骤5
5 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由,否则执行步骤6
6 报告转发分组出错,
IPV4地址与NAT
IPV4地址分类
A类地址:1.0.0.1—126.255.255.254 最大可用网络数目2^7-2,最大主机数2^24-2
B类地址:128.1.0.1-191.255.255.254 最大可用网络数目2^14-1 最大主机数2^16-2
C类地址:192.0.1.1-223.255.255.254 最大可用网络数目2^21-1,最大主机数2^8-2
D类地址(多播地址)
E类地址(保留)
特殊地址
主机号为0表示本网络本身
主机号全为1表示本网络的广播地址
127.0.0.0保留为环回自检地址,表示任意主机本身,不可作为目的地址为
32位全为0,表示本网络上的主机(DHCP请求报文的源地址)
32位全为1表示整个网络的广播地址(由于路由器对广播域的隔离,等效为本网络的广播地址)
网络地址转换(NAT)
引入目的:为了网络安全,与使得网络地址可以重复使用
地址网段
1个A类地址网段:10.0.0.0-10.255.255.255
16个B类地址网段:172.16.0.0-172.31.255.255
256个C类地址网段:192.168.0.0-192.168.255.255
特点
普通路由器转发IP数据报时,不改变其源IP地址与目的IP地址 NAT路由器在转发IP数据报时一定要更换其IP地址(包括目的地址与源地址)
子网划分与子网掩码
基本思路
1子网划分为一个单位内部事情,单位对外仍然表现为没有划分子网的网络 2从主机号借若干比特作为子网号 3凡是从其他网络发送给本单位某台主机的IP数据报,先根据目的网络号找到本单位网络的路由器, 路由器按照目的网络号和子网号找到目的子网,最后交付给目的主机
子网掩码
CIDR
消除了传统各类地址以及划分子网的概念,可以更有效地分配IPV4的地址空间
网络层协议
网际控制报文协议(ICMP)
ICMP差错报文
发送情况
1终点不可达
2源点抑制(路由器或者主机由于阻塞而丢弃数据)
3时间超过(TTL为0)(Tracerout)
4参数问题(数据报的首部有字段不正确)
5改变路由(路由器发送给主机)
不发送情况
1对ICMP差错报文不再发送
2对第一个分片的数据报片的所有后续数据报片都不发送
3对具有组播地址的数据报都不发送ICMP差错报告报文
4对具有特殊地址(127.0.0.0或0.0.0.0)的数据报不发送
ICMP询问报文
类型
回送请求和回答报文(PING工作在应用层,但直接使用网络层的ICMP)
时间戳请求和回答报文
掩码地址请求和回答报文
路由器询问和通告报文
地址解析协议(ARP)
用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射关系
工作在网络层
ARP请求分组通过广播发送,目的MAC地址为FF-FF-FF-FF-FF-FF,ARP响应分组是普通的单播
IPV6
IPV6主要特点
1更大的地址空间,由IPV4的32位扩大到了128位
2支持即插即用(即自动配置)
3支持资源预分配
4IPV6只有在包的源结点才能分片,传输路径中的路由器不能分片
5 IPV6的首部长度必须是8B的整数倍
6具有身份验证和保密功能
7支持协议继续扩充
8 扩展的地址层次机构
9 灵活的首部格式
10 改进的选项
IPV6地址
目的地址类型
单播
传统的点对点通信
多播
一点对多点通信
任播
IPV6新增加的类型,任播的目的站是一组计算机, 数据报在交付时只交付其中的一台计算机,通常是距离最近的一台计算机
与IPV4转化
双协议栈
在一台设备上有IPV4和IPV6两种协议栈
隧道技术
将整个IPV6数据报封装到IPV4数据报的数据部分
路由协议
静态路由与动态路由
静态路由算法
由网络管理员手工配置路由信息,不配置不变化
特点:简便,开销小,但需要及时手动修改
动态路由
路由器上的路由表项通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来。
特点:能改善网络的性能并有助于流量控制,但算法复杂,会增加网络的负担
内部网关协议IGP
路由信息协议-RIP协议
特点
1 每个路由器维护它自身到其他每个目的网络的距离记录(每经过一个路由器,距离加1)
2 仅和相邻路由器交换自己已知的所有信息
3 默认每隔30秒广播一次RIP路由更新信息
4 距离16表示不可达
5 是应用层协议,使用UDP传送数据(端口520)
优点
实现简单,开销小,收敛过程快(收敛过程指对整个所连网络的大局观)
缺点
1限制了网络的规模,能使用的最大距离为15
2 网络规模越大,开销越大(交换的是全部路由信息)
3 网络出现故障时,会出现慢收敛,俗称“坏消息传的慢”
距离向量协议
开放最短路径优先算法-OSPF协议
特点
1 向本自治系统中的所有路由器发送信息(使用洪泛法)
2 发送的信息是本路由器相邻的所有路由器的链路状态
3 只有当链路状态发生变化时才用洪泛法向所有路由器发送此信息
4 是网络层协议,直接用IP数据报传送(首部协议字段为89)
5 如果到同一个网络有多条相同代价的路径,那么可以将通信量分配给这几条路径
6 可对规模较大的自治系统划分区域,各个区域的路由器只知道本区域的完整网络拓扑
五种分组类型
1 问候分组 —— 用来发现和维持邻站的可达性
2 数据库描述分组 —— 向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
3 链路状态请求分组 ——向对方请求发送某些链路状态项目的详细信息
4 链路状态更新分组 —— 用洪泛法对全网更新链路状态
5 链路状态确认分组 —— 对链路更新分组的确认
链路状态协议
外部网关协议EGP
边界网关协议(BGP)
目的
对不同自治系统的路由器之间交换路由信息的协议, 力求寻找一条能够到达目的网络且比较好的路由,而并非最佳路由
特点
1 BGP交换路由信息的结点数量级是自治系统的数量级
2 交换信息的内容为到达某个网络所经过的路径
3 每个自治系统中BGP发言人的数目很少
4 BGP支持CIDR
5 在BGP刚运行时,BGP的邻站交换整个BGP路由表,以后只在发生变化时更新有变化的部分
6 是应用层协议,采用TCP传输
网络层设备—路由器
路由选择部分
由路由选择处理机,根据路由选择协议构造出路由表
分组转发部分
对数据进行接收,提取网络层数据报,得到目的网络,根据路由表选择转发端口,并依次封装数据
主要功能:分组转发,路由计算
传输层
传输层功能
1 提供应用进程之间的逻辑通信(端到端的通信)
2 复用和分用,使得发送方不同应用进程都可以使用同一个传输层协议传送(复用), 接收方的传输层在拨出报文首部后可以将数据正确交付给目的进程(分用)
3 对数据首部和数据部分进行差错检测
4 提供两种不同的传输协议
面向连接的TCP
无连接的UDP
定义
端口号:用于区分不同的进程
服务器端使用端口号
熟知端口号
0-1023
登记端口号
1024-49151
客户端使用的端口号:
40152-65535
又称短暂端口号,仅在客户进程运行时才存在
套接字
Socket=(IP地址:端口号)
它唯一地标识网络中的一台主机和其上的一个进程
UDP协议
特点
1 无需建立连接
2 不维护连接状态
3 分组首部开销小,仅有8B,TCP有20B
4 没有拥塞控制,但节省了时延
5 支持一对一,一对多,多对一和多对多的交互通信
6 面向报文,对于从应用层下来的报文,既不合并,也不拆分,报文不可被分割
UDP检验
计算检验和时,加上12B的伪首部,协议字段为17,发现错误时可以丢弃,也可以附上错误报告交给上层
UDP首部
16位源端口号
16位目的端口号
16位UDP长度(包括首部和数据)
16位UDP检验和(不需要时置位全0)
TCP协议
特点
1 面向连接
2 每天TCP连接只能走两个端点,只能是一对一的
3 TCP提供可靠的交付服务
4 提供全双工通信(设有发送缓存和接收缓存)
5 TCP面向字节流(报文长度根据接收方给出的窗口值和当前网络拥塞程度决定)
TCP报文段
序号:占4B,发送报文段的数据序号
确认号:占4B,期望收到对方下一个报文段的第一个数据字节的序号
数据偏移:即首部长度,占4位,单位4B
确认位ACK:占1位,仅当ACK=1时确认号字段有效
复位位RST:占1为,当RST=1时表示TCP连接中出现严重差错,必须释放连接并且重新建立运输连接
同步位SYN:占1为,当SYN=1是表示这是一个连接请求或者连接接受报文, 当SYN=1,ACK=0表示连接请求,当SYN=1,ACK=1表示连接接受报文
终止位:占1位,当FIN=1时,表示此报文段发送方的数据发送完毕,并要求释放传输连接。
主要理解TCP三次握手和四次握手时各个标志位的状态
TCP连接管理
TCP连接建立——三次握手
1 客户机向服务器的TCP发送连接请求报文段 SYN=1 seq=x 不能携带数据,消耗一个序号
2 服务器的TCP若同意建立连接,则发回一个确认报文段 SYN=1 ACK=1 ack=x+1 seq=y 不能携带数据,消耗一个序号
3 客户机收到确认报文段,要再次给出确认 ACK=1 ack=y+1 seq=x+1 可以携带数据,仅当携带数据时才消耗序号
TCP连接释放——四次握手
1 客户机向服务器的TCP发送连接释放报文段,并停止发送数据,SYN=1 seq=u 此时客户机不再发送数据,服务器还可以发送数据
2 服务器收到连接释放班文段后立即发出确认,ack=u+1 seq=v 此时客户机到服务器此方向的连接就释放了
3 若服务器没有需要发送的数据,则此时发出FIN=1,seq=w ack=u+1
4 客户机收到连接释放报文段后,必须发出确认,ACK=1 ack=w+1 seq=u+1
TCP可靠传输
TCP检验机制和UDP检验机制一样,添加一个伪首部,协议字段为6,采用序号,确认和重传机制保证可靠传输
TCP采用了对报文段确认的机制
TCP流量控制
采用滑动窗口和拥塞窗口来同时控制发送窗口的发现
TCP拥塞控制
慢开始和拥塞避免
慢开始:设置一个慢开始门限ssthresh,首先令拥塞窗口为一个最大报文段长度MSS, 在ssthresh以下,拥塞窗口以2倍数增长, 到达ssthresh(不可越过ssthresh,若ssthresh为6,当拥塞窗口到达4后下一次为6) 后改用拥塞避免算法
拥塞避免算法:让拥塞窗口cwnd缓慢增长,每经过一个往返时延RTT就令拥塞窗口cwnd+1
当cwnd<ssthresh时,使用慢开始算法 当cwnd>ssthresh,停止使用慢开始算法,改用拥塞避免算法 当cwnd=ssthresh时,即可用慢开始算法,也可使用拥塞避免算法(通常做法)
网络拥塞的处理:只要发送方判断出现网络拥塞(未及时收到确认),则将慢开始门限ssthresh设置为出现拥塞时发送方的cwnd值的一半(但不能小于2)。然后把拥塞窗口cwnd重新设置为1,执行慢开始算法,当再次到达慢开始门限ssthresh,再执行拥塞避免算法
快重传和快恢复
快重传:当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待重传计时器超时
快恢复:当发送方连续收到三个重复的ACK时,执行“乘法减小”算法,把慢开始门限ssthresh屁设置为此时发送方cwnd的一半,并且cwnd设置为慢开始门限ssthresh改变后的值,然后开始执行拥塞避免算法(“加法增大”)
应用层
网络应用模型
客户/服务器模型(C/S)
工作流程
1 服务器处于接受请求状态
2 客户机发出服务请求,并等待接受结果
3 服务器收到请求后,分析请求,进行必要的处理,的到结果并发送给客户机
特点
1 客户程序必须知道服务器程序的地址
2 服务器上运行的软件是专门用来提供某种服务的程序,可同时处理多个远程或本地客户的要求, 系统系统后即自动调用并一直不断地运行着,被动地等待并接收来自各地客户的请求
3 客户是服务请求房,服务器是服务提供方
4 网络中各计算机的地位不平等,
5 客户机相互之间不直接通信,
6 可扩展性不佳,受限于服务器硬件和网络带宽的限制
P2P模型
工作流程:各计算机没有固定的客户和服务器划分,任意一对计算机(称为对等方)直接相互通信
优点
1 减轻了服务器的计算压力,消除了对某个服务器的完全依赖
2 多个客户机之间可以直接共享文档
3 可扩展性好
4 网络健壮性好
缺点:在获取服务的同时,还要给其他结点提供服务,会占用较多的内存,影响整机速度。
域名系统(DNS)
域名服务器
1 根域名服务器:最高层次的域名服务器,知道所有的顶级域名服务器的IP地址
2 顶级域名服务器:负责管理该顶级域名服务器注册的所有二级域名
3 授权域名服务器:每台主机都必须在授权域名服务器处登记,可以将其管辖的主机名转换为IP地址
4 本地域名服务器:当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
域名解析过程
递归查询:首先主机向本地域名服务器发送查询请求, 本地域名服务器向根域名服务器发送一次查询请求, 根域名服务器向顶级域名服务器发送查询请求, 顶级域名服务器向权限域名服务器发送查询请求, 最后把结果再发给顶级域名服务器, 顶级域名服务器发给根域名服务器, 根域名服务器发给本地域名服务器, 再发给主机
迭代查询:主机向本地域名服务器发送查询请求, 本地域名服务器向根域名服务器发送查询请求,得到顶级域名服务器的IP地址, 然后本地域名服务器向顶级域名服务器发送查询请求,得到权限域名服务器IP地址, 本地域名服务器再向权限域名服务器发送查询请求,得到结果, 本地域名服务器再将最终结果发给主机
使用UDP协议,使用53号端口
文件传输协议(FTP)
功能
提供不同种类主机系统之间的文件传输能力
以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
以匿名(常用anonymous作为用户名)FTP的方式提供公用文件共享的能力
工作步骤
服务器打开熟知端口21(控制端口),使客户进程能够连接上
2 等待客户进程发连接请求
3 启动从属进程来处理客户进程发来的请求, 主进程与从进程并发执行,从属进程对客户进程的请求处理完毕后即终止
4 回到等待状态,继续接收其他客户进程的请求
控制连接(端口号21):以7位ASCII格式传输控制信息,传输文件期间,一直保持打开,可以和数据并行传输
数据连接(端口号20):控制连接建立后,传输数据,分为PASV和PORT两种方式
PORT:控制连接建立后,要读取数据时,客户端随机开放一个端口,并告知服务器, 服务器收到命令后,通过20端口和客户端连接
PASV:控制连接建立后,要读取数据时,客户端发送PASV命令到服务器, 服务器在本地随机开放一个端口,并告知客户端,客户端再连接到服务器开放的端口进行数据传输
特点:数据与控制分离传输,也称为FTP的控制信息是带外传送。采用TCP连接,控制端口20,数据端口2
电子邮件(E-mail)
电子邮件格式,TO(必选)和Subject(可选)为用户填写 电子邮件地址格式:收件人邮箱名@邮箱所在主机的域名
多用途网际邮件扩充(MIME):增加了邮件主题的结构,支持新的传送内容
SMTP
从用户到发送方邮件服务器使用的协议,也可用于邮件服务器和邮件服务器之间的通信
采用TCP连接,端口号25
POP3
是仅适用于从邮件服务器下载邮件的协议,在传输层采用TCP,端口号为110
子主题
明文传输
万维网(WWW)
动态主机配置协议(DHCP)
子主题
给主机动态分配IP地址
是应用层协议,基于UDP
内核部分
1 统一资源定位符(URL):唯一标识万维网上的各种文档
2 超文本传输协议(HTTP):应用层协议,使用TCP进行可靠传输,是万维网客户端程序和服务器程序之间交互所必须严格遵守的协议
3 超文本标记语言(HTML):使用一些约定的标记对页面上的各种信息、格式进行标记
HTTP协议
HTTP是无状态的,但使用Cookie加数据库的方式跟踪用户活动,Cookie由服务器产生,保存在客户端中。
持久连接:指万维网发发送响应后仍然保持这条链接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求和响应报文
非持久连接:每个网页元素对象的传输都要单独建立一个TCP连接。
采用TCP连接,端口号80