计算机操作系统三

第七章 操作系统接口

 

第八章 网络操作系统NOS

网络:(network)由若干结点(node)和连接这些结点的链路(link)组成。

互联网是“网络的网络”(network of networks)。

连接在因特网上的计算机都称为主机(host)。

从因特网的工作方式上看,可以划分为以下的两大块:

(1) 边缘部分  由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。主机又称为端系统(end system)

(2) 核心部分  由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。起特殊作用的是路由器(router),实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。

在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:

n  客户-服务器方式(C/S 方式)即Client/Server方式

n  对等方式(P2P 方式)即 Peer-to-Peer方式。平等的、对等连接通信。不区分服务请求方和服务提供方。

计算机网络的两级构成

通信子网:物理通信线路和网络互连设备

资源子网:用户机和服务器

接口:下层向上层提供的原语操作

协议:同一层之间,通信双方进行信息交换必须遵守的规则

服务:不同层之间交换信息必须遵守的规则

 

拓扑结构主要有:星形、总线型、环形以及树型、全连接、不规则网状。

广域网络

按照计算机网络覆盖地理范围的大小:广域网,局域网,城域网,个人区域网。

带宽:

n  “带宽”(bandwidth)本来是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。

n  现在“带宽”是数字信道所能传送的“最高数据率”的同义语,单位是“比特每秒”,或 b/s (bit/s)。   

吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。

广域网:按交换方式的不同:公用交换电话网,分组交换网,帧中继网,ATM(异步传输模式)网。

局域网(LAN):

以太网(公用总线型网络拓扑),令牌环网(环形网络拓扑)-基本型局域网

FDDI光纤环网,快速以太网,---快速局域网

交换LAN

千兆位以太网

网络连接

网间互连设备用于将若干相同或不同的网络互连在一起,形成规模更大的网络。不同的网络,意味着它们的物理网络,传输协议,网络操作系统以及主机等。根据复杂程度的不同而分成网桥,路由器,网关,交换集线器,ATM。

网桥:连接同构LAN的网络互连设备。同构LAN是指从应用层到逻辑链路控制子层这几层次中,相对应的层次采用相同的协议,数据链路层中的MAC子层和物理层中的对应层次,可遵循不同的协议。把用于连接符合IEEE802标准网络的互连设备称为网桥。帧的发送接收,缓存管理,协议转换。交换机也是数据链路层。

路由器:互连LAN数目较多,网络层上实现的互连,能识别不同的 网络层协议,如IP,IPX等。“拆包和打包”(去掉数据链路层所加的控制信息,根据网络层加的控制信息中的目标地址,选择最佳传输路径,再加上新选择的路由信息,形成新数据包),路由选择功能(按某种策略如时延最小,或传输路由最短,传输费用最低等,为转发数据包选择路由),进行协议转换(数据链路层和网络层协议转换为另一个网络中的协议),分段和重新组装。

网关:用于互连异构型网络(从网络层到物理层其协议都不同的网络,或从应用层到物理层各层协议都不相同的网络)。至少进行网络层,数据链路层,物理层的协议转换。异构型LAN互连,LAN与WAN互连(至少低三层:网络层,数据链路层,物理层协议不同),WAN与WAN互连,LAN与主机互连(主机操作系统与网络操作系统部兼容)。

网络体系结构

开放系统互连参考模型OSI/RM

开放系统(OSI)

开放系统,应用实体,连接,物理介质

数据单元:对等实体间传送的信息称为协议数据单元(N)-PDU,有PCI何SDU组成。

 

 

数据报的名称

功能

 

层次之间的关系

每层地址

7

应用层

Message报文

支持网络应用

提供资源子网,面向应用

一层嵌到另一层(每一层次都从上层的导数据,加上首部信息形成新的数据单元,将新的数据单元传递给下一层)

不同的应用有不同的地址

6

表示层

 

表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。安全认证

 

5

会晤层

 

允许不同机器的用户建立会话关系

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。

 

4

传输层

Segment报文段

负责应用进程间的通讯

 

端口号

3

网络层

Datagram数据段

从源到目的地数据报的路由

实现通信子网中的传输,面向通信

Ip地址

2

数据链路层

Frames帧

相邻节点之帧转发

网卡地址

1

物理层

无数据包

比特转发

TCP/IP网络体系结构

TCP/IP是一个协议族,其模型分为四层:应用层(各种应用协议,如文件传输协议FTP,电子邮件传送协议SMTP,远程登录协议TELNET,简单网络管理协议SNMP),传输层(TCP,UDP),网络互连层(IP V4,IP V6,主要解决寻址,数据报的分段和重新组装,路由选择),网络访问层。

应用层:TCP/IP 组中的应用层综合了 OSI 应用层、表示层以及会话层的功能。因此,在 TCP/IP 结构中,传输层以上的任何过程都称之为应用。在 TCP/IP 中,使用套接字(socket)和端口描述应用程序通信路径。大多数应用层协议与一个或多个端口号相关联。

