计算机网络:快速了解网络框架


前言

概述计算机网络。


一、什么是Internet?

1.从具体构成角度

  • 节点
    • 主机及其上运行的应用程序
    • 路由器、交换机等网络交换设备
  • 边:通信链路
    • 接入网链路:主机连接到互联网的链路
    • 主干链路:路由器间的链路
  • 协议
  • 数以亿计的、互联的计算设备(端系统:end system 或者 host):
    • 主机 = 端系统
    • 运行网络应用程序
  • 通信链路:
    • 光纤、同轴电缆、无线电、卫星
    • 传输速率 = 带宽(bps)
  • 分组交换设备:转发分组(packets)
    • 路由器和交换机
  • 协议控制发送、接收信息
    • 如TCP、IP、HTTP、FTP、PPP
  • Internet:“网络的网络”
    • 松散的层次结构,互联的ISP
    • 公共Internet vs,专用internet
  • Internet标准
    • RFC:Request for comments
    • IETF:Internet Engineering Task Force

什么是协议?

人类协议

  • 你好、几点了、我有个问题
  • 发送特定的信息
  • 收到消息时采取的特定行为或其他事件

网络协议

  • 类似人类协议
  • 机器之间的协议而非人与人之间的协议
  • Internet中所有的通信行为都受到协议制约

协议定义了在一个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收时间方面所采用的动作。

在这里插入图片描述

2.从服务角度

  • 使用通信设施进行通信的分布式应用

    • Web、VoIP、email、分布式游戏、电子商务、社交网络
    • 网络、VoIP、电子邮件、分布式游戏、电子商务、社交网络
  • 通信基础设施为apps提供编程接口(通信服务)

    • 将发送和接收数据的apps与互联网连接起来

    • 为app应用提供服务选择,类似于邮政服务:

      • 无连接不可靠服务服务
      • 面向连接的可靠服务

3小结

  • 把端系统和交换节点连接在一起叫接入网,交换节点和交互节点叫网络核心。
  • 端系统=主机,主要包括能进行网络通信的网络应用和操作系统。
  • 计算机网络包括应用进程和其下的协议基础设施。
  • 以tcp/ip协议为主的协议簇为基础的网络叫计算机网络。
  • 协议:对等实体进行数据交换所需遵守的一系列规则。
  • 协议包括:语法,语义,次序,动作。

二、网络边缘

网络结构(边缘通过接入连接核心,核心再将边缘联系一起,网络核心其实就是负责数据传输)
在这里插入图片描述

  • 端系统(主机):
    • 运行应用程序
    • 如Web、email
    • 在“网络的边缘”
  • 客户/服务器模式(C/S)
    • 客户端向服务器请求、接收服务
    • 如Web浏览器/服务器; email客户端/服务器
  • 对等(peer-peer )模式(P2P)
    • 很少(甚至没有)专门的服务器
    • 如Gnutella、KaZaA、Emule
    • 每个主机可能是主机也可能是服务器

1.采用网络设施面向连接服务(TCP)

在这里插入图片描述

目标:在端系统之间传输数据

  • 握手:在数据传输之前做好准备
    • 人类协议中:你好、你好
    • 两个通信主机之间为连接建立状态
  • TCP–传输控制协议(Transmission Control)
    • Internet上面向连接的服

TCP服务[RCF 793]

  • 可靠地、按顺序地传送数据
    • 确认和重传
  • 流量控制
    • 发送方不会淹没接收方
  • 拥塞控制
    • 当网络拥塞时,发送方降低发送速率

2.采用基础设施的无连接服务(UDP)

在这里插入图片描述

目标:在端系统之间传输数据

  • 无连接服务
  • UDP——用户数据报协议(User DatagramProtocol)[RFC 768]:
    • 无连接
    • 不可靠数据传输
    • 无流量控制
    • 无拥塞控制

使用TCP的应用

  • HTTP (Web),FTP(文件传送),Telnet(远程登录),SMTP (email)

使用UDP的应用

  • 流媒体、远程会议、DNS、Internet电话

三、网络的核心

