Chapter 1: Computer Networks and the Internet

Chapter goal:

■ Get "feel", "big picture", introduction to terminology

Overview/roadmap:

■ What is the Internet? What is a protocol?
Network edge: hosts, access network, physical media
Network core: packet/circuit switching, internet structure
Performance: loss, delay, throughput
■ Protocol layers, service models
■ Security
■ History

1.1 What is the Internet?

Internet is a network of networks.

1.1.1 A "nuts and bolts" Description

In the “Nuts and Bolts” description of the Internet, we consider several components that constitute the network.

  • Hosts: These are the end systems of the network.
    • 主机/终端(Host/End system) 通过Packet switches和communication links 钩织形成的网络相连在一起。
    • 为终端提供Internet access服务的是ISPs(Internet Service Providers),服务商包括 residential ISPs, corporate ISPs, university ISPs等。大的服务商给小的服务商提供Internet access,局部服务商管理小的 internet,网际Internet 由所有的 internet 组成。
  • Packet Switches
    • Link-layer Switches: They provide hosts with access to the network.
    • Routers: These devices receive packets and forward the information to the designated host.
  • Communication Links: 将互联网Internet中的所有主机及互联网核心连接在一起。
    • 链接媒介有铜线、同轴电缆、光纤等。不同的媒介会提供不同的传输率(Transmission rate) ,用bits/second 表示。
  • Networks: collection of devices, routers, switches, links: managed by an organization
  • Protocols and Internet standards:
    - Every node in the network runs a common set of protocols, such as TCP/IP, to ensure reliable communication and interoperability. These protocols are the rules that govern the exchange of information over the network.
    - Internet标准主要由Internet Engineering Task Force (IETF)组织制定。IETF标准文档叫做requests for comments (RFCs),这些文档由世界各地的工程师参与制定。
    Pasted image 20240511220056.png

1.1.2 A Services Description

如其名所示,这种Internet的描述从应用的角度将Internet分为两大部分:

  1. 分布式应用(Distributed Applications)
    • 在多台主机上可能运行着不同的应用,不同主机上的应用有交换信息的需求时,就需要其余更底层的设施为信息的交换铺平道路。
    • 这时,主机end systems会为应用提供一个socket interface ,然后给发送程序规定了一系列delivery rules 。随后发送程序(Sending program)将socket中的信息通过基础设施(Infrastructure) 将信息传递发给另一台主机。
  2. 为分布式应用提供服务的基础设施(infrastructure that provides services to applications)
    • 这些infrastructure的使命就是为应用提供服务。在"nuts and bolts" view中的部件如host、swtiches、routers和linking media就是infrastructure。

1.1.3 What Is a Protocol?

A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.

  • 网际协议(Internet protocols) 规定、规范了一系列规则使得end systems、packet switches可以按照既有规则进行工作。这些设备无关生产厂家,只要遵守相关的protocols就可以接入Internet和其他设备进行通信。
  • 不同的协议有着不同的功能,以TCP和UDP为例,TCP面向连接的协议(通信的状态只在端系统之间维护,网络(core)不知情),它在数据传输前需要建立一个稳定的连接。而UDP无连接的协议,它不需要建立连接就可以发送数据,这使得它能够更快地传输数据。与人类社交中有礼貌和粗鲁的提问类似,遵守TCP协议的人类在提问前会先有礼貌地打招呼,而遵守UDP协议的人类会直接发问。这样带来的后果就是遵守TCP协议的人类尽管多花了打招呼的时间,但相比粗鲁的UDP更有可能得到问题的答案。

1.2 The Network Edge(Three Subsystems of Network)

End systems are also referred to as hosts because they host (that is, run) application programs.

网络边缘(The network edge)

网络边缘(The network edge),即主机系统host/end systems,边缘系统上运行的网络应用是网络之所以存在的原因。有时也将hosts更细分为客户机(Clients)和服务器(Servers)。数以千计的服务器共同组成服务器农场(server farm) 也叫数据中心(Data center),用于content residence

  • 端系统(End systems)
    • 运行应用程序
    • 位于网络边缘
  • 客户机/服务器模式(Client/Server Mode)
    • 客户端向服务器请求、接收服务
  • 对等模式(Peer to peer mode)

