深入理解计算机操作系统——第11章:CS模型,网络
网络编程:
11.1 客户端-服务器编程模型
(1)一个应用是由一个服务器进程和一个或多个客户端进程组成。
(2)服务器管理某种资源,并且操纵这种资源来为客户端服务。
CS模型:
CS的基本操作是事务;

11.2 网络
对于主机而言,网络只是一种IO设备,作为数据源和数据接收方。
局域网(LAN):
(1)从物理层次而言,最底层是局域网,目前最流行的局域网技术是以太网。
(2)每个以太网适配器都有一个全球唯一标识的48位地址,它存储在这个适配器的非易失性存储器上。
(3)一台主机可以发送一段位,称为帧,到这个网段内其他主机上。
桥接以太网:
(1)使用一些电缆和叫做网桥的盒子,多个以太网段可以连成较大的局域网,称为桥接以太网。
(2)网桥比集线器更充分的利用了电缆的带宽,利用了更聪明的分配算法,它们随着时间自动学习那个主机可以通过哪个主机
到达。

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

互联网络能由采用完全不同方式和不兼容技术的各种局域网和广域网组成
那么如何让源主机跨过这些不兼容的网络发送数据到另一台目的主机呢?
解决办法是运行在主机和路由器上的协议软件:
命名机制:
(1)不同的局域网技术有不同和不兼容的方式来为主机分配地址,而互联网络协议通过一种一致的地址格式来消除这种差异。
(2)每台主机按这种方式至少分配一个地址,而这个地址唯一的标示了这个主机。
传送机制:
(1)在电缆上编码位和将这些为封装成帧方面,不同的互联网有不同的和不兼容的技术,而互联网络协议通过定义一种把数据位
捆扎成不连续的片(包)的统一方式,从而消除了差异。
(2)一个包是由包和有效载荷组成。其中包头包含了源和目的地址,以及包头大小。

深入理解计算机操作系统——第11章:CS模型,网络的更多相关文章
- 深入理解计算机操作系统——第11章:全球IP英特网
全球IP英特网 (1)每台英特网主机都运行实现TCPIP协议的软件. (2)英特网的客户端和服务器混合使用套接字接口函数和Unix IO函数来进行通信. (3)套接字函数典型的是作为陷入内核的系统调用 ...
- 深入理解计算机操作系统——第10章:UNIX IO,打开,关闭,读写文件
系统级IO:输入输出是主存与外部设备(磁盘,终端,网络)之间拷贝数据的过程 输入:从IO设备拷贝数据到主存中 输出:从主存中拷贝数据到IO设备中 10.1 unix IO 所有的IO设备都被模型化为文 ...
- 深入理解计算机操作系统——12章:多进程,IO多路复用
三种并行的应用程序: 1. 基于进程的并发编程: 2. 基于IO多路复用的并发: 3. 基于线程的并发编程: 12.1 基于进程的并发编程 进程的优劣: (1)进程间共享文件表,但不共享用户地址空间, ...
- html学习第三天—— 第11章 盒子模型 div
盒模型--边框(一) 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为div来设置边框粗细为2px.样式为实心的.颜色为红色的边框: div ...
- Linux就这个范儿 第11章 独霸网络的蜘蛛神功
Linux就这个范儿 第11章 独霸网络的蜘蛛神功 第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...
- 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群
高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...
- Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理
Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理 计算机工作原理 汇编指令 C语言代码汇编分析 by苏正生 原创作品转载请注明出处 <Linux内核分析>MOOC课程htt ...
- 【Android】11.0 第11章 活动和片段--本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 这一章我们学习activity和fragment,深入理解activity和fragment的生命周期是如何工作的 ...
- MySQL性能调优与架构设计——第11章 常用存储引擎优化
第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处. ...
随机推荐
- C#处理Android Audio and Video
Video Converter for .NET (C#) FFMpeg wrapper http://www.nrecosite.com/video_converter_net.aspx Docum ...
- 搜索模板elasticsearch
搜索: like 对中文分词效率与支持都不太友好elasticsearch 实时的(效率高).分布式(可扩展)的搜索和分析引擎,基于Lucene全文搜索引擎工具包,算法基于倒排索引算法(eg:一篇文章 ...
- UVA 11971 Polygon 多边形(连续概率)
题意: 一根长度为n的木条,随机选k个位置将其切成k+1段,问这k+1段能组成k+1条边的多边形的概率? 思路: 数学题.要求的是概率,明显与n无关. 将木条围成一个圆后再开切k+1刀,得到k+1段. ...
- iptables规则的关系
iptables规则的关系,是自上而下进行过虑的.所以添加规则时,要通过文件进行添加,这样的话,可以控制其顺序. A机器: [root@www ~]# netstat -an | grep 6100 ...
- (转)使用Spring配置文件实现AOP
http://blog.csdn.net/yerenyuan_pku/article/details/52880558 使用Spring配置文件实现AOP 前面我们已经学会了使用Spring的注解方式 ...
- 我的app自动化实战练习一
''' -*- coding: utf-8 -*- @Time : 2019/6/10 0010 10:39 @Author : 无邪 @File : test_data.py @Software: ...
- 工作流activi链接地址
http://topmanopensource.iteye.com/blog/1313865
- 12scrapy_redis
一.简介 1.redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zse ...
- STL 源码分析六大组件-allocator
1. allocator 基本介绍 分配器(allocator))是C ++标准库的一个组件, 主要用来处理所有给定容器(vector,list,map等)内存的分配和释放.C ++标准库提供了默认使 ...
- scanf_s读取键盘输入字符串失败
#include<stdio.h> int main() { ]; ]; printf("Input string:\n"); scanf_s("%s&quo ...