计网第1章(概述)

 · 2025-1-4 · 次阅读



20201016103344
代表着主机

20201016103558
代表服务器

20201016103603
代表着路由器

20201016103608
代表着网络

1.1、计算机网络在信息时代的作用

  • 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施
  • 计算机网络已经像水,电,煤气这些基础设施一样,成为我们生活中不可或缺的一部分

我国互联网发展状况

中国互联网络信息中心CNNIC

image-20201006160618748

image-20201006160645887

image-20201006160715764


1.2、因特网概述

1、网络、互连网(互联网)和因特网

网络:网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。

image-20201006163406232

互连网(互联网):多个网络通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互连网(互联网)。因此,互联网又称为“网络的网络(Network of Networks)”。

image-20201006163857236

因特网:因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。

image-20201006164114523

internet与Internet的区别

  • internet(互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
  • Internet(互联网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。

image-20201010233227407

2、因特网发展的三个阶段(了解)

image-20201006164655173

因特网服务提供者(nternet ervice rovider)ISP​(移动、联通、电信等)

image-20201006165117756

普通用户是如何接入到因特网的呢?

答:通过ISP接入因特网

ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备。任何机构和个人只需缴纳费用,就可从ISP的得到所需要的IP地址

因为因特网上的主机都必须有IP地址才能进行通信,这样就可以通过该ISP接入到因特网

中国的三大ISP:中国电信,中国联通和中国移动

image-20201006165738879

基于ISP的三层结构的因特网

image-20201006170140504

一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的就是购买一些如调制解调器或路由器这样的设备,让其他用户可以和他相连。

3、因特网的标准化工作(了解)

  • 因特网的标准化工作对因特网的发展起到了非常重要的作用。
  • 因特网在指定其标准上的一个很大的特点是面向公众。
    • 因特网所有的RFC(Request For Comments)技术文档都可从因特网上免费下载;
    • 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
  • 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
    • 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
    • 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    • 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。

image-20201006170959060

  • 制订因特网的正式标准要经过一下4个阶段:

    1、因特网草案(在这个阶段还不是RFC文档)

    2、建议标准(从这个阶段开始就成为RFC文档)

    3、草案标准

    4、因特网标准

4、因特网的组成

  • 边缘部分

    由所有连接在因特网上的主机组成(台式电脑,大型服务器,笔记本电脑,平板,智能手机等)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

  • 核心部分

    大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

image-20201006180725282

路由器是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构建,其任务是转发收到的分组,这是网络核心最重要的部分。

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统 (end system)

端系统在功能上可能有很大的差别:

  1. 小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
  2. 大的端系统则可以是一台非常昂贵的大型计算机。
  3. 端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP。

补充

端系统之间通信的含义

“主机 A 和主机 B 进行通信”实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。简称为“计算机之间通信”。

端系统之间的通信方式通常可划分为两大类:

image-20201010234145371

客户 - 服务器方式:

  • 客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。
  • 客户 - 服务器方式所描述的是进程之间服务和被服务的关系。
  • 客户是服务的请求方,服务器是服务的提供方。

服务请求方和服务提供方都要使用网络核心部分所提供的服务。

对等连接方式:

  • 对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
  • 只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信
  • 双方都可以下载对方已经存储在硬盘中的共享文档。

1.3 三种交换方式

网络核心部分是互联网中最复杂的部分。

网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。

在网络核心部分起特殊作用的是路由器(router)。

路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

1、电路交换(Circuit Switching)

image-20201006182240000

传统两两相连的方式,当电话数量很多时,电话线也很多,就很不方便

所以要使得每一部电话能够很方便地和另一部电话进行通信,就应该使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机

image-20201006182634249

  • 电话交换机接通电话线的方式称为电路交换;
  • 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
  • 电路交换的三个步骤:

    1、建立连接(分配通信资源)

    2、通话(一直占用通信资源)

    3、释放连接(归还通信资源)

image-20201006183020317

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。

这是因为计算机数据是突发式地出现在传输线路上的。

所以计算机通常采用的是分组交换,而不是线路交换

2、分组交换(Packet Switching)

image-20201006183312843

通常我们把表示该消息的整块数据称为一个报文

在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面。加上一些由必要的控制信息组成的首部后,就构成一个分组,也可简称为“包”,相应地,首部也可称为“包头”。

首部包含了分组的目的地址。

分组从源主机到目的主机,可走不同的路径。

  • 发送方

    • 构造分组
    • 发送分组
  • 路由器

    • 缓存分组
    • 转发分组
    • 简称为“分组转发”

在路由器中的输入和输出端口之间没有直接连线。

路由器处理分组的过程是:

  1. 把收到的分组先放入缓存(暂时存储);
  2. 查找转发表,找出到某个目的地址应从哪个端口转发;
  3. 把分组送到适当的端口转发出去。
  • 接收方

    • 接收分组
    • 还原报文

3、报文交换(Message Switching)

报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代

三种交换方式的对比

假设A,B,C,D是分组传输路径所要经过的4个结点交换机,纵坐标为时间

image-20201006184451671

分析:

电路交换:

  • 通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送;数据传送后,需释放连接,以归还之前建立连接所占用的通信线路资源。
  • 一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点;

报文交换:

  • 可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
  • 整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间。

分组交换:

  • 可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各结点交换机上存储转发。各结点交换机在发送分组的同时,还缓存接收到的分组。
  • 构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。

image-20201006185601460


1.4 计算机网络的定义、分类和组成

定义

  • 计算机网络的精确定义并未统一
  • 计算机网络[^1]的最简单的定义是:一些接的、自治的计算机的集合
    • 互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
    • 自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用;
    • 集合:是指至少需要两台计算机;
  • 计算机网络的较好的定义是:计算机网络主要是由一些通用的,可编程的硬件(一定包含有中央处理机CPU)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
    • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

分类

按传输技术分类

1) 广播式网络。所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会“收听”到这个分组。接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术。

2) 点对点网络。每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间结点进行接收、存储和转发,直至目的结点。

