manzi

导航

网络基础之七层概念

最近学习高并发及负载均衡,不得不先了解网络基础原理,为了以后方便,在此整理笔记,如有不同见解,欢迎指正

一、简单介绍

七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通讯系统间互联的标准体系。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。
ISO 就是 Internationalization Standard Organization(国际标准组织)。

二、模式优点

建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。它的最大优点是将服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。网络七层的划分也是为了使网络的不同功能模块(不同层次)分担起不同的职责,从而带来如下好处:   
● 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错;   
● 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行;   
● 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手术;   
● 便于研究和教学。

三、功能介绍

四、白话简述数据传输流程

应用层,是离用户最接近的一层,及用户软件、浏览器;

表示层,表示什么样的形式传输数据,json字符串?xml?二进制编码?

--------------------应用层

会话层,长连接?,短连接?还是直接发送?

传输层,具体传输方式,过程

-------------------传输控制层

网络层,寻址,找目标在哪儿

------------------网络层

链路层,建立链路连接

物理层,通过什么介质传输,卫星?网线?无线?

-----------------链路层

 

用户传输数据到服务器,应用层首先要根据TCP\IP协议将数据封为数据包,就是报文,加上服务器IP端口号,准确的说可能是服务器VIP的地址,然后传输控制层控制此请求和服务器之间的三次握手和四次分手,这个是基于TCP协议(面向连接、可靠的数据流传输),UDP(非面向连接的、不可靠的数据流传输)不需要,然后数据包丢给网络层,网络层根据服务器IP地址寻找位置,由于一般服务器和客户端并不在同一个网段内,所以网络层会根据路由表掩码按位与计算出该地址的下一跳(下一跳肯定是在同一局域网),然后链路层根据ARP协议及数据表找出下一跳Mac地址,过程会用到交换机广播,然后继续封装数据到物理层,到主机接收请求,返回接收请求确认包

浏览器找kernel内核建立连接,也就是找4层的传输控制层,此时内核创建握手第一个数据包,走网络层寻找下一跳,然后到链路层,链路层再阻塞按ARP协议广播,返回一个MAC地址,然后封装数据包,继续传输数据包到服务器传输控制层,服务器一样返回确认包到客户端传输控制层,控制层再次发送确认包到服务端控制层,此时两者建立好连接,开辟资源,客户断控制层向上返回请求真实数据包,服务器抛出线程,交互到四次分手,期间三次握手到四次分手都是点对点

 

posted on 2019-04-27 08:21  manzi  阅读(840)  评论(0编辑  收藏  举报