什么是Internet?

因特网的具体构成描述

因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络。

有趣的因特网互联设备

数以亿计的互联计算设备:便携机、智能手机、平板电脑、电视、游戏机、温度调节装置、家用安全系统、家用电器、手表、眼镜、汽车、运输控制系统等。所有的这些设备都称为主机(host)或端系统(end system)。端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。

通信链路communication link) 光纤、同轴电缆、铜线和无线电频谱。 传输速率: 比特/秒 (bit/s, 或 bps)带宽

分组交换设备: 转发分组(packets):路由器(router)和链路层交换机(link-layer switch)。链路层交换机通常用于接入网(access networks)中,而路由器通常用于网络核心(network core)中。

端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网。

因特网服务商: 包括如本地电缆或电话公司那样的住宅区ISP、公司ISP、大学ISP,在机场、旅馆、咖啡店和其他公共场所提供WiFi接入的ISP,以及为智能手机和其他设备提供移动接入的蜂窝数据ISP。

端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol)。协议控制发送、接收消息。如TCP(Transmission Control Protocol,传输控制协议)IP(Internet Protocol,网际协议)HTTPFTPPPP。TCP和IP是因特网中两个最为主要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP

Internet:“网络的网络”

  1. 松散的层次结构,互连的ISP;
  2. 公共Internet、 专用Internet。

Internet的标准:

  1. 由因特网工程任务组(Internet Engineering Task Force, IETF)研发。
  2. IETF的标准文档称为'请求评论'(Request For Comment, RPC)。

服务描述

从为应用程序提供服务的基础设施的角度来描述因特网。分布式应用程序distributed application):应用程序涉及多个相互交换数据的端系统。

应用程序:即时讯息、与实时道路流量信息的映射、来自云的音乐流、电影和电视流、在线社交网络、视频会议、多人游戏以及基于位置的推荐系统。

与因特网相连的端系统提供了一个套接字接口socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。

因特网的两种描述方法:一种是根据它的硬件和软件组件来描述,两一种是根据基础设施向分布式应用程序提供服务来描述。

什么是协议

人类活动的类比

人类协议(至少说是好的行为方式)要求一方首先进行问候,以开始与另一个人的通信。人类协议中,有我们发送的特定报文,也有我们根据接收到的应答报文或其他事件(例如在某个给定的时间内没有回答)采取的动作。

网络协议

网络协议类似于人类协议,除了交换报文和采取动作的实体是某些设备(可以是计算机、智能手机、平板电脑、路由器或其他具有网络能力的设备)的硬件或软件组成。报文的交换以及发送和接收这些报文时所采取的动作是定义一个协议的关键元素:协议(protocol)定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事物所采取的动作。

网络边缘(Network edge)

通常把与因特网相连的计算机和其他设备称为端系统,因为它们位于因特网的边缘,故而被称为端系统。 因特网的端系统包括:桌面计算机(例如,桌面PC、Mac和Linux设备)、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。

端系统也称为主机(host)= 端系统,因为它们容纳(即运行)应用程序,如Web浏览器程序、Web服务器程序、电子邮件客户程序或电子邮件服务器程序等。主机有时又被进一步划分为两类:客户client)和服务器server)。

接入网(Access networks)

接入网:将端系统物理连接到其边缘路由器edge router)的网络。边缘路由器:是端系统到任何其他远程端系统的路径上的第一台路由器

1. 家庭接入: DSL、电缆、FTTH、拨号和卫星

宽带住宅接入最流行的两种类型: 数字用户线(Digital Subscriber Line, DSL)和电缆。住户通常从提供本地电话接入的本地电话公司处获得DSL因特网接入

电缆因特网接入 利用了有线电视公司现有的有线电视基础设施。住宅从提供有线电视的公司获得了电缆因特网接入。

一种提供更高速率的新兴技术是光纤到户(Fiber To The Home, FTTH)。FTTH概念简单,从本地中心局直接到家庭提供了一条光纤路径。

光纤分布体系结构:主动光纤网络(Active Optical Network, AON)和被动光纤网络(Passive Optical Network, PON)。

2. 企业(和家庭)接入:以太网和WiFi

在公司和大学校园以及越来越多的家庭环境中,使用局域网(LAN)将端系统连接到边缘路由器。

在无线LAN环境中,无线用户从/到一个接入点发送/接收分支,该接入点与企业网连接(很可能使用了有线以太网),企业网再与有线因特网相连。一个无线LAN用户通常必须位于接入点的几十米范围内。

3. 广域无线接入: 3G 和 LTE

iPhone 和安卓等设备越来越多地用来在移动中发信息、在社交网络中分享照片、观看视频和放音乐。这些设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供商运营的基站来发送和接收分组。与WiFi不同的是,一个用户仅需要位于基站的数万米(而不是几十米)范围内。

