Day9 编码和网络基础 Encoding and network

Day9 编码和网络基础 Encoding and network

Exercises

1.为什么学习编码?

了解编码,能让我们认识人类语言与计算 机语言相互转化过程,从而更深刻的了解计算机的工作原理。

2.什么是编码? Encoding

编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。

Coding means using the programming language to get the computer to behave as desired. Each line of the code is a set of instructions for the computer. A set of codes form a script, and a set or dozens of sets, form a program.

3.编码体系 Encoding-System

ASCII 美标

American Standard Code for Information Interchange 美国信息交换标准代码

需要记住的几个ASCII 的码

0是32

A是65

a是97

缺点

ASCII的局限在于只能显示26个基本拉丁字母、阿拉伯数字和英式标点符号,因此只能用于显示现代美国英语(且处理naïve、café、élite等外来语时,必须去除附加符号)。虽然EASCII解决了部分西欧语言的显示问题,但对更多其他语言依然无能为力。因此,现在的软件系统大多采用Unicode。

 

Unicode 统一码

Unicode,中文又称万国码、国际码、统一码、单一码,是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。

Unicode伴随着通用字符集的标准而发展,同时也以书本的形式对外发表。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。目前最新的版本为2020年3月公布的13.0.0,已经收录超过13万个字符(第十万个字符在2005年获采纳)。Unicode涵盖的资料除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。

Unicode的发展由非营利机构统一码联盟负责,该机构致力于让Unicode方案取代既有的字符编码方案。因为既有的方案往往空间非常有限,亦不适用于多语环境。

Unicode备受认可,并广泛地应用于电脑软件的国际化与本地化过程。有很多新科技,如可扩展置标语言(Extensible Markup Language,简称:XML)、Java编程语言以及现代的操作系统,都采用Unicode编码。

Unicode is an information technology (IT) standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard is maintained by the Unicode Consortium, and as of March 2020, there is a total of 143,859 characters, with Unicode 13.0 (these characters consist of 143,696 graphic characters and 163 format characters) covering 154 modern and historic scripts, as well as multiple symbol sets and emoji. The character repertoire of the Unicode Standard is synchronized with ISO/IEC 10646, and both are code-for-code identical.

 

GB2312 国标

GB/T 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个字符。

GB/T 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。但对于人名、古汉语等方面出现的罕用字和繁体字,GB/T 2312不能处理,因此后来GBK及GB 18030汉字字符集相继出现以解决这些问题。

GB/T 2312-1980 is a key official character set of the People's Republic of China, used for Simplified Chinese characters. GB2312 is the registered internet name for EUC-CN, which is its usual encoded form. GB refers to the Guobiao standards (国家标准), whereas the T suffix denotes a non-mandatory standard。

 

GBK 汉字内码扩展规范

Chinese Internal Code Extension Specification

汉字内码扩展规范,称GBK,全名为《汉字内码扩展规范(GBK)》1.0版,由中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司和电子工业部科技与质量监督司1995年12月15日联合以《技术标函[1995]229号》文件的形式公布。 GBK共收录21886个汉字和图形符号,其中汉字(包括部首和构件)21003个,图形符号883个。

GBK 只为“技术规范指导性文件”,不属于国家标准。

国家质量技术监督局于2000年3月17日推出了GB 18030-2000标准,以取代GBK。GB 18030-2000除保留全部GBK编码汉字,在第二字节把能使用范围再度进行扩展,增加了大约一百个汉字及四字节编码空间,但是将GBK作为子集全部保留.

 

ISO 10646 通用字符集

Universal Coded Character Set

通用字符集是由ISO制定的ISO 10646标准所定义的标准字符集。

中国大陆译为通用多八位编码字符集

 

4. 编码的各类有哪些?

文字编码

语义编码

电子编码

PCM编码

神经编码

记忆编码

加密

译码

 

5.什么是网络七层模型?

OSI模型

Open System Interconnection Model

The Open Systems Interconnection model (OSI model) is a conceptual model that characterises and standardises the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology. Its goal is the interoperability of diverse communication systems with standard communication protocols.

The model partitions the flow of data in a communication system into seven abstraction layers, from the physical implementation of transmitting bits across a communications medium to the highest-level representation of data of a distributed application. Each intermediate layer serves a class of functionality to the layer above it and is served by the layer below it. Classes of functionality are realized in software by standardized communication protocols.

在制定计算机网络标准方面,起着重大作用的两大国际组织是:国际电信联盟电信标准化部门,与国际标准组织(ISO),虽然它们工作领域不同,但随着科学技术的发展,通信与信息处理之间的界限开始变得比较模糊,这也成了国际电信联盟电信标准化部门和ISO共同关心的领域。1984年,ISO发布了著名的ISO/IEC 7498标准,它定义了网络互联的7层框架,也就是开放式系统互联参考模型。

 

6.网络七层都有哪七层?各在哪一层。

应表会传网数物

应用层 Application layer

位于OSI模型的第七层。应用层直接和应用程序接口结合,并提供常见的网络应用服务。应用层也向第六层表示层发出请求。

应用层协议举例
DNS

DNS最早于1983由保罗.莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案(RFC 882)中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。 早期的域名必须以英文句号“.”结尾,,这样DNS才能够进行域名解析。如今DNS服务器已经可以自动补上结尾的句号。 当前,对于域名长度的限制是63个字符,包括www.和.com或者其他的扩展名。域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。

HTTP

HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)调用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnel)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。具体细节请参考‘TCP和UDP的不同’。

通过HTTP或者HTTPS协议请求的资源由统一资源定位器(Uniform Resource Identifiers,或者,更准确一些,URI)来标识。

FTP

FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流,空闲很长时间后,客户端的防火墙,会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话,会被防火墙断开;传输会产生一些错误。

表示层 Presentation Layer

亦称表达层为不同终端的上层用户提供数据和信息正确的语法表示变换方法。如文本文件的ASCII格式和UTF-8格式。

表示层内容

语法转换:语法转换涉及代码转换和字符集的转换,数据格式的修改、数据结构操作的适配、数据压缩、数据加密等。 语法选择:语法选择是提供初始选择的一种语法和随后修改这种选择的手段。 联接管理:利用会话层提供的服务建立表示联接,管理在这一联接之上的数据运输和同步控制,以及正常或非正常地终止联接。

表示层工作原理

在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密与加密,如系统口令的处理如果在Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。 加密分为链路加密和端到端的加密。对于表示层,参与的加密属于端到端的加密,指信息由发送端自动加密,并进入TCP/IP数据包封装,然后作为不可阅读和不可识别的数据进入互联网。到达目的地后,再自动充足解密,成为可读数据。端到端加密面向网络高层主体,不对下层协议进行信息加密,协议信息以明文进行传送,用户数据在中央节点不需解密。

会话层 Session Layer

会话层,位于OSI模型的第5层,主要为两个会话层实体进行会话(Session),而进行的对话连接的管理服务。

会话层为客户端的应用程序提供了开启、关闭和管理会话的机制,亦即半永久的对话。会话的实体包含了对其他程序作会话链接的要求及回应其他程序提出的会话链接要求。在应用程序的运行环境中,会话层是这些程序用来提出远程过程调用(remote procedure calls,RPC)的地方。

会话层标准为了使会话连接创建阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。

会话层服务

认证(Authentication) 权限(Permissions) 会话恢复(Session restoration):包括检查点(checkpointing)和恢复(recovery)

会话层的主要功能
  1. 为会话实体间创建连接:为给两个对等会话服务用户创建一个会话连接,应该做如下几项工作。 将会话地址映射为运输地址。 选择需要的运输服务质量参数(QoS)。 对会话参数进行协商。 识别各个会话连接。 传送有限的透明用户数据。

  2. 数据传输阶段:这个阶段是在两个会话用户之间实现有组织的,同步的数据传输。用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的。

  3. 连接释放:连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的。

会话层协议

ADSP:AppleTalk的数据流协议 ASP:AppleTalk的动态会话协议 H.245, Call Control Protocol for Multimedia Communication ISO-SP, OSI Session Layer Protocol(X.225, ISO 8327) iSNS, Internet Storage Name Service NetBIOS PAP, 密码认证协议 PPTP, 点对点隧道协议 L2TP, 第二层隧道协议 RPC, 远程过程调用 RTCP, 实时传输控制协议 SMPP, Short Message Peer-to-Peer ZIP, Zone Information Protocol SDP, 套接字直接协议 SOCKS

传输层 Transport Layer

传输层基本功能

传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下: (1) 分割与重组数据 (2) 按端口号寻址 (3) 连接管理 (4) 差错控制和流量控制,纠错的功能

传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

传输层服务类型
传输连接服务

通常,对会话层要求的每个传输连接,传输层都要在网络层上建立相应的连接。

数据连接服务

强调提供面向连接的可靠服务(很晚OSI才开始制定无连接服务的有关标准),并提供流量控制、差错控制和序列控制,以实现两个终端系统间传输的报文无差错、无丢失、无重复、无乱序。

传输层协议
面向连接的传输协议(TCP)

数据传输之前必须先建立连接,数据传输完成之后,必须释放连接。仅支持单播传输:每条传输连接只能有两个端点,只能进行点对点的连接,不支持多播和广播的传输方式,UDP是支持的。 提供可靠的交付服务:传送的数据无差错。不丢失,不重复,且顺序与与源数据一致。

用户数据报协议 UDP (User Datagram Protocol)

是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务

网络层 Network Layer

网络层协议

CP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)

IP协议

TCP/IP网络使用32位长度的地址以标识一台计算机和同它相连的网络,它的格式为:IP地址=网络地址+主机地址。IP地址是通过它的格式分类的,它有四种格式:A类、B类、C类、D类。每一类地址范围如下:A类:1.0.0.0~126.255.255.255。B类:128.0.0.0~191.255.255.255。C类:192.0.0.0~223.255.255.255。D类:224.0.0.0~239.255.255.255。

地址解析协议
ICMP协议
IGMP协议

数据链路层 Data Link layer

数据链路层基本功能
帧同步
差错控制
流量控制
链路管理

数据链路层主要有两个功能 :帧编码和误差纠正控制。帧编码意味着定义一个包含信息频率、位同步、源地址、目标地址以及其他控制信息的数据包。数据链路层协议又被分为两个子层 :逻辑链路控制(LLC)协议和媒体访问控制(MAC)协议。

数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。

数据链路层主要协议

数据链路层的主要协议有: (1)点对点协议(Point-to-Point Protocol); (2)以太网(Ethernet); (3)高级数据链路协议(High-Level Data Link Protocol); (4) 帧中继(Frame Relay); (5) 异步传输模式(Asynchronous Transfer Mode);

物理层(Physical Layer)

物理层要解决的主要问题

(1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。 (2)给其服务用户(数据链路层)在一条物理的传输媒体上传送和接收比特流(一般为串行按顺序传输的比特流)的能力,为此,物理层应该解决物理连接的建立、维持和释放问题。

(3)在两个相邻系统之间唯一地标识数据电路。

物理层主要功能

为数据端设备提供传送数据通路、传输数据。

物理层特性

反映在物理接口协议中的物理接口的4个特性是机械特性、电气特性、功能特性与规程特性。

原文地址:https://www.cnblogs.com/fengshili666/p/14134344.html