计算机网络期末速成

一.TCP/IP分层网络体系结构,数据在各层传输过程中的变化

应用层:应用程序将数据 发送给传输层。
传输层:数据被封装为TCP段或UDP用户数据报。【如果使用TCP协议,数据被封装为TCP段,其中包含源端口、目标端口、序列号等信息。
如果使用UDP协议,数据被封装为UDP用户数据报,其中包含源端口、目标端口等信息。】
网络层,数据被封装为IP数据包。
IP数据包包含源IP地址和目标IP地址,用于在网络中路由和传递数据。
数据链路层(Data Link Layer):
数据链路层,数据被封装为帧(Frame)。
帧包含了物理地址(如MAC地址)以及数据链路层的控制信息。
物理层,数据被转化为电信号或光信号,通过物理介质进行传输。

二.码分复用计算,互联网接入技术

1.计算

理解成两个矩阵点乘求和后求平均。计算值若0,代表数据丢失或未发送。若1,发送为1,若-1,发送0

2.接入技术

光纤到户,数字用户线路,无线接入,公共交换电话网络

三.CRC计算

1.题目若为发送方的计算

例:多项式为P(x)=x^3+1,发送数据1011100

通过上面获得信息:
1.多项式最高次幂为3,所以在计算误差时在发送数据后加 000 拓张数据帧
2.除数应为 1001 [多项式系数]

下面开始计算

1.在发送数据后面补零
2.除数为多项式系数
3.除数与被除数进行异或操作
如果两个输入位相同(均为0或均为1),则异或结果为0。
如果两个输入位不同(一个为0,一个为1),则异或结果为1。
在这里插入图片描述

2.题目若为接受方的计算

例:多项式为P(x)=x^3+1,接受数据1011100,判断是否误码

思路:由上可知除数为1001,将1001与1011100进行异或运算,若余数为0则无误码,

在此不在进行计算,关于CRC计算看不懂的,建议康康这位小姐姐的视频(人美声甜):链接: https://www.bilibili.com/video/BV12e411F7fd/?spm_id_from=333.880.my_history.page.click&vd_source=da9be8f7e43c1b8ed7480bc25bad65e0

四.CSMA/CD协议

工作过程如下:
第一步,先听再发。当一个站点想要发送数据时,首先会监听网络是否 空闲,若闲空则可以立即发送数据,否则等待直到网络空闲。
第二步,边听边发。当数据发送时,该站点会不断检测网络是否有其他站点在同时发送数据。
第三步,冲突停止。如果检测到有其他站点正在发送数据,则该站点停止发送,并且向其他站点发送信号以表明发生了碰撞。
第四步,延迟后发。当一个站点检测到碰撞发生时,它会停止发送数据,并等待一段随机时间,以减小再次发生碰撞的可能性。

五.交换机

交换机功能:根据目标MAC地址来转发数据帧,连接多个网络设备,并在局域网内实现数据的转发和交换。

工作层次:数据链路层,物理层。

交换机的数据转发流程(单播,广播)、广播带来的危害
1.单播数据转发
当交换机接收到一个单播数据帧时,它会查询交换表以确定目标MAC地址对应的接口。
如果交换表中存在目标MAC地址的记录,则交换机将数据帧直接转发到对应的接口。
如果交换表中不存在目标MAC地址的记录,则交换机会将数据帧广播到所有其他接口(除了接收到该数据帧的接口)上,以尝试找到目标设备并学习其位置。
一旦交换机接收到目标设备的回应数据帧,它会学习并更新交换表,从而建立起目标MAC地址和对应接口的映射关系。
2.广播数据转发
当交换机接收到一个广播数据帧时,它会将该数据帧广播到所有其他接口上,以确保所有连接的设备都能接收到广播消息。
交换机不会查询交换表来确定目标MAC地址,而是将广播数据帧复制到所有其他接口上发送。
3.广播带来的危害
带宽消耗:广播会将数据帧发送到所有接口,包括不需要接收广播消息的设备。这样会占用网络带宽,并且可能导致其他正常通信的数据受到影响。
安全隐患:广播消息是以太网中一种无差别发送给所有设备的消息,因此可能会泄露一些敏感信息,或者被恶意利用进行网络攻击。
网络拥塞:大量的广播消息会增加网络的负载和拥塞,可能导致网络性能下降,延迟增加。

vlan技术:用于将一个物理局域网划分为多个逻辑上独立的虚拟网络。VLAN技术可以在单个物理网络中实现逻辑上的隔离和分割,提供更高的灵活性、可管理性和安全性。
逻辑划分:VLAN技术通过将网络中的设备划分为不同的逻辑组,实现逻辑上的隔离。每个VLAN内的设备可以在同一个广播域中进行通信,而不同VLAN之间的通信需要通过路由器或三层交换机进行。
端口划分:VLAN可以根据端口来进行划分,也就是将一组端口分配给同一个VLAN。这样,在同一个VLAN内的设备可以直接进行通信,而不需要经过其他VLAN。
标记和非标记VLAN:VLAN可以分为标记VLAN(Tagged VLAN)和非标记VLAN(Untagged VLAN)两种类型。
标记VLAN:标记VLAN使用标签(通常是802.1Q VLAN标签)来识别数据帧属于哪个VLAN,交换机通过读取标签来确定数据帧的VLAN成员身份。
非标记VLAN:非标记VLAN是一种简化的VLAN类型,不使用标签,交换机根据接口配置将数据帧直接分配给特定的VLAN。
VLAN间通信:不同VLAN之间的通信需要通过路由器或三层交换机进行,这些设备通常被称为VLAN间路由器或三层交换机。它们能够连接不同VLAN的接口,使得不同VLAN的设备能够进行通信。
安全性增强:VLAN技术可以增强网络的安全性。通过将敏感设备或重要数据的设备划分到不同的VLAN中,可以限制不同VLAN之间的访问,减少潜在的安全威胁。
灵活性和可管理性:VLAN技术提供了更大的灵活性和可管理性。通过划分不同的VLAN,网络管理员可以更方便地管理网络设备和流量,根据需要进行配置和调整。

六.转发表(交换机交换表学习过程)

在文章表达过于繁琐,其实原理特别简单,所以还是推荐看视频:链接: lhttps://www.bilibili.com/video/BV1t34y177Ds/?spm_id_from=333.880.my_history.page.click&vd_source=da9be8f7e43c1b8ed7480bc25bad65e0

七.子网掩码的计算(异常简单)

在这里插入图片描述
期中考试最后一题

怎么计算呢(跟着以下步骤,必定学会)

1.由题目可知分配地址为30.138.170/23
所以第一个地址为30.138.170.0/24

那么后面怎么排呢

这时候看题目LAN1-4
LAN1:180 [ 2^7-2 <180< 2^8-2] 所以要分8位给他才能满足
LAN2:…

这时候我们画张图立刻理解
在这里插入图片描述
因为划分是以二进制形式,所以我们可以通过上面来观察合适的分配
(划分需要数量满足,且保证在同一个网段的主机号不可分开)
举个例子:在LAN1的划分时候,我们总共2^(32-23)= 2 ^9=512个主机号
在向下划分时这512个主机号分成0-255和256-511
这个时候如果就直接分配,显然有些人没有,有些人的拥有的远超过
所以我们还是得向下划分
这时候我们发现如果第一部分的0-255向下划,那么LAN1就无法将自己180个主机号放在同一网段,没办法只能将这0-255全部给LAN1。
同理就是将其他LAN的分配了。

(还有很多知识点还没写,也就这样了吧,just so so 了)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值