手记

网络基础之网络协议

网络基础

一、操作系统

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。https://www.chessfanclub.com

二、网络通信

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

1、C/S 架构和B/S架构

软件的框架分为B/S,C/S

C/S 客户端/服务器:一般情况下,我们使用的软件都是C/S架构的,如:qq,office等,C表示客户端,通过客户端使用软件,S表示服务器,通过服务器处理逻辑

特点:


必须要安装;

软件更新时,服务器和客户端同时更新;

C/S软件不能跨平台使用;

客户端和服务器端采用的是自由协议交互比较安全。

B/S 浏览器/服务器:使用浏览器作为软件客户端进行对服务器的访问,比如京东,淘宝


特点:


不需要安装;

不需要更新;

可以跨平台使用;

采用HTTP协议,相对而言,没有那么安全。

如果没有网络,每台机器就只能彼此独立


服务端(server)端必须满足的条件:


(1)稳定运行(网络、硬件、操作系统、服务端应用软件),对外一直提供服务;

(2)服务端必须绑定一个固定的地址(客户端地址不用固定,客户端先发送数据或请求,然后服务端就能知道它的地址)。

2、互联网两大要素

(1)底层的物理连接介质,是为通信铺好道路的


(2)一套统一的通信标准---->互联网通信协议(计算机界的英语)


2.2 osi网络协议

七层五层四层网络协议



osi 七层协议:


网络应用层协议

应用层协议


1、DNS:域名系统DNS是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。现在顶级域名TLD分为三大类:国家顶级域名nTLD;通用顶级域名gTLD;基础结构域名。域名服务器分为四种类型:根域名服务器;顶级域名服务器;本地域名服务器;权限域名服务器。


2、FTP:文件传输协议FTP是因特网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限。FTP其于TCP。


3、telnet远程终端协议:telnet是一个简单的远程终端协议,它也是因特网的正式标准。又称为终端仿真协议。


4、HTTP:超文本传送协议,是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础。http使用面向连接的TCP作为运输层协议,保证了数据的可靠传输。


5、电子邮件协议SMTP:即简单邮件传送协议。SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。SMTP通信的三个阶段:建立连接、邮件传送、连接释放。


6、POP3:邮件读取协议,POP3(Post Office Protocol 3)协议通常被用来接收电子邮件。


网络传输层协议

典型设备: 进程和端口

数据单元:数据段 (Segment)


TCP (Transmission Control Protocol )传输控制协议提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。可靠的全双工信道。可靠、有序、无丢失、不重复。


UDP (User Datagram Protocol )用户数据报协议发送数据前无需建立连接,不使用拥塞控制,不保证可靠交付,最大努力交付。


网络层协议

典型设备:路由器,防火墙、多层交换机)

数据单元:数据包(Packet )


IP (IPv4 · IPv6) (Internet Protocol) 网络之间互连的协议


ARP (Address Resolution Protocol) 即地址解析协议,实现通过IP 地址得 知其物理地址。


RARP (Reverse Address Resolution Protocol)反向地址转换协议允许局域 网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP地址。


ICMP (Internet Control Message Protocol )Internet 控制报文协议。它是TCP/IP 协议族的一个子协议,用于在IP 主机、路由器之间传递控制消息。


IGMP (Internet Group Management Protocol) Internet 组管理协议,是因特 网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报 告他们的组成员情况。


数据链路层

典型设备: 网卡,网桥,交换机

数据单元:帧 (Frame)


PPP(Point-to-Ponit Protocol)点对点协议面向字节,由三部分组成:一个将IP 数据报封装到串行链路的方法;一个用于建立、配置和测试数据链路连接的链路控制协议


停止等待协议:

CSMA/CD(Carrrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测协议。总线型网络,协议的实质是载波监听和碰撞检测。载波监听即发数据前先检测总线上是否有其他计算机在发送数据,如暂时不发数据,避免碰撞。碰撞检测为计算机边发送数据边检测信道上的信号电压大小。


ARQ(Automatic Repeat-reQuest )自动重传请求协议,错误纠正协议之一,包括停止等待ARQ 协议和连续ARQ 协议,错误侦测、正面确认、逾时重传与负面确认继以重传等机制。


物理层

典型设备:中继器,集线器、网线、HUB

数据单元:比特 (Bit)


以太网物理层、调制解调器、PLC 、SONET/SDH 、G.709 、光导纤维、 同轴电缆、双绞线

网络协议总结

HTTP请求/响应报文:

HTTP请求报文组成:请求行+请求头+空行+请求体;

HTTP响应报文组成:响应行+响应头+空行+响应体;

请求行:请求方法(HEAD/GET/POST) + 请求URL + HTTP协议版本;

响应行:HTTP协议版本 + 状态码 + 状态码描述;

请求头:比如客户端的Cookie和User-Agent就放在这里;

响应头:比如服务器的Set-Cookie和Server信息就放在这里;

请求体:比如客户端POST的数据就放在这里(对比:GET的数据放在请求行的URL里);

响应体:比如服务器返回的HTML和JSON数据就放在这里。

常见的请求头有哪些


User-Agent:模拟浏览器访问;

Cookie:模拟用户登录信息;

Host:访问网址的IP是什么;

Accept:可接受的网页格式是什么;

Accept-Language:可接受的语言是什么;

Accept-Encoding:可接受的编码格式。

常见的状态码有哪些

200/OK: 请求成功;

201/Created: 请求已被实现,且一个新资源已根据请求被建立,URI跟随Location头信息返回;

202/Accepted: 服务器已接受请求,但尚未处理;

400/Bad Request: 请求无法被服务器理解;

401/Unauthorized: 当前请求需要用户验证;

403/Forbidden: 服务器已理解请求,但拒绝执行;

404/Not Found。

响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误


1xx 接收部分数据;

2xx 成功;

3xx 重定向错误;

4xx 客户端错误;

5xx 服务器错误。

TCP 和 UDP 的区别

TCP 是面向连接的,UDP 是面向无连接的;

UDP程序结构较简单;

TCP 是面向字节流的,UDP 是基于数据报的;

TCP 保证数据正确性,UDP 可能丢包;

TCP 保证数据顺序,UDP 不保证。

什么是面向连接,什么是面向无连接

在互通之前,面向连接的协议会先建立连接,如 TCP 有三次握手,而 UDP 不会。

TCP 为什么是可靠连接

通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。;

TCP 报文头里面的序号能使 TCP 的数据按序到达;

报文头里面的确认序号能保证不丢包,累计确认及超时重传机制;

TCP 拥有流量控制及拥塞控制的机制;https://www.chessfanclub.com

TCP 的顺序问题,丢包问题,流量控制都是通过滑动窗口来解决的;

拥塞控制时通过拥塞窗口来解决的。



0人推荐
随时随地看视频
慕课网APP