计算机网络知识(下)
2024-01-19 11:05:00 0 举报
AI智能生成
计算机网络知识(下)
作者其他创作
大纲/内容
计算机网络-4-网络层
路由算法
静态路由:网络管理员手动配置路由信息。难度和复杂度高
动态路由
距离-向量路由算法:【与隔壁发所有】因为要发全部信息所以 收敛慢、会存在回路。
链路状态路由算法:【与所有发隔壁】利用Dijsktra算法、泛洪法。收敛快
层次路由:自治系统内部使用内部网关协议【IGP】、自治系统之间使用外部网关协议【EGP】
IPv4
单位:首部长:总长度:片偏移 = 4:1:8 (B)
标志位:MF【1:还有分片 0: 最后一片】, DF【0:能分片】
首部校验和:之校验分组首部,不校验数据部分
关于分片:除最后一片外,其余每片数据部分必须是8的倍数(片偏移单位的原因)
IPv4地址
32bit = 4B 【<网络号><主机号>】
特殊地址:【主机全0】本网络本身、【主机全1】本网络广播、【0.0.0.0】本网络本主机
【255.255.255.255】整个网络的广播,因为广播域的隔离,还是表示本网络广播
【255.255.255.255】整个网络的广播,因为广播域的隔离,还是表示本网络广播
网络地址转换(NAT)
大量的内网地址(主机)使用少量的公网地址
私有地址网段:A【10.0~10.255】 B【172.16~172.31】 C【192.168.0~192.168.255】因特网中路由器不转发目的地址为私有地址的数据报
子网划分:
把【<网络号><主机号>】划分成【<网络号><子网号><主机号>】
子网掩码:网络部分为1,主机部分为0.与IP地址相‘与’得到网络号
无分类域间路由选择(CIDR):路由聚合,把多个网络的相同最长网络前缀做为网络号
重要协议
地址解析协议(ARP):【网络层】完成IP地址到MAC地址的映射
每台主机和路由器都维护一个ARP表,存放各主机和路由器的IP到MAC的映射
当根据IP查询MAC 不存在的时候就把目的MAC设为全1,进行广播。 但是响应的时候是单播
动态主机配置协议(DHCP):【应用层 UDP】 整个过程全是广播的方式
需要IP的主机—(发现报文)—> DHCP服务器—(提供报文)—>主机—(DHCP请求)—>服务器—(DHCP确认)—主机
需要IP的主机—(发现报文)—> DHCP服务器—(提供报文)—>主机—(DHCP请求)—>服务器—(DHCP确认)—主机
网际控制报文协议(ICMP):【网络层】提高交付成功的机会,报告差错和异常。
ICMP差错报告报文
终点不可达:数据不能交付时
源点抑制:由于拥塞而丢弃数据报,发送抑制报文让源点减慢发送速度
时间超过:TTL为0时要丢弃
参数问题:首部字段不正确时
改变路由(重定向):可以通过更好的路由,有更好的路径
备注:不对差错报文发送差错报文,非第一个数据报分片不发,组播地址不发,特殊地址0.0.0.0等不发
ICMP询问报文:回送和回答、时间戳和回答、掩码地址和回答、路由器询问和通告
IPv6
格式特点
128bit = 16B 是IPv4 4B 的平方
只有源节点才能分片,路径中的路由器不能分片。 首部长度必须是8B的整数倍。 没有校验但是更安全
分级概念:顶级(第一级)【全球都知道的公共拓扑】 → 场点级(第二级)【指明单个场点】 → 第三级【指明单个网络接口】
IPv4到IPv6的过渡
双协议栈:部分主机和路由器同时支持IPv4和IPv6双协议栈
隧道技术:把IPv6的数据报封装到IPv4数据报中的数据部分
路由协议
路由信息协议(RIP)【应用层】
基于距离-向量
基于距离-向量
每个路由器维护自身到其他每个路由器的距离记录(跳数),最远为15, 16为不可达
和隔壁交换所有的信息,30主动一次(广播)
收敛相对较慢,坏消息传得慢,因为最多为15跳所以适合小型网络
开放最短路径优先协议(OSPF)【网络层】
基于链路状态路由
基于链路状态路由
使用洪泛法向所有路由器发送隔壁信息
只有在链路发生变化时才 被动的更改信息
使用Dijkstra最短路径计算自己到各目的网络的最优路径
适合大型网络
边界网关协议(BGP)【应用层】
基于路径-向量
基于路径-向量
自治区域之间的协议
寻找一条比较好的路由。 首次交换全部信息,以后只交换变化的部分。
IP组播和移动IP
IP组播【基于UDP】
需要组播路由器的支持,建立组播转发树。主机只发一份数据。数据报协议字段是2
IGMP与组播路由协议
IGMP是TCP/IP的一部分
移动IP
目标:把分组自动的投递给移动结点
功能实体
移动结点:具有永久IP地址的移动结点
移动代理
归属代理(本地代理):在移动结点的永久居所中代表移动结点执行移动管理功能的实体。
根据移动用户的转交地址,采用隧道技术转换移动结点的数据包
根据移动用户的转交地址,采用隧道技术转换移动结点的数据包
外埠代理(外部代理):在外部网络中帮助移动结点完成移动管理功能的实体
设备
路由器:具有多个输入/输出端口的专用计算机,连接不同的网络进行路由转发
功能
路由选择:根据所使用的路由选择协议构造路由表(因为和路径有关,所有涉及多个路由器)
分组转发:处理通过路由器的数据流,查询转发表进行转发。(只涉及单个路由器)
路由器 隔离广播域和冲突域。 只能确保收到是分组是正确的,但是不能保证分组不丢失。
计算机网络-5-传输层
传输层提供的服务
功能
面向通信的最高层、面向用户功能的最底层
提供进程之间的通信【端到端】
复用和分用
复用:发送方不同的应用进程都可以使用同一传输层协议传输层协议传送数据
分用:接收方的传输层在剥去报文首部后能够正确交付数据到目的进程
对收到的报文进行差错检测——首部和数据部分都检测
端口
特点:16bit(65536)哥不同的端口号、 其中 0 ~ 1023为熟知端口(给服务器使用的)
套接字 = 主机IP + 端口号 => 唯一标识网络中一台主机上的一个应用进程
常用熟知端口:【FTP 21 TCP】【TELNET 23】【SMTP 25 TCP】【DNS 53 UDP】【TFTP 69】【HTTP 80 TCP】【SNMP 161】
UDP
特点
无需建立连接,故无连接时延,也不用为维护链接状态
没有拥塞控制,不影响主机发送效率
尽最大努力交付,不保证可靠传输、 维护传输可靠性需要高层(应用层)完成
首部:8B,四字段每字段2B. 【源端口 | 目的端口 | UDP长度 | 校验和】 长度部分是首部+数据 校验和不用全为0
UDP校验
校验码在UDP数据报前+12B的伪首部(只做计算用,不交付) 伪首部里面协议字段为17表示UDP
若出错
直接丢弃
交付给上层,并提交错误报告
TCP
特点
可靠,有序,无丢失,不重复
全双工通信,每条TCP只能是一对一。 面向字节流
报文段
首部+数据 首部最少(一般)为20B 最多为 60B。但是长度必须为4B的整数倍
特殊字段
序号:当前发送的第一个字节的编号
确认号:希望下次收到对方报文第一个字节的编号
数据偏移(首部长度):单位为4B,当值为15时达到TCP最大首部长度 60B
校验和:校验 首部+数据,要加12B的伪首部,伪首部里面协议字段为6代表TCP
连接管理(注意标志位)
连接建立(三次握手)
第一步(客):SNY = 1 【不带数据,但消耗序号 】 客户机发出请求连接报文
第二部(服):SNY = 1, ACK = 1 【不带数据,但消耗一个序号】 服务器发出确认连接报文
第三步(客):ACK = 1 【可携带数据,若不带则不消耗序号】 客户机发出对服务器确认报文的确认
连接释放(四次握手)
第一步(客):FIN = 1 客户机向服务器发出释放请求
第二步(服):ACK = 1 服务器对客户机的释放报文进行确认 此时服务器还能继续发送数据
第三步(服):FIN = 1, ACK = 1 服务器向客户机发出释放请求
第四步(客):ACK = 1 客户机对服务器的释放报文进行确认
一般四步之后不是立即释放连接,要等2MSL(最大生存时间)后才关闭连接、因为保证最后一个数据能传达目的
TCP流量控制(接收端对发送方的流量控制):只涉及两个端点。接受方发送确认报文的时候会给出接收窗口(rwnd),发送方的发送窗口=min{rwnd,cwnd}
TCP拥塞控制
慢开始和拥塞避免【超时】
拥塞窗口从1开始指数增长,到达阈值时变成+1增长。
超时的时候,阈值变为当前cwnd的一半(不能<2)。
再重慢开始一样从1开始
快重传和快恢复【收到冗余ACK】
拥塞窗口从1开始指数增长,达到阈值变成+1增长
收到三个冗余ACK(类似于超时),阈值变为当前cwnd的一半(不能<2)
从cwnd/2的地方以+的方式继续开始
计算机网络-6-应用层
网络应用模型
客户/服务器模型(C/S)
服务器为客户机提供服务,且可同时为多个客户机服务
各计算机的地位不等,服务器可通过权限管理客户机
客户机之间不能通信
P2P模型
每个结点 既是客户机,也是服务器
客户机(服务器)之间可以自由共享文档
域名系统(DNS)【C/S 、UDP、端口53】
域名服务器:完成域名到IP地址的解析
授权域名服务器:每台主机都需到此登记,每次地址解析最后都会请求此服务器的解析
地址解析方式
递归查询(基本不用):类似于串行,一级一级往下访问。
迭代查询:类似于并行,又本地域名服务器分别多次向各即从高到低询问查询
文件传输协议(FTP)【C/S,TCP,控:21 数:20】
提供交互式访问,允许客户指明文件的类型和格式
功能(要有印象)
通过不同主机系统间的文件传输
提供远程文件管理能力
匿名方式提供共享
FTP服务器组成
一个主进程:接收新的请求(门童)
若干从属进程:负责处理单个请求 (服务员)
控制连接(端口21):传输控制信息(连接、传送请求),以7位ASCII码的格式传送。整个会话期间一直打开
数据连接(端口20):连接客户端和服务器端的数据传送进程。(要修改服务器的数据:传到本地主机—修改—传回服务器)
电子邮件【C/S、TCP、SMTP:25、POP3:110】
组成
用户代理:用户与电子邮件系统的接口(撰写、显示、处理等功能)
邮件服务器(核心):以C/S的方式发送和接收邮件
发送和读取协议: 发送时用SMTP, 接收时用POP3
【发送方】—SMTP—【服务器】—SMTP(TCP)—【服务器】—POP3—接受方
电子邮件格式:收件人邮箱名@邮箱所在主机域名 Steven@126.com
万维网(www)【C/S、TCP、端口80】
HTTP:面向事务的应用层协议、无状态无记录,一般主机有文本文件cookie来记录
HTTP报文
请求报文:web客户端向web服务器发送服务请求
响应报文:web服务器对web客户端的请求回答
HTTP使用TCP连接方式(HTTP自身是无连接的)
非持久:每个网页的储阿生农户都要建立一个TCP连接(做题时别忘了加上TCP连接的RTT)
持久连接
非流水线:客户在收到前一个响应后才能发送下一个
流水线:可连续发出对各个引用对象的请求
HTTP请求报文中的方法
GET:读取URL标识的信息、即读取指定的页面信息,返回主体实体(客户端从服务器读取)
HEAD:读取URL标识的信息的首部、类似于GET,不过不返回实体,只返回报头
POST:给服务器添加信息(客户端给服务器提供信息)
CONNECT:用于代理服务器(预留,还未使用)
协议的总结
0 条评论
下一页