网络编程-03大白话OSI七层协议

互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不一样,分工不一样,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。网络

我的理解做用: 能够用来指导遇到的网络问题经过七层协议来找到问题所在tcp

每一层都运行不一样的协议。协议是干什么的,协议就是标准。接口

实际上还有人把它划成五层、四层。ip

七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。路由

五层划分为:应用层、传输层、网络层、数据链路层、物理层。开发

四层划分为:应用层、传输层、网络层、网络接口层。效率

一丶物理层

物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0路由器

中间的物理连接能够是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。互联网


二丶数据链路层

数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思udp

数据链路层的功能:定义了电信号的分组方式

早期的时候,数据链路层就是来对电信号来作分组的。之前每一个公司都有本身的分组方式,后来造成了统一的标准,即以太网协议ethernet

ethernet规定:一组电信号构成一个数据报,叫作'帧',每一数据帧分红:报头head和数据data两部分

 * head包含:(固定18个字节)

  * 发送者/源地址,6个字节

  * 接收者/目标地址,6个字节

  * 数据类型,6个字节

 * data包含:(最短46字节,最长1500字节)

 * 数据报的具体内容:head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

这就像写信,发送者的地址(源地址)就是你家的地址,接收者地址(目标地址)就是对方的收信地址,你家的路由器就至关于邮局。其实在计算机通讯中的源地址和目标地址指的是Mac地址。

2.2 Mac地址

head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具有网卡,发送端和接收端的地址即是指网卡的地址,即Mac地址

 * Mac地址:每块网卡出厂时都被烧制上一个世界惟一的Mac地址,长度为48位2进制,一般由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

广播地址

有了Mac地址之后,计算机就能够通讯了,假设一个教室就是一个局域网(隔离的网络),这个教室里面有几台计算机.
计算机底层,只要在一个教室里(一个局域网),都是靠广播的方式,吼。
广播出去之后,全部人都听得见,全部人都会拆开这个包,读发送者是谁,接收者是谁,只要接收者不是本身就丢弃掉。

注意:在讲网络层以前,其实基于广播的这种通讯就能够实现全世界通讯了,你吼一声,若是全世界是一个局域网,全世界的计算机确定能够听得见,从理论上彷佛行得通,若是全世界的计算机都在吼,你想想,这是否是一个灾难。所以,全世界不能是一个局域网。因而就有了网络层。


三丶网络层

网络层功能:引入一套新的地址用来区分不一样的广播域/子网,这套地址即网络地址

网络层定义了一个IP协议,
往外传的东西交给负责人就能够了,内部的话上面已经提到,经过广播的方式,对外的东西广播失效。教室的负责人就是网关,网关即网络关口的意思。

Mac地址是用来标识你这个教室的某个位置,IP地址是用来标识你在哪一个教室(哪一个局域网)。
在吼以前怎么知道对方的Mac地址?这就得靠ARP协议。

注意:网关帮你去找飞哥,但对用户来讲,因为速度太快咱们根本就感受不到网关的存在。

IP协议
规定了只要是接入互联网的计算机都必须有一个IP地址
ip地址特色:点分十进制
ip地址最小:0.0.0.0
ip地址最大:255.255.255.255
ip地址目前有两个版本:IPV4 IPV6(因为IPV4已经不够表示目前存在的计算机了 因此推出了IPV6版本)

IP地址是动态分配的


四丶传输层

传输层的由来:网络层的IP帮咱们区分子网,以太网层的Mac帮咱们找到主机,而后你们使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序。

那么咱们经过IP和Mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。

传输层功能:创建端口到端口的通讯

补充:端口范围0-65535,0-1023为系统占用端口

有了Mac地址+IP地址+端口,咱们就能肯定世界上独一无二的一台计算机上的应用程序

TCP协议

 * 可靠传输,TCP数据包没有长度限制,理论上能够无限长,可是为了保证网络的效率,一般TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包没必要再分割。

UDP协议

 * 不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。


五丶应用层

应用层由来:用户使用的都是应用程序,均工做于应用层,互联网是开发的,你们均可以开发本身的应用程序,数据多种多样,必须规定好数据的组织形式

应用层功能:规定应用程序的数据格式。

例:TCP协议能够为各类各样的程序传递数据,好比Email、WWW、FTP等等。那么,必须有不一样协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

相关文章
相关标签/搜索