Chapter 1: Introduction to data communications

Data Communications

what is data?
data is anything which is contain information.
Data communitcation are the exchange of data between two devices via some form of transmission medium such as a wire cable
communitactions to occur, for example, wechat is a data communications.

Data communication fundamentals 数据通讯基础

Delivery 输送
举个栗子吧,如果说我给老师发了个消息,那这个消息发过去了的话就叫做delivery

Accuracy 准确性
数据必须要准确,我发送给目标的必须是一字不差的那种

Timeliness 及时性
我们发送的信息必须要有及时性,保证发送即受到
这里老师提到一个概念
Real-time transmission 实施传输

Jitter (网络)抖动
举个栗子吧,当我们看视频的时候,如果网比较差的话,就会存在卡顿,这个卡顿我们称之为Jitter

Five components of data communication 数据通讯的5个组成成分

Message 信息
Sender 发送端
Receiver 接收端
Transmission medium 传输媒介
Protocol 协议
protocol is a set of rules 所谓的协议其实就是一个规定,这个规定可能是双方的
比如见到英国人说英语日本人说日语这种一样

Data Flow and Data represenation

这里讲到的是不同的通讯方式
我们一般提到通讯方式的话有3种:Simplex, Half-duplex, Full-duplex
可以用一张图来表示:

Data Communication

Simplex 就是单向通讯
Half-duplex 虽然可以双向通讯,但是同一时间只可以选择一个,就是发送或接受
Dull-duplex 可以同时发送或接受

Cheapter 2: Network

Network

不同的设备连接到同一个网络,那它们就会组成一个网络
一般来说,我们可以说一个设备是Host 即房主
这个概念就好像玩游戏的玩家似的,所有玩家都可以成为房主

Network criteria

数据的表现 Performance
举个栗子,当我们买电脑的时候,我们会希望电脑的表现不会太差,比如打开应用的时间和开机时间之类的
当然在网络里也有类似的概念,这里主要讲两个点
Response time 响应时间
Transit time 传输时间

可靠性 Reliability
一般我们讲网络的好坏,都是讲它的frequency of failure 故障频率的高低

安全性 Security
对于网络来说,网络安全是非常重要的。关于网络安全我们有一个Firewall 防火墙的概念

Type of connection 连接的类型

我们在讲连接类型的时候,记得上学期CC也提到过这个点
Point-to-point 点对点连接
Multipoint also called multidrop 多点连接
关于这两种连接类型可以用一张图来表示

type of connection

Physical Topology 物理拓扑

讲到这玩意的话,我们可以先来看一张图

Physical topology

这里讲到了多种连接方式,首先我们先来看看MESH
MESH 是让电脑互相连接的一种连接方式
每台电脑之间都有多条连接线路让他们彼此互相连接
这样的好处显而易见,就是能够让连接更稳定
就算其中一台电脑的一条线路断开了连接,也不会影响其与其他电脑的正常通讯

其次我们来看看Star
这玩意有点像我们的家用路由器,往大一点说的话可以说像是网吧的网络布局
就是连接着一个中央服务器
包括在学校里面我们也用这种网络布局
唯一的原因就是因为这玩意易于维护

然后我们来看BUS
这玩意还真的可以从字面上来理解,就是--公交车
所有电脑都共用一条线路
说白了全部走一条线
不过有一个缺点,就是其他的电脑都能看到数据了
方便确实是方便,但是隐私是个问题

然后咱们来看Ring
嗯,简单的布局,坏一个就完蛋
这种玩意我倒是没想到有啥实际的应用

ISP - Internet Service Provider

这玩意可以理解为互联网3大运营商
具体的在上个学期就提到过了
这里就不多BB了

Local area networks (LANs)

LAN is a group of computers located in the same area
这里可以叫做局域网,也就是小范围的网络,或者也可以叫本地网络
当有人问我们what is LAN?
我们可以回答: A small area network
local: means something where we are
network: connect between one or more devices or computer

