网络基础知识

来源:互联网 发布:mt7688 linux 编辑:程序博客网 时间:2024/06/15 13:47

一:协议:
日常生活中我们经常我听到各种各样的口头上的协议,比如拔河比赛,大家一起按照首先约定好的口号,123一起发力等等这样的栗子不胜枚举,我们把双方之间的约定就叫做协议,当前在网络当中也有各种各样的协议.为了更好的理解他们我们先从网络的分层开始.
二:到底是7层还是4层?
目前我们所熟知的有OSI(开放系统互联)七层模型,还有就是非常有名的TCP/IP协议.
为什么要分层呢?
分层的目的是便于维护,在软件工程中分层又称为解网.
我们看下他们的参考模型也一探究竟.
这里写图片描述
TCP/IP层次结构:
这里写图片描述
TCP/IP四层模型
所谓的TCP/IP是一组协议的代名词,它还包括许多协议,组成TCP/IP的协议簇
TCP/IP通信协议,采用的四层的层级结构,每一层都是呼叫下一层的网络来完成自己的需求
(1)应用层主要是程序间沟通的层,如文件传输协议FTP,网络远程访问协议Telent.
(2)传输层顾名思义就是进行数据的传送服务,如传输控制协议TCP,用户数据报协议UDP,TCP和UDP主要负则给数据包加入传输数据并把它传输到下一层,这一层主要是负责传送数据,并且确定数据已被床送并接受.这个过程有点像快递公司的快递小哥负责把网购的商品从卖家送到顾客手中的过程.
(3) 互联网络层:负责提供数据包床送功能,让每一块数据包都能达到目的主机,常见的如忘记协议(IP)
(4)网络接口层:对实际的网络媒体的管理,定义如何使用手机网络(Ethernet等等)来传送数据.
OSI七层模型:
OSI(开放系统互连),它把网路从逻辑上分为7层.每一层都有相关联,相对应的物理设备比如路由器,交换机(关于路由器和交换机我们稍后分析)OSI七层模型是一种框架性设计方法,建立七层模型的主要目的是为解决异种网络互连所遇到的兼容问题,主要功能使不同类型的主机实现数据传输,优点是将服务,接口,协议这三个概念区分开.

通过上面的介绍无论是OSI七层还是TCP/IP四层只是适用的场景不同.但是开发的工程中我们还是习惯用TCP/IP协议.
三:TCP/IP协议栈与数据包封装
TCP/IP网络协议栈分为应用层(Application),传输层(Transport),网络层(Network),和链路层(Link)四层
这里写图片描述
两台计算机通过TCP/IP协议通讯的过程
TCP/IP通讯过程
这里写图片描述
以太网:又称局域网,在局域网中的两台主机可以直接通信,
我们再来解释交换机的概念,交换机就是起到交换数据的作用.
既然局域网可以直接通信,那么就有可能出现这种情况,在局域网中同时有多态主机通知发数据,就可能造成冲突的问题,为了避免冲突引入交换机,这样可以降低冲突的概率.
转发数据帧.

注意:局域网有且只有一个人,或着一台主机向局域网发送数据.
下三层(链路层,网络层,传输层)主要由内核提供主要处理通信的细节,应用层主要处理应用程序细节.
应用层数据通过协议栈发到网络上,每层协议都要加上数据首部,成为封装.
四:TCP/IP数包的封装
这就需要了解数据包的概念.
这里写图片描述
不同的协议层对数据包有不同的称呼,在传输层叫段,在网络层叫数据报,在链路层叫做帧.
注意:数据包在发送之前,自己必须是自上向下贯串自己的协议栈.
具体过程:
(1):每一层都认为上一层交给的是数据,但是对里面具体的数据不关心.例如:快递员并不关心自己发送的是什么商品,他只在乎包装盒上的信息(数据)如联系方式,地址,电话等等
(2):,每层封装包头,对包头和应用数据进行分离,去掉包头的数据叫做有效载荷(也就是上一层提供的数据)
(3):接收方收到头包文,一次自下向上解包并且分用包文,主要将有效载荷交给上层.
2:数据包成功交付的条件:
a:当前层必须将包头和有效载荷分离
b:当前层必须从包头提取有效数据决策,指明有效载荷,并且交给哪一层协议(称为复用)
五:路由器:
数据从一台计算机到另外一台计算机传输过程必须经过路由器:
路由器(网络层)可以将数据跨网络传输
这里写图片描述
1:这里面我们了解IP地址,
IP地址:
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,又称网络之间互联的协议,通常是4个字节
mac地址:
用来表示互联网上每一个站点的标识符,长度是48bit,一般是6分字节.
可能这样我们还是无法理解,我们再来举一个简单的例子来理解一下:
假如我们在网上买了一双鞋,发货的地址在福建泉州,收货的地址在西安.西安和泉州分别作为出发地和目的地.是唯一的.IP地址就是起到一个唯一的标识.
而mac地址是标识中间的许多中转站.中转站是变化的,而目的地和出发地是不变的这就是ip和mac的区别.
2:如何进行通信的?
这里写图片描述
当然这还是一些基础的知识,具体的协议的功能我们下次再来了解.