Computer networks 计算机网络:(Interconnected 相互连接的)
大量相互独立但是彼此连接的计算机共同完成计算任务。
A number of individual computers interconnected through a communication network.
一组通过单一技术相互连接的自主计算机集合。
A collection of autonomous computer systems interconnected using a single technology.
Computer network vs. distributed system——区别在于软件(操作系统)
Distributed system 分布式系统:
模型或范型,是建立在网络之上的关联软件系统,这种软件保证了系统高度的一致性和透明性。
A abstraction for computation or data processing。
Middleware 中间件:负责实现模型的一层软件。
World wide web 万维网:最著名的分布式系统。
1.1用途what & how(model)
1.1.1商业应用
Resource sharing 资源共享:让网络中任何人都可以访问所有的程序、设备、尤其是数据,使资源和用户所处的物理位置无关。
Eg:打印机。
Virtual private networks 虚拟专用网络 VPN:不同地点的单个网络连接成一个扩展的网络。
Client-server model 客户机-服务器模型:应用最广泛的模型。
Client 客户机:相对简单的机器?
Server 服务器:高性能的计算机?
Process 进程
请求-应答消息。
The client-server model that involves requests and replies.
1.1.2家庭应用
Connectivity 连通性——由Internet提供。
Home Applications of Networks:
Access to remote information——news
Person-to-person communication——WeChat
Interactive entertainment——bilibili
Electronic commerce——Taobao
Internet 因特网
No fixed clients and servers in a peer-to-peer system.
Peer-to-peer P2P 对等
在对等系统中没有固定的客户机和服务器
e-commerce:
Tag | Full name | Example |
B2C | Business-to-consumer 企业对消费者 | Ordering books online |
B2B | Business-to-business 企业对企业 | Car manufactured ordering tires from supplier |
G2C | Government-to-consumer 政府对消费者 | Government distributing tax forms electronically |
C2C | Consumer-to-consumer 消费者对消费者 | Auctioning second-hand products online |
P2P | Peer-to-Peer 对等 | Music sharing |
1.1.3移动用户
Hotspot 无线热点——基于802.11标准
Fixed wireless 固定无线 Mobile wireless 移动无线
Combinations of wireless networks and mobile computing.
1.1.4社会问题
As the result of the various uses and wide applications of computer networks.
Politics 政治 Religion 宗教 Pornography 色情 The right of individuals 个人权利 Copyright 版权 Security 安全 Privacy 隐私
Phishing 网络钓鱼
1.2网络硬件
Classification of network计算机网络分类维度:
1.Transmission technologies 传输技术:
①Broadcast transmission 广播式链路:通信信道被网络上的所有机器共享,任何一台机器发出的数据包能被所有机器接收到。
若要对特定机器发送,则需要检查地址字段。
目的地址机器接收包,其他地址机器忽略包。
Broadcasting 广播 / Multicasting 组播
Usually smaller, geographically localized networks.
Most applicable: local area networks 局域网.
②Point-to-point transmission 点到点链路(unicasting 单播):一对单独的机器连接起来。
Usually large networks.
Most applicable: wide area networks 广域网.
2. Scale of processor interconnections网络尺度:距离作为分类的重要指标。
1.2.1个域网
Personal area network 个域网 PAN:允许设备围绕着一个人进行通信。
Bluetooth 蓝牙:采用主-从操作模式,主设备和从设备通信。
A Bluetooth-based PAN configuration(配置).
1.2.2局域网
Local area network 局域网 LAN:连接一些区域内电子设备的私有网络。
Enterprise network 企业网络:局域网用于企业。
无线局域网:Wifi IEEE802.11标准,中继无线计算机之间的数据包,负责中继无线计算机和Internet之间的数据包。
Access point 接入点 wireless router 无线路由器 base station 基站
有线局域网:不同传输介质,但是有界限。
Ethernet 以太网 switch 交换机 port 端口
许多有线局域网的拓扑结构是以点到点链路为基础的。
其他拓扑结构如下:
Bus 总线网络 Ring 令牌环网
概念辨析:
信道分配方式:静态设计vs动态设计——eg:time slot 时间槽、按需分配。
动态分配方式:集中式vs分散式——eg:中心实体(基站)、每台机器自己决定是否传输。
1.2.3城域网
Metropolitan area network 城域网 MAN:范围可以覆盖一个城市。
A metropolitan area network based on cable TV.
Antenna 天线 head end 头端 junction box 接线盒
1.2.4广域网
Wide area network 广域网 WAN:范围广,通常是一个国家、地区或者一个大陆。
Host 主机 Router 路由器 Subnet 子网 Transmission line 传输线路
Host 主机:每个专门运行用户应用程序的计算机。
Communication subnet 通信子网 subnet 子网:一组路由器和通信线路的集合,主要负责将数据包从源到主机移动到目标主机。(第五章不同的定义)
①Transmission line 传输线路:负责在机器之间移动比特。
②Switching element 交换元素(switch 交换机):专用的计算机,负责连接两条或两条以上的线路。
Router 路由器:现在负责交换的计算机。
Internetwork 互联网络:由多个网络组成的网络。
Virtual private networks 虚拟专用网络 VPN:
通过虚拟链路相互连接。
提供了重用某种资源的灵活性。
WAN using a virtual private network——Link via the internet 通过Internet连接的链路
Internet service provider Internet服务提供商 ISP network ISP网络
WAN using an ISP network
Routing algorithm 路由算法:网络如何决定使用哪条路径的策略。
Forwarding algorithm 转发算法:每个路由器如何决定把一个数据包发送到哪个位置的策略。
Relation between hosts on LANs and the subnet.
A stream of packets from sender to receiver.
1.2.5互联网络
internetwork 互联网络 internet 互联网:
一组相互连接的网络。
Internet 因特网:全球范围,特殊的互联网络。
概念辨析:
子网:在广域网中才有意义。
网络(概念松散):
一种单一技术相互连接在一起的计算机的集合!
一个子网和它的主机结合在一起也形成了网络。
互联网络:
不同组织出资构建网络的不同部分并各自维持;
网络的不同部分采用了不同的底层技术(广播技术&点到点链路、有线&无线)。
Gateway 网关:连接两个不同的网络之间硬件和软件方面的总称。
1.2.6无线网络
Wireless network 无线网络:无线传输的网络。
分类:
System interconnections 系统互连
Wireless LANs 无线局域网
Wireless WANs 无线广域网
Bluetooth configuration 蓝牙配置 Wireless LAN无线局域网
Individual mobile computers 个人移动电脑 A flying LAN 飞行局域网
1.3网络软件
高度结构化,软件构造技术。
1.3.1协议层次结构
Protocol hierarchies 层次协议结构:
A stack of layer 层次栈/a stack of level 分级栈:每一层建立在下一层基础之上,各层内容和功能不尽相同,目的是向上一层提供特定的服务,但对其屏蔽服务的具体细节。
Protocol 协议:通信双方就如何通信形成一种约定。(语法语义+交换规则)
Why分层设计?
为了降低网络设计的复杂性,将难以管理的任务分解成几个较小的、易于处理的设计问题。
图与解释:
虚拟通信:虚线,表示双方间进行沟通。
物理通信:实线,数据和控制信息从上层向下传递,直至最底层,在通过物理介质达到它实际的通信。
Peer 对等体:不同机器上构成相应层次的实体,可能是软件过程、硬件设备、人类等。
对等体为了实现彼此沟通才通过协议来进行通信。
Physical medium 物理介质:完成实际通信的,提供比特流介质。
Interface 接口:在每一对相邻层次之间,定义了下层向上层提供的原语操作和服务。
Network architecture 网络体系结构:层和协议的集合。
Protocol stack 协议栈:一个特定系统所使用的一组协议,即每层一个协议。
更加技术性的例子图于解释:
Packet 包/数据包:由于协议限制,而将入境消息分割成的较小单元。
数据包之间被单独传输。
数据包传递过程:
M被分割成M1和M2两部分被单独传输,加上了每一层的头,传递个下一层,第二层加上了头和尾,传输单元送给第一层以便物理传输。在接收端的机器上消息自底向上逐层传输,在传递过程中,各个头被逐层剥离。没有一个n层以下的头会被传递到第n层。
虚拟通信&实际通信、协议和接口之间的关系:
第四层中对等进程在概念上可以认为它们的通信是“水平的”,它们使用了第4层协议。但实际上,是通过3/4层之间的接口和底层进行通信,而并不是直接于另一端通信的。
1.3.2层次设计问题
①(消息错误——解决:添加冗余信息)
How 解决由于不可抗力带来的各种传输错误问题?
Error detection 检错编码:发现错误并重新发送直到正确接受为止。
Error correction 纠错编码:从最初收到的不可能正确的比特中恢复正确的消息。
②(工作路径可靠性)
Routing 路由:自动决策通过那一条链路传输数据包。
③(涉及网络演进)
Addressing 寻址(下层)&Naming 命名(高层)——每一层在特定的消息中需要一种机制来标识发送方和接收方。
④((资源)分配问题——避免主机相互干扰)
Statistical multiplexing 统计复用:
根据主机的短期需求动态变化共享网络的带宽。
可以在低层、高层。
Flow control 流量控制:
如何保持快速发送方不会用数据把慢速接收方给淹没。
运用接收方到发送方的反馈机制。
Congestion control 拥塞控制:
拥塞——网络超载,太多计算机发送太多流量,而网络没有能力传递所有数据包。
一种策略是,发生拥塞时,每台计算机减少对其网络的带宽需求。
⑤(保护网络抵御各种威胁)
Confidentially 保密性机制
Authentication 认证机制
Integrity 完整性机制
1.3.3面向连接与无连接服务
Connection-oriented service 面向连接的服务:按照电话系统建模,先建立连接,使用连接传输数据,最后释放连接。
本质像管道——发送方压入,接收方去除,所有数据为按照原来的顺序到达。
有些情况下会进行——协商。
Connectionless service 无连接服务:按照邮政系统建模,每一个报文都携带了完整的目标地址,每个报文都由系统中的中间节点路由,而且路由独立于后续报文。
Message 报文:在不同的上下文中有不同的称呼。
Packet 数据包/包:网络层的报文。
Store-and-forward switching 存储-转发交换:中间节点只能在收到报文的全部内容后再发送报文给下一个节点。
Cut-through switching 直通式交换:报文还没有被完全接收完毕之前就向下一个节点传输。
Datagram service 数据报服务——不可靠
Acknowledged datagram service 有确认的数据报服务——可靠性
Request-reply service 请求-应答服务
1.3.4服务原语
Primitive 原语:用户进程通过原语操作来访问该服务,一个服务由一组原语正是说明。原语告诉服务要执行某个动作,或者将对等实体所执行的动作报告给用户。
可用的原语取决于底层提供的服务。
Six service primitives for implementing simple connection-oriented services:
Primitive | Meaning |
LISTEN | Block waiting for an incoming connection |
CONNECT | Establish a connection with a waiting peer |
ACCEPT | Accept an incoming connection for a peer |
RECEIVE | Block waiting for an incoming message |
SEND | Send a message to the peer |
DISCONNECT | Terminate a connection |
A simple client-server interaction using acknowledged datagrams
客户机-服务器环境下实现“请求-应答”交互式应用过程:
(面向连接的通信过程)
①连接请求&接收响应。
服务器执行listen,准备好接收入境连接,阻塞直至有请求到来。
客户端执行connect,与服务器建立连接,操作系统向对方发送数据包,客户进程被挂起直至有应答。
服务器接收到数据包,监听进程解除阻塞,调用accept建立连接,向客户端发送一个响应。
客户进程接收到响应解除阻塞恢复运行状态。
②请求数据&应答
服务器执行receive,接收请求,继续被阻塞。
客户端执行send,发送请求数据包,接着执行receive等待服务器应答。
服务器收到数据包借出阻塞状态,处理请求,通过send返回请求结果。
客户进程解除阻塞,查看服务器返回结果,并可以继续发送请求。
③断开连接
客户任务完成,发起disconnect阻塞调用,客户进程被挂起,同时发送服务器一个数据包,表示客户不需要连接。
服务器收到包后,发送自己的disconnect,作为客户终止连接的确认并释放连接。
客户端收到服务器的包后,借出阻塞恢复运行,连接被正式终止。
1.3.5服务与协议的关系
Service 服务:某一层向它上一层提供的一组原语(操作)。
定义了该层准备代表其用户执行那些操作,不涉及到如何实现这些操作。
与两层之间的接口相关,低层是服务提供者,上层是服务用户。
Protocol 协议:是一组规则,规定了同一层对上一层对等实体之间交换的数据包或者报文的格式和含义。
服务于协议的区别:
服务涉及层与层之间的接口,
协议涉及不同机器上两个对等实体之间发送的数据包。
1.4参考模型
OSI参考模型:协议没卵用,but模型具有普遍性意义,适合探讨网络体系结构每层功能。
TCP/IP参考模型:模型没卵用,but协议流传广泛。
1.4.1OSI参考模型
International Standards Organization 国际标准化组织 ISO 提案 OSI模型。
Open Systems Interconnection 开放系统互连模型 OSI:
7层;不同实体;执行明确定义的功能;层与层边界的选择应该使跨越接口的信息流最小。
Physical layer 物理层:关注在一条通信信道上传输的原始比特。
Data link layer 数据链路层:将一个原始的传输设施变成一条没有漏检传输错误的线路,网络层看不到。
Data frame 数据帧:发送方将输入的数据拆分,并顺序发送。
Acknowledgement frame 确认帧:接收方确认正确收到每一帧。
介质访问控制子层:特殊的数据链路层,广播式网络中如何控制共享信道的访问。
Network layer 网络层:主要控制子网的运行。关键的设计问题是如何将数据包从原端路由到接收方。
路由——高度动态的。
拥塞控制,并解决各种问题。
Transport layer 传输层:基本功能接收来自上一层的数据,在必要的时候将其分隔成小单元,然后把数据单元传递给网络层,确保数据单元正确的到达另一端。
真正的端到端的层!
源机器上的一个程序利用报文头和控制信息于目标机器上的一个类似程序进行会话;其下每一层都是通过协议与邻居连接,源机器和目标机器可能被多个路由器隔离了。
Session layer 会话层:允许不同机器上的用户建立会话。
Dialog control 会话控制——记录由谁来传递数据
Token management 令牌管理——禁止双方同时执行同一个关键操作
Synchronization 同步功能——在一个长传输过程中设定断电,以便再系统崩溃后还能恢复到崩溃前的状态继续运行。
Presentation layer 表示层:关注传递信息的语法和语义。
管理抽象的数据结构定义和交换高层的数据结构。
Application layer 应用层:包含了用户通常需要的各种各样的协议。
Hypertext Transfer Protocol 超文本传输协议 HTTP
World wide web 万维网 WWW
1~3是链式连接 4~7是端到端
1.4.2TCP/IP参考模型
TCP/IP Reference Model TCP/IP参考模型:多个网络连接起来。
Link layer 链路层:链路必须完成什么功能才能满足无连接互联网层的需求,eg:串行线、经典以太网链路。
不是真正意义上的一个层,而是主机和传输线路之间的一个接口。
I(i)nternet layer 互联网层:允许主机将数据包注入到任何网络,并且让这些数据包独立地到达接收方。!感觉非常重要!
将整个网络体系结构贯穿在一起的关键层,大致对应网络层。
定义了官方的数据包格式和协议:(无连接)
Internet protocol 因特网协议 IP
Internet control message protocol 因特网控制报文协议 ICMP
Transport layer 传输层:允许源主机和目标主机上的对等实体进行对话。
两个端到端传输协议:
Transport control protocol 传输控制协议 TCP:可靠的、面向连接的协议,允许一台机器发出的字节流正确无误地交付给互联网上另一台机器。
把字节流分割成离散的报文,传递给互联网层。
目标机器接收TCP进程把报文重新装配到输出流中。
TCP还负责处理流量控制。
User datagram protocol 用户数据报协议 UDP:不可靠的、无连接协议,适用于那些不想要TCP的有序性或流量控制功能,而宁可自己提供这些功能的应用程序。
精准交付。
Application layer 应用层:包含了所有高层协议,简单包含了所需的任何会话和表示功能。
1.4.3使用的模型和协议
1.4.4两种模型的比较
Concepts central to the models 3个重要的概念:
Services 服务
Interfaces 接口
Protocols 协议
OSI | TCP/IP |
Very influential model with clear concepts | Very successful protocols that worked well and thrived to become a de facto standard |
Models, protocols and adoption influenced by politics and complexity | Weak model derived after the fact from protocols |
设计角度不同:OSI模型的模型细致,再协议之前发明,但是像数据链路层先为了点对点链路设计,当出现广播链路时,不得不加入介质传输子层,来弥补服务;TCP/IP模型先出现协议,模型对协议进行描述。
层数不同:7 vs 4。
无连接和面向连接的通信领域不同:
OSI | TCP/IP | |
传输层 | 面向连接 | 无连接和面向连接 |
网络层 | 无连接和面向连接 | 无连接 |
1.4.5两个模型的评价——略
1.5网络实例
1.5.1因特网
Internet 因特网:大量不同网络的集合,使用特定的公共协议,并且提供特定的公共服务。
ARPANET:
电话系统结构 分布式交换系统 最初设计的ARPANET
软件:子网+主机。
ARPANET的增长
Socket 套接字
Domain Name System 域名系统 DNS
NSFNET:
Computer Science Network 计算机科学网络 CSNET
Network Access Point 网络接入点 NAP
Original applications (1970-1990):
·E-mail 电子邮件 ·News 新闻组
·Remote login 远程登录 ·File transfer 文件传输
Internet connectivity:
Server farm 服务器农场
Internet 体系结构:
Fiber 光纤
Dialup 拨号
Digital Subscriber Line 数字用户线 DSL
Digital Subscriber Line Access Multiplexer 数字用户线接入复用器 DSLAM
Point of Presence ISP存点 POP
Internet exchange point Internet交换点 IXP
Tier 1 ISP 一级网络运营商
Backbone 骨干网
Cable 线缆
Cable modem 线缆调制调节器
Modem 调制调节器:指任何一种在数字比特和模拟信号之间作转换的设备。
Broadband 宽带:以高于拨号速率接入Internet。
·ISP networks serve as the Internet backbone
·ISPs connect or peer to exchange traffic at IXPs
·Within each network, routers switch packets
·Between networks, traffic exchange is set by business agreements
·Customers connect at the edge through many means
* Cable, DSL, Fiber-to-the-Home, 3G/4G wireless, dialup
·Data centers concentrate many servers (“the Cloud”)
·Most traffic is content from data centers (e.g., video)
·The architecture continues to evolve
1.5.2以太网
Ethernet
1.5.3第三代移动电话网络
Cells 蜂窝 Base station 基站 radio access network 无线接入网络 core network 核心网络 RNC 无线网络控制器 HSS 归属用户服务器
移动电话移交handover a)之前 b)之后
1.5.4无线局域网:802.11
a)有一个网络接入点的无线网络 b)自组织网络
multipath fading 多径衰落
OFDM 正交分频复用
CDMA 载波侦听多路访问
1.5.5RFID和传感器网络
RFID 无线射频识别
RFID used to connect everyday objects 联网日常物品
·Tags (stickers with not even a battery) are placed on objects
·Readers send signals that the tags reflect to communicate
Multi-hop topology of sensor networks 传感器网络的多跳拓扑结构
·Sensor networks spread small devices over an area
·Devices send sensed data to collector via wireless hops
1.6网络标准化
为什么要做网络标准化?
为了使多台计算机可以相互之间通信。
为了让所有网络生产商和供应商遵守一些网络标准,减少混乱,使不同的计算机之间可以相互通信,还能扩大遵循相应标准的产品市场。
有哪些组织?
ITU 国际电信联盟
ISO 国际标准化组织
NIST 国家标准和技术协会
IEEE 电气和电子工程师协会
Internet 协会
Standards define what is needed for interoperability。
标准定义了互操作性所需的内容。
De facto 实施标准
De jure 法定标准
有哪些协议?
Body | Area | Examples |
ITU | Telecommunications | G.992,ADSL H.264,MPEG4 |
IEEE | Communications | 802.3,Ethernet 802.11,Wifi |
IETE | Internet | RFC 2616,HTTP/1.1 RFC 1034/1035,DNS |
W3C | Web | HTML5 standard CSS standard |