这里老师上课讲了个例子,就是我们学校里有很多的教学楼,比如A幢教学楼
在A楼里面,有许许多多的电脑,或许有100台?只是个估计
那么这100台电脑我们可以将其称作一个LAN,前提是他们都连接了同一个网络
这种小范围的网络我们称之为局域网locoal area network

Metropolitan area networks (MANs)

MAN男人(雾)
记得在上面的那个例子中,A楼所一个局域网
但是A楼只是我们大学的其中一小部分
那么!整个大学来说的话,是否就不叫LAN而叫MAN了呢?
哼!答案是否定的!
整个大学还是一个LAN!
没错,整个大学的电脑心连心的话,也只能叫做一个局域网
那么MAN到底是啥?
这玩意是比局域网范围更大的玩意,并且大得多
所以当心连心的电脑上升到一个城市的大小的时候,我们就可以将其称之为一个MAN
MAN和LAN之间其实也没有一种很明确的划分,就是大概大概吧
就是城市辣么大的叫MAN
然后大学这么大的叫LAN
这样子来记应该大丈夫了
当有人问我们的What is MAN?的时候,
我们可以说It's bigger than LAN

Wide area networks (WANs)

那么问题来了,如果用整个中国来算的话,整个国家到底算WAN还是MAN?
其实按照套路,整个国家仍然叫MAN
MAN的概念其实比想象中的还大那么一些
但是当这个概念上升到全球这个层次的时候,就属于WAN了
WAN叫叫做广域网,说老实的我之前一直都以为宿舍之外就是广域网了
当有人问我们what is WAN?
我们可以说 The network of hall china connect with another country, it's bigger than LAN and MAN

Network Modles

那么有个问题,啥叫Modles?
A method of describing and analyzing data communication networks by breaking networks the entire set of communication process into a number of layers.
要我说的话.....emmmmmmm
还是用老师的例子好
老师用了个APPLE的例子
假如我们不懂这个单词,但是APPLE这几个字母还是懂的
所以我们就能够从这几个字母之中懂得这个单词是苹果,了解它的意思
这个也是 Breaking networks the entire set
网络结构中充满了各种各样的层次 layer

protocol layering

这里就不多BB啥叫protocol
上学期讲过这玩意的
(才不是我懒)
data communication and networking, a protocol defines the rules that both the sender and receiver and all intermediate devices need to follow to be able to communicate effectively.

when communication is simple, we may need only one simple protocol; when the communication is complex, we may need to divide the task between different layers, in which case we need a protocol at each layering

"GIVE ME YOUR 50,000!"
"NO, I WILL NOT GIVE YOU."

Scenarios 情景

在这里老师引入了一个小东西,叫做Communication medium 通讯介质

这里就讲到了加密和解密 Encrypt / Decrypt
这两个玩意上个学期CC就已经讲过啦
还放了个图灵的小栗子
不过确实很震撼啊(叹气)

Layers 网络层

这里老师举了个去机场取票的小例子
就是说明网络是由许多层组成的

我们在这里可以简单地给网络下一个定义

  • each layer implements a service 每一层都有一个属于自己的服务
  • via its own internal-layer actions 都会通过层内部的协调来完成工作
  • relying on services provided by layers below 各层相互依靠共同完成工作

那么网络由这么多层组成,它们有什么好处呢?

  1. The layers are defined separately. They are independent. 相互独立
  2. Each layer is responsible for a particular aspect of data communication. 各有各的活
  3. To reduce the complexity. Networks are organized as a stack of layers, one below the other. 没这么复杂
  4. Flexible. Easy to implement, maintain and standardization. 易于维护

然后在这里就有一个蛮重要的玩意了
这里我们要提到一个概念,OSI Model
Open System Interconnection Reference Model

In 1970s, the International Organization for Standardization (IOS) created the Open System Interconnection subcommittee to develop an architecture for systems communication.
In 1984, Open System Interconnection (OSI) reference model is the result of this effort.
Few networks today use OSI model.

在早期的时候,两台电脑想进行通讯的话,就要给它们接上局域网电缆 LAN Cable ,这样子这两台电脑就会组成一个网络
但是这里有一个小问题
如果一台电脑装的是Win系统,但是另一台装的是MAC系统,那它们将如何进行通讯呢?
为了解决这个问题,1984年,IOS(International Organization for Standardization) 创立了OSI Model 将网络分为了7个不同的层,并将其打包为一个协议。

