做电商有哪些网站有哪些内容,免费咨询合同,南昌做网站的公司,课程设计代做网站网络的产生是数据交流的必然趋势#xff0c;计算机之间的独立的个体#xff0c;想要进行数据交互#xff0c;一开始是使用磁盘进行数据拷贝#xff0c;可是这样的数据拷贝效率很低#xff0c;于是网络交互便出现了#xff1b;
1.网络是什么
网络#xff0c;顾名思义是…网络的产生是数据交流的必然趋势计算机之间的独立的个体想要进行数据交互一开始是使用磁盘进行数据拷贝可是这样的数据拷贝效率很低于是网络交互便出现了
1.网络是什么
网络顾名思义是一张网这张网中包含了许多的计算机每一张网都叫做局域网。而世界上所有的网络集合在一起就是世界上最大的广域网这个大的网络就将世界各地的计算机连接在一起 上面只是我对网络的大致理解我们有网络那我们是如何通网络进行交流的呢我们知道人与人之间可以交流是人们有一套完整的语言体系而网络虽然将不同的设备连接在一起了可是不同设备的硬件还有操作系统等都是不同的那如何可以让这些设备可以正常的交流呢这就需要如人与人交流一般约定好某种交流方式不同的设备之间也要约定好某种特定的交流方式从而实现网络中不同设备的交流这种约定好的交流方式就是协议
2.协议
2.1 协议是什么
协议是一种约定 以寄快递举例我们发快递的时候发的不仅仅是我们想要寄的东西还要用包装盒把我们的物品包装起来包装盒上还会有快递单号快递的起始和送达地址等信息我们和快递公司约定好了你们把我的物品包装成什么样送到某个位置接收者在收快递的时候就可以通过包装还有包装上的信息确认这个快递是发给他的从而拆掉包装获取到里面的物品 所以这里协议的表现形式就是这个快递的包装 而在计算机网络中一个设备想要向想要向另一个设备发送信息一样需要和对方机器约定好我们将会把数据包装成什么样使得接收方能够识别这个被包装的数据从而解开包装获得里面的信息而在计算机中往往是使用结构体来作为包装的 所以这里协议的表现方式是结构体
约定好的行为是协议而网络是一个非常庞大的体系其中所涉及的问题一定非常广泛并且世界上的设备很多生产设备的厂家也有许多想要让一个庞大的体系被全世界所广泛接收从而全世界都使用这个协议进行交互这个协议一定要非常优秀这样的协议就叫做标准
当一个协议被一部分人所接受并且为这一部分人创建出红利时就会有更多的人想加入这个协议加入协议的人越来越多这个协议足够优秀时这个协议也就成为了大多数人所遵守的标准同样的你想要享受这个协议带来的优惠你就得遵守这套协议大多数人遵守这套协议时这套协议也就真正成为了标准
在时代的发展下协议也是衍生出来了标准的这套标准一定是非常优秀的先辈们耗费无数心血所研发的
2.2 协议如何定制
2.2.1 分层的思想
先辈们在处理这个庞大的体系时花费了很多精力将这个大的网络体系划分出了层次通过解决一层层的小问题从而完善整个网络协议那在网络中的数据传递会有哪些问题呢 1.在获得转递过来的被包装好的数据时如何将数据转换为可使用数据应用层 2.传递过程中如果出现数据丢失等意外情况如何确保数据的安全传递传输层 3.如何确认数据传递到哪一台机器上网络层 4.如何包装好数据让数据可以成功传递呢数据链路层 就如上面划分出的问题一般可以将数据的传递划分为一层层的问题那么协议也会被划分成层次
既然说这样划分出层次是有好处的那究竟有什么好处呢请看下面的讲解 如果我们将上面交流的过程划分为两个层次我们就可以体会到分层的好处 所以将交流的体系划分层次用高内聚低耦合的思想解决问题让体系更好维护使得层与层之间不会互相影响
让人通过一个设备发送信息到另一个设备上从而让另一个人收到信息的过程抽象为人与人交流手机与手机交流
在我们的C中也有这样的分层继承继承时类中的数据虽然会越来越多但每个类维护自己的数据不会收到其他层次类的影响
那么有了这样分层的思想网络协议究竟是如何分层的呢
网络协议的标准——OSI模型
2.3 OSI七层模型
网络这个庞大的体系需要一套好的标准来规范让大多数人都遵守这样一套好的协议从而形成标准而OSI就是这样的标准 上面的OSI七层模型就是整个网络模型的设计图这个设计图非常全面将层次划分的非常完整所以这个模型就如知道思想一般可以为网络的实际设计者们提供思路从而设计出可靠的网络协议也是如此实际使用的tcp\ip标准模型根据这个OSI参考设计了出来
2.4 TCP/IP模型
TCP/IP模型将参考模型OSI简化为了4层模型一般PIC/IP模型只考虑上面四层不考虑物理层将会话层与表示层融合进入了应用层 通过上面的图片我们可以知道通过每层都有自己的协议通过相同的协议层与层之间可以进行交流从而形成数据传输的形式
我们看到了一个设备如果想要进行网络交互就要形成上面的模型而拥有这样的网络模型的设备是什么样的呢接下来我们将实际的设备与上面的模型进行相对应的讲解
1.硬件层物理层PIC/IP模型一般不包括这层 想要让数据进行传递那么就得通过某种物品进行传递我们生活中常见的物品有光纤无线网络这样的载体光纤传输光信号而无线网络传输无线电波那么这些信号进行传输也是需要约定好什么样的光和电磁波是什么样的信号这也是硬件层的协议这样数据才能正常安全的传递硬件层也不仅仅只有如传输载体这样的硬件还会存在很多不一样形式的硬件他们负责将我们的数据进行传递 所以物理层负责实际的数据传输 2.数据链路层 这层是负责将数据处理为帧的形式负责校验数据的正确性处理底层硬件层不会处理的错误检测和纠正让数据正常的传递我们的硬件网卡无线网卡就是起到这样的作用将数据处理好后再将数据转化为底层硬件层所需要的信号类型从而保证数据传递 数据链路层负责将数据进行检查与纠错提供给物理层 3.网络层 每个机器都会有自己的ip地址通过ip地址可以找到接收者的机器从而成功让信息到达目的地也是通过ip地址才可以划分出这样一条路由的路线当数据传输跨局域网时就得通过路由器来定位路线 网络层是对数据传输路线的确定 4.传输层 对传输来的数据进行检查和对发送的数据进行验证是否发送成功 确保数据成功的进行了传递 5.应用层 对成功传输的数据进行某种处理解析出数据真正的含义这样的解析是需要通过相同的协议进行处理的 通过相同协议解析出真正的数据 那么我们知道了网络模型是这么设计的之后我们来看看这样设计的模型到底是如何进行数据传输的
3.数据的流动过程
TCP/IP是我们网络协议的一个标准模型所以想要使用网络的设备都需要遵守这个标准都应该具有这个模型的特征下面我们讲讲设备进行数据传递的过程 我们可以看到数据从我们用户从向底层不断加载的过程就是不断封装的过程通过协议不断封装数据到达目标设备后会通过协议不断的解包通过这样就可以实现逻辑上层与层之间的直接通信但实际上还是数据贯穿网络栈的过程
所以我们可以总结出这些结论 1.任何层的协议都具有将报头与有效载荷分离的能力 2.任何层的协议都包含了上一层使用的协议标识字段帮助上一层解包 我们现在知道了数据是如何流动的那下面继续抛出问题数据是如何在网络中进行传递的呢
4.数据如何在网络中传递
刚刚我们只是考虑到了数据的流动而设备是分离的网络究竟是如何做到让数据成功跨设备进行交互的呢
4.1 局域网数据传递
我们首先举这样一个例子 在一个班级中老师叫某个同学回答问题所有人都会听到老师提出的问题但是其他人都不会回答只有哪个被老师喊到名字的人会和老师进行交流因为这只是老师和被喊道名字的人的通讯 其实局域网也是这样的 在一个局域网中当一台设备发送信息时整个局域网中的设备都会收到这条信息但是这条信息中包装了许多层协议局域网中的设备会对这条信息解包如果发现这条信息不是发送给自己的则会直接丢弃如果某个设备发现这条信息正好是发送给直接的那么就会继续向上解包 那么局域网中的设备是如何识别这条信息确实是发送给它的呢 通过上面的过程我们也不难会产生一些疑惑这些疑惑也确实是存在的问题
1.碰撞问题 在一个局域网中如果每个设备都同时发送信息到局域网中这个那么如此多的消息进行碰撞会不会导致发生消息丢失或者错误的问题呢这个问题确实是存在的因为网络的承载能力是有限的但是设计者们早就知道了这个问题为此设计了碰撞避免算法让局域网中一次只能发送一条信息避免了信息的碰撞 这个避免碰撞算法也说明了网络是临界资源使用网络的设备具有互斥性 其次如果一个局域网中设备过多的话会使用交换机来引导数据的流向进行局域网的划分减少数据冲突的可能 2.安全问题 在一个局域网中一条信息发送所有设备都会收到那么所有设备都会收到的话如果有设备对这条信息进行抓取那么会不会存在安全问题呢这个问题其实也是存在设备的网卡有普通模式与混杂模式当网卡的混杂模式开启时获得的所有数据即使解包后发现mac目的地址不是自己也会先将数据保留如果此时有人想读取这条数据那么就可以对这条数据向上继续进行解包从而获得最后的数据但是这个问题随着时代的发展人们可以在应用层就对数据进行加密处理这样即使有是被对数据进行了抓取他们也无法解析出这个加密的数据 现在我们知道了数据究竟是如何流通与数据如何在网络中进行传递的接下来我们得引入更大的网络广域网当数据想要跳出局域网传递到更远的网络中应该如何传递呢
4.2 跨局域网数据传递 在最前面的1.网络是什么中我们就说了不同局域网之间需要通过路由器进行连接那么究竟是如何通过路由器进行连接的呢
还是一样举一个小例子 我们的网络也是可以这么理解的 当设备1想要跨局域网传递给设备2的时候设备1肯定无法之间将数据传递给设备2因为他们无法直接建立联系但是发送信息的设备可以通过路由器作为中转站来传递信息每个路由器就像上面例子中的小目标小目标不断发生改变传递到永远不变的大目标设备2上那么这个过程究竟是怎么进行的呢 传递过程 首先每个设备在网络层都会有自己的唯一标识IP地址每个设备的网卡数据链路层也有自己的唯一标识mac地址那么设备传输数据需要把数据封装为最后的数据帧这其中IP地址的起始地址与目的地IP地址也会封装在数据报中包含在数据帧中那么设备如果需要跨局域网进行数据传递封装的数据帧中的mac地址目的地就得是路由器得通过路由器作为中转站这个路由器的mac地址目的地就是不断改变的小目标在一个局域网中的路由器接收到了这个数据帧后通过网络号找到目标设备的局域网再将mac地址修改为目标局域网中的目标设备的mac地址目标局域网中的设备都接收到了这条数据帧但是只有目标设备会对这条数据帧进行解包获取数据这个过程中IP地址就是永远不变的大目标而mac地址就是不断发生改变的小目标 ipv432位4个字节每个字节以.分开每个点分开的数都是10进制数 例如193.123.11.12 mac地址48位6个字节 每个自己以:分开每个分开的数是16进制数 例如12:13:14:15:0f ipv6128位16个字节
IP地址实现了全球主机的虚拟层实现了一切皆IP报文
总结
数据的传输一定是基于硬件层面的无论数据如何跳转如何传递都必须贯穿网络栈传递 最后再说两个命令 linux中查ip地址 ifconfig windows中查ip地址 ipconfig