网络边缘:采用网络设施的面向连接服务

目标:在端系统之间传输数据
  • 握手:在数据传输之前做好准备
    • 人类协议中:你好、你好
    • 两个通信主机之间为连接建立状态
  • TCP-传输控制协议(Transmission Control Protocol )
    • Internet上面向连接的服务
TCP 服务
  • 可靠地、按顺序地传送数据(确认和重传)
  • 流量控制(发送方不会淹没接收方)
  • 拥塞控制(当网络拥塞时,发送方降低发送速率)

网络边缘:采用基础设施的无连接服务

目标:在端系统之间传输数据
  • 无连接服务
UDP-用户数据报协议(User Datagram Protocol):
  • 无连接
  • 不可靠数据传输
  • 无流量控制
  • 无拥塞控制
    Pasted image 20240512121540.png

1.2.1 Access Network

The network that physically connects an end system to the first router (also known as the “edge router”)

  • 接入网络连接用户和边缘网络,通常包括宽带接入如DSL、光纤到户(FTTH)或移动网络接入。接入网络为用户提供进入互联网的通道,并将用户的数据传输到边缘网络。
    Pasted image 20240512142716.png
Home Access: DSL, Cable, FTTH, and 5G Fixed Wireless

数字用户线(Digital Subscriber Line)

  • 居民通常从电信公司(Telephone company) 获得DSL的接入网服务,因此当用户使用DSL上网时,telco就是用户的ISP

  • 在下图中,Home PC使用数字用户线(Digital Subscriber Line)

  • 居民通常从电信公司(Telephone company) 获得DSL的接入网服务,因此当用户使用DSL上网时,telco既是用户的ISP

  • 在下图中,Home PC使用DSL modem将数据在现有的DSL线路上进行交换,在线路上的数据会在电信公司本地CO中的 DSL(Digital Subscriber Line 数字用户线路)通常不是基于电路交换(circuit switching)的 DSLAM(Digital Subscriber Line Access Multiplexer) 频分复用对线路传输过来的信息进行分频处理;

  • 在用户端,分路器(Splitter) 把电话信号发给Home phoen并将数据信号转发给DSL modem;

  • 因为上载/下载的速率不同,所以这种接入是不对称的(Asymmetric) ,这和上载/下载所分配的频段有关。(ADSL)

  • Hundreds or even thousands of households connect to a single DSLAM,因而这种接入网方式是共享的。
    Pasted image 20240513201503.png
    Cable Internet Access(有线网络接入)

  • 鉴于DSL network access是在电信公司telco已有电话线的基础上的network access,cable Internet access也做了类似的事情。Cable Internet access在电视公司已有电视线的基础上接入网络,由于光纤和同轴电缆同时存在于这个系统,因而又称这种网络为HFC(Hybrid Fiber Cable)混合光纤同轴网络

  • 在有线网络接入中,用户的住所需要有一个电缆调制解调器(cable modem),而有线运营商的设施(通常是有线电视的头端)则需要有一个电缆调制解调器终端系统(CMTS)。这两者通过同轴电缆连接到混合光纤同轴(HFC)网络。

  • 电缆和光纤将每个家庭接入到ISP的路由器,各用户线缆头端的带宽共享

  • 使用标准:DOCSIS
    Pasted image 20240513205240.png
    FTTH(Fiber To The Home)

  • 光纤到户有两种架构(Architechure)用于实现信号的分配:

    • Active optical networks(AONs) 有源光网络
    • Passive optical networks(PONs)无源光网络
      他们的主要区别是AONs是direct fiber,one fiber leaving the CO for each home. PONs是多用户share一根fiber,如下图:
      Pasted image 20240514001832.png
      在PONs架构下,来自CO的光纤通过无源分光器(Optical splitter) 与多个家庭共享,每个家庭会有一个ONT(Optical Network Terminator)光网络终端由一根专用光纤与分光器相连,分光器与CO中的OLT(Optical Line Terminator)光线路终端相连,在ONT和OLT中会进行光/电信号之间的转换。
      在用户端,通常会用一个无线路由器与ONT链接以便提供接入网。

