06网络参考模型

一、为什么要有网络参考模型?

回到之前网上购物的实例。
卖家只需要把自己的产品做好就行,关于产品的运输可以直接交给快递公司来做,而快递小哥也只需要考虑如何将卖家交付的包裹送到快递集散中心,至于快递集散中心接下来怎么发到买家的城市,也无需考虑。这样各司其职,只负责自己的工作效率又高,又专业网络通信中也是一样APP开发者,只需要专注自己的软件设计,交换机只需要关注怎么帮终端设备(如服务器、手机等)转发数据,各司其职,都做自己专业的,利于技术的发展和故障的排查。

二、QSI模型

在这里插入图片描述

1.应用层

是面向用户的APP,承载用户的数据,微信聊天的文字图片,抖音观看的视频等都属于应用层数据

2.表示层

计算机用自己的编码方式对用户的数据进行编码,如用jpeg编码方式来表示各种图片数据,用MP3编码方式来表示各种声音数据,当然某公司为了安全起见,也可以独创一套只有自己才能识别的编码方式来表示数据。

3.会话层

两个程序之间的接口,如美团APP可以调用微信支付,就是通过二者之间的会话成接口。

4.传输层

用来建立TCP或者UDP连接,并给数据报文打上端口号 。
TCP和UDP的连接区别就是TCP传输可靠性高,但是速度慢,延迟高,UDP刚好相反,根据不同的应用场景按需选择。
给报文打上端口号的作用,接收方可以识别报文属于什么应用程序,如80是网页的数据,4000是qq的数据。

5.网络层

给数据包打上IP地址用于路由转发,有了IP地址网络设备才知道数据包应该发往互联网上的哪一个位置。

6.数据链路层

给数据包打上MAC地址,MAC地址是两个直连节点通信的方式,如多台电脑连接在交换机上,交换机给其中一台电脑发数据的时候,必须知道这合电脑的 MAC地址。

7.物理层

把封装好的数据包用物理信号表示

三、TCP/IP参考模型

TCP/IP模型对OSI模型进行了简化,将OSI模型的上三层进行了合并,下两层也进行了合并。
实际工作中,一般倾向于上三层合并,下两层依然分开看,就是常说的TCP/IP 对等模型。

在这里插入图片描述

1.应用层

HTTP

超文本传输协议,提供浏览网页服务

Telnet

远程登录协议,提供远程管理服务

FTP

文件传输协议,提供互联网文件资源共享服务

SMTP

简单邮件传输协议,提供互联网电子邮件服务

TFTP

简单文件传输协议,提供简单的文件传输服务

2.传输层

TCP

为应用程序提供可靠的面向连接的通信服务

UDP

提供了无连接通信,且不对传送数据包进行可靠的保证

3.网络层

IP

将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务

IGMP

负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成成员关系。

ICMP

基于IP协议在网络中发送控制信息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题进行诊断,然后采取适当的措施解决。

4.数据链路层

Ethernet

一种多路访问广播型数据链路层协议,是当前应用最广泛的局域网技术。

PPP

一种点对点模式的数据链路层协议,多用于广域网。

PPPoE

Point-to-Point Protocol over Ethernet,以太网承载PPP协议:常用的应用有家庭宽带拨号上网

四、TCP和UDP报头

TCP报文头部

Source Port

源端口,标识哪个应用程序发送。长度为16比特

Destination Port

目的端口,标识哪个应用程序接收。长度为16比特

实例

以浏览网页的时候,客户端(网页浏览器)向服务器(网站)请求下载网页为例。

客户端向服务器发了一个请求报文,这个报文的源端口是客户端网页浏览器的端口,目标端口就是网站的web服务软件

在这里插入图片描述

Sequence Number

序号字段。TCP链接中的每个报文都有序列号。长度为32比特。

Acknowledgment Number

确认号,用于对接收到的报文的确认。

Header Length

头部长度,TCP报文头部长度,默认情况下,TCP头部为20字节。

Control bits

控制位,包含FIN、ACK、SYN等标志位,各个标志位的作用

Window

窗口TCP的流量控制,这个值表明当前接收端可接收的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。

Checksum

校验字段,由发端计算和存储,并由收端进行验证,用于校验数据传输中是否有损坏。

UDP报文头部

Source Port

源端口,标识哪个应用程序发送。长度为16比特。

Destination Port

目的端口,标识哪个应用程序接收。长度为16比特。

Length

报文总长度

五、TCP三次握手

在这里插入图片描述

PC1找PC2,PC1向PC2发送源地址为1.1.1.1,目标地址为2.2.2.2的握手请求,想和PC2建立连接通信。

Seq:请求包序列号,ACK(acknowledgement 确认) ,SYN(synchronous建立联机)

怎么才算一个请求?当SYN置位(二进制位要么是0要么是1)才算一个请求

怎么才算与PC1建立连接?当ACK置位才算同意建立连接

过程:PC1找得到PC2,PC2也找得到PC1

六、TCP确认机制

在这里插入图片描述

假设PC1给PC2发送一段数据。传输过程如下:

  1. PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为“a+1”,第二个字节的序号为“a+2”,依次类推。
  2. PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number),然后将TCP报文发送出去
  3. PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确定下一段数据么?序列号(a+1)+载荷长度=下一段数据的第一个字节的序号(a+1+12)
  4. PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12”,说明“a+1”到“a+12”这段数据已经被接受,需要从“a+1+12”开始发送。为了提升发送效率,也可以一次性发送多段数据,由接收方统一确认。

七、TCP滑动窗口

在这里插入图片描述

作用

TCP为了保证数据的稳定性,可以动态调整数据发送的速度,接收方传输快的就发送快

过程

  1. 在TCP三次握手建立连接时,双方都会通过window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)
  2. 连接建立成功之后,发送方会根据宣告的window字段进行传输

八、TCP四次挥手

四次挥手是相对于三次握手的来建立连接,在根据四次挥手断开连接

在这里插入图片描述

九、网络层协议

在这里插入图片描述

当采用IP作为网络层协议时,通信的双方都会被分配到一个“独一无二”的IP地址来标识自己。IP地址可被写成32位的

二进制整数值形式,但为了方便人们阅读和分析,它通常被写成点分十进制的形式,即四个字节被分开用十进制表示,中间有点分隔,比如192.168.1.1。

IP数据包的封装与转发

网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中。

中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”----路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。

IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。

除了IP协议外,网络层中还有如OSPF、IS-IS/BGP等各种路由协议帮助路由器建立路由表,ICMP帮助进行网络的控制和状态诊断。

十、链路层协议-以太网

以太网MAC地址:独一无二的地址,厂家地址+产品标识

工作在数据链路层的设备。例如以太网交换机,会维护一张MAC地址表,用于指导数据帧转发。

利用ARP协议进行mac和ip地址的发送

十一、常见物理层传输介质

双绞线(网线)、光纤(超过100米,园区使用)、同/异步串口电缆(广域网)、无线电磁波等

十二、数据通信过程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值