在这里插入图片描述

  • 网络核心:路由器的网状网络
  • 基本问题:数据怎样通过网络进行传输?
    • 电路交换:为每个呼叫预留一条专有电路:如电话网
    • 分组交换(以分组为单位,存储转发):
      • 将要传送的数据分成一个个单位:分组
      • 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
      • 每段:采用链路的最大传输能力(带宽)

1.电路交换

在这里插入图片描述
在这里插入图片描述

在电路交换过程中,网络资源(如带宽)被分成片:

  • 为呼叫分配片
  • 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
  • 将带宽分成片的方式:
    • 频分(Frequency-divisionmultiplexing)
    • 时分(Time-divisionmultiplexing)
    • 波分(Wave-divisionmultiplexing)

在这里插入图片描述
在这里插入图片描述

电路交换不适合计算机之间的通信:

  • 连接建立时间长
  • 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
    • 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
  • 可靠性不高?

2.分组交换

以分组为单位存储-转发方式

  • 网络带宽资源不再分为一个个片,传输时使用全部带宽
  • 主机之间传输的数据被分为一个个分组

资源共享,按需使用:

  • 存储-转发:分组每次移动一跳(hop)
    • 在转发之前,节点必须收到整个分组
    • 延迟比线路交换要大,因为每个节点都要收到整个分组才会往下hop,所以每个节点都要等待整个分组完整传输。
    • 排队时间
    • 使用每个节点之间的线路,其他节点线路仍然可以被其他人使用
    • 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
    • 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s

Example:
L= 7.5 Mbits
R = 1.5 Mbps
3次存储转发的延时 = 15 s

排队和延迟:

  • 如果到达速率>链路的输出速率:
    • 分组将会排队,等待传输
    • 如果路由器的缓存用完了,分组将会被抛弃

网络核心的关键功能
路由:决定分组采用的源到目标的路径(查路由表)

  • 路由算法

转发:将分组从路由器的输入链路转移到输出链路

统计多路复用
在这里插入图片描述

3.分组交换 VS 电路交换

分组交换允许更多用户使用网络

  • 1 Mbps 链路
  • 每个用户:
    • 活动时100 kbps
    • 10%的时间是活动的
  • 电路交换:
    • 10用户(1 Mbps / 100 Kbps)
  • 分组交换:
    • 假设有35用户
    • 大于等于10个用户活动的概率为0.0004 = 0.04%(99.6%的可能hold住,0.04%的可能hold不住,流量强度为1,网络会挂掉,瞬间进来的速度比出去的速度来的快,但是有队列,可以慢慢排队,挺过这0.04%,后面就顺风顺水,进来的少,出去的多,把这0.4%传出去,也算hold住)

在这里插入图片描述

分组交换是“突发数据的胜利者”

  • 适合于对突发式数据传输5634
    • 资源共享
    • 简单,不必建立时间
  • 过度使用会造成网络拥塞:分组延时和丢失
    • 对可靠的数据传输需要协议来约束:拥塞控制

4.分组交换的两种方式

  • 分组交换:分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接分成:
    • 数据报网络(无连接):
      • 分组的目标地址决定下一跳
      • 在不同的阶段,路由器可以改变
      • 类似:问路
      • Internet
    • 虚电路网络(有连接):
      • 每个分组都带标签(虚电路标识VCID),标签决定下一跳
      • 在呼叫建立时决定路径,在整个呼叫中路径始终保持不变
      • 路由器维持每个呼叫的状态信息
      • X.25和ATM

数据报的工作原理

  • 在通信之前,无须建立起一个连接,有数据就传输
  • 每一个分组都独立路由(路径不一样,可能会失序)
  • 路由器根据分组的目标地址进行路由

虚电路工作原理
在这里插入图片描述

5.总结

网络分类

  • 通信网络

    • 电路交换网络
      • FDM
      • TDM
    • 分组交换网络
      • 虚电路网络
      • 数据报网络

    在这里插入图片描述

电路交换,独享线路,性能保障,信息共享程度能力较低,连接建立时间非常长但网络连接的建立有很大的突发性,所以不好。将带宽分片以共享信息通路:频分(fdm),时分(tdm),波分(wdm),码分(cdma)