5G fixed wireless

Access in the Enterprise(and the Home): Ethernet and WiFi

□ 如下图,以太网用户使用 双绞线(Twisted-pair copper) 接入以太网交换机,随后接入Internet。以太网接入网可以为用户提供100 Mbps to tens of Gbps的带宽,鉴于服务器可能只有1 Gbps 到10 Gbps access。
□ 现在,几乎每个人都会使用无线的局域网(Wireless Local-Access-Network)来上网。现在的企业也通通使用WLAN来联网,但WLAN通常只有十多米的access范围,因此企业多使用以太网接入。
Pasted image 20240514003252.png
即使以太网和WiFi最开始是在企业中使用的,现在也是家庭接入网中不可分割的一部分。
Pasted image 20240514003303.png

Wide-Area Wireless Access: 3G and LTE 4G and 5G

1.2.2 Physical Media

将媒介按无线和有线可以将媒介分为两类:

  1. 引导性媒介(guided media)
  2. 非引导性媒介(unguided media)
Twisted-Pair Copper Wire*
Coaxial Cable*
Fiber Optics*
Terrestrial Radio Channels*
Satellite Radio Channels*

1.3 The Network Core

  • 核心网络是互联网的中心部分,由高速和大容量的路由器和交换机组成。它负责连接不同的边缘网络,并在全球范围内路由数据。核心网络通常具有高度的冗余和可靠性,以确保数据传输的稳定性。
    Pasted image 20240512143000.png

1.3.1 Packet Switching

  • Time to Transmit
    假设包长L bits,link的传输率为R bits/sec,在不考虑传播时延(propagation delay)的情况下有传输时间L/R seconds。
存储转发传输方式(Store-and-Forward Transmission)
  • 存储转发传输 要求packet switches在转发报文之前必须完整地接收到全部的报文。
  • 报文传输时延(Transmission delays)
    • 在不考虑传播时延的前提下,使用存储转发传输的Source host向Destination host转发三个packets。由于存储转发传输方式的要求,第一个packet必须完整地发送到router中后才能向Destination host转发。即当第一个packet完整地到达router用时L/R sec,Destination host完整收到第一个packet时总用时2L/R sec。三个包全部被Destination host接收用时4L/R sec。
    • 在N个links的情况下d = N ( L / R ) sec
      Pasted image 20240512155342.png
排队时延和包丢失(Queuing Delays and Packet Loss)
  • 每个数据包交换机都可能连接多个links,这些packet switches有一个输出缓冲器/输出队列(Output buffer/queue) 用来储存将来向链路发送的信息。每当output buffer忙碌时,host所发送的报文就需要排队等待。packets等待的时间被称为排队时延(Queuing delays) ,排队时延的大小取决于网络拥塞度,因为buffer的空间是有限的,在buffer空间满了的时候就可能发生包丢失(Packet loss) 情况。
    Pasted image 20240512161340.png
转发表和路由协议(Forwarding Tables and Routing Protocols)

When a source end system wants to send a packet to a destination end system, the source includes the destination’s IP address in the packet’s header. When a packet arrives at a router in the network, the router examines a portion of the packet’s destination address and forwards the packet to an adjacent router. More specifically, each router has a forwarding table that maps destination addresses (or portions of the destination addresses) to that router’s outbound links. When a packet arrives at a router, the router examines the address and searches its forwarding table, using this destination address, to find the appropriate outbound link. The router then directs the packet to this outbound link.

虚电路网络*
数据报网络*

1.3.2 Circuit Switching

