计算机网络期末预习

面向考点预习

  • 应用层: 为用户提供各种网络资源的服务
    FTP, SMTP, HTTP
  • 传输层: 进程-进程的数据传输;流量控制
    TCP, UDP
  • 网络层: 源主机到目的主机数据的路由与转发;拥塞控制;网络互连
    IP协议、路由协议等
  • 链路层: 相邻网络元素的数据传输;成帧;流量控制;差错控制
    以太网(Ethernet)、802.11 (WiFi)、 PPP
  • 物理层:比特传输

一、计算机网络与因特网

协议

协议:协议定义了网络实体之间发送和接收消息的格式、意义、顺序以及对消息传输、接收采取的行动

协议的三要素:语法、语义、时序

因特网构成

  1. 网络边缘:
    主机:客户端和服务器
    主机即端系统
    即资源子网

  2. 网络核心:
    互联的路由器
    网络网络
    即通信子网

电路交换及其特点

通信双方必须先建立一个专用的连接(电路),一直维持,直到通信结束。如,电话网络。

  1. 预先分配给的端到端通信的资源。
  2. 专用资源:不共享

分组交换及其特点

  1. 存储和转发:整个数据包必须到达路由器,然后才能在下一个链路上传输
  2. 排队和损失:如果链路的到达率(以位为单位)在一段时间内超过链路的传输速率:数据包将排队,等待。如果内存(缓冲区)满,则可以丢弃(丢失)数据包
  3. 分组交换较电路交换允许更多的用户使用网络!

网络性能指标

网络性能指标:损耗(丢包)、延迟、吞吐量、RTT(往返时间)

  1. 丢包和延迟是如何发生的?
    分组到达链路的速率(暂时)超过输出链路容量
  2. 包延迟的四个来源
    d总时延 =d处理时延 +d排队 +d传输 +d传播
  3. 包丢失
    队列缓存容量有限
    分组到达已满队列将被丢弃 (即丢包)
    丢弃分组可能由前序结点或源重发(也可能不重发)
    注:丢包率= 丢包数 / 已发分组总数
  4. 吞吐量
    吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)
    即时吞吐量: 给定时刻的速率
    平均吞吐量: 一段时间的平均速率

计算机网络的体系结构

  1. 网络体系结构是从功能上描述计算机网络结构
  2. 计算机网络体系结构简称网络体系结构(network architecture)是分层结构
  3. 每层遵循某个/些网络协议完成本层功能
  4. 计算机网络体系结构是计算机网络的各层及其协议的集合
  5. 体系结构是一个计算机网络的功能层次及其关系的定义
  6. 体系结构是抽象的
  7. 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
  8. 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上
    层提供服务,服务是“垂直的”。

TCP/IP模型

计算机网络期末预习_第1张图片

OSI/RM模型

计算机网络期末预习_第2张图片

五层原理模型

  1. 应用层: 支持各种网络应用FTP, SMTP, HTTP
  2. 传输层: 进程-进程的数据传输TCP, UDP
  3. 网络层: 源主机到目的主机的数据分 组路由与转发IP协议、路由协议等
  4. 链路层: 相邻网络元素(主机、交换 机、路由器等)的数据传输以太网(Ethernet)、802.11 (WiFi)、 PPP
  5. 物理层:比特传输
    计算机网络期末预习_第3张图片

二、应用层

网络应用程序体系结构

  1. 客户机/服务器结构(Client-Server, C/S)
    计算机网络期末预习_第4张图片

  2. 点对点结构(Peer-to-peer, P2P)
    计算机网络期末预习_第5张图片

进程通信

计算机网络通信的端点:进程

  1. 同一主机上运行的进程之间如何通信?
    进程间通信机制
    操作系统提供
  2. 不同主机上运行的进程间如何通信?
    消息交换

进程标识

  • 进程的标识符:IP地址+端口号
  • 进程与计算机网络之间的接口:套接字(Socket)

万维网构成

  • 服务器、客户机、协议
  • 网页、http、html、url

HTTP协议

万维网遵循协议:HTTP协议

  1. C/S结构
  2. TCP传输服务
    服务器在80端口等待客户的请求
    浏览器发起到服务器的TCP连接(创建套接字Socket)
    服务器接受来自浏览器的TCP连接
    浏览器(HTTP客户端)与Web服务器(HTTP服务器)交 换HTTP消息
    关闭TCP连接
  3. 无状态
    服务器不维护任何有关客户端过去所发请求的信息

E_mail

  • 用户代理
  1. 邮件代理向其邮件服务器发送邮件
  2. 邮件代理从其邮件服务器的邮箱中获取该报文。
  • 邮件服务器
  1. 邮箱:发送给用户的报文。
  2. 报文队列:用户要发出的邮件报文。
  • 简单邮件传输协议SMTP
  1. 从发送方的邮件服务器向接收方的邮件服务器发送邮件。(应用层协议、使用TCP可靠数据传输服务。)
  2. 包括两部分:
    客户机端:在发送方邮件服务器上运行;
    服务器端:在接收方邮件服务器上运行。
  3. 每个邮件服务器上都有SMTP的客户机端和服务器端。

DNS

域名解析系统DNS

  • 迭代查询
  • 多层命名服务器构成的分布式数据库
    应用层协议:完成名字的解析
    Internet核心功能,用应用层协议实现
    网络边界复杂
  • 只要域名解析服务器获得域名—IP映射,即缓存这一映射
    一段时间过后,缓存条目失效(删除)
    本地域名服务器一般会缓存顶级域名服务器的映射
    因此根域名服务器不经常被访问

