计算机系统基础-学习记录17-网络程序(1)

网络程序(1)
——网络基础

  通过网络进行信息的传输,实际上就是不同进程间的信息交互。所有的网络应用,都是基于一个叫做Client-Server(客户-服务器)的模型开发的

Client-Server(客户-服务器)模型

  在Client-Server模型中,一个应用程序由一个服务器(Server)进程和多个客户(Client)进程(后面会称作host)组成。服务器进程会根据客户进程的请求,对相应的资源进行操作,并将相应的反馈传回给客户,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AkXQHLBH-1618644176527)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417140537674.png)]

网络

  从硬件上来看,网络可以看做是和USB控制器、图形适配器、硬盘控制器相并列的I/O接口。网络将会通过I/O总线上额外接口处的“网络适配器”接入计算机,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-US1urbSP-1618644176530)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417141133432.png)]

  通过网络接入的数据,会顺着I/O总线和内存总线,复制到内存中。反之,数据也可以从内存复制到网络上

  将不同的这样的计算机用某些结构的网络连接起来,就可以实现网络通信了

网络连接的结构

  在网络连接中,最底层的叫做局域网(local area network, LAN)。通常情况下,LAN的覆盖范围是一栋楼或一所学校。实现局域网的技术有多种,其中最著名的叫做“Ethernet”。在使用Ethernet技术实现的LAN中,每一小块(segment)都是由一个叫做hub的box和一些连线组成的,每条线的另一端都连上了一个host的适配器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0NTQaJAD-1618644176533)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417142358468.png)]

这样的一小块,通常只会覆盖一个房间或一层楼的范围。而多个segment通过叫做bridge的box连接在一起,则能够形成更大的LAN:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfPwIusN-1618644176536)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417142934768.png)]

  再往上,多个不适配的LAN,可以通过被称作router的特殊计算机,连接起来组成互联网:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJEA1soZ-1618644176538)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417143201665.png)]

  上层的网络称作广域网(wide area networks, WAN),因为其跨越的空间范围相比于LAN来说非常地大

通过网络传输信息

  在不适配的LAN之间传输信息时,由于信息格式的不同,直接识别显然是无法做到的。这个时候,在两个LAN之间的router就可以起到一个转换信息的作用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gqZ1G81q-1618644176540)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417143645536.png)]

  以上图的信息传输为例,现在要将信息Data从LAN1处的客户A发送到LAN2处的服务器B。首先是从客户A的host处发送出信息Data,随后协议软件会给这个Data附上互联网数据包头(PH)和LAN1对应的帧头(FH1),之后再由LAN1适配器将帧复制到网络。当帧到达router后,router的LAN1适配器会将此帧送往协议软件,随后将帧中的FH1根据要传送到的地方,替换为LAN2的FH2。最后再将替换后的帧按传输到router的方式,反过来传到服务器B处,服务器B将接收到的数据Data存入到虚拟地址空间中

全球IP互联网

  互联网可以看作是全球各地的host的集合,它们具有如下特性:

  1、这个host集合可以映射到32位IP地址的集合
  2、IP地址集合可以映射到一系列网络域名(标识符)的集合
  3、通过连接,一个互联网host上的进程可以与任意一个互联网host上的进程进行交流

IP地址

  IP地址由32位的无符号型整数表示,此地址还有一种表示方式,就是以8位为一组,形成四组十进制的数字,每组数字之间都以点进行分隔。例如:0x8002c2f2可以表示为128.2.194.242

互联网域名

  由于IP地址的记忆是较为困难的,因此便诞生了域名。域名是由一系列的词语组成的,它们和IP地址之间存在映射关系。也就是说,有时候只需使用一些容易记忆的词语,就可以代替难以记忆的IP地址,从而提高网络连接的效率

  域名是有分层制度的。如下图所示,域名的分层可以使用树来表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kn1S0l5j-1618644176542)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20210417150259252.png)]

  每当一个组织机构分配到了某一层的一个域名后,从这个结点开始的所有子结点就都可以自由地开辟

  关于域名的映射,是记载在(Domain Name System, DNS)数据库里的。通常情况下,几个不同的域名可以对应着同一组的IP地址

网络连接

  网络上的连接,是指一对进程之间的点对点连接。一个socket是连接的一个端点,每个socket都有一个对应的socket地址,这个地址由互联网地址和一个16位整数的port(端口)组成,记为:address:port

  每个连接都由两个端点的socket地址进行独一无二的标识:

  (cliaddr:cliport, servaddr:serport)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值