Dedicated and guaranteed, not shared.

  • 电路交换(Circuit Switching) 的网络中,为了在端系统之间提供通信,路径上所需的资源(如缓冲区、链路传输速率)会在通信会话期间被预留直到会话结束。在发送方向接收方发送数据前,首先要建立接-发双方之间的网络连接。通信会话一旦被建立,路径上的资源就持续服务该会话,直到通信结束。这种方式确保了通信过程中资源的连续可用性,从而提供了稳定的通信质量。但这也意味着资源即使在不使用时也不能被其他通信会话共享,可能导致资源的低效利用。
  • 下图是一个 电路交换 的例子,其中有四个电路交换机,每个交换机由四条线路组成的链路彼此连接。从而一条链路可以提供四个同样的连接。当两台主机想要通讯时,网络会在主机之间建立一个专属端到端的连接(end to end connection) 。假设邻接的交换机之间的传输率是 1Mbps,由于链路由四条线路构成,所以每个端到端的电路交换链接都会得到250Kbps的专用传输率。这意味着该250Kbps的传数率是不可共享的。
    Pasted image 20240512184019.png
Multiplexing in Circuit-Switched Networks
  • A circuit in a link is implemented with either frequency-division multiplexing (FDM) or time-division multiplexing (TDM)
    • 在FDM方式下,链路的 频谱(Frequency spectrum) 被不同的链接分成多个频段,作为其链接的专用频段。如电话线网络通常占有4kHz的频带宽度,而FM广播站的频谱在88 MHz and 108 MHz之间,每个广播站都有自己专用的带宽。
    • 在TDM方式下,时间被分成固定持续时间的帧(frame),每一帧又被划分成多个时隙(slot)。当网络通过链路建立某一链接时,这个链接就会专用每一帧时间片内固定位置的时隙。
  • The good aspect of a dedicated connection can be a guaranteed and stable connection but the resources on the connection are not a shared, which can be wasteful because of slient periods.
    Pasted image 20240512204230.png
Packet Switching vs. Circuit Switching
  • Critics of packet switching have often argued that packet switching is not suitable for real-time services (for example, telephone calls and video conference calls) because of its variable and unpredictable end-to-end delays (due primarily to variable and unpredictable queuing delays).
  • Proponents of packet switching argue that (1) it offers better sharing of transmission capacity than circuit switching and (2) it is simpler, more efficient, and less costly to implement than circuit switching

1.3.3 A Network of Networks

The Access ISP
  • 前文中提到,DSL network access的access ISP通常是telco而cable network access的access ISP通常是cable company。但接入网ISP不完全是这样,如大学可以为校园内的学生、职员提供接入网服务,公司可以为聘员提供接入网服务,这些都属于ISP。但无论这些ISPs为多少end systems还是content providers提供接入网服务,他们也只能算庞大Internet画面中的一小片拼图。这些"puzzles"必须相连(interconnected)来组成Internet这一庞大的拼图。这也是为何Internet is called network of networks.
Network Structure

Internet有了这样一个宏观的视角后,我们现在需要考虑的问题是如何把这些"puzzles"拼起来!一个简单的方式是让每个ISP与其他ISPs相连。但这样做的开销会随着ISP的数量指数增长(Big O-notation of n²),因此我们需要另辟蹊径,以下介绍五种结构:

  1. Network Structure 1: 在第一种结构中,每个接入ISP都与单一的全球中转ISP(Global transit ISP)相连,这个全球中转ISP拥有所有Internet core的链路、路由器、交换机等核心资源,对于access ISP来说,全球中转ISP是提供商而access ISP是客户,接入网需要向全球中转ISP缴纳费用。但这种结构对于这一单一的中转ISP成本无疑是巨大的,别国政府也不会让本国的网络通信毫无保留地暴露给这个single global transit ISP。
  2. Network Structure 2: 是一个两层结构的网络结构,出现了多个全球中转ISP,他们属于Top Tier ISP/Tier 1 ISP 。其他的access ISP属于Bottom Tier 。区域性的ISP(Reigional ISP)如大学ISP与Top tier ISP相连接入Internet。
  3. Network Structure 3:这是一个多层次的层级结构(multi-tier hierarchy),包括访问ISP、区域ISP和一级ISP。每个层级的ISP都会向上一层的ISP支付费用,而一级ISP位于顶层,不向任何人支付费用。
    • 在中国,城市的访问ISP连接到省级ISP,省级ISP再连接到国家级ISP,最后连接到一级ISP。
  4. Network Structure 4:在网络结构3的基础上增加了存在点(PoP)、多重连接(multi-homing)、对等互联(peering)和互联网交换点(IXP)。PoP存在于除了访问ISP层级之外的所有层级,它是客户ISP可以连接到提供商ISP网络的地方。ISP可以选择多重连接,即连接到两个或更多的提供商ISP。对等互联是同一层级的两个ISP直接连接他们的网络,通常是无结算费用的。IXP是多个ISP可以相互对等互联的地方。
  5. Network Structure 5:在网络结构4的基础上增加了内容提供商网络,例如谷歌。谷歌有遍布全球的私有TCP/IP网络,它与公共互联网分开,只承载来自谷歌服务器的流量。谷歌通过在较低层级的ISP处进行对等互联或在IXP处连接来“绕过”互联网的上层,但由于许多访问ISP仍然只能通过一级网络到达,谷歌网络也连接到一级ISP,并为与它们交换的流量支付费用。

