有哪些免费的ppt模板下载网站,seo精华网站,黄骅市属于沧州市吗,网站建设制作合同文章目录#xff1a; 计算机网络认识计算机网络背景网络发展认识 “协议” 网络协议初识协议分层OSI七层模型TC/IP 五层#xff08;或四层#xff09;模型 网络传输基本流程网络传输流程图同局域网的两台主机进行通信跨网络的两台主机进行通信数据包的封装和分用 网络中的地… 文章目录 计算机网络认识计算机网络背景网络发展认识 “协议” 网络协议初识协议分层OSI七层模型TC/IP 五层或四层模型 网络传输基本流程网络传输流程图同局域网的两台主机进行通信跨网络的两台主机进行通信数据包的封装和分用 网络中的地址管理认识IP地址认识MAC地址 计算机网络认识
计算机网络由两台或多台计算机组成这些计算机通过电缆有线或 WIFI无线连接起来目的是传输、交换或共享数据和资源。通过使用硬件例如路由器、交换机、接入点和电缆和软件例如操作系统或业务应用程序构建计算机网络。
计算机网络的核心是数据通信它通过将数据划分为小的数据包并通过网络传输这些数据包来实现信息的传递。计算机网络通常由以下几个要素组成
网络设备包括路由器、交换机、集线器等用于连接和转发数据包。这些设备在网络中负责数据的转发、路由选择和信号放大等功能。数据链路通信数据链路是连接计算机网络中设备的物理媒介可以是有线媒介或者无线媒介。数据通过数据链路进行传输。协议计算机网络使用一系列规定数据格式、传输方式和控制过程的协议来实现通信。常见的网络协议包括 TCP/IP 协议、HTTP 协议、FTP 协议等。协议规定了数据的封装格式、传输方式、错误检测和纠正等。网络拓扑网络拓扑指计算机网络中各设备之间的物理或逻辑连接方式。
计算机网络背景
网络发展 独立模式计算机之间相互独立 在计算机网络的早期阶段计算机之间先相互独立运行没有连接在一起每台计算机独立完成自己的任务数据共享和通信较为困难。 如上所示如果多个计算机要协同完成某种任务那么只能等其中一台计算机完成将数据传递给下一台然后吓一跳计算机再进行相应的任务处理这样效率是非常低的。 网络互联: 多台计算机连接在一起, 完成数据共享 随着计算机数量的增加人们意识到将多台计算机连接在一起可以实现数据共享和协同工作。这促使了计算机网络的发展通过网络连接计算机可以相互通信和共享数据。 局域网LAN计算机数量更多了通过交换机和路由器连接在一起 随着计算机网络的普及人们开始在局域范围内连接更多的计算机形成局域网。局域网通常由交换机和路由器等网络设备连接起来实现跨地域的数据通信和资源共享。 广域网WAN将远隔千里的计算机都连在一起 连接不同地理位置的局域网形成广域网。广域网通过路由器和其它网咯设备将多个局域网连接起来实现跨地域的数据通信和资源共享。 所谓的 “局域网” 和 “广域网” 只是一个相对的概念。
认识 “协议”
“协议” 是一种约定或规范用于定义通信双方在进行交互时必须遵守的规则和步骤。在计算机网络中网络协议是指通信计算机之间必须共同遵守的一组约定以确保数据的可靠传输和有效处理。
网络协议可以被视为一种语言它规定了通信的格式、数据的编码方式、消息的传递顺序以及错误处理等细节。通过遵循相同的协议通信双方能够理解和解释对方发送的数据从而实现有效的数据交换和通信。
一个生活中关于 “协议” 的简单例子
生活中的交通规则就是一种协议用于规范道路上的车辆和行人如何行驶和交互。如红绿灯信号、交通标志等都是交通规则的一部分它们确保了交通的有序和安全。
网络协议初识
协议分层
协议提供了一种通信服务主要定义设备之间通信所使用的语言。当通信简单时我们可以只使用一种简单的协议。当通信复杂时我们必须将任务分解到不同的层次中因为我们需要在每个层次上遵循一个协议这种技术被称为协议分层。
这种分层使我们能够将服务与实现分离。每个层次需要从较低层次接收一组服务并向较高层次提供服务。对任何一个层次的修改都不会影响其它层次。
为什么引入分层设计
网络协议栈设计成层状结构其目的就是为了解耦不同功能和任务并提供更好的可维护性和可扩展性。
例如在打电话的时候真正的通话过程并不是直接将 A 所说的话直接传递给 B 而是先将 A 所说的话记录下来再将其进行编码然后通过网络将其发送到 B 的手机上然后 B 的手机中对应的器件对通话数据进行解码然后得到 A 所通话的数据。
若 A 与 B 进行通过都是使用的汉语我们将其称为语言层。手机与手机之间通信使用的是手机设备相关的一些接口我们将其称为通信设备层。 随着科技全球化的发展手机也不仅仅是在一个国家进行使用手机售卖到其它国家之后此时上层的通信语言变了但是依旧可以正常使用。 分层的一个主要优势就是封装。分层架构将通信系统划分为多个层次每个层次负责特定的功能和任务。每个层次都有定义明确的接口和协议它们之间通过这些接口进行通信。
当某个层次的协议需要进行更改或替换时由于每个层次都有清晰的接口定义只需在该层次进行修改而不影响其它层次的实现。这种封装性使得系统更加灵活和可扩展。
网络协议分层结构的好处主要有以下几方面
1️⃣ 分工明确每一层协议都有自己的功能和职责可以避免功能冗余。如物理层负责数据的传输网络层负责数据包的路由传输层负责提供端到端的数据传输服务。 2️⃣ 灵活性对每一次协议的修改或替换都不会影响到其他层。如可以在不改变网络层和传输层的情况下更换物理层的传输介质。 3️⃣ 可维护性协议分层结构可以使得设计和维护工作更加简单每一次都是独立的可以单独的进行设计和维护。 4️⃣ 复用性上层可以复用下层提供的服务。如TCP 和 UDP 协议都复用了 IP 协议提供的数据包传输服务。 5️⃣ 兼容性不同的网络设备和系统可通过共同遵守的协议来进行通信实现了不同设备和系统之间的可操作性。 6️⃣ 扩展性协议分层结构可以方便地添加新的协议和服务。
在网络协议中同一层的协议可以看作是直接在进行通信而不需要考虑下层协议的具体细节。 OSI七层模型
OSI 七层模型Open System Interconnection Reference Model是一个用于理解和描述计算机网络通信的参考模型。它将网络通信划分为七个不同的层次每个层次负责特定的功能和任务。
OSI开放系统互连七层网络模型称为开放式系统互联参考模型。把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备比如路由器交换机。OSI 七层模型是一种框架性的设计方法其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确的区分出来概念清楚理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。但是它既复杂又不实用所以在后面具体实现的时候对其进行了调整因此就有了我们看到的 TCP/IP 四层协议。
OSI 七层模型如下 OSI 七层模型提供了一种通用的参考框架用于理解和描述计算机网络通信的不同层次和功能。每个层次都有特定的协议和功能它们通过顶柜明确的接口实现相互之间的通信。
TC/IP 五层或四层模型
TCP/IP 是一组协议的代名词它还包括许多协议组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了5层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求。
物理层 负责光/电信号的传递方式。比如现在以太网通用的网线双绞线、早期以太网采用的同轴电缆现在主要用于有线电视、光纤现在的 WiFi 无线网使用电磁波等都是属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器Hub工作在物理层。
数据链路层 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步就是说从网线上检测到什么信号算作新帧的开始、冲突检测如果检测到冲突就自动重发、数据差错校验工作。有以太网、令牌环网、无线 LAN 等标准。交换机Switch工作在数据链路层。
网络层 负责地址管理和路由选择。例如在 IP 协议中通过 IP 地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输。如传输控制协议TCP能够确保数据可靠的从源主机发送到目标主机。
传输层 负责两台主机之间的数据传输。如传输控制协议TCP能够确保数据可靠的从源主机发送到没目标主机。
应用层 负责应用程序间沟通如简单电子邮件传输SMTP)文件传输协议FTP、网络远程访问协议Telnet等。我们的网络编程主要是针对应用层。 OSI 模型将网络层细分为网络层和数据链路层形成七层模型。而 TCP/IP 模型将网络层和数据链路层合并为一个层级形成了四层模型。
一般而言
对于一台主机它的操作系统内核实现了从传输层到物理层的内容对于一台路由器它实现了从网络层到物理层对于一台交换机它实现了从数据链路层到物理层对于集线器它只实现了物理层
但是并不绝对很多交换机也实现了网络层的转发很多路由器也实现了部分传输层的内容如端口转发。这些设备的功能范围并不是绝对的实际上也会有一些交叉和重叠。
网络传输基本流程
网络传输流程图
下面是同一个网段内两台主机进行文件传输的简化网络传输流程图 同局域网的两台主机进行通信
在同一个局域网内的两台主机可以直接进行通信。局域网的设计初衷就是为了让局域网内的主机能够方便地相互通信。 当用户要将文件传输给另一台主机时文件数据需要经过网络协议栈的封装和解包。
发送端
文件数据首先交给应用层应用层添加应用层协议的包头信息将数据给到传输层。传输层接收数据添加传输层协议的报头信息并将数据传递到网络层。网络层接收数据添加网络层协议的报头信息并将数据传递到链路层。链路层接收数据添加链路层协议的包头信息并完成数据封装。
数据封装完毕后通过局域网发送给目标主机。
接收端
链路层接收数据提取链路层协议的报头信息并将剩余数据传递给网络层。网络层接收数据提取网络层协议的报头信息并将剩余数据继续传递给传输层。传输层接收数据提取传输层协议的报头信息并将剩余数据传递给应用层。应用层接收数据提取应用层协议的报头信息并完成数据的解包和处理。
数据在发送端经过协议栈的封装后通过局域网发送给目标主机。接收端的协议栈对数据进行解包和分用将数据送达至应用层进行处理。在这个过程中每一次协议都会负责添加或提取对于的报头信息以确保数据正确的传输和处理。自顶向下的封装和自底向上的解包过程就是计算机网络中数据通信的基本原理。
跨网络的两台主机进行通信
跨网段的主机的文件传输。数据从一台计算机到另一台计算机传输的过程中要经过一个或多个路由器。 局域网之间都是通过路由器连接起来的因此一个路由器至少横跨两个局域网。这些被路由器级联的局域网都认为该路由器就是该局域网内的一台主机因此路由器可以和这些局域网中的任意一台主机进行直接通信。
当路由器级联的两个局域网采用不同的通信标准时路由器会负责将数据从一个局域网发到另一个局域网并进行适当的转换和处理。
在这种情况下路由器会根据接收到的数据的源和目的地址以及对于的网络层协议进行路由选择和转发。当路由器接收到从局域网1发送过来的数据时路由器会解析以太网的报头并将剩余的数据传送到网络层。在网络层路由器会根据目的地址和路由表等信息将数据转发到适当的局域网2在转发过程中路由器会根据局域网2采用的通信标准如令牌环网为数据添加相应的报头信息以确保数据能够在局域网2中正确传输。
即通过路由器的处理不同通信标准的局域网之间的数据传输得以实现。路由器在网络层中起到了关键的作用负责解析和转发数据以及进行不同通信标准之间的转换和适配。 关于网络层相关的问题解释 什么是报头Header和有效载荷Payload
报头指的是网络数据包或消息的元数据部分报头一般通过位段实现它包含了关于数据包的控制信息和描述信息。报头通常位于数据报或消息的首部用于帮助网络设备或软件识别和处理数据。报头中的信息可以包括源地址、目的地址、协议版本、数据长度、校验和等。
数据封包是指在数据传输过程中不断地给数据添加各种对应的报头信息。数据解包是指在接收对数据进行处理时不断从数据中提取对应的报头并对提取出来的报头进行数据分析。
有效载荷是指在数据传输中携带的实际数据部分。它是报头之后的内容。有效载荷包含了需要在网络中传输或处理的实际信息。有效载荷的内容可以根据应用程序或协议的需要而有所不同。
报头和有效载荷的区分有助于在数据传输过程中对数据进行灵活的控制和处理。报头提供了必要的元数据用于指示和控制数据的传输和处理过程而有效载荷则是传输的实际数据内容是数据传输的核心部分。
如何将报头与有效载荷进行正确的分离
需要将报头与有效载荷进行分离需要明确报头的大小。在协议设计中可以采用以下的方法来获取报头的大小
定长报头协议设计中可规定报头的大小。在解包时接收端根据预先定义的大小来进行信息提取将报头与有效载荷进行分离。子描述字段报头中可以包含一个字段用来表示报头的长度。这个字段可以是一个固定长度的字段用来指示报头的大小。解包时首先提取出该字段然后根据字段信息来进行有效分离。
无论是定长字段还是子描述字段都需要在协议设计中明确规定报头的格式和大小并确保发送端和接收端在解析报头时能够正确地识别和分离报头和有效载荷。
在局域网中传输数据时所有主机都能收到数据包但只有目标主机会对该数据进行处理
局域网内传输数据时数据通常是通过广播或多播的方式发出。广播是将数据发送到局域网中的所有主机多播是将数据发送到局域网中指定的一组主机。当数据包通过广播或多播的方式发出时局域网中的所有主机都能收到该数据包。因为局域网是一个共享的物理网络。
即使所有的数据都能收到该数据包实际上只有目标主机会对该数据包进行处理。每个主机收到数据包时会检测数据包的目的地址如果匹配自身的地址就会进行处理否则丢弃。
在局域网中传输数据时若只想要特定的主机才能收到可以使用单播的方式发出。
在网络数据发送时什么是数据碰撞怎么避免和处理
在以太网等共享介质的网络中多个主机可同时发送数据包到同一个物理网络中。多个主机同时发送数据时由于信号传播的延迟以及网络中传输介质有限宽带等原因数据包可能会在传输途中发送碰撞导致数据包损坏或者丢失。
为了避免数据碰撞以太网等共享介质的网络采用一种称为 CSMA/CDCarrier Sense Multiple Access with Collision Detection的协议。使用该协议的主机会在发送数据前监听网络中是否有其它主机正在发送数据。如检测到有主机正在发送数据发送主机会等待特定的时间之后再次尝试发送以减少碰撞。现在的以太网采用了全双工的通信和交换机技术。全双工通信允许同时发送和接收操作交换机则可以将数据包从一个端口发送到另一个端口避免了数据碰撞的发生。
局域网中的碰撞攻击
在这种攻击中攻击者会发送大量的垃圾数据到局域网中导致其它主机发送的有效数据与这些垃圾数据发生碰撞从而造成网络瘫痪和阻塞。为了绕过 “碰撞避免” 算法攻击者可能会采用多种手段。
碰撞攻击可能对局域网造成严重的影响它会导致网络瘫痪或拥塞。为了防范碰撞攻击可以采用很多措施如使用入侵检测系统、实施流量检测等。
网络主机中的 MAC 地址
MAC 地址Media Access Control Address是网络中的一个唯一标识符用于在局域网中识别和寻址网络设备。
在局域网中每个主机都可以通过 MAC 地址来判断数据包是不是发给自己的。每个主机都有一个 MAC 地址该地址在网络接口卡INC中预先配置。当一个主机收到一个 MAC 数据帧时它会检测该数据帧的目的 MAC 地址字段。如果与自己的 MAC 地址相匹配则该主机继续处理该数据包若不匹配则丢弃。
MAC 地址是在数据链路层进行识别和判断的。在网络层和传输层以上的协议中主机会使用 IP 地址和端口号来确定数据是不是发给自己的。MAC 地址是在局域网范围内使用的在不同的局域网之间是无法直接进行传输的。在通过路由器连接到不同的网络情况下数据包会被封装成 IP 数据包然后使用 IP 地址寻址和路由。
IP地址的存在屏蔽了网络底层实现的差异
IP地址是在网络层使用的它提供了一种统一的寻址方式使得不同的网络可以通过IP地址进行通信。使用IP地址网络设备可以将数据包传输到目标设备而不需要关心网络底层的实现细节。
数据包的封装和分用
不同的协议层对数据包有不同的称谓在传输层叫做段segment在网络层叫做数据报datagram在链路层叫做帧frame。应用层数据通过协议栈发到网络上时每个协议层都会在原始数据上添加一个首部header从而形成一个数据包称为封装Encapsulation。首部信息中包含了一些必要信息如首部长度、载荷长度、上层协议等信息。数据封装成帧后发送到传输介质上到达目的主机后每层协议再分离数据首部根据首部中的 “上层协议” 字段将数据交互给对应的上层协议进行处理。
下图为数据封装的过程
下图为数据分用的过程 网络中的地址管理
认识IP地址
IP协议有两个版本IPv4 和 IPv6。在没有特殊说明的情况下通常所说的 IP 地址都是 IPv4。
IP 地址是在 IP 协议中用来标识网络中不同主机的地址在 IPv4 中它由4个字节组成32位的整数如192.168.0.1我们通常也使用 “点分十进制” 的字符串来表示 IP 地址如192.168.0.1用点分割的每一个数字表示一个字节范围是 0-255随着互联网的发展和 IPv4 地址的枯竭IPv6 被逐渐引入。IPv6 采用128位的地址空间以克服 IPv4 中可用地址数量有限的问题。IPv6 通常以冒号分隔的八组十进制数表示。
认识MAC地址
MAC 地址用于在数据链路层识别相连节点的地址它的长度为48位也就是6个字节。一般使用16进制数字加上冒号:的形式来表示例如08:00:27:03:fb:19MAC 地址在网卡出厂时就确定了并且通常是唯一的不能修改虚拟机中的 MAC 地址不是真实的 MAC 地址可能会冲突也有些网卡支持用户配置 MAC 地址。MAC 地址是在数据链路层使用的。它与 IP 地址不同IP 地址是在网络层使用的两者都用于在互联网中标识和定位设备。