Day1

没有一台计算机是信息孤岛

一、网络历程

计算机使我们从工业时代到了信息时代,计算机网络则是帮助我们到了网络时代。又开始的独立模式到如今大家熟悉的网络互联模式(计算机之间可以相互通信)。

计算机网络按照规模和覆盖范围划分了:局域网、城域网、广域网

局域网:一般指的是范围在几百到几公里办公楼或者校园内计算机相互连接成的计算机网络,一般用在狭小区域内的网络,一个社区、一栋楼、办公室经常使用局域网。

城域网:一个城市中的计算机所相互连接形成的计算机网络。城域网是介于广域网与局域网之间的一种高速网络。城域网设计的目标是要满足几千米范围内的大量企业、机关、公司的多个局城网互联的需求,以实现大量用户之间的数据、语音、图形与视频等多种信息的传输功能。

广域网:广域网中的计算机所形成的连接范围就更大了,常常是一个国家或是一个洲。其目的是为了让分市较远的各局域网互联。

二、计算机网络发展历程

批处理:字如其名。像学生和老师的关系一样,发送相关指令,由指定唯一的服务器来进行处理。所以早期不是谁都有机会来上网吗

分时系统:多个终端与同一个计算机连接,允许多个用户同时使用一台计算机。分时系统的出现实现了一人一机的目的,让用户感觉像是自己在使用计算机,实际上这是一种独占性的特性。

网络体系结构协议主要用途
TCP/IP HTTP、SMTP、TELNET、IP、ICMP、TCP、UDP 等 主要用于互联网、局域网
IPX/SPX IPX、NPC、SPX 主要用于个人电脑局域网
AppleTalk AEP、ADP、DDP :苹果公司现有产品互联

OSI 标准模型:

应用层:应用层是 OSI 标准模型的最顶层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。包括文件传输、电子邮件远程登录和远端接口调用等协议。
表示层: 表示层向上对应用进程服务,向下接收会话层提供的服务,表示层位于 OSI 标准模型的第六层,表示层的主要作用就是将设备的固有数据格式转换为网络标准传输格式。
会话层:会话层位于 OSI 标准模型的第五层,它是建立在传输层之上,利用传输层提供的服务建立和维持会话。
传输层:传输层位于 OSI 标准模型的第四层,它在整个 OSI 标准模型中起到了至关重要的作用。传输层涉及到两个节点之间的数据传输,向上层提供可靠的数据传输服务。传输层的服务一般要经历传输连接建立阶段,数据传输阶段,传输连接释放阶段 3 个阶段才算完成一个完整的服务过程。
网络层:网络层位于 OSI 标准模型的第三层,它位于传输层和数据链路层的中间,将数据设法从源端经过若干个中间节点传送到另一端,从而向运输层提供最基本的端到端的数据传送服务。
数据链路层:数据链路层位于物理层和网络层中间,数据链路层定义了在单个链路上如何传输数据。
物理层:物理层是 OSI 标准模型中最低的一层,物理层是整个 OSI 协议的基础,就如同房屋的地基一样,物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

三、TCP/IP 协议簇

TCP/IP 协议是我们程序员接触最多的协议,实际上,TCP/IP 又被称为TCP/IP 协议簇,它并不特指单纯的 TCP 和 IP 协议,而是容纳了许许多多的网络协议。

OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次

 TCP/IP 协议簇中具体的协议:

IP 协议
IP 是网际互联协议,英文 Internet Protocol,位于网络层。IP 协议是整个 TCP/IP 协议簇的核心,也是构成互联网的基础。IP 能够为运输层提供数据分发,同时也能够组装数据供运输层使用。它将多个网络连接成为一个互联网,这样能够提高网络的可扩展性,实现大规模网络互联。二是分割顶层网络和底层网络之间的耦合关系。

ICMP 协议
ICMP 协议是 Internet 报文控制协议,英文Internet Control Message Protocol, ICMP 协议主要用于在 IP 主机、路由器之间传递控制消息。ICMP 属于网络层的协议,当遇到 IP 无法访问目标、IP 路由器无法按照当前传输速率转发数据包时,会自动发送 ICMP 消息,从这个角度来说,ICMP 协议可以看作是错误侦测与回报机制,让我们检查网络状况、也能够确保连线的准确性。

ARP 协议
ARP 协议是地址解析协议,英文 Address Resolution Protocol,它能够根据 IP 地址获取物理地址。主机发送信息时会将包含目标 IP 的 ARP 请求广播到局域网络上的所有主机,并接受返回消息,以此来确定物理地址。收到消息后的物理地址和 IP 地址会在 ARP 中缓存一段时间,下次查询的时候直接从 ARP 中查询即可。

