计算机网络
文章平均质量分 58
计算机网络的学习
无情酷狗
所有帖子仅是记录自己的学习过程,缺乏严谨性仅供参考
展开
-
计算机网络 路由数据转发过程
路由数据转发是计算机网络中非常重要的过程,它指的是路由器根据收到的数据包的目标地址,将数据包从一个接口转发到另一个接口的过程。原创 2024-07-10 10:51:28 · 307 阅读 · 0 评论 -
计算机网络 数据包在传输过程中的变化过程
这些层次的数据形式和结构各不相同,但通过这些层次的协同工作,数据能够在网络中从源端到目的端进行有效的传输和处理。每一层的协议和数据结构都有其特定的功能和责任,确保网络通信的可靠性、安全性和效率。在计算机网络中,数据包在传输过程中经历多个阶段和变化,主要包括封装、传输、路由和解封装等过程。这些过程使得数据能够在复杂的计算机网络中进行可靠和高效的传输。每一步都依赖于不同层次的协议和设备,确保数据从源端到目的端的有效传递和处理。在TCP/IP模型中,原创 2024-07-10 09:46:03 · 623 阅读 · 0 评论 -
计算机网络 单播、组播、广播
单播一对一的通信,数据只发送给一个特定的接收者。组播一对多的通信,数据发送给一个特定组内的多个接收者,在意的是目标设备是不是我的设备。广播一对全部的通信,数据发送给网络中的所有设备和主机,在意的是目标设备是不是在我的范围内。原创 2024-07-10 09:57:26 · 350 阅读 · 0 评论 -
计算机网络 DNS协议---域名解析
域名解析是计算机网络中的重要过程,它指的是将人类可读的域名(例如 www.example.com)转换为计算机可理解的IP地址(例如 192.0.2.1)的过程。这个过程依赖于域名系统(DNS)协议的支持。原创 2024-07-10 11:08:21 · 571 阅读 · 0 评论 -
计算机网络 C/S模型 和 B/S模型
云服务平台(如Google Docs、Office 365)也是B/S模型的典型应用,用户通过浏览器访问和编辑文档,所有操作数据存储在服务器上。C/S模型是一种网络架构,其中客户端(Client)通过网络连接到专用的服务器(Server),以获取服务、资源或执行特定的任务。B/S模型是一种网络架构,其中客户端使用Web浏览器作为用户界面,通过HTTP或HTTPS协议连接到服务器,获取和提交信息。客户端和服务器之间通常是双向的通信,客户端发送请求,服务器处理请求并返回结果。原创 2024-07-10 09:30:36 · 302 阅读 · 0 评论 -
计算机网络 ARP协议(地址解析协议)
当发送端广播ARP请求时,本地网络上不会有主机回应 (因为IP地址是外网的),此时路由器将会回应该清求,则发送源误认为路由器就是目的主机,会将报文全部转发给它,再由路由器转发报文到外网,则该路由器就被称为ARP代理。免费ARP是一种特殊形式的ARP请求,通常不是用来请求解析IP地址对应的MAC地址,而是用来通知局域网中的其他主机自己的IP地址与MAC地址的对应关系已经发生变化。这样,主机A就能更新自己的ARP缓存,将B的IP地址和MAC地址的对应关系保存起来,以便将来的数据传输。原创 2024-07-10 10:28:48 · 1777 阅读 · 0 评论 -
计算机网络 ISO七层网络模型(理想) 和 TCP/IP模型(现实)
该层的通信由不同设备中的应用程序之间的服务请求和响应组成,主要功能包括对数据交换进行同步、检测通信中的错误和恢复数据,会话层通常由操作系统提供支持,而不是由单独的协议定义。典型的传输层协议有TCP(Transmission Control Protocol)和UDP(User Datagram Protocol),它们分别提供面向连接的可靠传输和无连接的不可靠传输。功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。原创 2024-07-08 10:53:20 · 612 阅读 · 0 评论 -
计算机网络 UDP小例子
/3.绑定ip,是在操作系统里面注册端口和ip地址,也就是说当操作系统收到发给某个端口号和ip地址的数据,就是咱们程序要接受的。//从ulong类型转化成字符串类型ip地址: inet_ntoa(addrClient.sin_addr);//ulong类型的ip地址sockaddr_in.sin_addr.S_un.S_addr。//从字符串类型转化成ulong类型ip地址: inet_addr();原创 2024-07-10 14:01:22 · 661 阅读 · 0 评论 -
计算机网络 IP地址分类、子网掩码、子网划分
ip地址 = 网络地址 + 主机地址(又称:网络号和主机号),我们把网络号相同的主机称之为本地网络中的主机,网络号不相同的主机称之为远程网络中的主机。。原创 2024-07-10 20:29:24 · 950 阅读 · 0 评论 -
计算机网络 心跳机制
心跳机制就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。发包方可以是客户也可以是服务端,具体看哪边实现更方便合理。原创 2024-07-14 09:31:41 · 242 阅读 · 0 评论 -
计算机网络 RTT往返时延
RTT(Round-Trip Time,往返时延)是指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)所经历的时间。在计算机网络中,RTT往往用毫秒(ms)为单位表示,RTT是一个重要的性能指标,直接影响到网络通信的延迟和效率。RTT由三个部分决定:链路的传播时间,末端系统的处理时间,路由器缓存中的排队和处理时间。原创 2024-07-13 11:40:24 · 299 阅读 · 0 评论 -
计算机网络 ACK机制---确认应答机制
这个机制的核心,就是发送方向接收方发送数据后,接收方要向发送方发送ACK(回执)。比如:发送方发送的数据序号是seq,那么接收方会发送seq + 1作为ACK,这样发送方就知道接下来要发送序号为seq + 1的数据给接收方了。接收方上一个收到的正确数据是seq + 4,它返回seq + 5作为ACK。这时候它收到了seq + 7,因为顺序错了,所以接收方会再次返回seq + 5给发送方。接收方收到数据seq + 3以后会先对校验和进行验证,如果结果不对,则发送ACK seq + 3,让发送方重新发送数据。原创 2024-07-13 10:04:17 · 471 阅读 · 0 评论 -
计算机网络 广播地址
例如,如果一个子网掩码是255.255.255.0,那么对应的广播地址是A.B.C.255。这个广播地址将发送给该子网上的所有主机。它是一个IP地址,用于标识一个特定网络中的所有设备,广播地址的具体形式取决于网络的子网掩码,在计算机网络中,广播地址(Broadcast Address)是用于。192.168.3.255 主机号全为1,可以。255.255.255.255 全为1,原创 2024-07-10 21:02:26 · 244 阅读 · 0 评论 -
计算机网络 以太网帧结构
MMS的最大大小为:1500 - 20(ip头)- 20(tcp头)= 1460。MMS是指去除掉TCP头和IP头后,一个网络包所能容纳的。MMS = MTU - TCP头 - IP头。MTU = IP头 + TCP头 +数据。以太网帧的大小范围:64 ~ 1518。MTU是指一个网络包的最大长度 ,大小范围:46 ~ 1500。原创 2024-07-12 15:46:49 · 157 阅读 · 0 评论 -
计算机网络 TCP四次挥手
是因为要防止回复的ACK丢失,如果丢失那么被动方就会不断重传FIN,而如果此时主动方直接关闭了,也就不会再接收到这个FIN不会再回复ACK,那么被动方就无法完成关闭的操作,等2MSL,如果ACK丢失被动方再发送一个FIN主动方就会收到,再重新发一个ACK。1.主动方打算关闭连接,此时会发送一个TCP首部FIN标志位被置为1的报文,即FIN报文,之后主动方进入FIN_WAIT_1状态。5.主动方收到被动方的FIN报文后,回复一个ACK应答报文,之后进入TIME_WAIT状态。四次挥手的目的是关闭一个连接。原创 2024-07-13 11:24:50 · 129 阅读 · 0 评论 -
计算机网络 UDP协议的特点
一旦数据包发送出去,就不会对其进行确认,发送方也不会知道数据包是否已经成功到达目的地,可能会生产丢包,乱序的情况。这意味着通信双方在发送数据时不需要事先进行握手,也没有建立和维护连接的开销,因此减少了开销和发送数据之前的。总结来说,UDP通过牺牲可靠性和一部分功能的复杂性来换取更高的传输效率和速度,适用于一些对数据完整性要求不高但对实时性要求较高的应用场景。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层,UDP对应用层交下来的报文,,只有8字节的固定长度,相比于TCP更加轻量级。原创 2024-07-12 15:28:06 · 149 阅读 · 0 评论 -
计算机网络 TCP小例子
加载库,创建套接字,绑定IP地址,监听,接受连接,接收数据,发送数据,关闭套接字,卸载库。加载库,创建套接字,连接,接收数据,发送数据,关闭套接字,卸载库。原创 2024-07-12 22:16:15 · 231 阅读 · 0 评论 -
计算机网络 RTO超时重传时间
RTO在TCP的实现中非常重要,因为它直接影响到TCP在面对丢包时的重传策略。因此,RTO的选择需要考虑到网络的延迟和抖动情况,以及应用的实时性需求,RTO是TCP协议中的一个动态调整参数,通过估算网络往返时间来决定数据重传的时机,是TCP实现可靠数据传输的重要保证之一。RTO(Retransmission TimeOut,重传超时时间)是TCP协议中用于控制重传机制的重要参数。RTO应当略大于TCP报文段的平均往返时延RTT,一般可取RTO = 2RTT,也可以根据情况人为调整RTO。原创 2024-07-13 11:44:40 · 172 阅读 · 0 评论 -
计算机网络 TCP粘包问题
粘包是指的是数据和数据之间没有没有明确的分界线,导致不能够正确的传输数据(只有TCP会粘包 UDP 永远不会粘包),粘包问题只针对于一切字节流的协议。TCP也可以称为流式协议,UDP称为数据报式协议。原创 2024-07-14 09:21:23 · 461 阅读 · 0 评论 -
计算机网络 TCP累计应答机制
TCP(Transmission Control Protocol)使用累计确认机制来实现可靠的数据传输。这种机制确保了发送方只需收到一个确认,就可以确认发送的所有数据。这样可以有效地减少网络中确认包的数量,从而提高传输效率。具体收到多少个数据包再回复一个ACK是由TCP滑动窗口大小决定的。原创 2024-07-13 12:04:07 · 239 阅读 · 0 评论 -
计算机网络 Nagle算法
Nagle算法是TCP协议中的一种流量控制算法,尽可能发送大块数据,避免网络中充斥着许多小数据块,旨在减少小数据包的发送次数,从而提高网络的效率。:当发送方有数据要发送时,Nagle算法并不立即发送,而是将数据先放入缓冲区等待一小段时间(通常是200ms)看是否有新的数据需要发送。:尤其是在发送端频繁发送小数据包时,Nagle算法可以将多个小数据包合并成一个大的数据包发送,从而避免发送大量的小数据包造成的网络拥塞和性能下降。,如果对于一些需要小数据包交互的场景的程序,比如,原创 2024-07-14 09:42:19 · 159 阅读 · 0 评论 -
计算机网络 网关(网间连接器)
网关都是具有路由功能的IP地址,就是说网关必须要有路由功能,默认的主机号都是0,这样的才是网关(网络号保留,主机号全0)。网关是计算机网络中的重要组成部分,它通过不同的方式(硬件或软件)连接不同的网络和协议,实现数据的转发和通信。:网关可以将来自一个协议的数据包转换为另一个协议的数据包,使得不兼容的网络能够互相通信。例如,将TCP/IP协议栈的数据包转换为传统的串口通信协议。:在家庭或企业网络中,网关常用于执行网络地址转换(NAT),将内部网络的私有IP地址映射到外部网络的公共IP地址,以实现对外通信。原创 2024-07-10 20:43:43 · 291 阅读 · 0 评论 -
计算机网络 TCP流量控制---滑动窗口
TCP滑动窗口是一种流量控制机制,它允许发送方在等待确认时继续发送数据,同时根据网络状况调整发送速率,以优化网络利用率和传输效率。原创 2024-07-14 09:09:48 · 676 阅读 · 0 评论 -
计算机网络 发送缓冲区和接收缓冲区
32位操作系统会为每个进程分配4g的虚拟空间,有内核空间和用户空间。当我们在用户空间创建了一个socket,操作系统会在内核空间分配两个缓冲区,一个接收缓冲区,一个发送缓冲区,大小都是64k(65536 byte),每创建一个socket就会分配两个缓冲区。原创 2024-07-12 14:57:43 · 457 阅读 · 0 评论 -
计算机网络 TCP三次握手
3.服务端收到发起的连接,返回SYN,并且ACK客户端的SYN(SYN和ACK在同一个包里,因为他俩不冲突),之后处于SYN_RCVD状态。4.客户端收到服务端发送的SYN和ACK后,发送ACK的ACK,之后处于ESTABLISHED可用状态,因为他一发一收成功了。1.一开始,客户端和服务端都处于CLOSE状态。5.服务端收到ACK的ACK之后,处于ESTABLISHED可用状态,因为他也一发一收成功了。2.然后客户端主动发起连接SYN,之后处于SYN_SEND状态。原创 2024-07-13 10:38:32 · 120 阅读 · 0 评论 -
计算机网络 TCP协议头
标识从TCP发端向TCP收端发送的数据字节流,它标识在这个报文段中的第一个数据字节的序号。,也称为紧急偏移,只有在URG标志位被置为1时才有效。,TCP流量控制的手段,表示发送端期望从接收端接收的窗口大小,告诉对方,我的TCP接收端缓冲区还能容纳多少个字节,这样对方能控制发送数据的速度。标识该TCP头部有多少个32bit(4字节),4位最大表示15(1111),因此TCP头部最长为15*4 = 60字节。FIN: 表示发送端已经完成发送数据,通知对方本端要关闭了,带FIN标志的TCP报文段称为结束报文段;原创 2024-07-13 09:34:42 · 517 阅读 · 0 评论 -
计算机网络 UDP小例子(多线程版本)
对之前的UDP小例子进行改进,之前都是你发一句我发一句,现在可以发送多条,改进方法是创建一个线程专门用来接收数据,这样发送数据就不会被接收数据的阻塞所影响不能执行。原创 2024-07-12 17:23:23 · 230 阅读 · 0 评论 -
计算机网络 IP协议格式
也使用算法把首部计算一下,对比一下是否相同,相同就说明首部没有更改。首部可变部分:存储格式TVL(type,value,length)如果发送一个数据太大就只能分片发送,分完后的数据包标识是一样的,通过片偏移来确定不同片的位置,最后好组合回原来的数据。存储是连续的,为了方便看,画成这种,一行4个字节。把首部所有数据通过算法加密放在这里,接收方收到数据。是否分包了,分片后是否这个包是结尾那个片。原创 2024-07-12 16:30:48 · 337 阅读 · 0 评论 -
计算机网络 socket阻塞和非阻塞
设置为非阻塞后使用recvfrom函数会报错10035(无法立即完成一个非阻止性套接字操作),报这个错误是因为接收但没有数据,所以我们使用这个设置为非阻塞后使用recvfrom函数时要不理会这个10035报错。//设置socket阻塞和非阻塞。[in] long cmd, //执行什么命令。[in] SOCKET s, //要设置的socket。[in, out] u_long *argp //命令的参数。原创 2024-07-12 14:03:40 · 122 阅读 · 0 评论 -
计算机网络 拥塞控制
2.拥塞避免:一旦网络出现拥塞,拥塞窗口大小会减小,并根据网络情况动态调整,以避免进一步加剧拥塞,拥塞避免并非指能够完全避免拥塞,而是指在拥塞避免阶段将拥塞窗口控制为按线性规律增长,使网络不容易出现拥塞,拥塞避免算法让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1而不是加倍,这样拥塞窗口按线性规律缓慢增长。,判断网络可能出现拥塞,此时将慢开始门限ssthresh更新为发生拥塞时的拥塞窗口的一半,然后将拥塞窗口的值减少为1,并重新开始执行慢开始算法,如此往复。原创 2024-07-14 11:10:33 · 430 阅读 · 0 评论 -
计算机网络 TCP和UDP区别
在应用层进行设计,比如设计一些TCP的特性和自己自定义的特性来实现可靠传输。TCP是一对一传输的,理论上不能发广播。适用于要求可靠传输的应用,例如文件传输。5.滑动窗口----流量控制。6.拥塞窗口----拥塞控制。1.三次握手和四次挥手。原创 2024-07-14 11:24:21 · 188 阅读 · 0 评论