网络编程:

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

(1)一个应用是由一个服务器进程和一个或多个客户端进程组成。

(2)服务器管理某种资源,并且操纵这种资源来为客户端服务。

CS模型:

CS的基本操作是事务;

11.2 网络

对于主机而言,网络只是一种IO设备,作为数据源和数据接收方。

局域网(LAN):

(1)从物理层次而言,最底层是局域网,目前最流行的局域网技术是以太网。

(2)每个以太网适配器都有一个全球唯一标识的48位地址,它存储在这个适配器的非易失性存储器上。

(3)一台主机可以发送一段位,称为帧,到这个网段内其他主机上。

桥接以太网:

(1)使用一些电缆和叫做网桥的盒子,多个以太网段可以连成较大的局域网,称为桥接以太网。

(2)网桥比集线器更充分的利用了电缆的带宽,利用了更聪明的分配算法,它们随着时间自动学习那个主机可以通过哪个主机

到达。

互联网络(Internet)

(1)多个不兼容的局域网可以通过叫做路由器特殊计算机连接起来,组成互联网络。

互联网络能由采用完全不同方式和不兼容技术的各种局域网和广域网组成

那么如何让源主机跨过这些不兼容的网络发送数据到另一台目的主机呢?

解决办法是运行在主机和路由器上的协议软件:

命名机制:

(1)不同的局域网技术有不同和不兼容的方式来为主机分配地址,而互联网络协议通过一种一致的地址格式来消除这种差异。

(2)每台主机按这种方式至少分配一个地址,而这个地址唯一的标示了这个主机。

传送机制:

(1)在电缆上编码位和将这些为封装成帧方面,不同的互联网有不同的和不兼容的技术,而互联网络协议通过定义一种把数据位

捆扎成不连续的片(包)的统一方式,从而消除了差异。

(2)一个包是由包和有效载荷组成。其中包头包含了源和目的地址,以及包头大小。

深入理解计算机操作系统——第11章:CS模型,网络的更多相关文章

  1. 深入理解计算机操作系统——第11章:全球IP英特网

    全球IP英特网 (1)每台英特网主机都运行实现TCPIP协议的软件. (2)英特网的客户端和服务器混合使用套接字接口函数和Unix IO函数来进行通信. (3)套接字函数典型的是作为陷入内核的系统调用 ...

  2. 深入理解计算机操作系统——第10章:UNIX IO,打开,关闭,读写文件

    系统级IO:输入输出是主存与外部设备(磁盘,终端,网络)之间拷贝数据的过程 输入:从IO设备拷贝数据到主存中 输出:从主存中拷贝数据到IO设备中 10.1 unix IO 所有的IO设备都被模型化为文 ...

  3. 深入理解计算机操作系统——12章:多进程,IO多路复用

    三种并行的应用程序: 1. 基于进程的并发编程: 2. 基于IO多路复用的并发: 3. 基于线程的并发编程: 12.1 基于进程的并发编程 进程的优劣: (1)进程间共享文件表,但不共享用户地址空间, ...

  4. html学习第三天—— 第11章 盒子模型 div

    盒模型--边框(一) 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为div来设置边框粗细为2px.样式为实心的.颜色为红色的边框: div ...

  5. Linux就这个范儿 第11章 独霸网络的蜘蛛神功

    Linux就这个范儿 第11章  独霸网络的蜘蛛神功  第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...

  6. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  7. Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理

    Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理 计算机工作原理 汇编指令 C语言代码汇编分析 by苏正生 原创作品转载请注明出处 <Linux内核分析>MOOC课程htt ...

  8. 【Android】11.0 第11章 活动和片段--本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 这一章我们学习activity和fragment,深入理解activity和fragment的生命周期是如何工作的 ...

  9. MySQL性能调优与架构设计——第11章 常用存储引擎优化

    第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处. ...

随机推荐

  1. UVa OJ 494

     Kindergarten Counting Game  Everybody sit down in a circle. Ok. Listen to me carefully. ``Woooooo, ...

  2. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(下)

    6.3两正态总体的区间估计 (1)两个总体的方差已知 在R中编写计算置信区间的函数twosample.ci()如下,输入参数为样本x, y,置信度α和两个样本的标准差. > twosample. ...

  3. toast插件的简单封装(样式适用pc后台管理系统的场景)

    直接分三个步骤吧: 1.手写一个toast.vue组件 <template> <transition name="toast-fade"> <div ...

  4. [Python學習筆記] 抓出msg信件檔裡的附件檔案

    想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...

  5. Redhat5 安装序列号及版本说明

    为了保证安装的组件和订阅相匹配,红帽企业 Linux 5 需要输入一个安装号.它被用来配置安装程序来提供正确的软件包.安装号码包含在你的订阅里. 如果您没有输入安装号码,只有核心服务器或 Deskto ...

  6. http响应头状态描述

    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息--表示请求已接收,继续处理2xx:成功--表示请求已被成功接收.理解.接受3xx:重定向--要完成请求必须进行更 ...

  7. 解决selenium.common.exception.WebDriverException:Message:'chromedriver' executable needs to be in Path

    'chromedriver' executable needs to be in Path 声明:本人萌新,刚学python不久记录一下自己的坑,发出来若能帮助到一些人尽早解决问题那便是极好的,( ̄▽ ...

  8. 基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table

    基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table https://segmentfault.com/a/1190000015970367

  9. Vickers Vane Pump - Hydraulic Vane Pump Failure: Cavitation, Mechanical Damage

    One of our readers recently wrote to me about the following questions: “Recently, we purchased a sec ...

  10. MATLAB读取每个文件夹下的badcsv文件后合并为总的badexcel文件

    clear; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取子文件夹中bad.csv数据%并把所有数据写到一个excel文件中%%%%%%%%%%%%%%%%%% ...