计算机网络笔记

王道计算机网络:完整笔记 基于《王道计算机网络》得出的学习笔记和总目录导航 阅读详情

物理层(以比特流单位,中继器、集线器)

1.通信方式

单工通信:只能单向传输
半双工通信:双向交替传输,不能两边同时传
全双工通信:双向同时传输

传输层(以帧为单位,网卡、网桥、交换机)

1.封装成帧

将网络层传下来的包添加尾部和首部,用于标记帧的开始和结束

2.透明传输

在进行转义符的传递时,用户察觉不到转义符的存在

3.差错检测

目前数据链路层广泛使用循环冗余检验(CRC)来检查比特差错

4.MAC地址

处于数据链路层,长度6个字节(48位),用于唯一标识网络适配器(网卡)

5.协议

CSMA/CD协议表示载波监听多点接入/碰撞检测
ppp协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议

网络层(路由器)

IP协议

在这里插入图片描述

ip地址是一个32位的二进制数,通常被分割为4个“8位二进制数”,IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数,8位的二进制数最多能表示到2^8-1=255

ip地址被分为很多类,其中最常用的是ABC类,他们的ip地址=网络地址+主机地址
ip分类:A类前几位为0,范围为0-126.x.x.x(127.x.x.x段地址空间是被保留的回环地址)前8位是网络地址;B类前几位为10,范围为128-191.x.x.x前16位是网络地址;C类前几位为110,范围为192-223.x.x.x前24位是网络地址;D类前几位为1110,范围为224-239.x.x.x;E类前几位为11110,范围为240-247.x.x.x;
网络地址可以知道每类地址可以有多少个网络,主机地址可以知道没类地址有多少可用的主机,没类地址主机地址全为0标识位网络地址,全为1也就是255,标识为广播地址
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分(通过子网掩码,就可以判断两个IP在不在一个局域网内部,子网掩码可以看出有多少位是网络号,有多少位是主机号)
子网掩码32位都与IP地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0。
各自的ip地址与各自的子网掩码进行与运算之后,如果得出的结果是相同的,则说明这两台计算机是位于同一个子网络上的,可以进行直接通讯
可根据需要的子网数或者每个子网的主机数进行占取主机地址位数作为掩码自定义子网掩码
网关:在同一个网段中(也就是局域网)通讯,是可以直接通过IP得到MAC就能找到了,如果在不同的网段中就需要发往默认网关 Gateway 了.Gateway 的地址一定是和源 IP 地址是同一个网段的,如果不是第一个(x.x.x.1),就是第二个(x.x.x.2)
在经过网关时,MAC地址一定会发生变化(源地址和目标地址为本阶段发送的),IP始终不发生变化的是转发网关(在整个过程中源ip和目标ip始终不变),ip发生变化的是NAT网关

2.地址解析协议ARP

ARP 实现由 IP 地址得到 MAC 地址
ARP欺骗原理:在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换

3.网际控制报文协议 ICMP

ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议,ICMP 报文分为差错报告报文和询问报文
Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率
Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径,发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文

传输层

1.UDP和TCP

用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信
传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对一)

2.UDP首部格式

在这里插入图片描述

首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和临时添加的

3.三次握手

在socket编程中,客户端执行connect()时,将触发三次握手
在这里插入图片描述

在三次握手中只有3个状态SYN_SENT,SYN_RCVD,ESTABLISHED
在第一次握手中初始序列号为x,报文段不能携带数据,但要消耗一个序列号,第二次握手初始序列号为y确认号ack为x+1,第三次握手序列号为x+1,确认号为y+1,报文段可以携带数据,不携带数据则不会消耗序号
1.为什么要进行三次握手,两次握手不行吗?
如果客户端发起一个请求连接报文之后,因为网络堵塞等原因导致服务端长时间没有接收到,而客户端超时重新发送一个连接请求,在请求到达服务端并完成传输的数据之后,第一个在网络中滞留的请求包才到达服务端,服务端以为又是一个新的连接请求就发起确认,可是客户端却没有要建立这个连接发送的数据,那服务度就会一直等待浪费资源,如果采用三次握手,在客户端没有及时响应(一般会进行超时重传,超过系统规定最大次数之后,会在半连接队列中删除该连接请求)服务端之后,服务端则不再进行等待
2. 什么是半连接队列?
服务器在第一次接受到SYN之后,处于SYN_RCVD状态,此时双方还没有完全建立连接,服务器会把这种状态下的请求连接放入半连接队列中。
如果已经完成3次握手,建立好连接的会被放在全连接队列中,如果队列满了会有丢包现象。
3. ISN(Initial Sequence Number)是固定的吗?
ISN是根据时间动态变化的,如果是固定的,那很容易被攻击者进行攻击
4. 三次握手过程中可以携带数据吗?
在第一次和第二次握手的过程中是不可以携带数据的,第三次握手可以携带数据。第一次握手和第二次握手中还不知道服务端可客户端的接受和发送数据能力,如果攻击者直接伪造大量数据在第一次和第二次握手中不停发送连接请求,那将耗费大量资源来处理这些报文。对于第三次握手,客户端已经处于ESTABLISHED状态,并且已知道服务器接收和发送能力,再携带数据就没什么问题了
5.SYN攻击是什么?
攻击者刻意使用客户端并伪造很多不存在的ip地址向服务端发起连接请求,这样服务端不断回复确认,由于ip地址都是不存在的,这样又导致服务端不断重发直至超时,这样伪造的SYN包占满半连接队列后,有些正常的SYN包被丢弃,从而引起网络拥塞和系统瘫痪。SYN攻击是一种典型的Dos/DDos攻击
预防SYN攻击方法:缩短服务端超时时间,增加最大半连接数量,过滤网关防护,SYN cookies技术

