[学习笔记] 计算机网络(网络模型网络协议)
计算机网络模型与网络协议
局域网
基本概念
局域网自然就是局部地区形成的一个区域网络,其特点就是分布地区范围有限(100米),可大可小,带宽固定,需要自己购买设别管理和维护。
特点
局域网自身相对其他网络传输速度更快,性能更稳定,框架简易,并且是封闭性,这也是很多机构选择的原因所在。
功能
局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行。
广域网
基本概念
两者的区别
1、两者范围不一样。bai局域网就是在固定du的一个地理区域内由zhi2台以上的电脑用网线和其他网络设备搭建而成的一dao个封闭的计算机组,范围在几千米以内;广域网是一种地域跨度非常大的网络集合,范围在几十公里到几千公里。
2、两者的IP地址设置不一样。局域网里面,必须在网络上有一个唯一的IP地址,这个IP地址是唯一的,在另外一个局域网,这个IP地址仍然能够使用。广域网上的每一台电脑(或其他网络设备)都有一个或多个广域网IP地址,而且不能重复。
3、两者连接的方式不一样。局域网是靠交换机来进行连接的,而广域网则是靠路由器将多个局域网进行连接。
计算机网络系统基本概念
计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立的多个计算机系统互联起来,以功能完善的网络软件实现网络中资源共享和信息传递的系统。
特点
- 计算机网络建立的主要目的实现计算机资源的共享,计算机资源是指计算机硬件,软件和数据。
- 互联的计算机是分布在不同的地理位置的多态独立的“自治计算机”,联网的计算机既可以为本地用户提供服务,也可以为远程用户提供网络服务。
- 联网计算机之间遵守共同的网络协议。
解释:
自治是指计算机离开网络后,也能独立工作和运行。共享资源即软件资源,硬件资源和数据资源,会分布在这些计算机中。构成网络的计算机往往分布在不同的地理位置,通过通信设备和线路连接起来,并且在功能完善的网络操作系统和通信协议管理下,将各节点有机连接起来。网络的基本特征为数据交换和通信,资源共享 ,计算机之间或计算机用户之间的协同工作。
一、OSI网络结构的七层模型
第一层:物理层
定义通过网络设备发送数据的物理方式;作为网络媒介和设备间的接口;定义光学、电气以及机械特性。
第二层:数据链路层
定义操作通信连接的程序;封装数据包为数据帧;监测和纠正数据包传输错误
第三层:网络层
定义网络设备间如何传输数据;根据唯一的网络设备地址路由数据包;提供流和拥塞控制以防止网络资源的损耗
第四层:传输层
管理网络中端到端的信息传送; 通过错误纠正和流控制机制提供可靠且有序的数据包传送;提供面向无连接的数据包的传送;
第五层:会话层
管理用户会话和对话; 控制用户间逻辑连接的建立和挂断;报告上一层发生的错误
第六层:表示层
掩盖不同系统间的数据格式的不同性; 指定独立结构的数据传输格式; 数据的编码和解码;加密和解密;压缩和解压缩
第七层:应用层
定义了用于在网络中进行通信和数据传输的接口 - 用户程式;提供标准服务,比如虚拟终端、文件以及任务的传输和处理;
二、T C P / I P 协议分层
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7sFZY8DH-1594639740164)(D:\桌面\1334125345_6334.png)]
- 链路层,有时也称作数据链路层或网络接口层,
·通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
- 网络层,有时也称作互联网层,
·处理分组在网络中的活动,例如分组的选路。在T C P / I P协 议 族 中 , 网 络 层 协 议 包 括I P 协 议 ( 网 际 协 议 ),I C M P协议(I n t e r n e t 互联网控制 报 文 协 议 ),以及I G M P 协议(I n t e r n e t 组 管 理 协 议 )。
- 运输层主要为两台主机上的应用程序提供端到端的通信。
·在T C P / I P 协 议 族 中 , 有 两 个互 不 相 同 的 传 输 协 议 :T C P ( 传 输 控 制 协 议 ) 和U D P ( 用 户 数 据 报 协 议 )。
·T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面,U D P 则 为 应 用 层 提 供 一 种 非 常 简 单 的 服 务 。 它 只 是 把 称 作 数 据 报 的 分 组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
- 应用层负责处理特定的应用程序细节。几乎各种不同的T C P / I P 实 现 都 会 提 供 下 面 这 些通用的应用程序:
• Telnet远程登录。
• FTP文件传输协议。
• SMTP简单邮件传送协议。• SNMP简单网络管理协议。
在 T C P / I P协议族中,网络层 I P 提 供 的 是 一 种 不 可 靠 的 服 务 。 也 就 是 说 , 它 只 是 尽 可 能 快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,T C P 在不可靠的I P 层 上 提 供 了 一 个 可 靠 的 运 输 层 。 为 了 提 供 这 种 可 靠 的 服 务 ,T C P 采 用 了 超 时 重 传 、 发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能
TCP的三次握手与四次挥手
具体过程如下:
第一次握手:建立连接。客户端发送连接请求报文段,并将syn(标记位)设置为1,Squence Number(数据包序号)(seq)为x,接下来等待服务端确认,客户端进入SYN_SENT状态(请求连接);
第二次握手:服务端收到客户端的 SYN 报文段,对 SYN 报文段进行确认,设置 ack(确认号)为 x+1(即seq+1 ; 同时自己还要发送 SYN 请求信息,将 SYN 设置为1, seq为 y。服务端将上述所有信息放到 SYN+ACK 报文段中,一并发送给客户端,此时服务器进入 SYN_RECV状态。
SYN_RECV是指,服务端被动打开后,接收到了客户端的SYN并且发送了ACK时的状态。再进一步接收到客户端的ACK就进入ESTABLISHED状态。
第三次握手:客户端收到服务端的 SYN+ACK(确认符) 报文段;然后将 ACK 设置为 y+1,向服务端发送ACK报文段,这个报文段发送完毕后,客户端和服务端都进入ESTABLISHED(连接成功)状态,完成TCP 的三次握手。
上面的解释可能有点不好理解,用《图解HTTP》中的一副插图 帮助大家。
当客户端和服务端通过三次握手建立了 TCP 连接以后,当数据传送完毕,断开连接就需要进行TCP的四次挥手。其四次挥手如下所示:
第一次挥手
客户端设置seq和 ACK ,向服务器发送一个 FIN(终结)报文段。此时,客户端进入 FIN_WAIT_1 状态,表示客户端没有数据要发送给服务端了。
第二次挥手
服务端收到了客户端发送的 FIN 报文段,向客户端回了一个 ACK 报文段。
第三次挥手
服务端向客户端发送FIN 报文段,请求关闭连接,同时服务端进入 LAST_ACK 状态。
第四次挥手
客户端收到服务端发送的 FIN 报文段后,向服务端发送 ACK 报文段,然后客户端进入 TIME_WAIT 状态。服务端收到客户端的 ACK 报文段以后,就关闭连接。此时,客户端等待 2MSL(指一个片段在网络中最大的存活时间)后依然没有收到回复,则说明服务端已经正常关闭,这样客户端就可以关闭连接了。
最后再看一下完整的过程:
如果有大量的连接,每次在连接,关闭都要经历三次握手,四次挥手,这显然会造成性能低下。因此。Http 有一种叫做 长连接(keepalive connections) 的机制。它可以在传输数据后仍保持连接,当客户端需要再次获取数据时,直接使用刚刚空闲下来的连接而无需再次握手。
三、五层协议模型
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
由于帧的存在,于是诞生了以太网协议
以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为帧。每一个桢由标头(Head)和数据(Data)两部分组成。
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
四、关于各个协议的简述
TCP协议
TransmissionControl Protocol,传输控制协议,又叫三次握手协议,建立TCP连接时需要经过三次握手,关闭TCP连接时需要四次握手。
TCP协议是传输层协议,是面向连接的协议。
UDP协议
UserDatagram Protocol,用户数据报协议,UDP是传输层协议,面向数据报,不提供可靠性,没有三次握手,不保证数据到达,没有超时重发,传输速度非常快。
IP协议
InternetProtocol,网络互连协议,规定了网络上计算机通信时的规则。
TCP/IP协议
和TCP协议不同,TCP/IP协议是一个协议族,包含了应用层,传输层,网络层的很多协议。
应用层:HTTP协议,FTP协议,SNMP协议,TELNET协议。
传输层:TCP协议,UDP协议。
网络层:IP协议,ICMP协议,ARP协议。
HTTP协议
HTTP协议是超文本传送协议(HyperText TransferProtocol)的缩写.
HTTP协议是应用层协议。
HTTP2.0
HTTP2.0使用了多路复用技术,可以在一个连接中并发处理多个请求,每个请求都有一个id。另外在HTTP1.1的基础上进行了很多优化和改进,大幅提高了性能。
HTTP2.0是向下兼容的。
WebSocket协议
WebSocket协议是应用层协议,和socket不是一回事。层级划分上来说,WebSocket协议和http协议一样都是基于TCP协议,用来传输数据的。
WebSocket协议依赖HTTP协议进行第一次握手,然后就直接从TCP通道传数据,不再需要HTTP协议。
基于WebSocket建立的连接是一种全双工的连接,连接双方没有主次关系,任何一方都可以主动向另一方发起请求,是一种真正的持久连接,这一点和HTTP协议的长连接或者轮询连接是不一样的。