【计算机网络】第一章:引言
【计算机网络】第一章:引言
标签(空格分隔):【计算机网络】
第一章:引言
文章目录
- 计算机网络(computer networks):大量相互独立但彼此连接的计算机共同完成计算任务的系统。
- 相互连接的(interconnected):两台计算机可以交换信息。
- 分布式系统(distributed system):由一组独立计算机组成的分布式系统呈现给用户的是一个关联的系统。
分布式系统与计算机网络的区别:分布式系统中,用户看到的是一个模型。计算机网络中,用户看到的是实际的机器。二者的区别在于软件。
1.1 使用计算机网络
- 资源共享(resource sharing):让网络中的任何人都可以访问所有的程序、设备、数据,并且这些资源与用户所处的物理位置无关。
- 虚拟专用网络(v*n, Virtual Private Networks):将不同地点的单个网络连接成一个扩展的网络。
- 服务器(server):用来存储数据的高性能计算机。
- 客户机(client):
- 客户机-服务器模型(client-server model):该模型涉及两个进程,分别位于客户机与服务器上。
- 通信媒介(communication medium):
- 电子邮件(E-mail, electronic mail)
- IP电话(IP telephony)
- IP语音(VoIP, Voice over IP)
- 桌面共享(Desktop sharing)
- 电子商务(e-commerce)
- 对等(peer-to-pper):松散群体中的个人可以和群体中的其他人通信。
- B2C:企业对消费者
- B2B:企业对企业
- G2C:*对消费者
- C2C:消费者对消费者
- P2P:对等
- 普适计算(ubiquitous computing)
- 无线热点(hotspot)
- 固定无线(fixed wireless)
- 移动无线(moblie wireless)
- 全球定位系统(GPS, Global Positioning System)
- 近场通信(NFC, Near Filed Communication)
- 传感器网络(sensor network)
- 钓鱼(Phishing)
- 完全图灵测试(CAPTCHA)
1.2 网络硬件
两个重要的概念:传输技术、网络尺度。
传输技术:广播式链路、点对点链路。
网络尺度:个域网、局域网、城域网、广域网、互联网。
- 点对点(point-to-point)链路:将一对单独的机器连接起来。只有一个发送方和一个接收方。有时候也称为单播。
- 广播(boradcasting):任何一台机器发出的数据包都能被所有其他机器接收到。
- 组播(multicasting):某些广播系统支持给一组机器发送数据包的模式。
- 个域网(PAN, Personal Area Network):设备围绕一个人进行通信。
- 蓝牙(bluetooth):一种短距离无线网络。
- 局域网(LAN, Local Area Network)
- IEEE 802.11:一种无线局域网标准,俗称WiFi.
- IEEE 802.3:一种以点到点链路为基础的有线局域网,俗称以太网。
- 交换机(switch):中继与之连接的计算机之间的数据包,根据数据包中的地址来确定这个数据包是发往那个计算机的。一个交换机有多个端口(port), 每个端口连接一个计算机。
- 经典以太网(classic Ethernet):
- 交换式以太网(switched Ethernet):
- 静态设计/动态设计
- 电线网络(power-line network)
- 城域网(MAN, Metr
- opolitan Area Network)
- 广域网(WAN, Wide Area Network)
- 主机(host)
- 通信子网(communication subnet):简称为子网,把信息从一个主机携带到另一个主机。它由传输线路和交换元素两部分组成。
- 传输线路(transmission line):负责在机器之间移动比特。
- 交换元素(switching element):简称为交换机,是专用的计算机,负责连接两条或两台以上的传输线路。
- 互联网络(internetwork):又称为互联网(internet),注意与因特网(Internet)的区别。
1.3 网络软件
1.3.1 协议层次结构
- 层次栈(a stack of layer)/分级栈(a stack of level):每一层都建立在下一层的基础智商,每一层的目的是向上一层提供特定的服务。
- 协议(protocol):指通信双方就如何进行通信的一种规则。
- 对等体(peer):不同机器上的相应层次的实体。对等进程的通信可以被认为是“水平的”。
- 物理介质(physical medium):第一层下面。
- 接口(interface):每一对相邻层次之间的是接口。接口定义了下层向上层提供哪些原语操作和服务。
- 网络体系结构(network architecture):层和协议的集合。实现细节和接口不规范不属于网络体系结构的内容,因为它们隐藏在机器内部,外部不可见。
- 协议栈(protocol stack):一个特定的系统所使用的一组协议,即每一层一个协议。
- 数据包(packet)
1.3.2 层次设计问题
- 检错(error detection):从接受的信息中发现错误,之后放弃错误的信息,直到正确接受为止。
- 纠错(error correction):从最初收到的不正确的比特中恢复正确的消息。
- 寻址(addressing)/命令(naming):每一层在特定消的消息中需要一种机制来识别发送方和接受方。
- 统计复用(statistical multiplexing):根据统计需求来共享带宽。而不是给每个主机分配固定比例的带宽。
- 流量控制(flow control):防止发送方用数据把慢速的接收方淹没。
- 拥塞(congestion):计算机发送太多的数据包,而网络没有能力传递所有数据包。
1.3.3 面向连接和无连接服务
-
面向连接服务(connection-oriented service):服务用户首先必须建立一个连接,然后使用该连接传输数据,最后释放该连接。
-
无连接服务(conncetionless service):每个报文携带完整的目标地址,每个报文都由系统中间结点路由发出,而且路由独立于后续保温。
-
报文(mesage):在不同的上下文中有不同的称呼。网络层中称呼为数据包(packet).
-
存储-转发交换(store-and-forward switching):中间结点只能收到报文的全部内容之后再将豹纹发送给下一个结点。
-
直通式交换(cut-through switching):报文还没有被全被接受完之前就向下一个祭奠传输。。
-
服务质量(quality of service):1. 可靠服务,指的是接收方向发送方确认收到的每一个报文,因而发送方可以据此确定报文已经达到接收方。2. 不可靠服务:不需要被确认。
-
报文序列:
-
字节流:
-
数据报服务(datagram service):不可靠的无连接服务。
-
又确认的数据报服务(acknowledged datagram service):
-
请求-应答服务(request-reply service):发送方传输一个包含了某一个请求的数据报文,接收方以一个包含了请求结果的应答数据报作为反馈。
服务 | 例 |
---|---|
前三种为面向连接 | |
可靠的报文流 | 顺序页面 |
可靠的字节流 | 移动下载 |
后三种为无连接 | |
不可靠的连接 | IP语音 |
不可靠的数据报 | 垃圾邮件 |
有确认的数据报 | 文本消息 |
请求-应答 | 数据库查询 |
1.3.4 服务原语
- 原语(primitive):原语告诉服务要执行某一个动作,或者将对等实体所执行的动作报告给用户。
原语 | 含义 |
---|---|
LISTEN | 阻塞操作,等待入境连接请求 |
CONNECT | 与等待中的对等实体建立连接 |
ACCEPT | 接受来自对等实体的入境连接请求 |
RECEIVE | 阻塞操作,等待入境报文 |
SEND | 给对等实体发送一个报文 |
DISCONNECT | 终止一个连接 |
1.3.5 服务与协议的关系
- 服务:是指某一层向它上一层提供的一组原语(操作)。服务定义了该层准备代表其用户执行哪些操作,但是不涉及如何实现这些操作。底层是服务提供者,上层是服务用户。
- 协议:规定了同一层上对等实体之间所交换的数据包或者报文的格式与含义。对等实体利用协议来实现它们的服务定义,它们可以*地改变协议,只要不改变呈现给它们用户饿服务即可。
1.4 参考模型
两个十分重要的网络体系结构:OSI参考模型和TCP/IP参考模型。OSI模型具有相当普遍意义,但没人使用;TCP/IP模型本身并无多大用处,但是它却被广泛使用。
1.4.1 OSI参考模型
- OSI(Open System Interconnection)参考模型:中文名开放互联模型,共分为七层。
其基本原则如下:1. 应该在需要一个不同抽象体的地方创建一层。2. 每一层都应该执行一个明确定义的功能。3. 每一层功能的选择应该向定义国家标准化协议的目标看齐。4. 层与层边界应该使跨层接口的信息流最小。5. 层数应该足够的多,保证不同的功能不会被混杂在同一层中,但是层数又不能太多,以免体系结构过于庞大。
- 物理层(physical layer):一条通信信道上传输原始比特。这里经典问题有:用什么信号表示1和0、一个比特持续多少纳秒,传输是否可以在两个方向上同时进行、初试链接如何建立等。涉及到机械、电子、时许接口,以及物理层下的传输介质。
- 数据链路层(data link layer):将一个原始的传输设施转换成一条没有漏检传输错误的线路。数据链路层完成这项任务的做法是将真实的错误掩盖起来,使得网络层看不到。为此,发送方将输入的数据拆分成数据帧(data frame),然后顺序放松这些数据帧。如果服务是可靠的,则接收方需要给发送方发回一个确认帧(acknowledgement frame).
- 网络层(network layer):主要功能是控制子网的运行。一个关键的设计问题是如何将数据包从源端路由到接收方。
- 传输层(transport layer):基本功能是接受来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后将这些数据单元传递给网络层,并确保这些数据但雨啊正确地到达另外一端。传输层是真正的端到端的层次。
- 会话层(session layer):允许不同机器上的用户建立会话。
- 表示层(presentation layer):关注传递信息的语法和语义。
- 应用层(applicaton layer):包含了用户通常需要的各种各样的协议。例如超文本传输协议。
1.4.2 TCP/IP参考模型
- TCP/IP参考模型:以其中最主要的两个协议命名。
下图为OSI参考模型与TCP/IP参考模型对比。
- 链路层(link layer):该层描述了链路必须完成什么功能才能满足无连接的互联网络层的需求。
- 互联网层(internet layer):将整个网络体系结构贯穿在一起的关键层。该鞥的任务是允许主机将数据包注入到任何网络,并且让这些数据包独立地到达接收方。
- 传输层(transport layer):允许源主机和目的主机上的对等实体进行对话。
- 应用层(application layer):包含所有高层协议,例如:TELNET、FTP、SMTP、DNS、HTTp、RTP等。
TCP/IP模型以及各个层次的协议。
1.4.3 OSI参考模型与TCP/IP参考模型的比较
-
二者共同点:1. 都以协议概念为基础,并且协议栈中的协议彼此相互独立。2. 两个模型中隔层的功能大致相似。
-
二者不同点:1. OSI核心:服务、接口、协议;TCP/IP中没有明确区分服务、接口、协议。2. OSI在协议发明之前就产生了;TCP/IP正好相反,先有协议,TCP/IP只是已有协议的一个描述。3. 无连接和面向连接的通信领域不同。在OSI汇总,网络层支持面向连接和无连接通信,而传输层只支持面向连接通信;在TCP/IP中,网络层支持无连接通信,传输层支持面向连接和无连接两种模式。
-
OSI模型缺点:1. 糟糕的出现时间;2. 糟糕的技术;3. 糟糕的实现;4. 糟糕的政策。
-
TCP/IP模型却丢安:1. 没有明确区分服务、接口和协议的概念;2. TCP/IP模型一点也不适用;3. 在分层协议的上下文中,链路层并不是通常意义上的一层。4. TCP/IP模型并没有区分物理层和数据链路层。而这两层是完全不同的层。
1.5 网络实例
1.6 网络标准化
-
ITU:国际电信联盟
-
ISO:国际标准化组织
-
IEEE:电器和电子工程师协会