4.四次挥手

在socket编程中,任何一方执行close()操作即可产生挥手操作
在这里插入图片描述

挥手为什么要四次?
tcp通信是全双工通信,前两次挥手是关闭客户端到服务端方向的,后面必须等到服务到数据报文发送完成之后才可以发送FIN报文进行关闭,所以是必须分开发送,需要四次挥手
为什么进入TIME_WAIT状态之后需要等待2MSL时间才进行关闭?(MSL是Maximum Segment Lifetime报文在网络中的最长生存时间)
主要是保证服务端在LAST_ACK状态下能够接受到客户端的确认关闭报文,网络是不可靠的,如果客户端发送的确认报文在网络中阻塞,不能到达服务端,那么客户端将及时重发,如果不等待2MSL时间直接关闭,该情况下服务端无法收到确认报文处于等待。

5.tcp包发送和接收流程(可靠性的实现)

tcp首部有源端口、目的端口、序号、确认号、数据偏移、保留、ACK、FIN、窗口、检验和、紧急指针、选项、填充
连接管理:采用三次握手和四次挥手进行连接和释放
序列号、确认号、检验和、重发控制:tcp通过给每一个需要发送的包编入一个序号,在接收方对包进行排序,利用检验和检验收到的数据是否有差错(重复丢失等问题),如果有差错,tcp将会丢弃和不确认这个报文段。如果没有差错会回复一个确认号表示已收到。收到确认之后再进行发送下一个。如果发送方在一定时间内没有收到该确认号,则会重新发送数据。
流量控制:通过滑动窗口的大小(取决于接收方缓存的大小)来控制发送方的发送速率,以实现流量控制,当窗口字段值为0时,发送方不能发送数据
拥塞控制:通过拥塞窗口控制,包括慢启动、拥塞避免、快速重启、快速恢复

应用层

1.DNS域名系统(53端口TCP/UDP,长度>512字节使用TCP)
2.FTP文件传输协议(20/21端口,TCP)
3.DHCP动态主机配置协议(67/68端口,UDP)
4. TELNET远程登录协议(23端口,TCP)
5.电子邮件协议(发送常用SMTP(25,TCP),读取常用POP3(110,TCP)、IMAP(143,TCP))
6.HTTP超文本传输协议(80端口,TCP)

本文有些知识是根据自己理解所写,如有错误,欢迎大佬指正

【计算机网络学习笔记】计算机网络 计算机网络的概述目录: 计算机网络的概念 计算机网络的组成 计算机网络的功能 计算机网络的分类 计算机网络的标准化工作和相关组织 计算机网络的性能指标和非性能指标 1.计算机网络的概念 **计算机网络的定义:**是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 计算机网络是互连的、自治的计算机集合。 互联——互联互通、通信链路 自治——无主从关系 2.计算机网络的组成 从组成部分上看 硬件、软件、协议(一系列规则和约定的集合) 从 阅读详情

相关推荐

《湖科大教书匠计算机网络》学习笔记总目录+思维导图

本篇文章是对《湖科大教书匠计算机网络》所有知识点的笔记总结归档和计算机网络的思维导图

weixin_73077810的博客 8246

【网络编程】C/S模型通信过程 — — TCP

TCP的11种状态 11种状态:LISTEN、SYN_SENT、SYN_RCVD、ESTABLISHED、CLOSING、FIN_WAIT_1、CLOSE_WAIT、FIN_WAIT_2、LAST_ACK、TIME_WAIT、CLOSED 过程:CLOSEED->LISTEN->SYN_SENT->SYN_RCVD->ESTABLISHED->…->FIN_WAIT_1->CLOSE_WAIT->FIN_WAIT_2->LAST_ACK->TIME