分组交换,将信息进行分组,待分组(当个分组不是整个报文)全部传输完时再进行转发,延时较高,可能丢包,但利于信道共享,有存储时延和排队时延。

数据报(无连接) ∶每个分组携带完整的地址,进行分组转发。
虚电路(有连接) ∶建立一个虚拟的电路,每个分组携带一个电路号进行存储转发。有连接,无连接和面向连接(网络层的连接)没有关系。

服务分为面向连接的服务(tcp)和无连接的服务(udp)。
追求可靠性选择TCP,追求时效选择UDP如多媒体控制设备。

四、接入网和物理媒体媒介

Q:怎样将端系统和边缘路由器连接?

  • 住宅接入网络
  • 单位接入网络(学校、公司)
  • 无线接入网络

注意:

  • 接入网络的带宽(bits persecond) ?
  • 共享/专用?

1.住宅接入

modem:(modem越来越少,现在是移动联通光纤到户)
在这里插入图片描述

  • 将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然
    • 调频
    • 调幅
    • 调相位
    • 综合调制
  • 拨号调制解调器
    • 56Kbps的速率直接接入路由器(通常更低)
    • 不能同时上网和打电话:不能总是在线

电缆模式
在这里插入图片描述

2.接入网

DSL:digital subscriber line:
在这里插入图片描述

  • 采用现存的到交换局DSLAM的电话线
    • DSL线路上的数据被传入到互联网
    • DSL线路上的语音被传到电话网
  • 小于2.5Mbps上行传输速率(typically < 1Mbps)
  • 大于24Mbps下行传输速率(tyypically < 10Mbps)

线缆网络:

在这里插入图片描述

  • 有线电视信号线缆双向改造(原有电视线缆只能传下行)
  • FDM:在不同频段传输不同信道的数据,数字电视和上网数据(上下行)
  • HFC: hybrid fiber coax
    • 非对称:最高3OMbps的下行传输速率, 2Mbps上行传输速率
  • 线缆和光纤网络将每个家庭用户接入到ISP路由器
  • 各用户共享到线缆头端的接入网络
    • 与DSL不同,DSL每个用户一个专用线路到CO (central office)

家庭网络

在这里插入图片描述

企业接入网络
在这里插入图片描述

无线接入网络
在这里插入图片描述

LAN:局域网
WAN:广域网

3.物理媒体

  • Bit:在传输-接收对间传播
  • 物理链路:在每个传输-接收对,跨越一种物理媒体
  • 导引型媒体:
    • 信号沿着固体媒介被导引:同轴电缆、光纤、双绞线
  • 非导引型媒体:
    • 开放的空间传输电磁波或者光信号,在电磁或者光信号中承载数字数据
    • 信号自由传播:如无线电

双绞线(TP)
在这里插入图片描述

  • 两根绝缘铜导线拧合
    • 5类:10OMbps Ethernet. Gbps 千兆位以太网
    • 6类:10Gbps

同轴电缆
在这里插入图片描述

  • 两根同心的铜导线
  • 双向
  • 基带电缆:
    • 电缆上一个单个信道
    • Ethernet
  • 宽带电缆:
    • 电继缆上有多个信道
    • HFC

光纤和光缆:
在这里插入图片描述

  • 光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输
  • 高速:
    • 点到点的高速传输(如10Gps-100Gbps传输速率)
    • 低误码率:在两个中继器之间可以有很长的距离: 不受电磁噪声的干扰
  • 安全

无线链路

  • 开放空间传输电磁波、携带要传输的数据

  • 无需物理“线缆”

  • 双向

  • 传播环境效应:

    • 反射
    • 吸收
    • 干扰
  • 无线链路类型

    • 地面微波
    • e.g. up to 45 Mbps channels
  • LAN (e.g. , WiFi)

    • llMbps,54 Mbps,540Mbpps…
  • wide-area (e.g.,蜂窝)

    • 3G cellular :few Mbps
    • 4G 10Mbps
    • 5G 数Gbps
  • 卫星

    • 每个信道Kbps到45Mbps(或者多个聚集信道)
    • 270 msec端到端延迟
    • 同步静止卫星和低轨卫星

