操作系统及网络协议

操作系统简介

一、操作系统

操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。

操作系统的位置:

 

操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

操作系统应该分成两部分功能:

1、隐藏硬件的调用接口,为应用程序员提供调用硬件资源系统调用接口。

2、将应用程序对硬件资源的竞态请求变得有序化。

二、操作系统和普通软件的区别

1.主要区别是:用户程序可以被用户修改,操作系统由硬件保护,不能被用户修改。

2.操作系统与用户程序的差异并不在于二者所处的地位。特别地,操作系统是一个大型、复杂、长寿的软件。

三、操作系统发展史

1、第一代计算机(1940~1955):真空管和穿孔卡片

特点:

    没有操作系统的概念;

    所有的程序设计都是由纯粹的机器语言编写的。

2、第二代计算机(1955~1965):晶体管和批处理系统

3、第三代计算机(1965~1980):集成电路芯片和多道程序设计

    多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

4、第四代计算机(1980~至今):个人计算机

四、多路复用

多路复用:处理来自多个程序发起的多个(多个即多路)共享(共享即复用)资源的请求

多路复用有两种实现方式:

1.时间上的复用

2.空间上的复用

这两种方式合起来便是多道技术

网络基础之网络协议篇

一、网络通信原理

1.1 互联网的本质就是一系列的网络协议

    连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为“互联网协议”(Internet Protocol Suite)

互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。

1.2 osi七层协议

    互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层。

 

每层运行常见物理设备

 

1.3 tcp/ip五层模型讲解

1.3.1 物理层

 

物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

1.3.2 数据链路层

数据链路层的功能:定义了电信号的分组方式。

太网协议:

一组电信号构成一个数据包,叫做“帧”。

每一数据帧分成:报头head和数据data两部分。

Head+data

head包含:(固定18个字节)

发送者/源地址,6个字节

接收者/目标地址,6个字节

数据类型,6个字节

data包含:(最短46字节,最长1500字节)

数据包的具体内容

head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

 

mac地址:

head中包含的源地址和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。

mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,通常由1216进制数表示(前六位是厂商编号,后六位是流水线号)。

 

广播:

有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp(地址解析协议)协议获取另外一台主机的mac地址)。ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼。

1.3.3 网络层

IP协议:

规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由322进制表示,范围0.0.0.0-255.255.255.255

ip地址分成两部分

网络部分:标识子网

主机部分:标识主机

注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网。

 

子网掩码

所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0

总结一下,IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

 

ip数据包

ip数据包也分为headdata部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分。

head:长度为2060字节

data:最长为65,515字节。

而以太网数据包的”数据”部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割成几个以太网数据包,分开发送了。

 

ARP协议

arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

 

协议工作方式:每台主机ip都是已知的。

一:首先通过ip地址和子网掩码区分出自己所处的子网。

 

一、如果处于同一网络,就发送下面的包。

 

三:这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac

 

1.3.4 传输层

传输层功能:建立端口到端口的通信

端口即应用程序与网卡关联的编号。

补充:端口范围0-655350-1023为系统占用端口

tcp协议:

可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

以太网头  IP头  tcp头  数据

udp协议:

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

以太网头  IP头  udp头  数据

1.3.5 应用层

应用层功能:规定应用程序的数据格式。

传输层:端口标识应用程序

    TCP 协议  以太网头 +IP头 +TCP头 + 数据

    UDP协议   以太网头 +IP头 +UDP头 + 数据

网络层:IP区分子网

    IP协议

    IP数据包   以太网头 + IP头 + IP数据

    ARP协议   广播方式发送数据包,获取目标主机的mac地址

数据链路层:mac地址寻找主机

      广播:有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另外一台主机的mac地址)ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼。

      以太网协议    head + date

      

1.3.6 socket

    两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+TCP协议+端口号唯一标示网络中的一个进程。

    socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

 

 http和https协议

 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

1、HTTP和HTTPS的基本概念

  HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

2、HTTP与HTTPS有什么区别?

  HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

  HTTPS和HTTP的区别主要如下:

  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

  4、http的连接很简单,是无

3、HTTPS的工作原理

  我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP与HTTPS的区别-马海祥博客

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

  (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

  (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

  (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

  (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

  (5)Web服务器利用自己的私钥解密出会话密钥。

  (6)Web服务器利用会话密钥加密与客户端之间的通信。

4、HTTPS的优点

  尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:

  (1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

  (2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

  (3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

  (4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

5、HTTPS的缺点

  虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

  (1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

  (2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

  (3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

    (4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

  (5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

6、http切换到HTTPS

  如果需要将网站从http切换到https到底该如何实现呢?

       这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https://www.baidu.com

  这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。

参考:https://www.cnblogs.com/wqhwe/p/5407468.html

 

二、网络通信实现

1、想实现网络通信,每台主机需具备四要素

本机的IP地址

子网掩码

网关的IP地址

DNSIP地址

2、获取这四要素分两种方式

1.静态获取

即手动配置

2.动态获取

通过dhcp获取

以太网头+ip+udp +dhcp数据包

三、网络通信流程

 1.本机获取

本机的IP地址:192.168.1.100

子网掩码:255.255.255.0

网关的IP地址:192.168.1.1

DNSIP地址:8.8.8.8

2.打开浏览器,想要访问Google,在地址栏输入了网址:www.google.com

3.dns协议(基于udp协议)

 

posted @ 2017-03-13 19:46  shy车队破风手  阅读(653)  评论(0编辑  收藏  举报