![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 68
Linux网络编程
躺平程序猿
这个作者很懒,什么都没留下…
展开
-
IPv6-ICMPv6协议
ICMPv6是IPv6的基础协议,也是最重要的协议。ICMPv6有多种消息类型,IPv6中的很多功能都是利用ICMPv6中的一种或多种消息类型组合完成的。ICMPv6在IPv6中的协议号为58,该协议号在IPv6报头的“nextheader”字段中。ICMP报文有两种差错消息及信息消息PMTU就是路径上的最小接口MTU。PMTUD的主要目的是发现路径上的MTU,当数据包被从源转发到目的地的过程中避免分段。无状态配置,和节点启动时的一个NDP机制。......原创 2022-07-17 21:27:42 · 1075 阅读 · 0 评论 -
IPv6-基础
128bits的地址方案,解决了ipv4地址池耗尽的问题,为为了数10年提供了巨大的ip地址空间无需NAT技术了,有助于在公网上也能实现IP实名制不在有广播、不再有ARP,降低广播造成的网络资源消耗自动配置过程允许ipv6网络中的节点更加便捷接入ipv6局域网重新编址机制使得ipv6提供商之间的转换对最终用户是平滑的、无感的v4v6过渡方式丰富。............原创 2022-07-17 21:20:24 · 1460 阅读 · 0 评论 -
从网线到IO模型(网络基础整合)
文章目录网络基础1.什么是协议,常见协议2.网络应用设计模式 BS/CS优缺点什么是C/S模式什么是B/S模式优缺点3.分层模型(物数网传会表应)4.以太网帧协议(为什么需要+报文分析+演示)1)为什么需要以太网帧协议?2)ARP协议的作用?3)RARP协议作用6.IP协议(为什么需要+报文分析+演示)1)为什么需要IP协议?2)IP协议怎么区分广播域?3)IP协议段分析4)路由表,路由规则1. TCP/IP使用需要通信的目的IP地址和路由表中每一个路由项的网络掩码进行相与计算,如果相与后的结果匹配对应路由原创 2022-02-15 15:29:25 · 1753 阅读 · 0 评论 -
TCP/UDP小记
TCP协议是一种作用在传输层的面向连接的可靠的字节流数据传输控制协议;UDP协议是一种如用在传输层的无连接的不可靠的数据报数据传输控制协议;TCP1.1 通讯时序1.1.1通讯时讯流程描述在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序,注意,数据从一端传到网络的另一端也需要时间,所以图中的箭头都是斜的。双方发送的段按时间顺序编号为1-11,各段中的主要信息在箭头上标出,例如段2的箭头上标着SYN,原创 2021-03-23 01:04:53 · 1087 阅读 · 6 评论 -
从系统调用分析IO模型演变,一篇讲懂BIO、NIO、多路复用(selector,poll,epoll)原理
本篇文章通过java代码IO模型实现配合内核调用日志来分析linux的IO模型由阻塞IO——>非阻塞IO——>IO多路复用 的演变过程,以及演变原因,由于信号驱动 IO模型与TCP协议不适配,异步IO在linux中不成熟故不进行讨论。1. BIO(blocking IO)阻塞IOBIO为阻塞型IO模型,在接收客户端连接(accept)和读取客户端发送数据(recv)时会发生阻塞。解释一下这里的阻塞:白话解释:服务端执行了accept函数调用后,当前线程就会进入“等待”状态释放cpu的占原创 2021-03-14 20:24:41 · 758 阅读 · 4 评论 -
selector之fd_set
select()机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fe_set的内容,由此来通知执行了select()的进程哪一socket或文件可读。多端口复用函数select在调用前要首先设置监听的端口数目,FD_ZERO是清空端口集,FD_SET是设置端口集。select()函数常常用在用一个进程监听转载 2021-03-13 17:30:48 · 243 阅读 · 0 评论 -
socket缓冲区以及阻塞模式详解
转载知乎好文:https://zhuanlan.zhihu.com/p/137240712在《socket 数据的接受和发送》一节中讲到,可以使用 write()/send() 函数发送数据,使用 read()/recv() 函数接收数据,本节就来看看数据是如何传递的。socket 缓冲区每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入转载 2021-03-03 15:32:04 · 212 阅读 · 1 评论 -
网络通信流程原理
先抛出几个问题,下面将围绕这几个问题进行网络通信原理的讲解:当我们浏览器输入www.taobao.com时我们是怎样与淘宝服务器进行通信的呢?当我们访问同一局域网内服务器时是怎么样进行通信的呢?两者之间有什么不同?首先科普一下局域网与互联网的关系,一句话概括**其实互联网本质就是一个无比巨大覆盖整个世界的局域网(当然局域网之上的称呼叫广域网、城域网之类的),由无数局域网组成。**如过想要更细致了解可以看下这篇文章:什么是互联网(转载)。上图:这里正方形代表主机(主机A为我本机),圆形代表交原创 2021-02-26 03:01:50 · 1021 阅读 · 2 评论 -
什么是操作系统?操作系统和内核的关系
精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统是裸机上的第一个软件程序,操作系统用于管理硬件,并且提供统一的硬件操作接口供应用程序调用。硬件的接口是比较丑陋复杂的,操作系统封装后的接口比较优雅,方便应用程序调用,不用去直接操作硬件,了解硬件细节。并且如果存在多个应用程序同事调用一个硬件时,操作系统也会起到一个合理的调度作用,操作系统就将由竞争产生的无序变得有序化。https://www.cnblogs.com/clschao/articles/9613464.h转载 2021-02-24 13:58:38 · 1753 阅读 · 0 评论 -
网络分层模型
OSI七层模型(物数网传会表应)物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1网络层:在位于不同地理位置的网络中的两个主原创 2021-02-24 12:56:24 · 568 阅读 · 0 评论 -
C/S模式和B/S模式的优缺点
什么是C/S模式C/S模式是传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。如(QQ、微信、LOL、CF、DNF等游戏需要下载客户端)什么是B/S模式浏览器(browser)/服务器(server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。优缺点C/S优点:协议选择灵活,由于客户端和服务器都是自己开发,可以自定义协议进行消息传递。例如,腾讯公司所采用的通信协议,即为ft原创 2021-02-24 12:49:08 · 6572 阅读 · 1 评论 -
网络协议的概念
一、什么是协议从应用的角度上出发,协议可以被理解为“规则”,数据传输和数据解释的规则。例如:A和B直接需要传输文件,两个人约定文件份三次传输,第一个传输文件名称,第二层传输文件大小,第三次传输文件内容(传输规则);文件名称为xxx.年月日.后缀,文件大小保留两位小数,文件内容…(解释规则);这在两个人之间算原始协议,后来被更多人采纳不断完善变成了标准协议TCP协议是传输规则,HTTP协议是数据解释规则二、典型协议TCP协议(传输层):传输控制协议,是一种面向连接、可靠、基于字节流的传输层通信协议原创 2021-02-24 12:31:39 · 905 阅读 · 0 评论 -
什么是互联网
https://baijiahao.baidu.com/s?id=1666376123861632970&wfr=spider&for=pc转载 2021-02-24 12:15:15 · 174 阅读 · 0 评论