五、Internet结构和ISP

互联网网络结构:网络的网络

  • 端系统通过接入ISPs (lnternet Service Providers)连接到互联网
    • 住宅,公司和大学的ISPs
  • 接入ISPs相应的必须是互联的
    • 因此任何2个端系统可相互发送分组到对方
  • 导致的“网络的网络”非常复杂
    • 发展和演化是通过经济的和国家的政策来驱动的
  • 让我们采用渐进方法来描述当前互联网的结构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

一些大的公司(ICPs),如谷歌等,在全球部署自己的数据中心机房,自己铺专用电缆相连(或者有的地方是租电缆专用),一般这些机房都建在距离ISP比较近的地方,这样用户访问等到达ISP可以很快到达机房,如果这个机房没有,专用电缆向其他机房获取也很快。而铺设这些专用电缆是因为ISP费用贵,还有就是提供高质量服务。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

一个分组要经过许多网络
很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据
连接若干local ISP和各级(包括一层)ISP,更加靠近用户
经济考虑:少付费
用户体验考虑:更快

在这里插入图片描述

六、分组丢失、延时和吞吐量

分组丢失和延时是怎样发生的?
在路由器缓冲区的分组队列

  • 丢失:分组到达链路的速率超过了链路输出的能力
  • 延时:分组等待排到队头、被传输

在这里插入图片描述

1.四种分组延时

1>节点处理延时:

  • 检查bit级差错
  • 检查分组首部和决定将分组导向何处

2>排队延时:

  • 在输出链路上等待传输的时间
  • 依赖于路由器的拥塞程度

在这里插入图片描述

3>传输延时:

  • R=链路带宽(bps)
  • L=分组长度(bits)
  • 将分组发送到链路上的时间=L/R
  • 存储转发延时

4>传播延时:

  • d =物理链路的长度
  • s =在媒体上的传播速度(~2x108 m/sec)
  • 传播延时= d/s

在这里插入图片描述

车队类比:

一个车队10个车,有两个收费站,现在车队在第一个服务站准备过站。

在这里插入图片描述

  • 传输延时:从第一个汽车离开第一个服务站到第十个汽车车尾离开的时间
  • 传播时间:最后一个汽车从第一个服务器出去进入第二个服务器的时间
  • 汽车:bit;车队:分组
  • 在所有的汽车被第一个收费站服务之前,汽车会到达第二个收费站吗?
    • 在整个分组被第一个路由器传输之前,第一个比特已经到达了第二个路由器!

节点延时:
在这里插入图片描述

排队延时:
在这里插入图片描述

Internet的延时和路由:
在这里插入图片描述

在这里插入图片描述

2.分组丢失

  • 链路的队列缓冲区容量有限
  • 当分组到达一个满的队列时,该分组将会丢失
  • 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

3.吞吐量

吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)

  • 瞬间吞吐量:在一个时间点的速率
  • 平均吞吐量:在一个长时间内平均值

在这里插入图片描述

在这里插入图片描述

吞吐量:链路上每一段实际可用带宽中最小的一个带宽,这个最小的带宽经常是瓶颈。

七、协议层次和服务模型

网络是一个复杂的系统!

  • 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
  • 现实来看,网络的许多构成元素和设备:
    • 主机路由器
    • 各种媒体的链路应用
    • 协议
    • 硬件,软件

问题是:如何组织和实现这个复杂的网络功能————分层
解决:层次化方式实现复杂网络功能

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+ 更下层所提供的服务

1.服务和服务访问点

  • 服务(Service):低层实体向上层实体提供它们之间的通信的能力
    • 服务用户(service user)
    • 服务提供者(service provider )
  • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
  • 服务访问点SAP (Services Access Point):上层使用下层提供的服务通过层间的接口—地点;
    • 例子:邮箱
    • 地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用
    • 可以有不同的实现,队列
    • 例子:传输层的SAP:端口(port)