OSI model分为7个层(layers),

  1. Application layer 应用层
  2. Presentation layer 表示层
  3. Session layer 会话层
  4. Transport layer 传输层
  5. Network layer 网络层
  6. Data Link layer 数据链路层
  7. Physical layer 物理层

当我说Application Layer的时候,这里是指的并不是那些应用,Chrome之类的完全不是,这里指的是应用当中的协议。
当我们使用浏览器上网的时候,在这一层会有HTTP或HTTPs等协议;
当我们使用Skype或者Gmail之类的,在这一层就会有SMTP等协议
所有的这一些协议都会被包括在Application Layer这一层里面
这一些协议可能都是用于:文件传输,网上冲浪,电子邮件,虚拟终端等

下一层就是Presentation Layer
这一层叫做表示层,说白了就是将我们能够理解的文字转换为机器语言,因为机器语言便于传输嘛
比如将ASCII 转换为 EBCDIC (Extended Binary Coded Decimal Interchange Code)
当转换完成后,将对其进行压缩 Data compression,这个是为了更快的传输,特别是视频之类的文件需要压缩后再进行传输
当然,我们传输的东西会被加密Encryption,关于加密和解密上学期讲了好多
这里就不多BB啦

下一层就是Session Layer
举个最常见的栗子
当我们登录一些网站的时候,网站会让我们进行一个认证 authentication
这玩意说白了就是登录一下用户,是为了让服务器确认who you are
当我们登录成功之后,这个链接就会被建立起来
这个也是会话层 session layer 的最主要的用途
当链接建立起来后,服务器就会检查用户的权限
这里就会牵扯到一个专业的词汇 Authorization 授权(名)
比如想访问某些页面的话,会需要一些权限
当然如果没有权限是不允许进入的
You are not authorized to access this page

当权限允许的时候,我们就会开始下载文件
但是服务器怎么知道文件到底是下载好了还是传输中断呢?
这时有个Session mangerement 会发挥其作用了
这玩意会检查当前链接的情况,并且会确定所发送的数据包的去处
比如在图文并茂的网页里面,通常网页和文字是分开传输的(除非是文字写在图片上)
session mangerment会确保每个分开传输的信息最终会回到他们应该呆着的位置上

在会话层之下的就是传输层了
传输层有着分割 Segmentation 、流量控制 flow control 、 错误控制 error control 的功能

说老实的,这一堆的字我看着都烦
不如看看视频吧
其实老师在学习通上发的视频在B站上有人搬运的熟肉
万能のB站

用老师总结的话来说

  • The application layer is the application software used by the network user.
  • The transport layer takes the message generated by the application layer and. if necessary, breaks it in to serveral small messages.
  • The network layer address the message and detemines its route though the network
  • The data link formats the message to indicate where it starts and ends. decides when to transmit it over the phusical media, and detects and corrects and errors that occur in transmission.
  • The physical layer is the physical connection between the sender and receiver.

TCP/IP modle

和之前的OSI molde相比的话,TCP/IP modle是 more in tune with day protocols. (更符合日间协议的),用人话来说,more good

TCP/IP Modle一共有4层,

  • Application
  • Transport
  • Internet
  • Link

其中应用层在最高层,其中也包括了session,presentation,application。

这里的话要区分TCP/IP和 OSI,

OSI and TCP/IP

不同的人在不同的专业领域都会使用到不同的模型
这里其实并没有什么强制的要求
管用好用就行了

这里老师使用了一个寄信的例子,来说明网络之间的信息传递
假如你需要寄一封信,首先你会把信塞到邮箱里面,这个时候邮箱就被视作一个higher layer
这一层的协议会将可理解的文字转换为机器语言,用于互联网之间的传递
然后邮件员会将你的邮件拿到邮局,这里的就是Middle layers
最后邮件会被发送到另一个邮局,这里就是Lower layers

