目录
分层模型:
定制协议目的:把复杂问题简单化
分层思想:(了解架构存在的意义)
通信需求 ~~> (双方要定制好标准,此标准称为协议,任何两个点通信必须协议达成一致 )定义协议标准
完成一件事,需要的协议太多,不分层很难设计出来。~~>需要分层
所有的标准都是有关联的,下层为上层提供服务,但每一层的工作都是独立的
概念:将复杂的流程分解俄日几个功能相对单一的子过程
——使整个流程更加清晰,复杂问题简单化
——更容易发现问题并针对性的解决问题,效率会越来越高
分层思想在编程中的应用:
假如在程序当中想打印名字:
print(“zhanghe”)
这样没有问题,但假如这个程序有几万行,现在要把zhanghe改变成zhangjia的话,那么肯定要改好多行,很不方便,假如我们使用分层的思想,我们可以把zhanghe定义一个变量,改动时只改动一个变量即可,如下:
NAME=‘zhanghe’
print(NAME)
eg:
交换机,防火墙,路由器,电脑各司其职
不分层(综合设备)的结果:造价高
为了把复杂问题简单化,将架构分三层:
(同层使用相同协议,但每一层都是独立的 )
写信人与收信人
邮局
运输部门
OSI七层模型(IP,互联网中)
通信~~>协议 ~~>协议分层 ISO(国际标准组织)发布了OSI参考模型 ~~> OSI7层模型
OSI(open system interconnection)是开放的通信系统互联参考模型
电脑(综合体)可完成整个七层工作(全世界统一)
表示层和会话层被应用层吞并 ~~> 诞生了TCP/IP五层协议栈
传输层中有一个重要协议:TCP协议
OSI七层模型与TCP/IP五层协议站 同时诞生,OSI先有模型,TCP/IP先有协议
后来将数据链路层,物理层合并为同一层,称为网络接口层
称为TCP/IP四层
可以与世界通信
TCP/IP五层协协议簇/协议栈
应用层
传输层
网络层
数据链路层
物理层:网线只能完成这一层功能
数据传输过程:
(1)数据的封装与解封装过程:
应用层:人类可以直接使用的软件
eg:
在QQ软件中写:hello(由应用层的软件生成)
回车后,hello传到传输层,封装(相当于给信加上信封)
TCP与UDP的共同的功能:判断hello是从应用层中的什么软件传下来的,检查端口号,显示源端口,精确控制(QQ服务器),目标端口
TCP与UDP的区别:
UDP:无连接服务。
传送快,尽最大努力交付,即不保证可靠交付,但没有任何的防御能力,不可靠传输
适用于对高速传输和实时性有较高的通信或广播通信。
UDP支持一对一,一对多,多对一和多对多的交互通信
不会向TCP一样先建立一个连接,而是直接传递,不管对方是否存在,也不管对方是否正常。
TCP:面向连接。提供可靠的数据传输。需要建立连接,连接中有数据重传机制。通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
每一条TCP连接只能是点到点的
传输层功能:通过端口号完成进程到进程的通信
解释:一个电脑可能有多个进程同时在使用网络连接,当网络包达到主机之后,传输层会将数据正确递交给某个应用程序。
提供了应用程序间的通信,它负责数据能够从发送端传输到接收端。
功能:
一、格式化信息流
二、提供可靠传输
为实现可靠传输,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
只有应用层的协议才有端口号
端口号:
表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务
端口号标识了一个主机上进行通信的不同应用程序。在TCP/IP协议中, 用"源IP", "源端口号", "目的IP", "目的端口号", "协议号" 这样一个五元组来标识一个通信(可以通过 netstat -n查看,协议号指的是那个使用协议)。 一个进程可以绑定多个端口号,但是一个端口号不能被多个进程绑定。
网络层:完成点到点的通信
有IP协议,有IP包头,把原IP和目标IP写入
数据链路层:
交换机(只能识别MAC地址,根据它来交换数据)工作在数据链路层,网络层的IP数据报传送到数据链路层就成为帧的数据部分。在帧的数据部分的前面和后面分别添加上首部和尾部,就构成了一个完整的帧(Frame)。
MAC子层含原MAC地址和标MAC地址,给交换机看
FCS:校验手段,有四个字节,循环校验算法
网线只识别数字信号
(2)数据的解封装过程
对方的网卡接收到:
一个数据流是由若干个帧组成的
最古老的防火墙只工作在网络层,进行数据过滤
物理层:physical layer(层)
为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。是介质和信号
1.设备(传输介质):网线(传输最大距离100米)/光纤/空气
2.比特bit
8 bit=1 Byte
(数字信号)
1024B=1KB
1024KB=1M(一百万)
1024MB=1GB
1024GB=1TB
1024TB=1PB
信号:
模拟信号:无法复原,会失帧(衰减,噪音),可用放大器解决,但模拟信号中的噪音也会被放大,所以放大器只能为模拟信号提供远距离传输
数字信号:抗干扰能力强,但传输距离短,值是固定的,可复原,经过中继器(数字设备都有中继器的作用)可复原
模拟信号,数字信号统称电信号
光信号
总结:
TCP/IP 5层协议簇/协议栈
数据/PDU 应用层 PC/防火墙
数据段/段(Fragment) 传输层 防火墙
报文/包/IP包(packet) 网络层 路由器
帧Frame 数据链路层 交换机 网卡
比特bit 物理层 网线
一个电脉冲是一个比特,电脉冲组合在一起,叫数字信号,也叫比特流
8bit = 1 Byte字节
协议
应用层:HTTP HTTPS SSH Telent FTP DHCP SMTP
80 443 22 23 20/2167/68 25
POP3 RDP SMB Mysql
传输层: TCP UDP
网络层: ICMP IP ARP
数据链路层: MAC子层协议
物理层: 比特流
客户机向服务器发送请求时,使用UDP协议
只有IP协议可以封装IP包头,只有IP包头可以封装源IP和目的IP
数据封装关联图: