目录
1.介绍协议
基础知识
协议
协议分层
OSI七层模型
2.TCP/IP五层模型
3.网络传输的基本流程
1.基本知识
协议报头
2.局域网通信的基本流程
3.网络传输流程
局域网分类
跨路由器传输
数据包封装和分用
4.网络中的地址管理
1.IP地址
2.MAC地址
3.区别
1.介绍协议
基础知识
1.其实所谓的互联网可以看成一个巨大的操作系统,而每一个计算机都是一个硬件通过网线与其他计算机相互连接。
2.那么其实计算机内部的本质其实也是一个小型的网络结构。
3.短距离的传输,其实数据丢失的概率不大,即使丢失其实也好确定。但是长距离传输,是否丢失也是一个问题,特别是网路 ,就会出现信息传递问题。
4.为了尽可能减少通信成本就需要定制协议,用于解决由于长距离的通信问题。
协议
定义:协议就是用计算机语言来表达计算机通信之间的规定。不同的协议表示不同的意义,能让对面的计算机知道本台计算机的目的
网络协议:计算机生产厂商有很多;计算机操作系统,也有很多;计算机网络硬件设备, 还是有很多;如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是网络协议标准;
协议分层
1.分层普适性的意义是为了解耦,对任何一层做修改其他层不会被影响。出现问题也会在该层受影响而已;另外,功能比较集中的,耦合度比较高的模块我们设计成一层的协议。这样的特点是低耦合,高内聚
2.每一层都需要解决特定的问题,并且网络通信并不是一股脑直接转入计算机中的。
3.问题大致有这些:如何把数据先交付给与自己主机直接相连的下一台主机;要有路径选择的能力;传输出错后的容错纠错能力;传到目的计算机后解决应用的问题(送到目的主机并不是目的,是手段)
OSI七层模型
1.OSI是网络分层的一种逻辑上的定义和规范
2.OSI把网络分为七层(自下向上):物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
3.实际上遇到的网络问题不会出现七层,工程实际采用五层或者四层协议,因为无法实现一种万能的实现套用所有的项目,所以最后三层需要用户手动搭建。
2.TCP/IP五层模型
1.五层分为:物理层,数据链路层,网络层,传输层,应用层
2.物理层:负责光电信号的传输,物理层的能力决定了最大传输速率、传输距离、抗干扰性等。
集线器(Hub)工作在物理层,长距离传输光电信号会衰减,那么集线器(Hub)的作用就是加强衰减的信号。
光纤:光导纤维是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具
调制解调器(猫):主要负责信号转换,连接光纤解读传输的信号(模拟信号和数字信号的互相转换)
路由器:构造局域网,连接网络
双绞线(网线):路由器连接主机,使得主机联网
网卡:网线的数字信号01传给网卡存储在里面的寄存器中,随后传给磁盘
3.数据链路层:解决如何把数据先交付给与自己主机直接相连的下一台主机的问题
4.网络层:有路径选择的能力
5.传输层:传输出错后的容错纠错能力
6.应用层:传到目的计算机后解决应用的问题
1.TCP/IP分层模式其实反映了计算机整体的运行逻辑:自底向上由硬件,驱动,操作系统,调用接口,用户组成
2.系统调用接口连接到文件,所有数据都会在文件中存储。
3.对于一台主机, 它的操作系统内核实现了从传输层到网络层的内容
4.对于一台路由器, 它实现了从网络层到物理层
5.对于一台交换机, 它实现了从数据链路层到物理层
6.对于集线器, 它只实现了物理层;
3.网络传输的基本流程
由于物理层偏向底层实现,通过电子信号传递,故而不太需要讲。我们理解四层即可。
1.基本知识
协议报头
1.每一层都需要协议,而每一个协议的最终表现就是都有报头。
2.举个例子,类似于邮件快递,快递员想要将货物送到买家其实想要一些信息构成了快递单。而对应到网络协议,其实就是报头。
3.报头的意义:协议通常通过协议报头表达,报头遵循一系列规定的约定。用于确认每一层的任务。
4.每一份数据在被发送或者接收时,都要先经历报头包装。
5.而最后接收到应用层的数据,其实也带有报头,这些报头是告知用户如何进行操作的。
2.局域网通信的基本流程
1.局域网之间,两台主机可以直接通信
2.每一台主机都有自己的名字,每一台主机都有网卡,这张网卡有自己独一份的地址为MAC地址
3.MAC地址用于表征局域网中主机的唯一性
原理:
1.在一个局域网内,一台主机发出的数据,所有主机都能接收到
2.对于发出方,在发出数据上添加报头,包含了传到哪里的地址
3.其他主机接收得到数据,但是对于其他主机而言,它会在底层传输查看报头,发现与自己主机对不上,那么此时下层直接删除掉数据。上层用户得不到数据
4.接收方在底层确认是发给自己的数据就读取,这样就达到了局域网传输的目的
3.网络传输流程
1.网络传输并不是直接从应用层传到对方的应用层,需要经过不断的向下传输到物理层才能传到别处的物理层,随后向上传到应用层
2.由应用层到物理层是传输的用户不断将数据封装的过程,每一层到下一层去都会把自己的报头添加到有效载荷前面,形成报文(报文=报头+有效载荷),随之往下
3.接收方接收到由物理层的数字信号自下向上不断将数据解包的过程,每一层往上之前都会把自己同层的报头摘除再向上传
4.但是其实站在用户角度,其实就会认为同层之间相互交流,因为在同层报文是一样的。
5.封装报头有很多的协议,发送方直接根据自己的需求打包,但是接收方要想知道传过来的具体协议是什么需要在报头中得到
6.将报头分离其实要么按固定格式分离,要么按固定大小分离
局域网分类
1.以太网
2.令牌环网:局域网中,可能不止一对主机在对话。互相传输但是网线会出现数据碰撞问题,那么这么一个局域网形成了碰撞域。局域网的网络资源站在系统角度而言其实就是共享资源。出现碰撞就重新将数据发出,而此时依旧会有数据碰撞,那局域网中设置一个令牌,只有有令牌的主机才能发送数据。
3.无线LAN网
跨路由器传输
1.跨路由器的条件是一个设备至少要横跨两个网络,才能进行数据传输。
2.那么路由器也需要横跨两个网络,在两边都构成一个局域网,那么路由器至少需要两个网络接口将两个局域网相互连接。
3.当前的主机通过局域网将数据传给与自己直接相连的路由器。由于路由器工作在网络层,路由器的工作就是判断数据传输到哪里去,所以它得读取报头将数据进行传输决定。
4.路由器得到数据又向下交互,用令牌环的协议传输数据,通过令牌环向下一台主机交付。
5.这样的设计,路由器其实重新封住了报头,但是上层没什么区别。IP协议存在的意义就是屏蔽底层网络的差异。
6.图中的上层基本一致,而以太网和令牌环网其实是物理层的实现不同,各个局域网的网络接口不一样,上图只是例子
数据包封装和分用
1.不同的协议层对数据包有不同的称谓:在应用层称为请求与响应,在传输层叫做数据段,在网络层叫做数据报,在链路层叫做数据帧。
2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
3.首部信息中包含了一些类似于首部有多长,载荷有多长, 上层协议是什么等信息。
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理
4.网络中的地址管理
1.IP地址
1.IP协议有两个版本, IPv4和IPv6,二者不可兼容。
2.IP地址是在IP协议中, 用来标识网络中不同主机的地址;对于IPv4来说,IPv4地址是一个4字节, 32位的整数;我们通常也使用 "点分十进制" 的字符串表示IP地址。
3.IPv6为16为字节,128位的整数组成
4.在广域网广泛使用,也有一部分在局域网中使用
2.MAC地址
1.工作在局域网当中的地址
2.长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示
3.区别
既然都是表示地址的,那么二者之间有什么区别
1.仔细分析,其实想要一个主机到另一个主机需要两种信息:初始主机到最目的主机的信息;上一台主机到下一台相连的主机的信息。
2.源IP到目的IP:为了传输的每一个阶段提供方向目标,方便进行路径选择
3.上一台主机到下一台相连的主机的地址一直在变换,这种地址为MAC地址,提供路径的可行性