Intrepid_Chaser的博客 1090

Fluent实战——残差震荡分析与收敛优化策略

本文深入探讨了Fluent仿真中残差震荡的成因与优化策略。残差震荡是流场物理或数值问题的关键信号,文章系统分析了网格质量、边界条件、物理模型非定常性及求解设置四大主因,并提供了库朗数与松弛因子的调参心法,以及针对超音速流、共轭传热等典型场景的实战优化方案,旨在帮助用户有效提升计算收敛性与结果可靠性。

w1x2y3的博客 313

tcp协议端口解释(转载)

了解TCP协议端口的连接状态,对排除和定位网络或系统故障会有很大帮助,因此了解一下是有必要的: 一、LISTENING   提供某种服务,侦听远方TCP端口的连接请求,当提供的服务没有被连接时,处于LISTENING状态,端口是开放的,等待被连接。 二、SYN_SENT (客户端状态)   客户端调用connect,发送一个SYN请求建立一个连接,在发送连接请求后等待匹配的连接...

alexlee0123的博客 1316

Verilog单周期CPU设计(超详细)

实验 单周期CPU一、设计目的与目标实验内容实验要求二、课程设计器材硬件平台软件平台三、 CPU逻辑设计总体方案指令模块MIPS指令格式指令处理流程数据通路总体结构图设计流程逻辑图四、模块详细设计PCAdd4PCINSTMEMDATAMEMSHIFTER32_L2SHIFTER_COMBINATIONMUX4X32MUX2X5EXT16T32MUX2X32CONUNITREGFILEALUSing...

Ace Cheney的博客 9万+

NDVI空间分布变化Slope趋势分析与F检验(自用)

1.NDVI数据预处理2.一元线性回归分析3.Slope趋势分析与F检验

什么都学亿点点的博客 9017

TCP和UDP的区别与联系(最简洁的版本)

用户数据报协议 UDP(User Datagram Protocol) 是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。 传输控制协议 TCP(Transmission Control Protocol) 是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对

qq_38082146的博客 317

01-系统技术架构师必备——软件架构设计基础与核心概念

摘要 本文系统阐述了软件架构设计的核心概念与方法论,重点涵盖以下内容:1)软件架构的四大要素(构件、连接件、约束、配置)及其边界划分;2)Garlan & Shaw五大架构风格(数据流、调用/返回、独立构件、虚拟机、仓库)的典型应用场景;3)基于电商库存系统的架构选型实战案例,展示如何根据业务需求(高并发、最终一致性)选择事件驱动架构配合Saga模式;4)介绍ABSD、DSSA等主流架构方法论及ISO/IEEE标准体系。文章融合金融与互联网领域的架构实践经验,为技术架构师提供系统性的知识框架和决策参考。

模界 | AI工程化实践者 182

计算机网络体系结构

目录标题1. 体系结构2. 网络协议三要素3. 划分层次4. 分层传输过程5. 连接服务方式6. IP的体系结构 1. 体系结构 计算机网络的各层及其协议的集合就是计算机网络的体系结构( architecture) 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件 2. 网络协议三要素 语义:需要发岀何种...

iqqcode 2157

1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目

本文介绍如何在 SAP ABAP 事物码 SEGW 里创建 SEGW 项目,使用工具生成 Runtime 运行时需要的资源。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5443

国产系统(统信 UOS )漏洞修复方式

2.1 服务器版(单漏洞更新):服务器标准版:yum upgrade-minimal --cve “CVE编号”服务器 D 版:sudo apt update&&sudo apt install “受影响的软件包”1 统信 UOS 漏洞修复方式在线升级修复桌面专业版:通过以下步骤打开在线升级:控制中心–>更新–>更新设置–>打开系统更新、安全更新。安装过程中,请勾选“我已阅读并知晓”,然后点击“开始升级”。2 点击“检查更新”–“全部下载”,如果不想进行系统更新,可以选择只下载“安全更新”。

Reyn_观极 5016

【2026考研】《王道计算机网络》笔记汇总(超详细合集)

本篇文章是在准备 2026 年考研时,对《王道计算机考研 计算机网络》的所有笔记进行汇总,方便学习和复习时查看。对于期末考试也可以食用。笔记是纯人工手打的,会有一些小问题,如果有错误的地方请评论或私信…

iFulling的博客 1万+

国科大学习资料--自然语言处理(宗成庆)-2019期末考试题

国科大学习资料–自然语言处理(宗成庆)-2019期末考试题 国科大学习资料–自然语言处理(宗成庆)-2019期末考试题 国科大学习资料–自然语言处理(宗成庆)-2019期末考试题

无名何许人的博客 2438

