osi七层协议
osi七层协议
实现远程通信具备:
- 物理连接介质——> 网卡
- 互联网协议:计算机之间沟通的介质“互联网协议”
互联网的本质就是一系列的网络协议,这个协议就是osi。(osi是open system interconnection的缩写)。按照分工的不同,人为划分为七层,
从下往上分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
物理层
物理层:物理传输,在不同地方的电脑想要通信必须,电脑要插一根网线、路由器,才可以实现。也就是说要有物理介质连接,
中间的物理链接可以是光缆、电缆、双绞线、无线电波,基于电信号发送二进制数据0100010101。
但是一堆二进制数据没有分组,不知道什么意思,这就要交给数据链路层处理。
数据链路层
数据链路层的“以太网协议”, 专门用于处理基于电信号发送二进制的数据。
以太网协议:
- 规定好电信号数据的分组方式
- 每一台连接网线的电脑都必须要有一块网卡,发送端的和接收端的地址就是网卡的地址,即mac地址
mac地址
网卡由不同厂商生产,每块网卡出厂都会被烧录上实际上唯一的mac地址,由48位二进制组成,通常用12位16进制表示,前6位是厂商编号,后6位是流水线号
有了mac地址计算机就可以通信了。假设一个教室就是一个局域网,教室里有几台计算机,计算机的通信就使用广播的方式,靠吼。
比如说我想找老张要片,我得知道自己的mac地址和老张的mac地址,这两个地址做数据包的头部,再加上数据片就构成了一个数据包。
这样发送出去,然后就通过广播的方式,在教室的所有人都听到了,都会拆这个数据包,看是找谁的,只要不是找自己的就丢掉,其实就是再看想找那个mac地址,找的是老张,这样老张就会收到消息并把片发给我。这就是局域网通信。
但我有事找老王,他在隔壁教室,这样他就听不到我广播了,这就得交给网络层来处理了。
网络层
ip协议
有两种版本,一个是ipv4,另一个是ipv6
ipv4是由32位二进制组成,32位分成4组,8位一组换算成10进制显示,采用点分制。范围从0.0.0.0
到255.255.255.255
通过ip协议可以跨局域网通信。我想找隔壁教室的老王,我在自己教师广播,他肯定是听不到的。那么我就得找教室负责人,把东西交给负责人,让他去找隔壁教室负责人,说我想找你教室的老王,然后把东西交给负责人,让负责人带话给老王。负责人就是网关。
mac地址是用来标识你这个教室的某个位置,ip地址是用来标识你在哪个教室(哪个局域网)。你要跨网络发包你是不是要知道对方的ip地址,比如你要访问百度,你肯定得知道百度服务器的ip地址。计算机在发包前,会判断你在哪个教室,对方在哪个教室,如果在一个教室,基于mac地址的广播发包就ok了;如果不在一个教室,即跨网络发包,那么就会把你的包交给教室负责人(网关)来转发。mac地址及ip地址唯一标识了你在互联网中的位置。
arp协议
ip地址与mac地址的映射关系
传输层
传输层建立端口到端口的通信
端口标识主机上的应用程序,是应用程序与网卡关联的编号
端口范围:0-65535,前1024个端口为系统占用
有了ip地址+mac地址+端口,我们就能确定世界上唯一的计算机的应用程序
tcp协议
- 可靠传输,提供的是流式协议为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行管理。 而可靠的传输服务是指, 能够把数据准确可靠地传给对方。 即tcp 协议为了更容易传送大数据才把数据分割, 而且 tcp 协议能够确认数据最终是否送达到对方。所以,tcp连接相当于两根管道(一个用于服务器到客户端,一个用于客户端到服务器),管道里面数据传输是通过字节码传输,传输是有序的,每个字节都是一个一个来传输。
udp协议
无连接协议,不可靠传输
应用层
用户使用的程序都是应用程序,均工作于应用层,规定了应用程序的数据格式
上一篇: EM无法连接到数据库实例 解决方案