传输层(Transport Layer):TCP/IP 结构中包含两种传输层协议。其一传输控制协议(TCP),确保信息传输过程。其二用户数据报协议(UDP),直接传输数据报,而不需要提供端对端可靠校验。两种协议对应不同的应用具有各自功能。

网络层(Network Layer):TCP/IP 网络层中的主要协议是网际协议(IP)。所有网络层以下或以上的各层通信在跨越 TCP/IP 协议栈时,都必须通过 IP 完成。IP是网络层协议,工作在数据链路层的上面。此外,网络层还包含部分支持性协议,如 ICMP,实施和管理路由过程。

网络访问层(Network Access Layer):在 TCP/IP 结构中,网络访问层由数据链路层和物理层合并而成。TCP/IP 网络访问层并没有重新定义新标准,而是有效利用原有数据链路层和物理层标准。很多 RFC 中描述了 IP 如何使用数据链路协议并作为其接口界面,如以太网、令牌环、FDDI、HSSI 和 ATM 等。物理层中规定了硬件通信属性,但它不直接作为网络层及以上层的 TCP/IP 协议的接口。

  

结合 OSI TCP/IP 产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。 Internet 就是采用的 TCP/IP 协议。

应用层

应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。

因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。域名:面向用户的主机标识。IP与域名一一对应,每个主机都有IP和域名两个标识符。域名由几段组成,每段称为一个子域,各子域间用小数点分隔,最后的为高级域,或一级域。一级域通常是com商业机构,或edu教育机构,或gov政府部门,或net网络机构,或mil军事机构,org非赢利性组织,int国际组织等。

主机向本地域名服务器的查询一般都是采用递归查询。本地域名服务器向根域名服务器的查询通常是采用迭代查询。HTTP、SMTP 等在DNS中需要完成主机名到 IP 地址的转换。

文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

TELNET 是一个简单的远程终端协议,也是因特网的正式标准。用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