是否采用分组存储转发与路由选择机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络

按交换技术分类:

  • 电路交换网络
  • 报文交换网络
  • 分组交换网络

按使用者分类:

  • 公用网
  • 专用网

按传输介质分类:

  • 有线网络
  • 无线网络

按覆盖范围分类:

  • 广域网WAN(Wide Area Network)

    • 作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。
  • 城域网MAN (Metropolitan Area Network)

    • 作用范围一般是一个城市,可跨越几个街区甚至整个城市
  • 局域网LAN (Local Area Network)

    • 一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10 Mbit/s 以上),但地理上范围较小(1 km 左右)
  • 个域网PAN(Personal Area Network)

    • 就是在个人工作的地方把个人使用的电子设备用无线技术连接起来的网络。但是小于一米的时候一般成为多处理机系统。

按拓扑结构分类:

  • 总线型网络

    • image-20201007005149993

      • 星型网络

        • image-20201007005203129
  • 环形网络

    • image-20201007005212345

      • 网状型网络

        • image-20201007005249137

组成

  • 从组成部分上看,一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。硬件主要由主机(也称端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机等)和通信处理机(如网卡)等组成。软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如网络操作系统、邮件收发程序、FTP程序、聊天程序等)。软件部分多属于应用层。协议是计算机网络的核心,如同交通规则制约汽车驾驶一样,协议规定了网络传输数据时所遵循的规范。
  • 从工作方式上看,计算机网络(这里主要指Internet,即因特网)可分为边缘部分和核心部分。边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享;核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。图1.1给出了这两部分的示意图。
  • 从功能组成上看,计算机网络由通信子网和资源子网组成。通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。

1.5 计算机网络的性能指标

速率

其中KB、MB..这种是1024,而Kb/s、Mb/s这种是1000

