成都app定制开发公司,长沙企业网站优化,外贸公司怎么注册,dw制作一张完整网页一. 网络发展史 独立模式#xff08;单机模式#xff09;#xff1a;计算机之间相互独立#xff0c;各自拥有独立的数据。 网络互连#xff1a;将多台计算机连接在一起#xff0c;完成数据共享。
随着时代的发展#xff0c;越来越需要计算机之间进行互相通信#…一. 网络发展史 独立模式单机模式计算机之间相互独立各自拥有独立的数据。 网络互连将多台计算机连接在一起完成数据共享。
随着时代的发展越来越需要计算机之间进行互相通信共享软件和数据即让多个计算机协同工作来完成业务因此网络互连随即诞生。
数据共享的本质就是网络数据传输即计算机之间通过网络来传输数据也称为网络通信。
根据网络互连的规模不同可划分为局域网和广域网。
局域网LAN又称为内网它英文全称为Local Area Network。若干台计算机可以通过网线、集线器、路由器、交换机 路由器等4种方式组成一个局域网其中同一个局域网的计算机之间可以自由进行网络通信而不同的局域网之间若没有通过连接则无法进行通信。通常情况下局域网的范围可覆盖一片地区。
广域网WAN的英文全称为Wide Area Network。一个广域网由若干个局域网组成各个局域网之间通过路由器相连。通常情况下一个广域网的范围可以覆盖一座城市甚至一个国家。
局域网和广域网是一个相对的概念在某个程度上由我们国家形成的广域网也可以看作世界网络关系网中的一个局域网。
注意以上图片均出自《图解TCP/IP》一书。
二. 网络通信基础
网络互连的目的就是网络通信即网络数据传输更具体来说是两台主机上不同进程间基于网络进行的数据传输。
1. 网络通信五元组
不同主机进行数据传输主要依靠网络数据包一个数据包包括 5 个基本属性也称作五元组。
网络通信五元组包括
源 IP 地址目的 IP 地址源端口号目的端口号传输协议
以上五个属性共同构成了一个数据包的唯一标识使一个数据能够从一台主机正确传输到另一台主机。
2. IP
数据在网络传输过程中如何判断由哪一台主机传送到另一台主机呢答案其实就是依靠 IP地址
IP地址主要用于标识网络主机、其他网络设备如路由器的网络地址它使得数据能够在网络中准确路由和传递。
IP地址就好比收/发快递时需要为快递公司提供的商家发货地址/顾客收件地址有了这两个地址快递员才能正确为顾客派发快递顾客也能在购买商品不满意时为退货提供寄件依据。
IP地址由一系列数字组成通常以“点分十进制”表示主要可以分为 IPv4Internet Protocol version 4 和 IPv6Internet Protocol version 6 两种类型。
其中 IPv4 是一个32位二进制数字即4个字节通常被分割为 4 个“8位二进制数字”如01100100.00000100.00000101.00000110。 由于二进制数字表示并不直观因此通常以“点分十进制”来表示一个IP地址即 a.b.c.d 的形式其中a、b、c、d均表示0 ~ 255的十进制整数如136.25.45.1。
IPv6 则采用 128位二进制数字即16字节来表示一台设备的网络地址它通常被分割为 8 个 “16位二进制数字”每16位都使用十六进制表示用 : 来分隔如2000:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6 的出现主要是为了解决未来 IPv4 地址空间不足的问题。
3. 端口号
在网络通信中IP地址 主要用于标识网络设备的唯一网络地址而端口号则用来标识主机中发送数据/接收数据的进程或网络服务简单来说端口号用于定位主机中的进程。
端口号的作用类似于购买快递时填写的收件人信息某个收货地址IP地址可能存在大量不同顾客购买的快递有了收件人信息端口号快递员才能准确将快递送达顾客手上。
端口号是一个 0~655352个字节范围的数字其中 0号端口通常不使用1 ~ 1023号端口称为“知名端口号”通常被系统留作特殊用途如HTTP协议80端口、HTTPS协议443端口、SSH协议22端口、FTP协议21端口等。在网络通信中某个进程可以通过绑定的端口号来接收或发送网络数据。
注意一个进行可以同时绑定多个端口号但一个端口号号只能被一个进程绑定。
4. 协议
什么是协议 协议是网络协议的简称网络协议是网络通信即网络数据传输经过的所有网络设备都必须共同遵从的一组约定、规则。 协议通常由三要素组成语法、语义、时序。 语法即数据与控制信息的结构或格式。语义即需要发出何种控制信息完成何种动作以及做出何种响应。时序即事件实现顺序的详细说明。 协议最终体现为网络传输中数据包的格式。
为什么需要协议 协议好比一个人为另一个人写一份策划文案只要做好就能得到相应的奖励如果文案没有完成或约定的奖励与原先不符则这次交易就会失败因此只有双方都遵守约定交易才能顺利达成网络数据才能被正确传输。
在真实的网络世界中数据以光信号或电信号作为媒介利用信号的“频率”和“强弱”来表示 0、1这样的二进制数字。只有约定好双方的数据格式即协议才能保证各式各样的数据被正确传递。
对于一台计算机生产厂商有很多计算机操作系统有很多计算机网络硬件设备也很多如何让任意两台主机都能顺利完成通信呢 答案就是约定一个公共的数据传输标准。并且让大家都去遵守这个约定。简单来说数据传输的约定就是网络协议
5. 协议分层
为什么需要进行协议分层 在网络通信中一条简单的数据如“你好世界”的传输需要约定好各种数据格式如果这些数据格式由一个整体的巨大的协议提供支持协议会显得十分臃肿和复杂不利于别人理解。因此将功能各异的协议进行分层就显得十分必要了。
协议分层最大的好处简化协议的复杂性将协议划分为多个功能不同、相对独立的层次对于每一层的来说只需利用下层提供的服务来完成本层的通信功能不必关心下层协议具体的实现细节。
OSI七层模型
OSI即Open System Interconnection开放系统互连。它将网络协议从上到下分为以下7层 注意OSI七层模型既复杂且不实用因此最终没有落地实现。
TCP/IP 五层模型四层模型
TCP/IP 五层模型将OSI七层模型中的表示层、会话层、应用层的功能合并为一层从上到下具体表现为 以下5层
应用层负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程 访问协议Telnet等。我们的网络编程主要就是针对应用层。传输层负责两台主机之间的数据传输。如传输控制协议 (TCP)能够确保数据可靠的从源主机发 送到目标主机。网络层负责地址管理和路由选择。例如在IP协议中通过IP地址来标识一台主机并通过路由表 的方式规划出两台主机之间的数据传输的线路路由。路由器Router工作在网路层。数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上 检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。 有以太网、令牌环网无线LAN等标准。交换机Switch工作在数据链路层。物理层负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同 轴电缆(现在主要用于有线电视)、光纤现在的wifi无线网使用电磁波等都属于物理层的概念。物理 层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器Hub工作在物理层。
参考资料出自TCP/IP四层模型和OSI七层模型的概念
如何理解TCP/IP五层模型 还是拿网购一件商品来说应用层表现为该商品的用途传输层关注快递的发货地址和收货地址网络层关注这两个地址间的路径规划如有多少条路径每条路径经过哪些地方等数据链路层关注中间两个路径间该使用什么交通工具去运输更加合适物理层则是公路、铁路等基础设施为运输提供最基本的保障。
OSI七层模型与TCP/IP五层模型的对比如下
网络设备所在分层
主机它的操作系统内核实现了TCP/IP五层模型中的下4层即传输层到物理层。 路由器它实现了TCP/IP五层模型中的下3层即网络层到物理层。 交换机它实现了TCP/IP五层模型中的下2层即数据链路层到物理层。 集线器它只实现了物理层。
6. 两台主机之间的网络通信流程
在了解两台主机间通信的具体流程前我们需要理解客户端和服务器是什么请求和响应是什么。 客户端客户端是指连接到服务器的计算机或设备用于发送请求或处理服务器提供的服务或数据。客户端可以是任何设备如个人电脑、智能手机、平板电脑等。 服务器服务器是一种用于存储、处理和传输数据的计算机系统。它通常用于提供网络服务、存储文件和托管网站。服务器可以是物理设备也可以是虚拟系统。 请求请求是客户端向服务器发送的消息用于请求特定的资源或执行特定操作。 响应响应是服务器对客户端发送的请求的回复其中包含请求的结果或执行的操作。 TCP/IP 通讯的流程如下图
客户端发送的请求数据会从 应用层到数据链路层 会被一层层进行封装加上数据首部其中首部信息中包含了类似首部长度、载荷信息和长度、上层协议是什么等信息当数据包通过传输介质到达目的主机时数据从下到上又会被一层层解析去除数据首部信息并根据这些信息将数据交给不同的协议处理。
封装的过程如下
分用的过程如下