官方网站 建设情况汇报,网页设计开发培训,做啥网站流量高,成都旅游视频文章目录 一、计算机网络背景二、协议1.协议是什么2.为什么要有协议 三、网络协议1.为什么要进行协议分层2.OSI七层模型3.TCP/IP五层(或四层)模型 四、网络传输基本流程1.协议报头2.局域网3.数据包封装和分用4.网络传输流程图 五、网络中的地址管理1.认识IP地址2.认识MAC地址3.… 文章目录 一、计算机网络背景二、协议1.协议是什么2.为什么要有协议 三、网络协议1.为什么要进行协议分层2.OSI七层模型3.TCP/IP五层(或四层)模型 四、网络传输基本流程1.协议报头2.局域网3.数据包封装和分用4.网络传输流程图 五、网络中的地址管理1.认识IP地址2.认识MAC地址3.理解IP地址和MAC地址的关系 一、计算机网络背景
网络的发展分为一下几个阶段
独立模式: 计算机之间相互独立 此时计算机之间是相互独立的每个人在执行任务的时候是独立的需要等待前一个将任务完成之后自己才能进行执行任务是串行执行的效率很低。
网络互联: 多台计算机连接在一起, 完成数据共享 此时数据完成了共享每个人都使用独立的计算机业务之间可以随时自由切换共享数据由服务器集中处理
局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起 广域网WAN: 将远隔千里的计算机都连在一起 注意所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如, 我们有 “天朝特色” 的广域网, 也可以看做一个比较大的局域网。
一台计算机内部本质也是一个小型的网络结构。
比如我们将一台计算机的磁盘拉到很远的地方此时依然可以进行存储此时为云存储同理其他的硬件结构也可以这样所以计算机 体系结构中有网络网络中有体系结构
二、协议
1.协议是什么
我们举一个例子进行说明以前的时候只有台式的座机然而那个时候话费也特别的贵你要上学去读书你到了学校需要向自己的父母进行报备没有了零花钱需要找父母要这时你和你的爸爸进行约定你打电话过来一声之后就挂断了就说明安全到学校了打电话过来两声之后才挂断电话说明没有了零花钱打电话过来三声都还没有挂断则说明有其他重要的事情这样就可以省很多的电话费同时也能够达到通信的目的。
上面的例子中电话响一声表明安全到学校了电话响两声表明没有了零花钱电话响三声说明有其他重要的事情。
3种都代表不同的含义而这个含义不用解释双方早已有了共识。所以协议就是约定 计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信
息, 就需要约定好双方的数据格式.
只要通信的两台主机, 约定好协议就可以了么?
当然不是我们举一个例子来进行说明比如我们门卫的口令是天王盖地虎宝塔镇河妖但是我们这里的人来自全国各地回答的时候可能就是自己的方言那么门卫就不知道回答的对不对。所以我们需要要求在回答口令的时候全部都使用普通话这样才可以。
所以计算机生产厂商有很多; 计算机操作系统, 也有很多; 计算机网络硬件设备, 还是有很多; 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是 网络协议;
2.为什么要有协议
我们面对面进行交谈的时候障碍比较少不容易出错但是当我们两个人站在相隔500米的桥的两端的时候此时进行交流通信就会变得极其困难。
对于计算机来说所有的网络问题本质都是传输距离变长了此时就可能会引入新的通信问题为了尽可能减少通信成本就需要定制协议如果使用计算机语言来进行表达则称为计算机协议
三、网络协议
1.为什么要进行协议分层
协议分层有如下的原因
1.软件设计方面的优势 – 一层的代码出问题了不会影响其他层 – 低耦合
2.一般我们分层的依据功能比较集中耦合度比较高的模块–一层–高内聚
3.每一层都有自己匹配的协议每一层协议都解决自己的问题
我们举一个例子比如我们要从重庆到北京那么我们首先要有从一个省跨越到另一个省的能力在计算机中称为如何把数据交付给和自己直接相连的下一台主机其他我们要有路线选择的能力我们去北京不能从重庆往西边走在计算机中称为要有路径选择的能力其次我们在去北京的路上走错路之后要有纠正路线的能力在计算机中称为容错纠错能力我们最终的目的不是去北京而是在北京进行游玩在计算机中称为解决应用方面的问题。
所以每一层都有自己匹配的协议每一层协议都要解决自己的问题。
2.OSI七层模型
OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范;把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备比如路由器交换机;
OSI 七层模型是一种框架性的设计方法其最主要的功能使就是帮助不同类型的主机实现数据传输; 它的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解 3.TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词它还包括许多协议组成了TCP/IP协议簇.
TCP/IP通讯协议采用了5层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层. 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层. 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层. 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机. 应用层: 负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等. 我们的网络编程主要就是针对应用层 物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.
一般而言 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容; 对于一台路由器, 它实现了从网络层到物理层; 对于一台交换机, 它实现了从数据链路层到物理层; 对于集线器, 它只实现了物理层; 但是并不绝对. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(比如端口转发);
四、网络传输基本流程
1.协议报头
对于协议报头我们需要理解一下几个方面
1.协议每一层都有而每一个协议最终表现就是协议都要有报头
2.协议通常是通过协议报头来进行表达的
3.每一份数据最终在被发送者或者在不同的协议层中都要有自己的报头
我们以一个例子来进行说明报头比如我们在网上买一个水杯商家通过顺丰快递送到我家附件的顺丰快递点当我收到水杯的时候就只有水杯中吗其实不是的还有快递的盒子快递单其中快递单就是所谓的报头。报头就是有一定的格式的即有一定的协议否则如果只在快递单上面填入一串数字或者文字而没有进行说明此时快递点就无法进行分辨快递单上面的内容而制定一定的协议之后所有的顺丰快递都能够进进行辨认。
2.局域网
1.两台局域网的主机能够直接通信
2.局域网的通信原理
每一台机器都有自己的“名字”每一台主机都有网卡每一张网卡都有自己的地址即MAC地址MAC地址表明直接在局域网中的唯一性
局域网中的通信方式如下 Mac1向Mac7发生吃了吗数据中会包含接收方的mac地址数据发送到局域网中局域网中的其他主机发现数据的目的mac地址和自己的mac地址不符此时就会忽略该消息。只有对应的mac地址的主机才会接收。所以局域网中只允许一个主机在任何一个时刻在局域网中发送消息否则就会发生碰撞在局域网中称为碰撞域
我们如何看待局域网中的网络资源站在系统的角度–共享资源临界资源
局域网有以太网令牌环网和无限LAN
3.数据包封装和分用
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).
首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理
下图为数据封装的过程 下图为数据分用的过程 封装和数据分用的过程 每一层从上到下数据包根据该层的协议进行封装向上不断的进行解包和分用最终将数据从一台主机传输到另一台主机上
报文 报头 有效载荷
这里有两个问题
如何判断哪里是报头哪里是有效载荷
如何判断自己的有效载荷要交给上层的哪一个协议呢
这是每一层协议都必须面对的问题也都需要解决的在每一层协议的报头中一定会涵盖上面的所有信息这是所有协议的共性
在网络协议中我们可以认为同层协议在直接通信也可以理解称为向下进行交付这是两种不同的认知
4.网络传输流程图
同一个网段内的两台主机进行文件传输 跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器
我们知道一个设备至少要横跨两个网络才能实现数据报跨网络转发-路由器必须至少要横跨两个网络-路由器必须有两个网络接口 在路由器这里先进行解包得到数据然后再进行重新封装这样就屏蔽了网络底层的差异进行跨网段传输
网络传输流程图 五、网络中的地址管理
1.认识IP地址
IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4 IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数; 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255; 2.认识MAC地址
MAC地址用来识别数据链路层中相连的节点;
长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可
能会冲突; 也有些网卡支持用户配置mac地址)
3.理解IP地址和MAC地址的关系
计算机中有两套地址分别为IP地址和MAC地址IP地址分为源IP和目的IP回答了从哪里来到哪里去的问题为我们未来的每一个阶段提供方向目标方便进行路径选择。而MAC地址是上一站从哪来下一站去哪里该类地址一直在变化提供了路径选择的可行性。比如西游记中唐僧说从东土大唐来到西天去拜佛求经。这里东土大唐就是源IP西天就是目的IP。而路上经过的黑风岭和火焰山则是MAC地址。