image-20201007012419698

image-20201007012439769

带宽

image-20201007012943970

吞吐量

image-20201007013119621

带宽1 Gb/s的以太网,代表其额定速率是1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。

注意:吞吐量还可以用每秒传送的字节数或帧数表示

时延

时延时指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

网络时延由几部分组成:

  • 发送时延

主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

  • 传播时延

电磁波在信道中传播一定的距离需要花费的时间。

  • 处理时延

主机或路由器在收到分组时要花费一定时间进行处理

  • 排队时延

分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。

有时会把排队时延看成处理时延一部分

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

image-20201007014139333

image-20201007015401505

当处理时延忽略不计时,发送时延 和 传播时延谁占主导,要具体情况具体分析

对于高速网络链路,我们提高的是数据发送速率而不是比特在链路上的传播速率(取决于材质)

时延带宽积:以比特为单位的链路长度

时延带宽积 = 传播时延 * 带宽

image

若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;
链路的时延带宽积又称为以比特为单位的链路长度

往返时间RTT(Round-Trip Time)

互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间

image

利用率

利用率有信道利用率网络利用率(信道利用率的加权平均)两种。D=D~0~/(1-U),其中U为网络利用率,D为当前网络的实验,D~0~为空闲时的网络时延

image-20201012164544306

丢包率

image-20201007132900210


1.6 计算机网络体系结构

1、常见的计算机网络体系结构

image-20201007133848212

如今用的最多的是TCP/IP体系结构,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准

TCP/IP体系结构相当于将OSI体系结构的物理层数据链路层合并为了网络接口层,并去掉了会话层表示层

TCP/IP在网络层使用的协议是IP协议,IP协议的意思是网际协议,因此TCP/IP体系结构的网络层称为网际层

image-20201007135220030

在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。

而用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。

只不过路由器一般只包含网络接口层和网际层。

image-20201007135518050

网络接口层:并没有规定具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口,无线局域网的WIFI接口等。

网际层:它的核心协议是IP协议。

运输层:TCP和UDP是这层的两个重要协议。

应用层:这层包含了大量的应用层协议,如 HTTP , DNS 等。

IP协议(网际层)可以将不同的网络接口(网络接口层)进行互连,并向其上的TCP协议和UDP协议(运输层)提供网络互连服务

TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠的传输服务。

UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠的传输服务。

TCP/IP体系结构中最重要的是IP协议TCP协议,因此用TCP和IP来表示整个协议大家族。

image-20201007141110338

教学时把TCP/IP体系结构的网络接口层分成了物理层数据链路层

2、计算机网络体系结构分层的必要性及各层问题

计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
下面,我们按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。

物理层问题

image-20201007141806675

  • 严格来说,传输媒体并不属于物理层
  • 计算机传输的信号,并不是图示的方波信号

这样举例只是让初学者容易理解

数据链路层问题

image-20201007142049812

网络层问题

image-20201007142408792

运输层问题

image-20201007142631029

如何标识与网络通信相关的应用进程:一个分组到来,我们应该交给哪个进程处理呢?浏览器进程还是QQ进程

应用层问题

image-20201007142755720

应用层该用什么方法(应用层协议)去解析数据

总结

  • 应用层

    • 最复杂的一层,协议最多,是用户和网络的界面。
    • 常见协议:FTP(文件传输),SMTP(电子邮件),HTTP(用于万维网)
  • 表示层

    • 处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同则数据结构也不同,表示层采用抽象的标准方法定义数据结构。
    • 数据压缩、加密解密也是表示层的事
  • 会话层

    • 为表示层实体或者用户进程建立连接并在连接上有序的传输数据,即建立同步
  • 传输层(传文)

    • 提供端到端的通信(数据链路层是点对点),把数据分割为报文段
    • 流量控制、差错控制、服务质量、数据传输管理
    • 常见协议:TCP、UDP
  • 网络层(网组)

    • 对数据进行分组并对分组进行路由选择、流量控制、拥塞控制、差错控制、网际互连
    • 常见协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
  • 数据链路层

    • 提供点对点的通信
    • 物理寻址、封装成帧、差错控制、流量控制、传输管理,不具有拥塞控制的功能,它是网络层和传输层才有的功能
    • 常见协议:SDLC、HDLC、PPP、STP、帧中继
  • 物理层

    • 规定接口参数和通信链路上传输的信号的意义和电气特征
    • 不包含物理传输媒体,这种一般当做第0层