物理媒介(Physical media

对于每个发射器 — 接收器对,通过跨越一种物理媒体(physical medium)传播电磁波或光脉冲来发送该比特。物理媒体的例子包括双绞铜线、同轴电缆、多模光纤缆、陆地无线电频谱和卫星无线电频谱。物理媒体分成两种类型:导引型媒体(guided media)和非导引型媒体(unguided media)。

1. 双绞铜线(Twisted-Pair Copper Wire)

最便宜且最常用的导引型传输媒体。由两根绝缘的铜线组成,没跟大于1mm粗,以规则的螺旋状排列着。

类5线:100Mbps,1Gbps以太网

类6线:10Gbps以太网

2. 同轴电缆(Coaxial Cable)

与双绞线类似,同轴电缆由两个铜导体组成,但是这两个导体是同心的而不是并行的。同轴电缆能被用作导引型共享媒体。

3. 光纤(Fiber Optic Cable)

光纤是一种细而柔软的、能够导引光脉冲的媒体,每个脉冲表示一个比特。一个光纤能够支持极高的比特速率,高达数十甚至数百Gbps。

4. 陆地无线电信道(Terrestrial Radio Channels)

无线电信道承载电磁频谱中的信号。他不需要安装物理线路,并具有传统墙壁、提供与移动用户的连接以及长距离承载信号的能力,因而称为一种有吸引力的媒体。

5. 卫星无线电信道(Satellite Radio Channels)

一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。通常使用的两类卫星:同步卫星和近地轨道卫星。

网络核心(Network Core)

网络核心,即由互联因特网端系统的分支交换机和链路构成的网状网络。

分组交换(Packet-switching)

为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分支(packet)。 在源目的地之间,每个分组都通过通信链路和分组交换机(packet switch)传送。交换机主要有两类:路由器链路层交换机

1. 存储转发传输

多数分组交换机在链路的输入端使用存储转发传输store-and-forward transmission)机制。 存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

发送延时(Transmission delay): 需要花费秒的时间发送(push out)L bits报文在 R bps链路中。

存储并转发(Store and forward): 整个报文必须达到路由后才能发送给下一级链路。

端到端延时(End-end delay): 上图两个链路,假设传播延时(propagation delay)为零。

2. 排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存output buffer, 也称为输出队列output queue)),它用于存储路由器准备发往那条链路的分组。如果到达的分组需要传输到某条链路,但发现该建立正忙于传输其他分支,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分支还要承受输出缓存的排队时延queuing delay)。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)packet loss),到达的分组或已经排队的分组之一将被丢弃。

3. 转发表和路由选择协议

当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。更特别的是,每台路由器具有一个转发表forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链表。因特网具有一些特殊的路由选择协议routing protocol),用于自动地设置这些转发表。

电路交换(circuit-switching)

通过网络链路和交换机移动数据有两种基本方法:电路交换circuit switching)和分组交换packet switching)。

在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。

每台主机(例如PC和工作站)都与一台交换机直接相连。当两台主机要通信时,该网络在两台主机之间创建一条专用的端到端链接end- to- end connection)。

1. 电路交换网络中的复用

链路中的电路是通过频分复用Frequency- Division MultiplexingFDM )或时分复用Time- Division MultiplexingTDM)来实现的。

对于FDM,链路的频谱由跨越链路创建的所有连接共享。频段的宽度称为带宽band-width)。

对于一条TDM链路,时间被划分为固定期间的帧,并且每个帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。

2. 分组交换与电路交换的对比

电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。 另一方面,分组交换按需分配链路使用。链路传输能力将在所有需要在链路是哪个传输分组的用户之间逐分组地被共享。

网络的网络(network of networks)

网络结构1,用单一的全球传输ISP互联所有接入ISP。

网络结构2,它由数十万接入ISP和多个全球传输ISP组成。

网络结构2是一种两层的等级结构,其中全球传输提供商位于顶层,而接入ISP位于底层。在任何给定的区域,可能有一个区域ISPregional ISP),区域中的接入ISP与之连接。每个区域ISP则与第一层ISP(tier-1 ISP)连接。

网络结构3,不仅有多个竞争的第一层ISP,而且在一个区域可能有多个竞争的区域 ISP 。

任何ISP(除了第一层ISP)可以选择多宿(multi-home),即可以与两个或更多提供商ISP连接。对等:位于相同等级结构层次的邻近一对ISP能够对等peer),也就是说,能够直接将它们的网络连到一起,使它们直接的所有流量经直接连接而不是通过上游的中间ISP传输。当两个ISP对等时,通常不进行结算,即任一个ISP不向其对等付费。

网络结构4,由接入ISP、区域ISP(regional ISP)、第一层ISP、PoP、多宿、对等和因特网交换点Internet Exchange PointIXP)组成。

网络结构5,通过在网络结构4顶部增加内容提供商网络content provider network)构建而成。

