操作系统与网络通讯
【一】操作系统
- 操作系统:
- (Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序
- 是直接运行在“裸机”上的最基本的系统软件
- 任何其他软件都必须在操作系统的支持下才能运行。
【二】互联网的本质
- 互联网的本质就是一系列的网络协议
【1】引入
- 一台硬件设备有了操作系统,然后装上软件之后就能正常使用
- 然而如果没有网络,每台计算机只能自己使用
- 每台计算机之间都彼此孤立
【2】如何互相连通
- 通过网络互相连通,internet
【3】internet为何物
- 其实两台计算机之间通信与两个人之间通信的原理是一样的,大家都使用统一的普通话,两个人就能理解对方了
【4】结论
Internet
就是计算机之间连接的介质- 一系列统一的标准,这些标准统称为互联网协议
- 互联网协议的功能:
- 定义计算机如何接入Internet,以及接入计算机通信的标准
【三】OSI七层协议介绍
- 互联网协议按照功能不同被分为OSI七层
- 应用层:微信,QQ,浏览器
- 表示层:描述文件类型
- 会话层:决定什么时候开始发送数据,什么时候结束发送数据
- 传输层:用什么方式发包
- TCP:靠谱,速度慢,适合长距离传输
- UDP:不靠谱,速度快,适合短距离传输
- 端口:让一台计算机上的多个程序同时使用网络
- 网络层:IP地址(定位)
- 公网IP
- 内网IP
- 数据链路层:mac地址,全世界唯一(类似于身份证号)
- 物理层:信号转换问题
【1】物理层
(1)物理层由来
- 上面提到,互相孤立的几台计算机想要互联,就必须接入internet。
(2)物理层功能
- 主要是基于电器特性发送高低电压,进行信号转换
【2】数据链路层
(1)数据链路层由来
- 单纯的电信号没有任何意义,必须规定电信号多少位一组,每组是什么意思
(2)数据链路层的功能
- 定义了电信号的分组方式
(3)补充
- 早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
- ethernet规定
- 一组电信号构成一个数据包,叫做‘帧’
- 每一数据帧分成:报头head和数据data两部分
mac地址
- head中包含了发送端和接收端的mac地址
- mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
【3】网络层
(1)网络层的由来
- 有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由
- 一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,
- 这就不仅仅是效率低的问题了,这会是一种灾难
(2)网络层功能
- 引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址
【4】传输层
(1)传输层的由来
- 网络层的IP帮我们区分子网,数据链路层的mac帮我们找到主机,你的电脑上可能同时打开多个应用
- 想要多个应用同时使用网络,这时候就有了端口,端口就是应用程序和网卡关联的编号
(2)传输层功能
- 建立端口到端口的通信
- 补充:端口范围0-65535,0-1023为系统占用端口
(3)TCP和UDP协议
[1]tcp协议
- 传输可靠,TCP数据包没有传输长度限制,理论上可以无限长
- 但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再次分割
[2]tcp协议的三次握手和四次挥手
三次握手(建立连接)
- 第一次握手:客户端向服务器发送建立连接的请求(发送SYN)
- 第二次握手:服务器收到了客户端的请求,并且表示同意(回应一个SYN-ACK,并将客户端的SYN加一作为ACK确认号)
- 第三次握手:客户端回应表示确认,与服务器正式建立连接(客户端收到SYN-ACK后发送ACK,客户端将服务器的SYN-ACK加一作为ACK号)
四次挥手(断开连接)
-
第一次挥手:客户端提出断开连接(发送FIN)
-
第二次挥手:服务器收到消息后表示确认(发送ACK)
-
第三次挥手:服务器准备断开连接(发送FIN)
-
第四次挥手:收到服务器的FIN后,客户端断开连接(发送ACK)
[3]udp协议
- 不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
【5】应用层,表示层,会话层
(1)应用层由来
- 用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
(2)应用层功能
- 规定应用程序的数据格式。
- 例:TCP协议可以为各种各样的程序传递数据
- 比如Email、WWW、FTP等等。
- 那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。