ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

8/31 深入理解计算机系统 第十一章 网络编程

2022-08-31 22:00:50  阅读:242  来源: 互联网

标签:第十一章 31 编程 LAN1 主机 服务器 路由器 适配器 客户端


第十一章网络编程

11.1 客户端-服务器编程模型

包含一个服务器进程和多个客户端进程。

服务器管理某种资源,并通过操作这种资源给客户端提供某种服务。
基本操作是:事务

一个客户端-服务器事务由以下四步组成:

  1. 当一个客户端需要服务时,他向服务器发送一个请求,发起一个事务
  2. 服务器收到请求,就解释它,并以适当的方式操作它的资源
  3. 服务器给客户端发送一个响应,并等待下一个请求。
  4. 客户端收到响应并处理它。

11.2 网络

一个以太网段包括一些电缆和集线器。区域较小。每根光缆带宽相同,集线器把收到的所有端口的每个数据复制到所有端口上,因此每个主机都能收到每个位。
一台主机可以发送帧(frame)到这个网段内的任何主机。

电缆通过网桥,使得多个以太网段得以链接成较大的局域网,称为桥接以太网
网桥自动学习主机通过哪个端口可达,有选择的发送帧。节省了带宽。
如果主机A发送一个帧到一个不同网段的主机C,那么网桥X只会把此帧复制到和网桥Y相连的端口上,网桥Y把此帧复制到主机C的网段链接的端口。

多个不兼容的局域网可以通过路由器连起来。组成一个互联网络。
每台路由器对于它所链接到的每个网络都有一个适配器。

通过协议软件,消除了不同网络的差异。协议控制主机和路由器如何协同工作来实现数据传输。
协议的基本能力:

  1. 命名机制:每台主机被分配一个互联网地址,这个地址唯一的标识了这台主机
  2. 传送机制:互联网协议把数据为组合成不连续的片

image

图中LAN1的主机A到LAN2的主机B需要的步骤:

  1. 运行在主机A的客户端进行一个系统调用,从客户端的虚拟地址空间复制数据到内核缓冲区中
  2. 主机A上协议软件通过数据附加在互联网络包头和LAN1帧头,创建了一个LAN1帧。(互联网络包头寻址到网络主机B,LAN1帧头寻址到路由器),然后它传送此帧到适配器,LAN1帧的有效载荷是互联网络包,互联网络包的有效载荷是实际的用户数据
  3. LAN1适配器复制此帧到互联网上
  4. 传送到路由器时,路由器读取后传送到协议软件。
  5. 路由器读取出互联网地址,并把它作为路由表索引,确定向哪里发送这个包。然后路由器剥离旧的LAN1的帧头,加上寻址到主机B的帧头,并把帧传送到适配器。
  6. 路由器的LAN2适配器复制该帧到网络上
  7. 帧到达主机B时,它的适配器从电缆上读到此帧,并传送到协议软件
  8. 最后主机B上的协议软件剥离包头和帧头,当服务器进行一个读取这些数据的系统调用时,协议软件把得到的数据复制到服务器的虚拟空间。

标签:第十一章,31,编程,LAN1,主机,服务器,路由器,适配器,客户端
来源: https://www.cnblogs.com/hy227/p/16644661.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有