image-20201007204006284important

image-20201007143138937

image-20201007195641140

  • 差错控制功能

    • 数据链路层

      • 数据链路层FCS是为了防止网卡软硬件bug、电缆不可靠、信号干扰而造成信号失真、数据错误。如果不检查,将一直到达目的地主机,很有可能TCP/UDP层才会校验出错误,这显然不合理。
      • 数据链路层的差错检测的目的是做到”无比特差错”。使用循环冗余检验CRC差错检测技术
      • 无法管帧丢失、失序、重复,它只负责一个帧要是传对了,就是对的

      两种方式

      • 对于通信质量良好的有线传输链路,数据链路层协议不采用确认和重传机制,不要求数据链路层向上提供可靠的传输。如果在数据链路层出现了差错就靠上层协议来完成改正差错的任务
      • 对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠的传输服务。现在的通信线路的质量已经大大提高,由通信质量不好而产生差错的概率已经大大降低。

      网络层

      • 网络层的校验只用于针对网络层的头部
      • 好比货车司机只管车,车跑的好他就放心了。车上箱子里的水果零食坏没坏不关他的事。箱子里的水果坏没坏是传输层的事。
      • 数据包到了路由器之后,路由器会把这个数据包拆开,根据下一跳的地址,设置新的链路层头部的目的地址,crc校验值,IP首部的的ttl值,甚至可能还会对数据包进行分片,这样修改的更多了,如果在路由器处理的过程中这个数据出错,那么链路层的校验是发现不了错误的。

      传输层

      • 运输层的差错检测的目的是做到”无传输差错”。即弥补帧丢失、帧重复、帧失序。

3、计算机网络体系结构分层思想举例

例子:主机的浏览器如何与Web服务器进行通信

image-20201007144900565

解析:

主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信

image-20201007145242020

体系结构的各层在整个过程中起到怎样的作用?

浏览器和服务器通信步骤

1、发送方发送

image-20201007145441370

第一步:

  • 应用层按照HTTP协议的规定构建一个HTTP请求报文
  • 应用层将HTTP请求报文交付给运输层处理

image

第二步:

  • 运输层HTTP请求报文添加一个TCP首部,使之成为TCP报文段(如上图)
  • TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
  • 运输层TCP报文段交付给网络层处理

image

第三步:

  • 网络层TCP报文段添加一个IP首部,使之成为IP数据报(如上图)
  • IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
  • 网络层IP数据报交付给数据链路层处理

image

第四步:

  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为(图示右边为首部,左边为尾部)
  • 首部的作用主要是为了让能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
  • 尾部的作用是让目的主机检查所接收到的是否有误码
  • 数据链路层交付给物理层

image-20201007151342502

第五步:

  • 物理层先将看做是比特流,这里的网络N1假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 前导码的作用是为了让目的主机做好接收帧的准备
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体

image-20201007151900254

第六步:

  • 信号通过传输媒体到达路由器

2、路由器转发

image-20201007152029458

image-20201007152138961

image-20201007152627778

在路由器中

  • 物理层信号变为比特流,然后去掉前导码后,将其交付给数据链路层
  • 数据链路层首部尾部去掉后,将其交付给网络层,这实际交付的是IP数据报
  • 网络层解析IP数据报首部,从中提取目的网络地址

image-20201007152650863

image-20201007152812431

image-20201007153714840

