
网络
文章平均质量分 93
计算机网络的简单原理
多米诺骨牌㊫
这个作者很懒,什么都没留下…
展开
-
IP报文发送过程和原理
在整个的大网络中,我们会发现,不同的局域网中可以有相同的IP的主机.同时我们会发现一个路由器有两个IP地址.这是因为路由器是横跨两个网段的,它可以是该局域网的一部分(网络号和局域网一致),也可以作为一台主机和外面的其他路由器共同构成一个局域网(网络号与更大的局域网一致).当分片的报文达到对端的时候,就需要进行报文的组装了.此时IP报文中的16为标识开始发挥作用,来源于同一报文的分片报文,它们的16为标识符是一样的,这样就可以进行分堆,比如这一批报文都来自一个IP报文分片产生的.原创 2024-12-18 17:44:33 · 877 阅读 · 0 评论 -
TCP协议
本质上是验证两者的收发能力。1.确认双方主机是否健康,只有主机健康才能传输信息。2.验证全双工,三次握手我们是能看到双方都有收发的最小次数。第一次握手和第二次握手可以验证客户端的收发能力,因为在第二次握手时可以确定第一次握手成功,同时第二次握手时client来接收。对于server来说,第一次握手和第三次握手可以验证它的收发能力。3.还可以预防一些SYN攻击,如果是一次握手的话,就可能有被大量SYN链接请求攻击的影响,因为建立一个链接就需要消耗一些资源。原创 2024-12-01 22:45:31 · 610 阅读 · 0 评论 -
http(请求方法,状态码,Cookie与)
此时就可以保证浏览器中的Cookie的信息是服务端文件的session_id,所有的http请求都会有浏览器自动携带的cookie中的session_id,后续server依旧可以认识client,也是一种会话保持的功能,但是我们还有cookie文件被泄露的风险。注意:由于应用层是人要参与的,人的水平参差不齐,http的状态码很多人不清楚该如何使用,又因为浏览器的种类太多了,导致可能对状态码的支持没有那么好,类似于404的状态码对浏览器没有指导意义,浏览器只会正常显示网页。基本所有的网站都有其对应的首页。原创 2024-12-01 16:20:39 · 1131 阅读 · 0 评论 -
常用端口与Udp协议
udp是全双工的,即可以在sendto的同时调用recvfrom,应用层我们调用的recv,read,write,sendto等函数,与其说是收发函数不如说是拷贝函数,其实都是在缓冲区中完成拷贝。其中udp协议中的报头是定长的8个字节,16位udp长度就是整个udp的长度,两者相减就可以得到数据的大小。udp具有接收缓冲区,但是这个接收缓冲区就不能保证收到的udp报的顺序和发送udp报的顺序一致,如果缓冲区满了,再到达的udp数据就会被丢弃;面向数据报:不能够灵活的控制读写数据的次数和数量。原创 2024-11-30 23:04:31 · 1116 阅读 · 0 评论 -
http协议(序列化与反序列化)
我们可以将上面的代码分为三部分,分别是基本通信代码(会话层),序列化反序列化代码(表示层),约定以及业务逻辑代码(应用层)。这些在TCP/IP四层协议中统称为应用层。http协议是应用层协议,因此需要完成以上三个工作。原创 2024-11-20 22:55:54 · 655 阅读 · 0 评论 -
http协议(协议发送接收格式)
我们所请求的,html,css,js,视频,音频,标签等都称之为资源。其中请求方法有很多,可以是Get等,http的版本有1.1等,状态码我们比较常见的就是404,对该状态码的解释是not fount。通过观察格式,我们发现IP是以域名的方式来呈现的,比如baidu.com,并不是我们所熟悉的点分字符串的形式。它表示的是我们的搜索内容,可以看到这里的wd=C%2B%2B,%2B表示的就是一个+。http解包的方式:一行一行读取,知道读到空行,表示之前的都是报头,下面的是报文。原创 2024-11-17 21:45:21 · 873 阅读 · 0 评论 -
TCP实现网络通信(多进程与多线程版本)
第一个参数代表用于监听的套接字文件的文件描述符。4.获取新连接到应用层:accept(),返回值为一个新的套接字的文件描述符,参数为监听套接字的文件描述符。1.创建网络套接字:socket(),协议族为AF_INET,套接字类型为SOCK_STREAM。1.创建网络套接字:socket(),协议族为AF_INET,套接字类型为SOCK_STREAM。第一个参数代表用于监听的套接字文件的文件描述符。3.监听网络连接:listen(),参数为套接字的文件描述符。返回的套接字文件主要负责信息的传输。原创 2024-11-17 20:26:38 · 1153 阅读 · 0 评论 -
网络通信过程的解析
数据链路层:负责设备之间的数据帧的传送和识别,例如网卡设备的驱动,帧同步(就是说从网线上检测到什么信号作为新帧的开始)、冲突检测(如果检测到冲突就自动重发),数据差错校验工作等。它的作用是将主机链接起来。这个地址与网络无关,也即无论将带有这个地址的硬件(如集线器、网卡、路由器等)接入到网络的何处,它都有相同的MAC地址,是不可变的。网络层:负责地址管理和路由选择,例如再IP协议中,通过IP地址来是被一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由),路由器工作再网络层。原创 2024-11-16 20:17:03 · 940 阅读 · 0 评论 -
网络套接字(Udp实现简单的网络通信)
对于服务器来说,如果绑定的是确定的IP,那么只有发出向该IP的数据才会被交给网络进程,但是一般服务器可能由许多张网卡,配置了多个IP,我们需要的不是发给某个IP的数据,而是发给所有IP的数据,因此在绑定服务器IP的时候,通常使用INADDR_ANY。第一个参数表示套接字的文件描述符,第二个参数表示缓冲区的大小,第三个参数表示方式,第四个参数表示向谁发送数据,第五个参数表示发送数据的长度。同时还要考虑大小端。第一个参数表示套接字的文件描述符,第二个参数表示缓冲区的大小,第三个参数表示读的方式,通常默认为0。原创 2024-10-12 22:11:01 · 862 阅读 · 0 评论