网络编程:

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. LN : leetcode 516 Longest Palindromic Subsequence

    lc 516 Longest Palindromic Subsequence 516 Longest Palindromic Subsequence Given a string s, find th ...

  2. codevs 5438 zbd之难题(水题日常)

     时间限制: 1 s  空间限制: 1000 KB  题目等级 : 白银 Silver 题目描述 Description zbd想要一个计算器,请你编一个计算器. 输入描述 Input Descrip ...

  3. Mybatis-Generator逆向生成Po,Mapper,XMLMAPPER(一)

    这个地方的生成需要用到三个文件,generatorConfig.xml.mybatis-generator-core-1.3.1.jar和mysql-connector-java-5.1.29.jar ...

  4. SQLite-And和OR运算符

    SQLite - AND 和 OR 运算符 SQLite AND . OR运算符用于编译多个条件缩小在一个SQLite声明中选定的数据.这两个操作符被称为连接的操作符. 这些操作符与不同操作提供了一种 ...

  5. js实现ctrl+v粘贴并上传图片

    前端页面: <textarea class="scroll" id="text" placeholder="在此输入...">& ...

  6. uva1609 Foul Play

    思维 创造条件使一轮比赛之后仍满足1号打败至少一半,并剩下至少一个t' 紫书上的思路很清晰阶段1,3保证黑色至少消灭1半 #include<cstdio> #include<vect ...

  7. javaweb系列-关于HttpSessionListener的sessionDestroyed什么时候触发

    根据书本写了下面这个监听器,然后开始调试,打开一个浏览器来访问该网页,可以正常触发sessionCreated,然后关闭浏览器,发现没有触发sessionDestroyed,然后我怀疑是不是这个监听器 ...

  8. java GZIP压缩与解压缩

    1.GZIP压缩 public static byte[] compress(String str, String encoding) { if (str == null || str.length( ...

  9. // mounted: {}, 原来是 空方法 导致了 vue 的警告 !| [Vue warn]: Error in mounted hook: "TypeError: handlers[i].call is not a function"

    // mounted: {}, 原来是 空方法 导致了 vue 的警告 !| vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in mounted hook ...

  10. python爬虫---从零开始(一)初识爬虫

    我们开始来谈谈python的爬虫. 1,什么是爬虫: 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫.互联网犹如一个大蜘蛛 ...