一:分层思想
通信需求 —-> 定义协议标准
两个设备进行通信时,需要协议达成一致
例如:一个人喝牛奶,他并不需要明白牛奶是怎么做出来的,他只要会用嘴喝就可以了,而牛奶的
制作过程需要经历 挤奶–> 消毒—->包装 —> 运输 —> 超市售卖 等过程,每一个过程我们可以说是一个协议,是通过复杂的流程让人可以喝到牛奶
而协议太多,需要进行分层,使复杂的事情简单化,且更容易发现问题并针对性的解决问题,每个协议之间下层服务上层,每层独立,各司其职
此过程放到计算机的通信上,科学家们聚在一起组成一个组织,为国际标准组织(ISO),组织发布了OSI参考模型
二:OSI七层模型
OSI(Open System interconnection)是开放的通信系统互联参考模型
同层使用相同协议,我们目前的电脑是可以识别这七层
三:TCP/IP五层模型
应用时,这两层从来没有独立实现过,都是和应用层在一起实现 于是合并成应用层
tcp要求的是安全性
udp要求的是性能
每层的具体作用:
应用层:
向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。
代表设备:PC/防火墙
代表协议:HTTP(80) HTTPS(443) SSH(22) Telnet(23) FTP(20/21) DHCP(67/68) SMTP(25) POP3(110) RDP(3389) SMB(445) Mysql(3306) DNS(53)
表示层:
会话层:
应用建立和维持会话,并能使会话获得同步
传输层:
提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
代表设备:防火墙
代表协议: TCP(关联应用层协议:除 67/68 都有关联) UDP(关联应用层协议:53,67/68 ,445) 其中 DNS 既用UDP也用TCP ,客户机向服务器发送请求的时候一律使用
UDP 服务器向服务器发送请求使用TCP,TCP在丢包时会不断重新传输
网络层 :
负责相邻计算机之间的通信。其功能包括三方面。
一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
二、处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
三、处理路径、流控、拥塞等问题。
代表设备:路由器
主流协议: ICMP IP (与传输层有关联:只有这个协议可以封装IP包头) ARP
为了表达这个协议模型的重要性,便将其叫做TCPIP五层模型
数据链路层:
这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。机械的将数据送出去,所以上三层数据不能丢和被修改
代表设备:网卡 交换机
主流协议:MAC子层协议(相当加了个火车头)
物理层:
以二进制数据形式在物理媒体上传输数据 bit流
代表设备:网线
打个比方吧:在QQ上发送信息 “CNM“ 然后我们放慢亿倍看,CNM会先从应用层到电脑里的传输层,然后传输层给这条消息加上(TCP/UDP 头)(即进行封装,形成段(Fragment)),TCP/UDP会判断cnm这个消息
是从应用层的哪个软件上下来的,然后检查这个软件的端口号(每个联网的软件都有端口号,其在应用层),对应为源端口,传输到目标端口,传输层的工作就是完成进程到进程的通信
信号传输到网络层之后,网络层(有IP协议)会给信息再加一个IP包头(写入源IP和目标IP等内容packet),形成IP包 网络层的工作就是点到点的通信(在网络上任何一台电脑都称为是互联网上的一个点)
然后传输到数据链路层,交换机在这一层工作,它能识别MAC地址,于是它在IP包里又加了两个东西:MAC子层(源MAC地址,目标MAC地址),网卡在包上也加了个FCS (算法得出的固定的值(fcs),验证数据完整性), 共组成帧(Frame)
这个过程叫数据封装过程
最终到达对方的网卡。。。。。
TCP/IP四层模型
底下的两层合并成网络接口层,作用是让上三层数据和世界连接的一个接口
往后续更
,