Network笔记整理 - 网络协议与网络分层

《圣经》中有一个通天塔的故事,上帝为了阻止人类联合起来,就让人类说不同的语言。人类没法儿沟通,达不成“协议”,通天塔的计划就失败了。

千年之后,一群工程师为了解决这一问题,制定了各种协议与标准,让各种设备可以通过协议通信,进而通过互联网实现了让世界互联.

就像我们现在写的代码,用着通用的程序语言,世界也就随之打通了.我们的计算机语言也算是一种协议.

想要让世界互联,让计算机们都联合起来,就必须要用到网络协议让他们相互协作,来完成共同的目标.

协议三要素

(1) 语义。每一段内容需要代表某种意义 (2) 语法。每一段内容符合一定规则的格式, (3) 时序。每一段任务的执行顺序.

网络分层

网络分层就是将网络节点所要完成的数据的发送或转发、打包或拆包,控制信息的加载或拆出等工作,分别由不同的硬件和软件模块去完成。

简单的来说一个完整的HTTP请求,途中需要经过数次传送,期间需要不通的都软件与硬件模块去完成相应的工作. 我们对相应的阶段的不通特性做出来相应的分类.每种网络分层,都有相应的协议标准做数据传送.

就像是一家公司,不通层级的人会用着不通的沟通方式来打交道.网络也大概如此.

我们常用的网络协议有哪些?

我们的网络在通讯过程中,要通过哪些设备,哪些协议才能做到一次完整的通讯?

网络层次可划分为五层因特网协议栈和七层因特网协议栈

五层模型

因特网协议栈共有五层:应用层、传输层、网络层、链路层和物理层。不同于OSI七层模型这也是实际使用中使用的分层方式。 (1)应用层 支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。 (2)传输层 负责为信源和信宿提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输控制协议即TCP和用户数据报协议UDP。 (3)网络层 负责将数据报独立地从信源发送到信宿,主要解决路由选择、拥塞控制和网络互联等问题。 (4)数据链路层 负责将IP数据报封装成合适在物理网络上传输的帧格式并传输,或将从物理网络接收到的帧解封,取出IP数据报交给网络层。 (5)物理层 负责将比特流在结点间传输,即负责物理传输。该层的协议既与链路有关也与传输介质有关

五层模型对应的协议

物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等

数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP 等

网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP等

传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等

应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP · RIP 等

七层模型

第一层 - 物理层

功能:传输信息的介质规格、将数据以实体呈现并传输的规格、接头规格 

1、该层包括物理连网媒介,如电缆连线、连接器、网卡等。 

2、物理层的协议产生并检测电压以便发送和接收携带数据的信号。 

3、尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数 

例:在你的桌面P C 上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。

第二层 - 数据链路层

功能:同步、查错、制定MAC方法 

1、它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。 

2、帧(Frame)是用来移动数据的结构包,它不仅包括原始(未加工)数据,或称“有效荷载”,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。 

3、通常,发送方的数据链路层将等待来自接收方对数据已正确接收的应答信号。 

4、数据链路层控制信息流量,以允许网络接口卡正确处理数据。 

5、数据链路层的功能独立于网络和它的节点所采用的物理层类型。 

Note:有一些连接设备,如网桥或交换机,由于它们要对帧解码并使用帧信息将数据发送到正确的接收方,所以它们是工作在数据链路层的。

第三层 - 网络层

功能:定址、选择传送路径 

1、网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B 的最佳路径。 

2、在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。 

3、网络层协议还能补偿数据发送、传输以及接收的设备能力的不平衡性。为完成这一任务,网络层对数据包进行分段和重组。 

4、分段和重组 是指当数据从一个能处理较大数据单元的网络段传送到仅能处理较小数据单元的网络段时,网络层减小数据单元的大小的过程。重组是重构被分段的数据单元。  Note 1、网络层的分段是指数据帧大小的减小,而网络分段是指一个网络分割成更小的逻辑片段或物理片段。 

Note 2、路由器:由于网络层处理路由,而路由器因为连接网络各段,并智能指导数据传送,所以属于网络层。 Note 3、 TCP/IP协议中IP属于网络层;IPX/SPX协议中IPX也属于网络层

第四层 - 传输层

功能:编定序号、控制数据流量、查错与错误处理,确保数据可靠、顺序、无错地从A点到传输到B 点 

1、因为如果没有传输层,数据将不能被接受方验证或解释,所以,传输层常被认为是O S I 模型中最重要的一层。 

2、传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。 

3、传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割并编号。例如:以太网无法接收大于1 5 0 0 字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。 

4、在网络中,传输层发送一个A C K (应答)信号以通知发送方数据已被正确接收。如果数据有错或者数据在一给定时间段未被应答,传输层将请求发送方重新发送数据。 NOTE:工作在传输层的一种服务是TCP/IP协议套中的T C P(Transfer Control Protocol 传输控制协议),另一项传输层服务是IPX/SPX协议集的S P X( Serial package Exchange 序列包交换)

第五层 - 会话层

功能:负责在网络中的两节点之间建立和维持通信。 

1、会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送 例:使用全双工模式或半双工模式,如何发起传输,如何结束传输,如何设定传输参数 

2、会话层通过决定节点通信的优先级和通信时间的长短来设置通信期限。

第六层 - 表示层

功能:内码转换、压缩与解压缩、加密与解密,充当应用程序和网络之间的“翻译官”角色。

1、在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换 

2、表示层协议还对图片和文件格式信息进行解码和编码。 

3、表示层管理数据的解密与加密,如系统口令的处理。如果在Internet 上查询你银行账户,使用的即是一种安全连接。

第七层 - 应用层

功能:指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件 

1、术语“应用层”并不是指运行在网络上的某个特别应用程序,而是提供了一组方便程序开发者在自己的应用程序中使用网络功能的服务。 

2、应用层提供的服务包括文件传输(FTP)、文件管理以及电子邮件的信息处理(SMTP)等。

比喻

像发快递的过程(http,应用层), 你向顺丰下单(第一次请求), 顺丰接单(应答), 你向手机小伙联系(回应应答), 你将消息放进盒子里(开始封装请求,会话层), 快递员封装一层盒子贴上快递单带回网店(传输层), 到快递点检查是否区域快件(网络层), 各个快递转运中心(物理层), 快件到达收件市转运中心(物理层), 转运输车(链路层), 到达区域分发(网络层), 网点派送(传输层), 快递员方面签收(会话层), 拆开检查(表示层), 收到快递(应用层)。

本文链接:

https://alili.tech/archive/ef96a5b6/