【计算机网络】
文章平均质量分 77
本人在学习计算机网络的过程中整理的笔记和代码
我要成为C++领域大神
code
展开
-
【Linux】Linux下使用套接字进行网络编程
🔥❤️在自定义的头文件中重新声明一个函数,函数名与接口函数不同,返回值、参数均与接口函数相同。在相应的源文件中定义我们的函数,将逻辑判断的过程放在函数中。这样在调用函数时就省去大量的if else判断int# endifint# endifintprotocol);原创 2024-06-27 21:30:59 · 1325 阅读 · 12 评论 -
【计算机网络】路由数据转发过程
🔥❤️路由表所指出的是,到达某个网络应当先先到达某个路由器(即下一跳路由器),在到达下一跳路由器后,再继续查找其路由表,知道再下一步应当到哪个路由器。这样一步一步地查找下去,直到最后到达目的网络。路由器收到一个待转发的数据报,在从路由表得出下一跳路由器的IP地址后,不是把这个地址填入IP数据报,而是送交数据链路层的网络接口软件。网络接口软件负责把下一跳路由器的IP地址转换成硬件地址(必须使用。),并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。后,就可以进行数据传输了。原创 2024-05-26 09:00:00 · 307 阅读 · 0 评论 -
【计算机网络】TCP网络编程的本质(三个半事件)
🔥❤️TCP网络编程最本质的是处理三个半事件:连接建立:包括服务器端被动接受连接(accept)和客户端主动发起连接(connect)。TCP连接一旦建立,客户端和服务端就是平等的,可以各自收发数据。 连接断开:包括主动断开(close、shutdown)和被动断开(read()返回0)。原创 2024-05-26 15:04:52 · 447 阅读 · 0 评论 -
【计算机网络】子网划分案例
🔥❤️既然有默认子网掩码,那么就有非默认子网掩码。上图这个IP地址为 192.168.3.100,即11000000.10101000.00000011.01100100同时指定子网掩码为255.255.255.248,即11111111.11111111.11111111.11111000网络号:两者进行与运算,即11000000.10101000.00000011.011000000(192.168.3.96)主机号:子网掩码取反,再和IP做与运算,即 00000000.00000000.原创 2024-05-26 07:18:31 · 940 阅读 · 0 评论 -
【计算机网络】深入解析TCP协议
🔥❤️TCP三次握手中可以携带有效数据吗?为什么是三次握手?不是两次或四次?为什么ACK和FIN要分两次发送(为什么是四次挥手)?为什么TIME_WAIT状态要等待2MSL?TCP如何解决粘包问题?原创 2024-05-24 23:09:34 · 1678 阅读 · 2 评论 -
【计算机网络】聊天记录如何保存
🔥❤️如果是同一台设备近期的聊天记录,则会存放在本地存储中,通常是在硬盘驱动器或固态硬盘上。用户可以在需要时访问这些记录,而且可以保留相对较长的时间,直到他们决定删除它们。这样的话,用户可以从多个设备上访问他们的聊天记录,而不仅限于单个设备。这里所说的服务器并不是项目中负责与客户端建立连接的服务器,而是专门用来。并且不止一台(防止发生意外导致数据丢失),当我们切换设备登录时,新的设备将从数据库中获取聊天记录存储在哪个。聊天软件在将近期聊天记录保存到本地存储的同时,还会将其上传到。原创 2024-05-25 08:07:42 · 247 阅读 · 0 评论 -
【计算机网络】数据包在传输过程中的变化
🔥❤️数据从传输层到网络层,在原数据包到基础上加了IP头,变成了。数据从传输层到物理层,在原数据包的基础上增加了。数据从应用层到传输层,在原数据的基础上加了。原创 2024-05-25 15:17:55 · 306 阅读 · 0 评论 -
【计算机网络】以太网帧结构
🔥❤️MTU(Maximum Transmission Unit,最大传输单元)MSS(Maximum Segment Size,最大分段大小)MTU(Maximum Transmission Unit):指的是在网络通信中,数据链路层一次可以传输的最大数据包大小。MTU 的大小通常由网络设备(如路由器、交换机)或网络连接(如以太网、Wi-Fi)决定。较大的 MTU 可以提高网络传输效率,因为每个数据包携带的数据更多,减少了网络开销。常见的以太网 MTU 大小为 1500 字节。MSS(Maxim原创 2024-05-25 15:17:00 · 257 阅读 · 0 评论 -
【计算机网络】子网划分
🔥❤️子网掩码又叫做网络掩码,地址掩码,子网络遮罩,顾名思义就是将子网络遮起来,不让外界窥探到。子网掩码不能单独存在,它必须结合IP地址一起使用。只有一个作用,就是将IP地址分为主机部分和网络部分。即用来分割子网和区分哪些ip是同一个网段的,哪些不是同一网段的。子网掩码是一个32位的二进制数,子网掩码中的1表示网络部分,0表示主机部分。原创 2024-05-25 08:56:49 · 1244 阅读 · 1 评论 -
【计算机网络】UDP怎么实现可靠传输
🔥❤️类似TCP协议的序列号和确认号机制,发送方给每个数据包分配一个唯一序列号,接收方收到数据后发送确认消息,并在其中包含确认号。发送方在发送数据后等待接收方的确认消息,如果在一定时间内未收到确认,则重新发送数据。:在UDP数据包中添加校验和字段,接收方在接收数据时计算校验和并与发送方的校验和进行比较。如果不匹配,则要求发送方重新发送数据。:通过控制发送数据的速率和接收数据的处理速度,可以避免网络拥塞和数据丢失。:发送方可以设置一个超时计时器,如果在指定时间内未收到确认消息,则认为数据丢失,触发重传操作。原创 2024-05-24 21:52:41 · 302 阅读 · 0 评论 -
【计算机网络】UDP中实现广播
🔥❤️广播分为两种,直接广播和有限广播,直接广播在某个网段内发送数据可以跨路由器,通过直接广播,就是将这个网段的网络号不变,主机号变为全1,即x.x.x.255例如广播地址是192.168.3.255,那么网段为192.168.3.xxx的所有主机都会收到。将UDP协议的服务端和客户端代码进行稍微修改,可以实现广播。将客户端中目的主机的IP修改为192.168.3.255,这样就是所有网段为192.168.3.xxx的主机均可以收到。原创 2024-05-23 17:47:52 · 272 阅读 · 1 评论 -
【计算机网络】单播组播和广播
🔥❤️单播是指将数据从一个发送者传输到一个指定的接收者的通信方式。在单播通信中,数据只会传输到目标地址指定的唯一接收者,其他接收者不会接收到这个数据。单播通常用于一对一的通信,如客户端与服务器之间的通信。🔥❤️单播需要知道目的端的IP地址。例如,如果一个网络中 IP 地址为 10.1.2.0 的设备想要将流量流(数据包)发送到另一个网络中 IP 地址为 20.12.4.2 的设备,那么单播就出现了。原创 2024-05-25 08:28:24 · 452 阅读 · 0 评论 -
【计算机网络】网络编程中的阻塞和非阻塞
🔥❤️阻塞和非阻塞是对操作请求者在等待返回结果时的状态描述,阻塞时,在操作请求结果返回前,当前线程会被挂起,得到结果之后返回;非阻塞时,如果不能立刻得到结果,系统不会挂起当前线程,而是直接返回错误信息,因此对应非阻塞的情况,调用者需要定时轮询查看处理状态。阻塞状态下,不占用CPU;非阻塞状态下,一直占用CPU。举个例子:老王烧水,把水壶放在炉子上,就在旁边等着水开---阻塞:不占用CPU,第一时间知道等待的事情发生了。原创 2024-05-24 13:32:17 · 256 阅读 · 1 评论 -
【计算机网络】基于TCP的服务器端和客户端
🔥❤️TCP是面向连接的,所以相对UDP通信基础上,会有监听和连接的过程。TCP服务器搭建流程服务器的特点:端口和IP地址必须绑定1、加载库2、创建套接字3、绑定IP4、监听5、接受连接6、接收客户端发送的数据7、返回客户端一些信息8、关闭套接字9、卸载库原创 2024-05-23 14:52:39 · 1368 阅读 · 1 评论 -
【计算机网络】基于UDP的服务器端和客户端
🔥❤️UDP特点面向非连接,可以接收任意方发来的数据,可以是1对1,也可以是1对多(广播和组播)数据报文的通讯方式,数据包不可拆分传输效率高(相对TCP)没有效验和检查,容易丢包,也可能会出现乱序。原创 2024-05-21 22:19:40 · 886 阅读 · 0 评论 -
【计算机网络】DNS协议
🔥❤️DNS协议(Domain Name System)即域名系统协议,DNS服务器将记好的域名解析成IP地址。是进行域名和与之相对应的 IP 地址进行转换的服务器。简单来讲,DNS相当于一个翻译官,负责将域名翻译成ip地址例如我们要访问WWW.163.com这个网站,首先会查询本地DNS服务器缓存里有没有该网站的记录。若没有,本地DNS服务器则联系根服务器root-server.net,询问域名对应的IP地址是多少。根服务器查询到这个域名是由.com区域管理,给我们一个c.gtld-ser原创 2024-05-24 13:57:52 · 291 阅读 · 1 评论 -
【计算机网络】ARP协议
🔥❤️ARP协议:地址解析协议(address revolution protocol),是根据IP地址获取物理地址的一个TCP/IP协议。ARP报文由:ARP报头 和 源MAC源IP,目的MAC和目的IP组成。ARP协议是网络层和数据链路层之间的协议,所以ARP报头里的上层协议类型就是IP协议。通过向目的IP发送ARP请求,此时的ARP报文中源MAC源IP,目的IP是已知的,目的MAC未知填0。ARP请求包通过“广播”的形式发送,交换机或WIFI设备收到广播包时将数据发送给同一局域网的其它主机。原创 2024-05-24 13:52:42 · 380 阅读 · 1 评论 -
【计算机网络】IP协议格式
🔥❤️IP头的长度为20个字节,1个字节为8位,所以一共占160位版本:占4位,用来说明当前IP协议的版本是IPv4还是IPv6。首部长度:占4位,指的是IP数据报首部的大小。区分服务:占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(DifferentiatedServices)。只有在使用区分服务时,这个字段才起作用,在一般的情况下都不使用这个字段。总长度:占了16位,指的是整个IP数据报的大小。标识原创 2024-05-23 20:20:55 · 323 阅读 · 1 评论 -
【计算机网络】网络基本模型
🔥❤️由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套。是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。原创 2024-05-21 18:02:46 · 1034 阅读 · 0 评论