【例题】 如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机 域名时,用户主机、本地域名服务器发送的域名请求消息数分别为
A.一条、一条 B.一条、多条 C.多条、一条 D.多条、多条
【解析】域名递归解析过程中,主机向本地域名服务器发送DNS查询,
被查询的域名服务器代理后续的查询,然后返回结果。所以,递归查询 时,如果本地域名服务器无缓存,则主机和本地域名服务器都仅需要发
送一次查询,故正确答案为A。

P2P

  • 没有服务器
  • 任意端系统之间直接通信
  • 节点阶段性接入Internet
  • 节点可能更换IP地址

UDP套接字

客户机:产生输入流、套接字 —> 输入 —> 封装 —> 发送
服务器:产生套接字 —> 接收 —> 解封 —> 发送

三、传输层

传输层和网络层的关系

  • 网络层:提供主机之间的逻辑通信机制
  • 传输层:提供应用进程之间的逻辑通信机制
    位于网络层之上
    依赖于网络层服务
    对网络层服务进行(可能的)增强

进程到进程的数据交付

  • 可靠、按序的交付服务(TCP)
    拥塞控制
    流量控制
    连接建立
  • 不可靠的交付服务(UDP)
    基于“尽力而为(Best-effort)”的网络层
    ,没有做(可靠性方面的)扩展
  • 两种服务均不保证
    延迟
    带宽

复用和分用

  • 接收端进行多路分用:
    传输层依据头部信息将收到的 Segment交给正确的Socket, 即不同的进程
  • 发送端进行多路复用:
    从多个Socket接收数据,为每 块数据封装上头部信息,生成 Segment,交给网络层

UDP特点

  • 基于Internet IP协议
    复用/分用
    简单的错误校验
  • “Best effort”服务,UDP段可能
    丢失
    非按序到达
  • 无连接
    UDP发送方和接收方之间不需要握手
    每个UDP段的处理独立于其他段
  • 常用于流媒体应用
    容忍丢失
    速率敏感
  • UDP还用于
    DNS
    SNMP

在UDP上实现可靠数据传输?

  1. 在应用层增加可靠性机制
  2. 应用特定的错误恢复机制

UDP为什么存在?

  1. 无需建立连接 (减少延迟)
  2. 实现简单:无需维护连接状态
  3. 头部开销少
  4. 没有拥塞控制: 应 用可更好地控制发送时间和速率

UDP报文段结构

计算机网络期末预习_第6张图片

UDP检验和

目的:检测UDP段在传输中是否发生错误(如位翻转)

  1. 相加
  2. 按位取反
    计算机网络期末预习_第7张图片

流水线可靠数据传输原理

回退N步

即Go-Back-N(GBN)协议

  • ACK(n): 确认到序列号n(包含n)的分组均已被正确接收

【例题】数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为 0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是多少?分别是那几个帧?
【解析】根据GBN协议工作原理,GBN协议的确认是累积确认,所以此时发送端需要重发的帧数是4个,依次分别是4、5、6、7号

选择重传

即Selective Repeat协议

  • 接收方对每个分组单独进行确认
    设置缓存机制,缓存乱序到达的分组
  • 发送方只重传那些没收到ACK的分组
    为每个分组设置定时器
  • 发送方窗口
    N个连续的序列号
    限制已发送且未确认的分组

TCP可靠传输原理

  • 流水线机制
  • 累积确认
  • TCP使用单一重传定时器

TCP流量控制

计算机网络期末预习_第8张图片
计算机网络期末预习_第9张图片

  • TCP报文段结构 TCP建立连接和释放连接, TCP的拥塞控制 TCP面向字节流与UDP面向报文

四、网络层

网络层作用

  • 服务:发送主机到接收主机的数据传输服务
  • 发送主机:将数据段封装到数据报(datagram)中
  • 接收主机:向传输层交付数据段(segment)
  • 每个主机和路由器都运行 网络层协议

网络层主要功能

  1. 转发(forwarding): 将分组从路由器的输入端口转移到合适的输出端口
  2. 路由(routing): 确定分组从源到目的经过的路径

数据平面

  • 每个路由器都具备
  • 决定输入端口到来的数据报怎样发送到输出端口
  • 转发功能

控制平面

  • 全网逻辑
  • 确定数据报如何在路由器之间沿着从源主机到目标主机之间的路由转发
    两种控制平面方法:
  • 传统路由算法: 路由器中实现
    software-defined networking (SDN): 远程服务实现
  • 每个路由器中独立的路由算法组件在控制平面中相互作用

网络层服务类型

  1. 无连接服务
  • 数据报网络(datagram network )服务
  • 简化网络, 复杂“边缘”
  1. 连接服务
  • 虚电路网络(virtual-circuit network )
  • 简化“边缘”, 复杂网络

IP协议作用

  • 寻址规约(conventions)
  • 数据报(分组)格式
  • 分组处理规约

IP首部格式

计算机网络期末预习_第10张图片

IP分片与重组

IP地址概念

子网划分(含变长子网)

CIDR与超网

ICMP

互联网控制报文协议 ICMP支持主机或路由器:

  • 差错(或异常)报告
  • 网络探询

五、数据链路层和局域网

你可能感兴趣的:(笔记,计算机网络)