在路由器中

  • 提取目的网络地址后查找自身路由表。确定转发端口, 以便进行转发
  • 网络层IP数据报交付给数据链路层
  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为
  • 数据链路层将帧交付给物理层
  • 物理层先将看成比特流,这里的网络N2假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器

3、接收方接收

和发送方(主机)发送过程的封装正好是反着来

在Web 服务器上

  • 物理层信号变换为比特流,然后去掉前导码后成为,交付给数据链路层
  • 数据链路层首部尾部去掉后成为IP数据报,将其交付给网络层
  • 网络层IP数据报首部去掉后成为TCP报文段,将其交付给运输层
  • 运输层TCP报文段首部去掉后成为HTTP请求报文,将其交付给应用层
  • 应用层HTTP请求报文进行解析,然后给主机发回响应报文

发回响应报文的步骤和之前过程类似

image-20201007155051275

4、计算机网络体系结构中的专用术语

以下介绍的专用术语来源于OSI的七层协议体系结构,但也适用于TCP/IP的四层体系结构和五层协议体系结构

实体

image-20201007155444920

协议

image-20201007155545934f

协议:控制两个对等实体进行逻辑通信的规则的集合

协议三要素:

  • 语法:定义所交换信息的格式
  • 语义:定义收发双方所要完成的操作
  • 同步:定义收发双发的时序关系z

服务

image-20201007160246561

image-20201016104750288

image-20201007162620250

习题

image-20201007012419698

image-20201007015401505

image-20201007135518050

image-20201007204006284important

image-20201007143138937

第二步:

  • 运输层HTTP请求报文添加一个TCP首部,使之成为TCP报文段(如上图)
  • TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
  • 运输层TCP报文段交付给网络层处理

浏览器和服务器通信步骤

1、发送方发送

image-20201007145441370

第一步:

  • 应用层按照HTTP协议的规定构建一个HTTP请求报文
  • 应用层将HTTP请求报文交付给运输层处理

image

第二步:

  • 运输层HTTP请求报文添加一个TCP首部,使之成为TCP报文段(如上图)
  • TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
  • 运输层TCP报文段交付给网络层处理

image

第三步:

  • 网络层TCP报文段添加一个IP首部,使之成为IP数据报(如上图)
  • IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
  • 网络层IP数据报交付给数据链路层处理

image

第四步:

  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为(图示右边为首部,左边为尾部)
  • 首部的作用主要是为了让能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
  • 尾部的作用是让目的主机检查所接收到的是否有误码
  • 数据链路层交付给物理层

image-20201007151342502

第五步:

  • 物理层先将看做是比特流,这里的网络N1假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 前导码的作用是为了让目的主机做好接收帧的准备
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体

image-20201007151900254

第六步:

  • 信号通过传输媒体到达路由器

2、路由器转发

image-20201007152029458

image-20201007152138961

image-20201007152627778

在路由器中

  • 物理层信号变为比特流,然后去掉前导码后,将其交付给数据链路层
  • 数据链路层首部尾部去掉后,将其交付给网络层,这实际交付的是IP数据报
  • 网络层解析IP数据报首部,从中提取目的网络地址

image-20201007152650863

image-20201007152812431

image-20201007153714840

在路由器中

  • 提取目的网络地址后查找自身路由表。确定转发端口, 以便进行转发
  • 网络层IP数据报交付给数据链路层
  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为
  • 数据链路层将帧交付给物理层
  • 物理层先将看成比特流,这里的网络N2假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器

3、接收方接收

和发送方(主机)发送过程的封装正好是反着来

在Web 服务器上

  • 物理层信号变换为比特流,然后去掉前导码后成为,交付给数据链路层
  • 数据链路层首部尾部去掉后成为IP数据报,将其交付给网络层
  • 网络层IP数据报首部去掉后成为TCP报文段,将其交付给运输层
  • 运输层TCP报文段首部去掉后成为HTTP请求报文,将其交付给应用层
  • 应用层HTTP请求报文进行解析,然后给主机发回响应报文