Pasted image 20240514163345.png

1.4 Delay, Loss, and Throughput in Packet-Switched Networks

Delay和 Packet loss是计算机网络永恒的话题。人们想要瞬间传输任意大小的 packets,但由于物理法则的限制,我们只可能在尽量短的时间传输尽可能多的 packets并保证 packet尽可能少的出错,即减少 delay和 loss,增加 throughput

1.4.1 Overview of Delay in Packet-Switched Networks

  • 在计算机网络中,数据包(Packet)始于一个end system/host,而终于另一个end system/host。在这个过程中,这个数据包会经过一个又一个node(host/router)。在结点间的传输中,数据包会经历各种各样的delay。
  • 其中,最重要的有这几个时延:nodal processing delay, queuing delay, transmission delay, and propagation delay;把它们加到一起,我们叫总共时延total nodal delay
    即:
  • 这些时延会影响到应用的性能,想要深入理解报文交换(Packet switching)和计算机网络(Computer network),我们必须学习这些delays的重要性!

Types of Delay

下图展示了一个end-to-end传播路径的一部分。当host上传数据包packet时,数据包会首先到达路由器A的输出缓冲器中。

  1. 如果packet是buffer的第一个数据包,路由器A会检查其数据包头(packet's header) 然后将数据包放在目的地链路上;
  2. 如果buffer前方有数据包,则需要等待(queuing);
  3. 如果数据包到达时buffer满,则可能发生packet loss。
    Pasted image 20240518004728.png
Processing Delay(处理时延)
  • 处理时延一般指解析数据包头的时长+将数据包送到目的地链路时间。但也有其他细节:如比特位纠错(checking for bit-level errors)的时间
  • 处理时延在高速路由器中通常需要毫秒级别的时间。
Queuing Delay(排队时延)
  • 数据包在被传送到链路上前,通常会耽搁一段叫做排队时延(Queuing Delay) 的时间。同现实世界一样,排队时延的长短取决于buffer中排在packet前面的数据包数。运气好的话,我们的packet是第一个排队的,那么排队时延就为0;但如果前面已经排了很多数据包了,相应的排队时延就会长,这种情况也叫网络拥塞 (network congestion)
  • 排队时延一般是微秒到毫秒级别的。
Transmission Delay(传输时延)
  • 假设数据包以先来先服务(First Come First Served) 传输,只有在我们的数据包前面buffer中所有的数据包传输完成后才能进行传输。
  • 我们用 L bits ==表示数据包的长度;用R bits/sec== 表示从路由器A到路由器B上链路的传输率。则我们的 传输时延L/R 。这个时间是将数据包上所有bit数据送上链路的时间和
  • 传输时延一般是微秒到毫秒级别的。
Propagation Delay(传播时延)
  • 在将数据包送上链路(Link)上后,它需要传输到路由器B。传播时延 就是从刚开始在链路上传输到路由器B的这段时间。传播时延取决于链路的物理介质(that is, fiber optics, twisted-pair copper wire, and so on)。
  • 假设物理介质的传播速度是s,需要传播长度为d,则传播时延是d/s
  • 在短距离的传播中,传播时延往往可以忽略不计。但在广域网中,如果传播时延是毫秒以上级别的,不可以忽略。

1.4.2 Queuing Delay and Packet Loss

  • 在结点众多的时延中,不同于其他时延和数据包无关的特性,排队时延和数据包在queuing buffer中的位置息息相关。在queuing buffer中越靠前的packet总能获得更短的排队时延(第一个传输的包将不会有排队时延)。
  • 因此,当我们提到排队时延,我们通常指一个统计上的概念,如“平均排队时延”。我们用a表示平均每秒传输到queue的包数,用R表示传输率(Transmissioin Rate),用L表示包中的比特数。我们用他们的比值La/R表示traffic intensity
    1. La/R>1,即使不算处理时延,传输率也不能将这些排队的packets及时传输到链路上,that is , a buffer full situation,这时无论什么情况,传输到node上的packets数也超过了其所能处理的packet数,这时的排队时延将是无穷大的,还会伴随有packet loss 的情况出现。
    2. La/R≤1,我们先讨论等于1的情况,假如每L/R秒的时间就会有一个packet传输到queuing buffer中,这时不会有任何排队时延,因为在下一个包到来的同时上一个包刚好被发送出去,这是一种周期性到达的理想情况。也可能每(L/R)N秒到达N个数据包,这时会有排队时延。但一般情况下,数据包的到达可能由一种random arriving burst的情况到达,即link沉寂m的时间,忽然有N个数据包到达。要使得不发生packet loss的情况,工程师应该合理地设置buffer的大小。
      Pasted image 20240518145801.png

1.4.3 End-to-End Delay

前面我们讨论了结点间的时延。有了这个基础,端到端的时延就是多个nodal dalay的加和。假设source和destination之间有N-1个路由器,假设网络不拥塞。即有:

Traceroute命令
  • 为了上手感受计算机网络端到端上的时延,我们可以通过Traceroute程序追踪数据包在从源主机到目的主机的过程中所经过的路由器路径。
End System, Application, and Other Delays

在网络通信中,除了处理时延、传输时延和传播时延之外,端系统中还可能存在其他显著的时延。例如:

  • 共享介质的传输延迟:在WiFi或有线调制解调器等共享介质中,端系统可能会故意延迟发送数据包,以遵循共享介质的协议。这些协议允许多个端系统共享同一介质,以避免数据包冲突。
  • 媒体分组化时延:在VoIP(语音通信协议)应用中,发送方在将数据包传递到互联网之前,必须先用编码后的数字化语音填充数据包。这个填充数据包的时间被称为分组化时延,它可能相当显著,并且会影响用户对VoIP通话质量的感知。

1.4.4 Throughput in Computer Networks

除去时延(delay)和数据包丢失/分组丢失(packet loss),另一个衡量计算机网络性能的因素就是端到端的吞吐率

  • 以主机A要向主机B发送一个大文件为假设,下面我们将介绍两个吞吐率的概念:

    1. 瞬时吞吐率(Instantaneous throughput)
      瞬时吞吐率是某时刻Host B收到信息的比率rate(bits/sec)。在用户界面常常会看到瞬时吞吐率,通常用来衡量“网速”的快慢,即网络最佳状态下的性能。
    2. 平均吞吐率(Average throughput)
      假设某段时间(T seconds)内Host B总共收到的F bits,那么平均吞吐率就是F/T(bits/sec)。在某些应用中,可能会设置一个门槛(如24 kbps in telephony还有256 kbps in real-time video apps)来实现持续且低延迟的通讯。
      在类似下载文件这样的应用场景中,delay并不是我们关心的,这时的的吞吐率对我们而言总是多多益善的。
  • 为更深入地理解吞吐率的概念,我们假设服务器端向客户端传输文件的一个场景如下图。在上面 a 图中,服务器通过链路吞吐率为 的链路 将文件信息传输给路由器,经路由器转发到吞吐率为的链路 ,后传输到客户端。这时的链路吞吐率由吞吐率小的链路决定。

  • 下图图b是另一个scenario system,它由两个end system和一堆路由器组成,这时的端到端吞吐率的大小为:它由最小吞吐率的链路,即 bottleneck link 决定了整个系统的吞吐率大小 。
    现在,我们可以轻松地想到从Server向Client传输一个大小为F bits的文件时,大概需要的时间。
    Pasted image 20240519002020.png

  • 我们观察如下图的情形。前面我们已经得知end-to-end throughput是由下面的公式:决定,然而当我们有一个10 Servers-10 Clients scenario,且这10个Server都在向Client传输文件。我们假设连接Server链路的传输率为,连接10个Client链路的传输率为,在他们之间有一条公用传输率的链路。我们可能会想当然的认为bottleneck link是传输率为,但现在作为共用的链路,对于每个end-to-end system,这条链路的传输率为
    Pasted image 20240519004302.png

1.5 Protocol Layers and Their Service Models

1.5.1 Layered Architecture

Human analogy
  • 在将我们思绪放在Internet architecture上之前,我们来设想一个human analogy。下图是一个air-line system,将航线以功能性划分为多个层次(Layer),这些层次共同提供了一个航线飞行的框架。每一层与底下的层次一同实现某些功能,或称为服务
    - At the ticketing layer and below, airline-counter-to-airline-counter transfer of a person is accomplished.
    - At the baggage layer and below, baggage-check-to-baggage-claim transfer of a person and bags is accomplished.
    - At the gate layer, departure-gate-to-arrival-gate transfer of a person and bags is accomplished.
    - At the takeoff/landing layer, runway-to-runway transfer of people and their bags is accomplished.
    Pasted image 20240519010954.png
Protocol Layering
  • 为提供设计网络协议的结构框架,网络设计师以层次构建出协议以及更底层的硬件软件。这种分层的结构框架允许每个层次专注于特定的功能,同时提供给上层协议所需的服务。每个协议在其对应的层次上运行
  • 我们重新着眼于下层为上层提供的services,也称作层次服务模型(Service model of a layer)。 每个层次通过:
    1. 在层内执行特定的活动 Performing certain actions within that layer;
    2. 使用下层所直接提供的服务 Using the services of the layer directly below it;
      来提供其服务。
  • 协议分层(protocol layer)可以用软件硬件软硬件实现。越靠近应用层(上层),协议的实现越倾向于软件方式,应用层的如HTTP协议和SMTP协议。这是因为下层的物理层和数据链路层负责接收特定链路传输过来的数据,这些功能通常封装在网络接口卡(Network Interface Card)中。
  • 如下图所示,将各层的协议合在一起叫做 协议栈(Protocol Stack)
    Pasted image 20240519131546.png
Application Layer
  • 应用层网络应用应用层协议所在的地方,Internet的应用层涵括了许多协议,如HTTP协议、SMTP协议还有FTP协议等。
  • 网络层协议分布在各种各样式的end system设备上,在终端设备使用应用层协议传输packet数据包时,我们把这些在应用层的数据包称为报文(Message)
Transport Layer
  • Internet的传输层的任务时在终端的应用端点(Application endpoints)之间传输应用层报文。在应用层中最重要的两个协议TCPUDP,它们都可以传输应用层的报文信息。
    1. TCP(Transmission Control Protocol)
      为应用提供面向连接的服务,这些服务包括(1)传输应用层报文到destination的保证及流量控制((Flow control)sender/receiver speed matching),(2)TCP也会将报文划分为更小的段并提供拥塞控制机制(Congestion-control machanism)。
    2. UDP(User Datagram Protocol)
      UDP为应用提供无连接的服务,UDP的连接是不可靠但即时的连接,不保证对流量和拥塞的控制。
      我们把在传输层的数据包称为报文段(Segment)
Network Layer
  • Internet的网络层的职责传输网络层数据包,即数据报(Datagram)。源主机上的传输层的协议(如TCP和UDP)给网络层传递传输层报文段目标地址。然后网络层将数据报从一个host传输到目标host的网络层上。
  • 网络层最重要的协议是IP协议,这也是Internet上最核心的协议之一,任何有网络层的网络部件都必须实现IP协议。网络层除了IP协议还要一些路由协议(Routing protocol)指明数据报传输的方向。由于IP协议的重要性,有时也将Network layer叫做IP layer。
  • 网络层的数据报通过源与目标主机间的许多路由器进行传输,要将packet从一个结点传给另一个结点,网络层需要依靠链路层提供的服务。
  • 链路层提供的服务取决于链路上配备的链路层协议,有些链路层协议提供可靠的传输,链路传输的可靠性是由链路介质决定的,如WiFi提供不可靠的服务,Ethernet提供可靠的服务。由于数据报在源-目标传输可能历经多种链路,每个链路层可能使用不同的链路层协议,比如数据报可能在一个链路上使用以太网协议,在另一个链路上使用点对点协议(PPP)。
  • 链路层的协议有Ethernet、WiFi、PPP(Point to Point Protocol)、还有有线传输网络的DOCSIS协议等。我们称数据链路层的数据包为帧(Frame)
Physical Layer
  • 物理层的工作是将链路层帧中的比特位从一个网络结点传给另一个网络节点。物理层的协议和链路层协议一样都是link-dependent/medium-dependent,传输介质决定了协议的内容(如双绞线、铜线、光纤等)。
  • Ethernet有许多物理层的协议,one for twisted-pair copper wire, another for coaxial cable, another for fiber, and so on.每种协议实现的Ethernet在链路中传输bit的方式都是不同的。

1.5.2 Encapsulation

  • 下图展示了数据从源地址host到目的地址host传递的物理路径。和end system相似,packet switches(link-layer switches和routers)也将它们的网络硬件组织成不同的layers。但与end system不同的是,packet switches并不像end system那样实现了协议栈中的所有layers,而只实现了最底层的部分。而实现全部协议栈的end system表明Internet架构在network edge上所投入的复杂度是很高的!
    Pasted image 20240519150643.png
  • 上图同样显明了封装(encapsulation) 的重要性:
    1. 应用层,应用层把报文M传给传输层;
    2. 传输层,传输层收到应用层的报文后会在报文头部附加一个传输层头层信息transport-layer header information ,对报文M进行封装。共同组成了传输层数据段(Segment)这些header info允许接收端host的传输层能够把报文传递给正确的应用;接收端Host也可以通过检错位判断报文在路由中是否有变化。
    3. 网络层,接收到传输层的数据段后会将其进一步进行封装,在Segment头部添加网络层头层信息 中包含如源/目的end system的地址等信息,将segment封装为网络层数据报(Datagram)
    4. 随后数据到达数据链路层,然后链路层加入自己的头层信息 将datagram封装成一个数据链路层帧(Frame)
      通过上述的逐层封装过程,我们可以发现一个数据包(Packet)/PUD 包含两个类型的字段(field)头部字段(header fields)有效载荷字段(payload field)/SDU。有效载荷字段通常指上层传输的数据包。

1.6 Network Under Attack

在1.6节,我们需要了解一些网络领域的名词

  • Malware(恶意软件)
  • Botnet(僵尸网络)
    Pasted image 20240521003828.png
  • Denial-of-Service(DoS) attack(拒绝服务攻击)
    • Vulnerability attack(漏洞攻击)
    • Bandwidth attack(带宽攻击)
    • Connection flooding(TCP连接泛滥)
  • Distributed DoS attack(分布式拒绝服务攻击)
  • Packet sniffer(数据包嗅探器)
  • IP spoofing(IP欺骗)

更多网络安全的相关内容将留在 Chapter 8 单独介绍。

1.7 History of Computer Networking and the Internet

1.7节作为了解型内容。