TCP 协议
TCP 是传输控制协议,英文Transmission Control Protocol,它是一种面向连接的、可靠的、基于字节流的传输协议,TCP 协议位于传输层,TCP 协议是 TCP/IP 协议簇中的核心协议,它最大的特点就是提供可靠的数据交付。TCP 的主要特点有 慢启动、拥塞控制、快速重传、可恢复。

UDP 协议
UDP 协议是用户数据报协议,英文 User Datagram Protocol,UDP 也是一种传输层协议,与 TCP 相比,UDP 提供一种不可靠的数据交付,也就是说,UDP 协议不保证数据是否到达目标节点。当报文发送之后,是无法得知其是否安全完整到达的。UDP 是一种无连接的协议,传输数据之前源端和终端无需建立连接,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序等现象。但是 UDP 具有较好的实时性,工作效率较 TCP 协议高。

FTP 协议
FTP 协议是文件传输协议,英文File Transfer Protocol,应用层协议之一,是 TCP/IP 协议的重要组成之一,FTP 协议分为 FTP 服务器和 FTP 客户端两部分,FTP 服务器用来存储文件,FTP 客户端用来访问 FTP 服务器上的文件,FTP 的传输效率比较高,所以一般使用 FTP 来传输大文件。

DNS 协议
DNS 协议是域名解析协议,英文 Domain Name System,它也是应用层的协议之一,DNS 协议是一个将域名和 IP 相互映射的分布式数据库系统。DNS 缓存能够加快网络资源的访问。

SMTP 协议
SMTP 协议是邮件传输协议,英文 Simple Mail Transfer Protocol,应用层协议之一,SMTP 主要是用作邮件收发协议,SMTP 服务器是遵循 SMTP 协议的发送邮件服务器,用来发送或中转用户发出的电子邮件

SLIP 协议
SLIP 协议是指串行线路网际协议,英文 Serial Line Internet Protocol,是在串行通信线路上支持 TCP/IP 协议的一种点对点式的链路层通信协议。

PPP 协议
PPP 协议是点对点协议,英文Point to Point Protocol,是一种链路层协议,是在为同等单元之间传输数据包而设计的。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

四、网络核心概念

传输方式
网络根据传输方式可以进行分类,一般分为面向连接型和面向无连接型。

面向连接型中,在发送数据之前,需要在主机之间建立一条通信线路。
面向无连接型则不要求建立和断开连接,发送方可用于任何时候发送数据。接收端也不知道自己何时从哪里接收到数据。

分组交换

在互联网应用中,每个终端系统都可以彼此交换信息,这种信息也被称为报文(Message),报文是一个集大成者,它可以包括你想要的任何东西,比如文字、数据、电子邮件、音频、视频等。为了从源目的地向端系统发送报文,需要把长报文切分为一个个小的数据块,这种数据块称为分组(Packets),也就是说,报文是由一个个小块的分组组成。在端系统和目的地之间,每个分组都要经过通信链路和分组交换机,分组要在端系统之间交互需要经过一定的时间,如果两个端系统之间需要交互的分组为 L 比特,链路的传输速率问 R 比特/秒,那么传输时间就是 L / R秒。

存储转发传输

一个端系统需要经过交换机给其他端系统发送分组,当分组到达交换机时,交换机就能够直接进行转发吗?不是的,交换机可没有这么无私,你想让我帮你转发分组?好,首先你需要先把整个分组数据都给我,我再考虑给你发送的问题,这就是存储转发传输。

这就和考试作弊一样,一个学霸要经过学渣 A 给学渣 B 传答案,学渣 A 在收到答案后,它可能直接把卷子传过去吗?学渣 A 说,等我先把答案抄完(保存功能)后再把卷子给你,当然一个及其有素质的学渣就另说了

排队时延和分组丢失

当多个端系统同时给交换器发送分组,一定存在顺序到达和排队问题。事实上,对于每条相连的链路,该分组交换机都会有一个输出缓存(output buffer) 和 输出队列(output queue) 与之对应,它用于存储路由器准备发往每条链路的分组。如果到达的分组发现路由器正在接收其他分组,那么新到达的分组就会在输出队列中进行排队,这种等待分组转发所耗费的时间也被称为排队时延,上面提到分组交换器在转发分组时会进行等待,这种等待被称为存储转发时延,所以我们现在了解到的有两种时延,但是其实是有四种时延。这些时延不是一成不变的,其变化程序取决于网络的拥塞程度。

因为队列是有容量限制的,当多条链路同时发送分组导致输出缓存无法接受超额的分组后,这些分组会丢失,这种情况被称为丢包(packet loss),到达的分组或者已排队的分组将会被丢弃。

posted @ 2023-03-06 09:58  末叶da  阅读(120)  评论(0)    收藏  举报