发回响应报文的步骤和之前过程类似

image-20201007155051275

bookxnote上课后习题

  • 【1-9】.能否说:“电路交换就是面向连接,而分组交换就是无连接”? 011
  • 【1-10】试在下列条件下比较电路交换和分组交换。要传送的报文共X(bit)。从源点到终点共经过K段链路,每段链路的传播时延为d(s),数据率为b(bitJs)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察K段链路共有几个结点。) 027
  • 【1-15】假定网络的利用率达到了90%。试估算一下现在的网络时延是它的最小值的多少倍? 031
  • 【1-17】收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2X108m/s。试计算以下两种情况的发送时延和传播时延:(1)数据长度为107加,数据发送速率为100kbit/s。(2)数据长度为103加,数据发送速率为1Gbit/s。 031
  • 【1-18】假设信号在媒体上的传播速率为2.3X108m/s。媒体长度l分别为:(1)10cm(网络接口卡)(2)100m(局域网)(3)100km(城域网)(4)5000km(广域网)试计算当数据率为lMbit/s和10Gbit/s时,在以上媒体中正在传播的比特数。 032image
  • 【1-28】假定要在网络上传送1.5MB的文件。设分组长度为IKB,往返时间RTT=80ms。,这需要2xRTT=160ms。试计算在以下几种情况下接收方收到该文件的最后一个比特所需的时间。
    (I)数据发送速率为10Mbit/s,数据分组可以连续发送。
    (2)数据发送速率为10Mbit/s,但每发送完001
  • 一个分组后要等待一个RTT时间才能再发送下一个分组。
    (3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。
    (4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即23-1=22=4个分组)。(这种发送方式见教材第5章”TCP的拥塞控制”部分。) 036

    • image
  • 【1-29】有一个点对点链路,长度为50km。若数据在此链路上的传播速度为2X108m/s,试问链路的带宽应为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又应如何? 037
  • 【1-32】以1Gbit/s的速率发送数据。试间在以距离或时间为横坐标时,一个比特的宽度分别是多少? 038

    • 当以IGbit/s的速率发送数据时,每一个比特的待续时间是10-9S, 也就是0.001µs= 1 ns。因此,在以时间为横坐标的图上,每一个比特的宽度是1ns。
      假定信号在线路上的传播速度是2x10^8^m/s(即2/3的光速),那么在一个比特时间内(即10^-9^ s)信号可以前进20cm。图T-1-32中下面的一个即表示这种情况,即当时间为某一数值时信号在线路上的“快照"。请注意,横坐标的量纲不同,我们不能说哪一个信号更宽一些或更窄一些。这是不能相比的。
  • 【1-33】我们在互联网上传送数据经常是从某个源点传送到某个终点,而并非传送过去又再传送回来。那么为什么往返时间RTT是个很重要的性能指标呢? 039

    • 在传输数据时也常常需要对方的确认。在发送数据后要经过多少时间才能收到对方的确认,这也取决于往返时间RTT的大小。另外,在计算吞吐率时,有时也要考虑到往返时间RTT。例如,一个1字节的文件在1Gbit/s的发送速率下,只需要8ms。但如果我们是通过网络向远方某个主机请求把这样大的文件发送过来,而RTT=100ms,那么总共需要时间至少为100+8=108ms,是原来的发送时间的十几倍。

[^1]: # 计算机网络

* 计算机网络的精确定义并未统一
* ((20220906213602-k6w4k4r "计算机网络"))的最简单的定义是:一些**互**相**连**接的、**自治**的计算机的**集合**。
  * 互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
  * 自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用;
  * 集合:是指至少需要两台计算机;
* 计算机网络的较好的定义是:计算机网络主要是由一些**通用的,可编程的硬件(一定包含有中央处理机CPU)互连**而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来**传送多种不同类型的数据**,并能**支持广泛的和日益增长的应用**。
  * 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
  * 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

‍