因特网是一个网络的网络,其接复杂,由十多个第一层ISP和数十万个较低层ISP组成。

分组交换网中的时延(delay)、丢包(loss)和吞吐量(throughput)

分组交换网中的时延概述

当分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最重要的是节点处理时延nadal processing delay)、排队延时queuing delay)、传输时延transmission delay)和传播时延propagation delay),这些时延总体累加起来是节点总时延(total nadal delay)。

时延的类型

(1)处理时延 检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。 (2)排队时延 在队列中,当分组在链路上等待传输是,它经受排队时延。 (3)传输时延 用 L 比特表示该分组的长度,用 R bps(即 b/s)表示从路由器A到路由器B的链路传输速率。 传输时延是 L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。 实际的传输时延通常在毫秒到微秒量级。

(4)传播时延 一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。

(5)传输时延和传播时延的比较 传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。良医方面,传播时延是一个比特从一台路由器传播到另一台路由器所需要得时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。

分组延时公式: 

排队时延和丢包

当表征排队时延时,人们通常使用统计量来度量,如平均排队时延、排队时延的方差和排队时延超过某些特定值得概率。

排队时延的大小,很大程度取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到达。

比率 La/R 被称为流量强度traffic intensity),它在估计排队时延的范围方面经常起着重要的作用。设计系统是流量强度不能大于1。

丢包

排队的容量是有限的,到达的分组发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃该分组,即该分组将会丢弃(lost)。

端到端时延

1. Traceroute

Traceroute是一个简单的程序,它能够在任何因特网主机上运行。 当用户指定一个目的主机名字时,源主机中的该程序朝着目的地发送多个特殊的分组。当这些分组向着目的地传送时,它们通过一系列路由器。当路由器接收到这些特殊分组之一时,它向源回送一个短报文。该报文包括路由器的名字和地址。

2. 端系统、应用程序和其他时延

计算机网络中的吞吐量(Throughput)

吞吐量:从发送方发送给接收方的bits速率。

瞬时吞吐量instantaneous throughput)和平均吞吐量average throughput)。

瓶颈链路bottleneck link

考虑到目标路径可接收得吞吐量,它会受到小容量管道的限制。组网传输容量最小的管道,将成为此链接的瓶颈。此链接有时也称为瓶颈链路。

共享链接吞吐量

协议层次及其服务模型

分层的体系结构

我们拿航空旅行系统作为一个例子。

从买机票 -> 办理行李托运 -> 登机 -> 起飞 -> 航线飞行 -> 落地 -> 取行李 -> 票务评价。在每个层面我们享有不同的服务。

1. 协议分层

以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。某曾向他的上一层提供的服务(service),即所谓一层的服务模型service model)。各层的所有协议被称为协议栈protocol stack)。 因特网的协议栈由5个层次组成: 物理层、链路层、网络层、运输层和应用层。

(1)应用层 应用层是网络应用程序及它们的应用层协议留的地方。 应用层协议:HTTP、SMTP和FTP。 HTTP:提供了Web文档的请求和传送; SMTP:提供了电子邮件报文的传输; FTP:提供了两个端系统之家的文件传送。

位于应用层的信息分析称为报文message)。

(2)运输层 因特网的运输层在应用程序端点之间传送应用层报文。 运输协议:TCP、UDP。 TCP:向它的应用程序提供了面向连接的服务。 UDP:向它的应用程序提供无连接服务。

运输层的分组称为报文段segment)。

(3)网络层 因特网的网络层负责将称为数据报datagram)的网络层分组从一台主机移动到另一台主机。 网络层协议:IP。IP:该协议定义了在数据报文中的各个字段以及端系统和路由器如何作用于这些字段。

(4)链路层 因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。由链路层提供的服务取决于应用于该链路的特定链路层协议。链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。链路层的分组称为frame)。

(5)物理层 物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点。协议仍然是链路层相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。

封装(Encapsulation)

在发送主机端,一个应用层报文application-layer message)被传输个运输层。应用层报文和运输层首部信息一道构成了运输层报文段transport-layer segment)。运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息,生成了网络层数据报network-layer datagram)。链路层(自然而然地)增加了它自己的链路层首部信息并生成链路层帧link-layer frame)。在每一层,一个分组具有两种类型的字段:首部字段和有效载荷字段payload field)。

学习参考资料:

计算机网络——自顶向下方法 Kurose, James PPT教程
计算机网络——自顶向下方法原版 第八版
B站 中科大计算机网络教程  B站 原书作者Kurose, James教程

原书中文版第七版。文件较大超过gitee上传上限。大家可以直接加我的公众号“背包旅行码农”,输入关键字“计算机网络-自顶向下方法”