接下来我们讲讲信息的封装 Encapsulation
其实所谓的封装,无非就是把东西装起来打包好再发送
这里的考点就在于打包的方式
在互联网中,我们的信息会被分为很多很多的小块,这个操作叫做segment
我们的信息会被打包装在这些小块中传递出去
每一个小块从里到位分别是
Request - HTTP - TCP - IP - Ethernet

HTTP : Hypertext Transfer Protocol
IP : Internet Protocol
TCP : Transmission Control Protocol
PDU : Protocol Data Unit

Chapter 3: Application Layer 应用层

ASP : application Service Providers

Application 应用

我们总是喜欢把application 简称为app
在应用中,分为直接网络应用 Direct network applications 和间接网络应用 Indirect network applications
直接网络应用有浏览器,邮件之类的,因为我们可以用它直接地访问网络
间接网络应用有Word之类的,Word上的翻译功能是用到了网络的,但是并不是直接的使用网络

其中有一个特别重要的协议,FTP ,file transfer protocol 文件传输协议

Application Architecture 应用架构

An application architecture is the way in which the functions of the application layer software are spread among the clients and servers in the network.
应用程序体系结构是应用程序层软件的功能在网络中的客户端和服务器之间分布的方式。
1.Data storage 数据存储
2.Data access logic 数据存储逻辑
3.Application logic 应用逻辑
4.Presentation logic 表示逻辑
这里这4个东西,简单的来说就是数据的储存

Clients and Servers 客户端和服务器

简单的来说,服务器就像发传单的,发出数据,客户端就像路过的人,接受数据
往深里说,服务器可以理解为聪明的机器,他可以处理数据,但是客户端是Dumb (sb)的,它只能接受数据但是并不能处理数据

哦对了你听过PDA嘛
personal digital assistant 个人掌上电脑
这玩意能追溯到网上冲浪那个年代

Host-Based Architectures 基于主机的架构

说白了就是就一台服务器,和客户端之间进行通讯
这种架构的服务器一般都具有4个功能
1.Data storage 数据存储
2.Data access logic 数据存储逻辑
3.Application logic 应用逻辑
4.Presentation logic 表示逻辑

其实这种架构的优点和缺点也显而易见
这种架构的服务器十分易于使用,所有的数据都存储在这一台服务器里面,并且在进行通讯时所有的信息都来源于这个服务器,all computer recourses are centralized服务器的资源都十分集中
当然也有缺点,就是这服务器必须所有处理所有的信息,会导致服务器的响应时间变得很慢,特别是同时访问的人很多的时候服务器就有点忙不过来了。

Client-Based Architectures 基于客户端的架构

记得当我们玩FPS游戏的时候,一般都是这种架构的了
不过老师举的例子是局域网的两台机子互相通讯,emmmm.....概念都差不多吧
因为我们打游戏的时候需要计算很多的数据,很多计算都是在本地计算机运行的
服务器的话就负责分发和储存数据
所以在这里,客户端的功能有
1.Data access logic 数据存储逻辑
2.Application logic 应用逻辑
3.Presentation logic 表示逻辑
服务器的功能就只剩下Data Storage 数据储存了

那我们来谈谈这玩意的优缺点
这玩意一般都是局域网内自己用用,如果在广域网的话那就很拉闸
并且所有数据都在客户端计算的话,对客户端的电脑也是一个不小的要求。并且这样的话对network circuits 网络电路也是一个不小的要求,在当今社会显得尤其不友好,因为传输速度会变得十分缓慢

Client-Server Architectures 基于客户端和服务器的架构

老师强调了好多次,说这玩意好重要好重要
balabalabala

首先,这玩意有个别名,叫 Two-tier-client-server architecture
就是客户端和服务器进行双向通讯
客户端负责 presentation logic 和 application logic,服务器负责data access logic 和data stoage

Three-Tier Architecture

这玩意也有个别名,叫three-tier client-server architecture

见鬼的宝塔防篡改服务
整了几个G的日志文件
结果自己码了半天的字没保存下来
就因为磁盘满了!!!
我真的是
boom
此贴终结,心情不好

Last modification:August 3, 2023
如果觉得我的文章对你有用,请随意赞赏