Linux网络编程
文章平均质量分 92
网络编程
凤 曦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux网络:IO多路转接 poll与epoll服务器&Reactor设计模式
操作系统不可能让用户直接访问内核的就绪队列。原创 2024-09-10 17:08:48 · 1318 阅读 · 0 评论 -
Linux网络:五种IO模型 & IO多路转接之select
5.异步IO:内核将数据拷贝完成后,通知应用程序(注意:与信号驱动拷贝相比,异步IO数据从内核拷贝到用户区是由系统进行的,用户空间直接进行IO操作即可。(一次等待多个文件描述符,任意一个就绪的概率增大,IO效率提高),详情看下面的介绍。recv,read,write,send这些IO接口进行IO时,都先要等待数据就绪,再进行拷贝操作。:fd_set位图被系统修改,需要检测的文件描述符中,就绪的文件描述符被设置到这个位图中返回给用户区。eg:设置0号文件描述符属性,让标准输出变成非阻塞,观察现象。原创 2024-09-10 00:18:32 · 887 阅读 · 0 评论 -
Linux网络:总结&协议拓展
DNS协议。原创 2024-09-09 23:17:27 · 1149 阅读 · 0 评论 -
Linux网络:数据链路层协议 MAC帧&ARP协议
(丢包重传,流量控制,拥塞控制,滑动窗口等等)IP协议在进行通信时,先将数据交付给下一跳主机(发送数据的主机A一定和下一跳网络处于同一网络段,一定是局域网通信)TCP的机制保证了IP传输数据的可靠性。以太网:负责局域网通信细节不同的,他们使用的通信细节不同(以太网,令牌环网等)。原创 2024-09-09 22:24:09 · 1238 阅读 · 0 评论 -
Linux网络:网络层协议 IP
将一个网络划分子网后,把原本的主机号位置的一部分给了子网号,余下的才是给了子网的主机号。其形式如下:做子网划分后的IP地址:网络号+子网号+子网主机号如:192.168.1.100/25,其子网掩码表示:255.255.255.12825个1子网掩码:11111111.11111111.11111111.10000000=255.255.255.128。原创 2024-09-09 22:03:51 · 1717 阅读 · 0 评论 -
Linux网络:传输层协议 TCP协议的特性(2)
滑动窗口快速重传延迟应答捎带应答可靠性方面校验和序列号(按序到达)确认应答超时重发连接管理流量控制拥塞控制。原创 2024-09-09 20:53:14 · 991 阅读 · 0 评论 -
Linux网络:传输层协议 TCP/UDP(1)
如果缓冲区的数据满了,再来的UDP数据会被直接丢弃。32位确认序号:发送报文的末端序列号+1,告知对方发送报文的末端序列号前的数据已经收到,下次发送从发送报文的末端序列号+1处开始发送。在接受到对端的报文时,根据确认应答机制将缓冲区中剩余空间的大小通过响应告知对端,当接近为0时对端就会停止发送报文,避免了上述问题。但TCP在接受报文时会根据报文号进行排序,所以最后在缓冲区的TCP报文最后是跟发送时的顺序是一致的。在TCP缓冲区中进行报文重排(数据有序性),上层来不及读取的报文暂时保存在接受缓冲区中等等。原创 2024-09-09 20:30:14 · 1023 阅读 · 0 评论 -
Linux网络:应用层协议http/https
服务器接受到请求报头时,识别http版本,用对应的http版本进行处理业务。URL会将这些关键字进行转义,将需要转码的字符转化为16进制,然后从右到左取4位,不足4位直接处理,再每2位做一位前加上%,编码成%XY的形式。200(OK) ,404(Not Found) ,403(Forbidden) ,302(重定向) ,504(Bad Gateway)等等。响应报头中的状态码:表示服务器处理请求的情况,常见的状态码有200(OK)、404(Not Found)等。后查询字符串,是这次http请求的参数。原创 2024-09-09 17:28:11 · 1424 阅读 · 0 评论 -
Linux网络:网络套接字-TCP回显服务器——多进程/线程池(生产者消费者模型)
注意:在类内部的成员函数,调用类内非静态成员函数时会自动带this指针。而线程执行的函数要求。或者可以忽略SIGCHID信号让子进程不需要等待。类型,所以线程执行函数要用static修饰。客户端代码不需要改变。客户端代码部分不变。原创 2024-09-09 16:32:45 · 725 阅读 · 0 评论 -
Linux网络:网络套接字-UDP服务器(单线程)
在网络中规定网络序列,在网络序列上数据都是大端形式。2.无符号32位整数[0-255].[0-255].[0-255].[0-255]。注意:udp服务器的端口需要绑定。一台机器上一个进程可以与端口号绑定,绑定后就在网络层面唯一标识一台主机上的一个进程。IP号用来保证数据可以机器到机器传递,进程还要绑定进程号来标定自身。但一台机器上存在大量进程,但不是所有进程都要网络通信。返回值:成功返回文件描述符,失败返回-1,设置错误码。返回值:绑定成功返回0,失败返回-1。进程PID标识系统所有进程,属于系统范畴。原创 2024-09-09 11:44:52 · 1388 阅读 · 0 评论 -
Linux网络:网络协议栈&协议
数据又通过路由器网络层的封包到路由器的数据链路层,此时添加的报头是令牌环报头。如果两个局域网都是通过以太网通信比较简单,但如果两个局域网一个用以太网,另一个用令牌环通信,就存在在数据链路层使用的协议不同,添加的网络报头不同,无法直接通信的现象。数据帧上有dst MAC地址,当MAC数据帧在局域网上传输时,每一台主机与dst MAC地址对比,如果匹配上,则处理数据。在主机A向主机B传递报文时,局域网上所有的主机底层都可以收到报文数据,只不过只有主机B对报文进行了解析,其他主机直接丢弃了报文。原创 2024-09-09 11:03:32 · 1226 阅读 · 0 评论
分享