计算机网络学习笔记

个人学习总结计算机网络笔记,参考课程为慕课课程《计算机网络》高军——湖南科技大学https://www.icourse163.org/learn/HNKJ-1461816178?tid=1465255482#/learn/announce 老师的课程精炼且非常棒,还有很多课后习题和考研真题讲解,推荐0基础学习,相当给力! 参考教材是谢希仁老师的《计算机网络第七版》,可以说是非常的经典了。 如果您需要谢希仁老师或者高军老师课件资料,请下载哈 计算机网络资料下载https://www.aliyundri

你好,时光的博客 559

【人脸识别/轻量级模型】MobileFaceNet:适用于人脸识别的轻量级网络模型(文末附pytorch代码)

MobileFaceNet:用于人脸识别的轻量级网络模型

Roaddd的博客 6988

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

408王道计算机网络xmind笔记

我参加了2022考研,408得分为126,以下为我学习王道计算机网络课程的笔记,希望能帮到各位伙伴。下图为笔记的缩略图,详细笔记见 百度网盘 请输入提取码 密码:6666 觉得有帮助的伙伴,记得点个赞~ ...

qq_36316831的博客 1597

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[计算机网络]笔记目录[2021]

总结一下学期计算机网络课程所学,包括笔记和题库解析两个部分。前四部分的笔记只有pdf文件格式,需要私信。 电子讲义链接[CCNA网络基础] 第一章网络介绍计算题及其解析 第二章网络网络技术基础计算题及其解析 第三章网络介质计算题及其解析 第六章以太网基础计算题及其解析 第八章以太网交换计算题及其解析 第九章TCP/IP协议和族和IP寻址计算题及其解析 第十一章TCP/IP应用层和传输层计算题及其解析 第八章笔记 第九章-十一章笔记 ...

weixin_44972997的博客 1736

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

哈工大《计算机网络》网课笔记

哈工大《计算机网络》网课笔记 去发现同类优质开源项目:https://gitcode.com/ 这里提供的资源文件是哈尔滨工业大学《计算机网络》网课的笔记,以.md文件格式呈现。该笔记格式美观,内容详实,包含了丰富的图表和清晰的文字描述,便于理解和学习。 笔记内容概述 该笔记主要涵盖了前八周的网络课程内容,重点聚焦于网络层和传输层的详细讲解。内容结构清晰,知识点覆盖全面,是学习和复习计算机网络课程...

gitblog_06730的博客 453

【山外笔记-计算机网络·第7版】学习笔记汇总

教材:《计算机网络·第7版》 作者:谢希仁 【山外笔记-计算机网络·第7版】第00章:知识框架目录 状态:更新中··· 博客地址:更新中··· 文档下载地址:更新中··· 【山外笔记-计算机网络·第7版】第01章:计算机网络概述 状态:已完成 博客地址:【计算机网络·第7版-学习笔记】第01章:计算机网络概述 文档下载地址:[学习笔记]第01章_计算机网络概述-打印版.pdf 【山外笔记-计算机网...

山外Sundal的博客 425

计算机网络详细学习笔记第1章概述——走进计算机网络

计算机网络详细学习笔记第1章概述——走进计算机网络。耗时近八个小时整理,数千字图文笔记,与你一起走进计算机网络、一起了解"计网之美"!

Code_流苏:在代码中寻诗意,在实践中觅真知 1万+

精选开源笔记:408计算机网络笔记湖科大教书匠,计算机网络学习者的福音

精选开源笔记:408计算机网络笔记湖科大教书匠,计算机网络学习者的福音 去发现同类优质开源项目:https://gitcode.com/ 计算机网络作为现代信息技术的基础,对于计算机科学专业的学生和从业者来说至关重要。今天,我们为大家推荐一份由湖科大教书匠精心整理的计算机网络笔记——408计算机网络笔记。以下是该项目的核心功能、技术分析、应用场景和特点。 项目的核心功能/场景 详尽讲解计算机网络基...

gitblog_06768的博客 893

2019计算机网络王道官方课件笔记

2019计算机网络王道官方课件笔记 去发现同类优质开源项目:https://gitcode.com/ 资源描述 本仓库提供了一份名为“2019计算机网络王道官方课件笔记”的资源文件,该文件为PDF版本,非常适合考研或找工作的复习使用。笔记内容涵盖了计算机网络的多个重要知识点,共计74节课程笔记。 内容概述 笔记详细介绍了以下内容: 网络层次划分 OSI七层网络模型 IP地址 子网掩码及网络划分 ...

gitblog_09771的博客 414
上一篇: mysql学习
下一篇: LeetCode 718 最长重复子数组
yezlun
博客等级 码龄9年 13粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值