万维网 WWW (World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。万维网提供分布式服务。在一个客户程序主窗口上显示出的万维网文档称为页面(page)。

超文本传送协议 HTTP (HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。是在万维网客户程序与万维网服务器程序之间进行交互所使用的协议。

超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。仅当 HTML 文档是以.html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。

统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。

 

://是规定的格式。

<主机>是存放资源的主机在因特网中的域名。

<端口>/<路径>有时可省略。HTTP的默认端口号是80,通常可省略。若再省略文件的<路径>项,则URL就指到因特网上的某个主页(home page)。

实例如下:

CGI 程序的正式名字是 CGI 脚本(script)。“脚本”指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。脚本运行起来要比一般的编译程序要慢,因为它的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。 

发送邮件的协议:SMTP,收件人邮箱名@邮箱所在主机的域名。

动态主机配置协议 DHCP。为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件参数化。在协议软件中给这些参数赋值的动作叫做协议配置。需要配置的项目(1) IP 地址(2) 子网掩码(3) 默认路由器的 IP 地址(4) 域名服务器的 IP 地址。动态主机配置协议 DHCP 提供了即插即用连网(plug-and-play networking)的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。DHCP 报文只是 UDP 用户数据报中的数据。DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。

 

运输层

运输层向它上面的应用层提供通信服务。

传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。协议:UDP,TCP,SPX

MTU:最大传输单元。

路径MTU

传输控制协议

UDP:无连接,不可靠的协议。是UDP 报文或用户数据报。没有拥塞控制,很适合多媒体通信的要求。支持一对一、一对多、多对一和多对多的交互通信。首部开销小,只有 8 个字节。

TCP:IP协议提供面向无连接,不可靠的数据服务,TCP面向有连接,可靠的端-端通信机制。所谓可靠是指网络层出现差错,TCP仍能正确地控制连接的建立,数据的传输和连接的释放。降低传输效率。TCP 报文段(segment),面向字节流,点对点的(一对一)。

数据传输之前要经过三次握手建立一条全双工连接,TCP的连接建立过程是:首先由Client进程发起(A->B)、服务器确认(B->A)、客户再确认(A->B),其中前两次segment中没有数据,而第三次中可以携带数据。TCP的连接建立过程也叫三次握手。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

TCP的连接拆除过程是:首先由Client进程发FIN给服务器、服务器确认、服务器再发FIN给Client,Client确认。四次挥手。在发送完最后的ACK后,发起连接拆除方需要等待一段时间,以便在ACK丢失时,拆除方可以重新发送ACK。一般等待30s。

 

在协议栈层间的抽象的协议端口是软件端口。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。

为了实现可靠传输的协议:

( 1 )停止等待协议:每发送完一帧就停止发送,直到收到接收到发送回来的确认在发送下一帧,如果没有收到接收端的确认,则通过设定的定时器超时了重传上一帧。

( 2 )连续 ARQ 协议:发送窗口大于 1 ,接收窗口等于 1 ,因此发送窗口已经发送到了序号为 5 的帧,但是接收端接收到序号为 3 的帧出现错误时,那 3 号以后的帧都需要重传;发送方有较大的缓冲存储空间(重发表,FIFO),向回走N个帧,但其实每个帧都有接收方的确认帧,按顺序。

( 3 )选择重传 ARQ 协议:发送窗口和接收窗口都大于 1 ,这种情况可能减少重传帧的数量。

TCP/IP报文格式:

 

网络层

网络层负责对子网间的数据包进行路由选择。网络层还可以实现拥塞控制、网际互连等功能。IPIPXRIPOSPF等。

IP协议的作用就是向传输层(TCP层)提供统一的IP包,即将各种不同类型的MAC帧转换为统一的IP包,并将MAC帧的物理地址变换为全网统一的逻辑地址(IP地址)。这样,这些不同物理网络MAC帧的差异对上层而言就不复存在了。正因为这一转换,才实现了不同类型物理网络的互联。IP是网络层协议,工作在数据链路层的上面。

IP是internet中主机(包括工作站,服务器,路由器等)的地址标识。32位,4字节,网络标识和主机标识两部分。是面向网络的主机标识。网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有三个协议:地址解析协议 ARP (Address Resolution Protocol),网际控制报文协议 ICMP (Internet Control Message Protocol),网际组管理协议 IGMP (Internet Group Management Protocol)。IP地址是点分十进制记法。

ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。

Ping命令是发送ICMP的echo包,通过回送的echo relay进行网络测试。

  

 

 

 

 

最大网络数

第一个可用网络号

最后一个可用网络号

每个网络中的最大的主机数

范围表示

A

126

(27 – 2)

126

16,777,214

(224 – 2)

(1---126).(0.0.1---255.255.254)

除去主机号全0和全1

B

16,383

(214 - 1)

128.1

191.255

65,534

(216 - 2)

(128.1---191.255).(0.1---255.254)

 

C

2,097,151

(221 -1)

192.0.1

223.255.255

254

(28 - 2)

(192.0.1---223.255.255).(1---254)

 

每一个主机都设有一个 ARP 高速缓存(ARP cache),会在其中建立一个列表,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。IP地址是虚拟的网络地址,MAC是实际的物理地址。当源主机要发送数据时,先检查ARP中是否有IP对应的目的主机的MAC,有,则直接发送数据。若无,就向“本网段”的所有主机发送ARP数据包(源IP+源MAC+目的IP)。接受到ARP数据包后查看目的IP,是自己的IP(不是则忽略数据包),则将源主机的IP和MAC写入自己的ARP中(已经存在就覆盖),再将自己的MAC写入ARP响应包,发给源主机。源主机接收后,将目的主机的IP和MAC写入ARP列表,再发送数据。源主机一直未收到ARP响应包,则查询失败。广播发ARP请求,单播ARP响应。

MAC转IP为RARP

地址解析协议ARP示意图。

  

两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。子网掩码(subnet mask)可以找出 IP 地址中的子网部分。

 

由图可知:子网掩码中,只有主机号相对应的位是0.

不同的子网掩码可以得出相同的网络地址。但不同的掩码的效果是不同的。

 

IP地址 ::= {<网络号>, <子网号>, <主机号>},划分子网后 IP 地址就变成了三级结构。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码)又回到了两级编址。

IP地址 ::= {<网络前缀>, <主机号>},“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数),即除了主机号占的位其它都是1。

 

数据链路层

物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
点对点信道的数据链路层,点对点协议 PPP,在数据后面添加上的冗余码称为帧检验序列 FCS,循环冗余检验 CRC(检错方法)。在局域网中,硬件地址又称为物理地址,或 MAC 地址。

两个子层:逻辑链路控制(LLC);MAC层,介质访问控制层。

MAC地址,网卡的物理地址。IP与MAC 一一对应。MAC地址可采用6或2字节。

 

物理层

物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。物理层为上层协议提供了一个传输数据的物理媒体。
属于物理层定义的典型规范包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。

 

补充:

1.路由器和交换机的实现原理?分别在哪个层面上实现?

1)路由器可以进行路由转发(就是连接两个不同网段,为两段做翻译)。

交换机不可以进行路由转发(连接数个相同网段的不同主机,减少网内冲突,隔离冲突域)。增加网速用的。集线器(HUB)和交换机的功能相似,但是不能隔离冲突域,所以是共享带宽。

2)因为以上,所以路由器不可以转广播包,可以隔离广播域。

3)交换机工作在数据链路层,连接主机隔离冲突域;路由器工作在网络层,连接不同网络,组建广域网。网络层以上是网关。

集线器工作在 OSI 模型的物理层,网卡工作在 OSI 模型的物理层。

局域网中交换机和网桥功能基本一致,差别:交换机是多个网桥的集合,网桥一般分为两个端口,交换机有高密度的端口;由于交换机支持多个端口,可把网络系统划分更多物理网段;交换机传输速率更快。交换机对应硬件设备(MAC),网桥对应软件。

posted @ 2018-10-18 19:46  huinina  阅读(391)  评论(0)    收藏  举报