wordpress 热门排序,游戏优化,网站做推荐链接端口,商城 网站 开发前言  在古老的年代#xff0c;如果我们要实现两台机器进行数据传输#xff0c; A员工就得去B员工的办公电脑传数据#xff08;B休息#xff0c;等A传完#xff09;#xff0c;这样就很浪费时间 所以能不能不去B的工位的同时#xff0c;还能传数据。这时候网络通信就出来…前言  在古老的年代如果我们要实现两台机器进行数据传输 A员工就得去B员工的办公电脑传数据B休息等A传完这样就很浪费时间 所以能不能不去B的工位的同时还能传数据。这时候网络通信就出来了。  ⽹络互连 随着时代的发展越来越需要计算机之间互相通信共享软件和数据即以多个计算机协同⼯作来完成业务就有了⽹络互连。 ⽹络互连将多台计算机连接在⼀起完成数据共享。 数据共享本质是⽹络数据传输即计算机之间通过⽹络来传输数据也称为⽹络通信。  根据⽹络互连的规模不同可以划分为局域⽹和⼴域⽹。 目录 
前言  
一、什么是局域网广域网两者区别 
局域网LAN 
1基于网线直连 
2基于集线器组建 
3基于交换器组建 
4基于交换器和路由器组建 
广域网WAN 
二、什么是IP地址端口号 
IP地址 
端口号 
三、TCP/IP 4层协议 
协议概念  
协议作用  TCP/IP 4层协议 
四、协议的 封装和分用 一、什么是局域网广域网两者区别 
局域网LAN 
局域⽹即LocalAreaNetwork简称LAN。 
局域⽹内的主机之间能⽅便的进⾏⽹络通信⼜称为内⽹ 
局域⽹和局域⽹之间在没有连接的情况下是⽆法通信的。 
局域网的连接有以下几种 
1基于网线直连 2基于集线器组建 3基于交换器组建 4基于交换器和路由器组建 概念详解         路由器Router是连接因特网中各局域网、广域网的设备。在路由器中记录着路由表它会根据信道的情况自动选择和设定路由以最佳路径按前后顺序发送信号。发生在网络层。   交换机Switch是一种用于电光信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路把传输的信息送到符合要求的相应路由上。发生在数据链路层。   集线器Hub是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。发生在物理层。 广域网WAN 
⼴域⽹即WideAreaNetwork简称WAN。 
通过路由器将多个局域⽹连接起来在物理上组成很⼤范围的⽹络就形成了⼴域⽹。 
⼴域⽹内部 的局域⽹都属于其⼦⽹。  值得注意的是 其实局域网 和 广域网 是一个“相对”的概念。 如果属于全球化的公共型⼴域⽹则称为互联⽹⼜称公⽹外⽹属于⼴域⽹的⼀个⼦集。有时在不严格的环境下说的⼴域⽹其实是指互联⽹。 二、什么是IP地址端口号 那么多台计算机要怎么知道要发给哪台机器呢 这时候就需要 IP地址 和 端口号 来帮忙了。  IP地址 
概念 
IP地址主要⽤于标识⽹络主机、其他⽹络设备如路由器的⽹络地址。简单说IP地址⽤于定位主机的⽹络地址。 
就像我们网购一样得先填收货地址一样快递员通过收获地址才能找到这个地方计算机。 
格式 
IP地址是⼀个32位的⼆进制数通常被分割为4个“8位⼆进制数”也就是4个字节如 01100100.00000100.00000101.00000110。 
通常⽤“点分⼗进制”的⽅式来表⽰即 a.b.c.d 的形式a,b,c,d都是0~255之间的⼗进制整数。 如100.4.5.6。 
端口号 
概念 
我们已经知道了通过IP地址可以找到计算机但是怎么确定是哪个进程需要呢电脑有这么多个进程。qq的数据发到微信上肯定是不可以的。所以这时候我们需要端口号了。 
端口号就是为了找到要发送给哪个进程简单说端⼝号⽤于定位主机中的进程。 
类似发送快递时不光需要指定收货地址IP地址还需要指定收货⼈端⼝号。  
格式 
端⼝号是0~65535范围的数字在⽹络通信中进程可以通过绑定⼀个端⼝号来发送及接收⽹络数据。  
三、TCP/IP 4层协议 既然我们知道发数据给对方需要IP地址和端口号。 我发照片视频音乐文字那些计算机是怎么传的呢⽹络通信是基于⼆进制0/1数据来传输如何告诉对⽅发送的数据是什么样的呢  基于⽹络数据传输需要使⽤协议来规定双⽅的数据格式。 协议概念  协议⽹络协议的简称⽹络协议是⽹络通信即⽹络数据传输经过的所有⽹络设备都必须共同遵从的⼀组约定、规则。 
如怎么样建⽴连接、怎么样互相识别等。只有遵守这个约定计算机之间才能相互通信交流。 
协议protocol最终体现为在⽹络上传输的数据包的格式。 
协议作用  就比如两个人网恋要见面了 我们就可以 约定 两人穿粉色的情侣衣服这样就能找到对方 或者两个人手里都捧着一束花就可以通过花来找对方。 所以在我们计算机中如果两台计算机要进行通信有很多需要考虑的 计算机生产厂商计算机操作系统也有很多计算机硬件设备的厂商也很多 所以就需要有个 协议 来约束这些都按照一个标准来执行也就是网路协议。 但是有很多东西都需要协议如果都用一个协议的话那这个协议就非常的大非常的复杂。这时候就引出了单个协议然后汇聚一起但是这种也是很多很复杂所以计算机就引出了分层协议。 就是把同种类的协议都放在同一层每一层都各司其职上下层可以相互调用普及最多的协议有两个TCP/IP 4层协议 和 OSI 7层协议  分层的好处 对于使⽤⽅来说并不关⼼提供⽅是如何实现的只需要使⽤接⼝即可对于提供⽅来说利⽤封装的特性隐藏了实现的细节只需要开放接⼝即可。 由于OSI 7层协议只是在书本上还没有普及。现在业务上用的最多的还是TCP/IP 4层协议所以这里主要讲解TCP/IP 4层协议。 TCP/IP 4层协议 既然是4层为什么下面的图是5层呢   答因为在软件工程师中我们其实并不需要专注“物理层”所以4层是去除掉物理层的协议。5层的话是加上了“物理层”。 应用层负责应用软件之间的沟通就是准备要做什么事情这个就是应用层负责的。 传输层根据IP地址关注网络通信中的“起点和终点”不关心中间的细节。 网络层根据这个起点和终点进行路径规划路由选择还需要对这些地址进行管理。 数据链路层根据规划好的路径来进行实施。 物理层就是那些硬件层面的事情负责光/电信号的传递⽅式。 就像我们的一个公司 董事长就相当于传输层定一个目标然后总经理就是网路层需要指定一系列的政策然后数据链路层就是我们普通工厂的员工按照这些政策去执行。 TCP/IP 分层 和 OSI 分层协议 的区别  四、协议的 封装和分用 不同的协议层对数据包有不同的称谓在传输层叫做段(segment)在⽹络层叫做数据报 (datagram)在链路层叫做帧(frame)。不过一般不严格区分下面我都用包来讲解应⽤层数据通过协议栈发到⽹络上时每层协议都要加上⼀个数据⾸部(header)称为封装 (Encapsulation)。⾸部信息中包含了⼀些类似于⾸部有多⻓载荷(payload)有多⻓上层协议是什么等信息。数据封装成帧后发到传输介质上到达⽬的主机后每层协议再剥掉相应的⾸部根据⾸部中的 上层协议字段 将数据交给对应的上层协议处理就叫 分用 。 简单来说协议中的封装实际上就是字符串的拼接。分用就是拆卸字符串。 比如说你在淘宝买了个鞋子这个鞋子肯定会被鞋盒包着然后被快递袋包着一层层包着。好处就是可以贴标签你的地址什么的从而传递给下一个目的地。 整个网络通信都是利用这些标签儿的。 比如说你现在要发送一个qq短信 hello 给你的好朋友那么在网络中它是怎么实现的呢 对于发送者来说  1在应用层中 qq需要传输数据需要把数据包装成数据包人为定义有很多种方式。比如 
数据包样式发送者qq接收者qq发送时间发送内容\n 
数据包实例12345678876543212024-09-25 2200hello\n 以上是“结构化”数据它需要转为“二进制数据”字符串因为计算机流通的都是二进制的。  把 结构化数据》二进制数据序列化 把 二进制数据》结构化数据反序列化 2在运输层中 qq这样的应用软件会调用操作系统中的API运输层提供给应用层的API操作系统的会提供一个“发送数据”的API然后把应用层包装好的数据包作为参数传到系统内核的运输层中的代码里。 
运输层有很多种协议最主要的是TCP和UDP假设这里使用是的UDP协议这时运输层就会把它封装可以理解为字符串拼接成一个运输层数据包 这里包含了UDP相关的信息保留发送者的端口号和接收者端口号等等 3在网络层中 
运输层包装好的运输层数据包运输层会调用网络层的API然后把运输层数据包传进去网络层 
网络层有很多协议这里最主要的是IPv4协议还有一种IPv6但是没有IPv4主导地位网络层会把运输层数据包 封装字符串拼接 成网络层数据包如下 这里的IP报头包含了发送方的IP地址也包含了接收方的IP地址等等  4在数据链路层中 
网络层继续调用数据链路层的API把网络层包装好的网络层数据包传进数据链路层中 5在物理层中 
传到物理层也就是硬件层面执行网卡需要把上述二进制数据虽然上面的看起来不是二进制但是计算机会变成二进制进行真正的传输转为光信号电信号等等 
对于接收者来说 1在物理层中 
接收到发送者的光电信号然后转化成010101这样的二进制数据  2在数据链路层中 
数据链路层接受到物理层的二进制数据以太网就会拿到这个数据包取出IP报头和载荷之后根据报头进行解析。根据报头自己决定要保留还是丢掉还是转发。这里也就是分用 3 在网络层中 
网络层中拿到数据链路层发来的数据然后根据IP协议取出IP报头和载荷解析IP报头。是要转发还是保留还是丢掉分用。 4在传输层中 
传输层接收到网络层发来的数据取出报头和载荷根据报头进行解析依据UDP协议是要转发还是保留还是丢掉分用如果要转发的话根据端口号转发。 5在应用层中 
数据就到了应用层这里qq这个应用软件就要根据接受到的数据实现反序列化 
比如显示信息发出嘀嘀嘀的提示音等等....  封装就像“发快递”添加报头可以理解为字符串的拼接分用就像“拆快递”拆掉报头。 上面的过程中其实有很多交换机和路由器都参与了进来也会涉及到封装和分用 对于⼀台主机它的操作系统内核实现了从传输层到物理层的内容也即是TCP/IP五层模型的下四层对于⼀台路由器它实现了从⽹络层到物理层也即是TCP/IP五层模型的下三层对于⼀台交换机它实现了从数据链路层到物理层也即是TCP/IP五层模型的下两层对于一台集线器它只实现了物理层