广东省城乡建设厅投诉网站,受欢迎的商城网站建设,宁波模板做网站,福建建设工程报建网站目录 
一.网络的发展史 
二.网络通信基础 
2.1IP地址 
2.2端口号 2.3认识协议  2.3.1协议是什么#xff1f; 
2.3.2为什么需要协议#xff1f; 
2.3.3OSI模型和TCP/IP体系结构  
三.网络通信的原理 
总结 #x1f381;个人主页#xff1a;tq02的博客_CSDN博客-C语言,Java,J…目录 
一.网络的发展史 
二.网络通信基础 
2.1IP地址 
2.2端口号 2.3认识协议  2.3.1协议是什么 
2.3.2为什么需要协议 
2.3.3OSI模型和TCP/IP体系结构  
三.网络通信的原理 
总结 个人主页tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主  本文由 tq02 原创首发于 CSDN  本章讲解内容网络的通信基础  多线程学习专栏多线程学习专栏 其他学习专栏  C语言         JavaSE       MySQL基础  一.网络的发展史 问 网络是现在生活当中必不可少的存在可是网络的发家史是什么呢 答  网络的发展史可以追溯到早期的ARPANET它是一个由美国国防部高级研究计划局(ARPA创建的计算机网络。在1983年ARPANET被划分为两个独立的网络包括ARPANET和MILNET军用网络。这促进了互联网的发展使得任何两台电脑都可以相互通信没有特定的设备、路由器或网络中心控制数据流向。 20世纪60年代早期计算机还是独立模式计算机之间相互独立并不能进行相互通信只提供终端和主机之间的通信。20世纪60年代中期随着时代的发展 越来越需要计算机之间相互通信、共享软件和数据了即以多个计算机协同工作来完成业务就有了网络互连。网络互连将多台计算机连接在一起完成数据共享。数据共享本质是网络数据传输即计算机之间通过网络来传输数据也称为网络通信。  
局域网LAN (Local Area Network      是本地局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信又称为内网局域网和局域网之间在没有连接的情况下是无法通信的。局域网组建网络的方法有 
基于网线直连主机之间相互连接。基于集线器组建所有主机连接一台集线器集线器相当于通信中转站。基于交换机组建基于交换机和路由器组建 注路由器上有2种口一种Lan口另一种是Wan口Lan口负责连接主机Wan口负责连接运营商的机房提供网络。  广域网WAN(Wide Area Network) 通过路由器将多个局域网连接起来在物理上组成很大范围的网络就形成了广域网。广域网内部的局域网都属于其子网。 二.网络通信基础 从网络发家史中我们可以知道网络互连的目的是进行网络通信也就是网络数据传输更具体一点是网络主机中的不同进程间基于网络传输数据。 问在组建的网络中如何判断到底是从哪台主机将数据传输到那台主机呢 答需要使用IP地址了。 问由哪个进程来接收这个数据呢 答使用端口号 问我承认你的确收到了我的数据但是你可忘记了数据可是二进制数据你如何得知原本数据呢 答这就需要靠协议了 抽象表达快递员通过IP地址找到你家由收货人端口号来接收快递快递拆开是加密的信息需要使用协议解密才能得到原本的信息。  
2.1IP地址 概念主要用于标识网络主机、其他网络设备如路由器的网络地址。简单说IP地址用于定位主机的网络地址。  格式IP地址是一个32位的二进制数通常被分割为4个“8位二进制数”也就是4个节          例如01100100.00000100.00000101.00000110  但通常用“点分十进制”的方式来表示即 a.b.c.d 的形式100.4.5.6。        特殊ip:127.*的IP地址用于本机环回(loop back)测试通常是127.0.0.1本机环回主要用于本机到本机的网络通信系统内部为了性能不会走网络的方式传输对于开发网络通信的程序即网络编程而言常见的开发方式都是本机到本机的网络通信。 
2.2端口号 概念端口号可以标识主机中发送数据、接收数据的进程。简单说端口号用于定位主机中的进程。 格式端口号是0~65535范围的数字在网络通信中进程可以通过绑定一个端口号来发送及接收网络数据。 
注意事项 两个不同的进程不能绑定同一个端口号但一个进程可以绑定多个端口号。 2.3认识协议  2.3.1协议是什么 网络通信传输的数据类型可能有多种图片视频文本等。同一个类型的数据格式可能也不同如发送一个文本字符串“你好”如何标识发送的数据是文本类型及文本的编码格式呢 基于网络数据传输需要使用协议来规定双方的数据格式。 概念: 网络协议的简称网络协议是网络通信即网络数据传输经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定计算机之间才能相互通信交流。 通常由三要素组成 语法即数据与控制信息的结构或格式    语义即需要发出何种控制信息完成何种动作以及做出何种响应    时序即事件实现顺序的详细说明。   协议最终体现为在网络上传输的数据包的格式 。 2.3.2为什么需要协议 例如地下情报组织潜伏者需要事先和接应人员约定各自带一本书头戴帽子这就是一种约定也是一种协议。 
不同计算机厂商中生产的计算机需要进行通信传递各种各样的信息则需要约定双方的数据格式因此出现了一个标准让大家的计算机都可以给彼此通信这就是网络协议。 协议分为2种一种存在于教科书的OSI七层网络协议另一种则是TCP/IP五层协议。 二者的联系为了实现不同体系结构的计算机网络之间的互联国际标准化组织定义了开放系统互联基本参考模型OSI/RMOpen Systems Interconnection Reference Model即OSI模型。OSI模型采用了七层协议体系结构理论上较为完善但在实践中过于复杂并不实用。因此简化出了TCP/IP体系结构并得到了广泛的应用。 分层的作用为了降低复杂性、实现协调工作、解决不同体系结构之间的互联问题并提供更加可行和实用的解决方案。 2.3.3OSI模型和TCP/IP体系结构  OSI模型 物理层提供了数据在物理介质上传输的能力。数据链路层负责相邻网络设备之间建立、维护和拆除确保数据的无差错传输。网络层负责在不同网络设备之间选择最佳路径实现数据包在网络的路由选择、转发。传输层提供端到端的可靠传输服务包括数据包的分组、传输、接收和错误恢复。会话层确保通信系统中两个应用程序会在一个会话当中进行多次交互。表示层确保数据可以在不同系统之间通信应用层处理与具体应用程序相关的通信为应用程序提供网络服务接口可以使应用程序能够使用网络进行数据传输和接收。此层协议通常有HTTP、FTP、SMTP、DNS、DHCP等 注OSI 七层模型既复杂又不实用所以 OSI 七层模型没有落地、实现。 实际组建网络时只是以 OSI 七层模型设计中的部分分层也即是以下 TCP/IP 五层或四层模型来实现。 TCP/IP 五层或四层模型  应用层负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远 程访问协议Telnet等。我们的网络编程主要就是针对应用层。 传输层负责两台主机之间的数据传输。如传输控制协议 (TCP)能够确保数据可靠的从源主机发 送到目标主机。 网络层负责地址管理和路由选择。例如在IP协议中通过IP地址来标识一台主机并通过路由表 的方式规划出两台主机之间的数据传输的线路路由。路由器Router工作在网路层。 数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线 上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工 作。有以太网、令牌环网无线LAN等标准。交换机Switch工作在数据链路层。 物理层负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的 同轴电缆(现在主要用于有线电视)、光纤现在的wifi无线网使用电磁波等都属于物理层的概念。 物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器Hub工作在物理层。 而为什么有时候又称为4层模型因为物理层又偏向于硬件考虑的比较少。 两种模型之间的关系 根据网络设备所在分层,分层了3种应用程序、操作系统、设备驱动程序与网络接口。 对于一台主机它的操作系统内核实现了从传输层到物理层的内容对于一台路由器它实现了从网络层到物理层对于一台交换机它实现了从数据链路层到物理层对于集线器它只实现了物理层  
三.网络通信的原理 两台计算机通过TCP/IP协议通讯过程 注在网络层时数据也可能会存在从一台计算机传输到另一台计算机中会经过多个路由器。 ------------------------------》以QQ发送信息为例子《-------------------------------- 
发送者情况 
1.应用层输入的信息构造成应用层数据报指按照一定格式进行字符串拼接。传递个传输层 2.传输层传输层有很多种协议主要使用TCP和DCP,假设此处使用UDP然后将UDP数据报传递给网络层。注UDP不会处理应用层数据报的内容。 3.网络层网络层的主要协议IP协议然后传递个数据链路层。注IP协议不会处理UDP数据报。 4.数据链路层以太网会针对IP数据报进行进一步封装填上数据头和数据尾当然以太网也不会处理IP数据报。然后传递给物理层 5.物理层硬件设备需要对上述数据进行转换了例如光信息、电信号、电磁波。 以上便是发送者发生信息后信息的主要传输过程。 
接收者情况 
1.物理层硬件设备(网卡),收到光信号/电信号/电磁波得到了一串二进制数据也就是以太网数据帧 
2.数据链路层以太网协议针对这个数据报进行解析载荷部分交给网络层。 
3.网络层根据IP协议去掉IP报头将载荷交给传输层 
4.传输层根据IP报头中的信息可以知道当前载荷是UDP数据报交给UDP处理再取出载荷交给应用层。 
5.应用层根据UDP报头可以得到目的端口根据目的端口可以找到相关联的应用程序然后对载荷进行解析再将数据显示 额外补充         系统端口号范围为 0 ~ 65535其中0 ~ 1023 为知名端口号这些端口预留给服务端程序绑定广泛使用的应用层协议如 22端口预留给SSH服务器绑定SSH协议21端口预留给FTP服务器绑定FTP协议23端口预留给Telnet服务器绑定Telnet协议80端口预留给HTTP服务器绑定HTTP协议443端口预留给HTTPS服务器绑定HTTPS协议   总结 在TCP/IP协议中用五元组来标识一个网络通信 源IP标识源主机源端口号标识源主机中该次通信发送数据的进程目的IP标识目的主机目的端口号标识目的主机中该次通信接收数据的进程 协议号标识发送进程和接收进程双方约定的数据格式 网络通信的数据传输需要经过封装和分用发送者进行封装接收者进行分用 封装每层协议都要加上一个数据首部(header)首部信息中包含了一些类似于首部有多长载荷(payload)有多长上层协议是什么等信息例如传输层使用了UDP协议还是TCP协议。分用到达目的主机后每层协议再剥掉相应的首部根据首部中的 上层协议字段 将数据交给对应的上层协议处理