计算机网络--自顶向下方法 学习笔记之计算机网络和因特网相关推荐

  1. 计算机网络--自顶向下方法学习笔记

    第一章 计算机网络和因特网 协议:定义了两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作. 分组:将源报文划分为较小的数据块 存储转发传输:交换机能够 ...

  2. 计算机网络 自顶向下方法 学习笔记 第一章

    第一章 计算机网络和因特网 1.1 什么是因特网 1.1.1 网络 1.1.2 计算机网络 1.1.2.1 计算机网络的分类 1.1.3 互联网(从具体构成角度了解Internet) 1.1.4 协议 ...

  3. 《计算机网络自顶向下》学习笔记——全文4W字,已更新结束

    计算机网络 计算机网络基础 按照<计算机网络自顶向下>的目录整理的相关笔记 和之前比更新了很多东西,也删除了很多模糊或者不算重要的知识点.除了第一章整理的还不算清楚之外,其他的都应该清楚了 ...

  4. 认真学习系列:《计算机网络自顶向下方法》笔记

    一  应用层 1.协议原理:TCP或UDP加端口号. 然后介绍了应用层最常用的协议 2.web和http: 持续连接和非持续连接(长连接和短连接):http报文格式:http无状态,客户端浏览器通过c ...

  5. 《计算机网络自顶向下方法》笔记

    暑假期间阅读了这本书,为即将学习的专业课打下一点基础.把大致讲到的内容都概括地记下来,到时候上课后再根据所学进行补充. 感觉这本书举例挺多而且易于理解,是挺易读的一本入门书籍. 这学期结合老师和课本的 ...

  6. 计算机网络-自顶向下(学习笔记)

    1. 计算机网络与互联网 1.1 什么是互联网 终端系统通过通信连接(communication links)和包交换机(packet switches)连接在一起 包交换机的两种主要类型 路由器(r ...

  7. 《计算机网络 自顶向下方法》笔记 第二章 应用层

    第二章 应用层 2.1 应用层协议原理 网络应用是计算机网络存在的理由. 研发网络应用程序的核心是写出能够运行在不同端系统和通过网络彼此通信的程序,当研发新应用程序时,需要编写将在多台端系统上运行的软 ...

  8. 《计算机网络--自顶向下方法》第一章--计算机网络和英特网

    1.1什么是英特网 1.1.1具体构成描述 主机(host)或端系统(end system):所有与因特网相连的计算设备 路由器(router):从一条入通信链路接收到达的分组,并通过一条出通信链路转 ...

  9. 计算机网络 自顶向下方法 第一章:计算机网络和因特网 习题答案

    复习题 没有区别.在本文中,"主机"和"端系统"是可互换使用.终端系统包括PC.工作站.Web服务器.邮件服务器.PDA(Personal Digital As ...

最新文章

  1. ---Intel SSD 750 under Linux
  2. php监听订单状态,ecshop数据库订单状态判断
  3. Nginx 403 Forbidden 排错记录汇总
  4. Android学习之高德地图的通用功能开发步骤(二)
  5. 中小学将逐步推广编程教育;勒索病毒攻击部分政府部门和医院;国内外药企密集调价;微软要给Win7用户推死亡通知,这就是今天的大新闻...
  6. InnoDB还是MyISAM?
  7. MapReduce之如何给运行在YARN上的MapReduce作业配置内存
  8. hdu 3507 Print Article(dp+斜率优化)
  9. idea无法导入java文件_java – IntelliJ IDEA无法解析spring导入的文件
  10. Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型
  11. LINQ 学习笔记8
  12. iPhone为何优越过 Android呢
  13. 函数最值题目及答案_高考数学攻克压轴题:圆锥曲线取值范围和最值问题解题模型...
  14. 鸿蒙os会给小米用吗,国内手机厂商是否支持鸿蒙?中兴正式回应!小米的态度很意外!...
  15. kiwi浏览器打开网页慢_kiwi浏览器
  16. Eclipse设置运行内存大小
  17. 84消毒液和酒精混合的化学反应分析
  18. 如何从YouTube历史记录中暂停,清除和删除视频
  19. 2022年全球100个可持续发展城市榜公布,挪威首都奥斯陆排第一,中国有十个城市入选 | 美通社头条...
  20. MySQL 02 初体验

热门文章

  1. Tensorflow 的NCE-Loss的实现和word2vec
  2. 搭建商城系统应该注意什么问题?
  3. 位运算实现加减乘除四则运算
  4. 图神经网络-图与图学习笔记-1
  5. 加解密遇到的JCE cannot authenticate the provider BC问题解决方案
  6. 获取Android设备的唯一识别码|设备号|序号|UUID
  7. 【Matlab 六自由度机器人】关于灵活工作空间与可达工作空间的理解(附MATLAB推导代码)
  8. 如何让横坐标倾斜(Matlab画直方图)
  9. mysql timestamp类型格式转换
  10. 【洛谷】p5707上学迟到 C语言