2.服务类型

  • 面向连接的服务和无连接的服务-方式
    • 面向连接的服务(Connection-oriented Service)
      • 连接(Connection):两个通信实体为进行通信而建立的一种结合
      • 面向连接的服务通信的过程:建立连接,通信,拆除连接
      • 面向连接的服务的例子:网络层的连接被成为虚电路适用范围:对于大的数据块要传输;不适合小的零星报文特点:保序
      • 服务类型:
        • 可靠的信息流传送页面(可靠的获得,通过接收方的确认)
        • 可靠的字节流 远程登录
        • 不可靠的连接 数字化声音
    • 无连接的服务(Connectionless Service)
      • 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
      • 特点:不可靠、可能重复、可能失序
      • IP分组,数据包;
      • 适用范围:适合传送零星数据;
      • 服务类型:
        • 不可靠的数据报电子方式的函件
        • 有确认的数据报 挂号信
        • 请求回答信息查询

3.服务和协议

  • 服务与协议的区别
    • 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是(通过SAP再)通过原语(primitive)来操作的,垂直
    • 协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
  • 服务与协议的联系
    • 本层协议的实现要靠下层提供的服务来实现
    • 本层实体通过协议为上层提供更高级的服务

4.分层处理和实现复杂系统的好处?

对付复杂的系统

  • 概念化:结构清晰,便于标示网络组件,以及描述其相互关系
    • 分层参考模型
  • 结构化:模块化更易于维护和系统升级
    • 改变某一层服务的实现不影响系统中的其他层次
      • 对于其他层次而言是透明的
    • 如改变登机程序并不影响系统的其它部分
      • 改变2个秘书使用的通信方式不影响2个翻译的工作
      • 改变2个翻译使用的语言也不影响上下2个层次的工作
  • 分层思想被认为有害的地方?效率低等,但是利大于弊

5.Internet协议栈

  • 应用层:网络应用
    • 为人类用户或者其他应用进程提供网络应用服务
    • FTP,SMTP,HTTP,DNS
  • 传输层:主机之间的数据传输
    • 在网络层提供的端到端通信基础上,细分为进程到进程将不可靠的通信变成可靠地通信
    • TCP, UDP
  • 网络层:为数据报从源到目的选择路由
    • 主机主机之间的通信,端到端通信,不可靠
    • IP(转发分组),路由协议
  • 链路层:相邻网络节点间的数据(以帧为单位的数据)传输
    • 2个相邻2点的通信,点到点通信,可靠或不可靠
    • 点对对协议PPP,802.11(wifi),Ethernet
  • 物理层:在线路上传送bit

在这里插入图片描述

6.ISO/OSI参考模型

在这里插入图片描述

7.封装和解封装

在这里插入图片描述

8.各层次的协议数据单元

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段,UDP数据报
  • 网络层:分组packet(如果无连接方式:数据报datagram)
  • 数据链路层:帧(frame)
  • 物理层:位(bit)

总结

以上就是计算机网络的概述。

相关推荐

  1. 计算机网络

    2023-12-05 16:24:04       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 16:24:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 16:24:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 16:24:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 16:24:04       18 阅读

热门阅读

  1. 基于c 实现 FIFO

    2023-12-05 16:24:04       33 阅读
  2. 服务器固件

    2023-12-05 16:24:04       33 阅读
  3. 深入浅出 Golang 中的直接依赖和间接依赖管理

    2023-12-05 16:24:04       29 阅读
  4. EasyExcel list<Map>批量导出多个sheet

    2023-12-05 16:24:04       39 阅读
  5. Hive进阶函数:inline() 和 struct() ,一列转多行

    2023-12-05 16:24:04       36 阅读
  6. Appium:iOS测试比Android测试更难?

    2023-12-05 16:24:04       43 阅读
  7. SpringMVC的基础知识

    2023-12-05 16:24:04       30 阅读
  8. 总结 SpringMVC 中的常用注解和用法

    2023-12-05 16:24:04       34 阅读
  9. Django大回顾-4 自定义过滤器和标签、模型层

    2023-12-05 16:24:04       35 阅读