- 博客(18)
- 收藏
- 关注
原创 UDP协议和IP分片简介
转发IP数据报时会比较MTU和发送的数据的大小,如果数据太大就会进行IP分片。如果任何一个IP分片到达目的主机时,目的主机就会开启一个分片计时器,其他分片到达时,也不会重置计时器,如果计时器超时时。主要是因为分片可能会经过不同的路由器,不同的网络路径到达目的主机,中间路由器不会进行ip的分片重组。包括的字段有:源端口号(2字节),目的端口号(2字节),长度(2字节),校验和(2字节);还没有分片全部到达,那么就会丢弃所有分片,同时目的主机会回复一个ICMPV4超时消息。
2025-04-20 13:37:35
241
原创 NAT(网络地址转换)
NAT目的为了解决ipv4地址即将耗尽的问题。原理为重写通过路由器的数据包识别信息,NAT路由网络内部的主机IP仅仅NAT路由本身知道,外部网络只知道NAT路由自己的真实IP,对NAT路由内部一无所知。NAT路由通过修改某个方向数据包的源IP和另一个方向的目的IP,使得NAT路由网络内部主机和互联网主机通信。三个IP地址作为私有地址范围:10.0.0.0/84。
2025-04-16 00:28:36
206
原创 IP协议简介
在使用CIDR时,ip地址由网络前缀和主机号组成,路由表中的每个项目由 网络前缀和下一跳地址组成,路由器在转发数据报时可能得到不只一个匹配结果,应当从匹配结果中选择最长网络前缀的路由.转发路由器从数据报的目的ip地址D,得出网络地址N.若N是与某个网络直接相连就进行直接交付,不需要经过其他路由器。总长度 首部长度和数据部分的总长度大小,分片时就是分片的首部和分片的数据长度总和.如果有目的地址为D的特定主机路由则把数据报传送给特定主机路由指定的下一跳路由器。如果没有默认路由,则报告分组错误.
2025-04-08 07:02:46
245
原创 ARP协议
提供 ipv4地址 和 网络硬件地址 之间的映射的协议, 仅仅用于ipv4.其会随时间变化自动执行,即用户改变了硬件地址,一段时间后也能找到正确的映射.
2025-04-07 07:36:50
198
原创 数据链路层简介
以太网使用CSMA/CD协议.多点接入,载波监听,碰撞检测. 载波监听即发送数据之前监听信道有没有数据在发送,如果有就不发送。MTU为1500字节,即数据长度部分最长不超过1500字节.包含目的地址,源地址,类型,数据长度,尾部的帧检验序列.其中数据长度最长不超过1500字节.集线器在逻辑上还是CSMA/CD协议,各站互相竞争,并且同一时刻只能有一个站在发送数据.又称为网卡,里面存储了计算机的硬件地址.可以实现串行信号转为并行信号.碰撞检测即边发送边监听,如果发现碰撞就停止发送,隔一段时间再次发送.
2025-04-06 20:01:08
392
原创 js原型介绍
函数以构造函数调用时, 他创建的对象都有一个隐含属性,指向构造函数的原型对象, __proto__来访问该属性。这个属性对应着一个对象, 这个对象就是原型对象. 相当于所有对象的公共区域,包含公共函数和公共变量.我们创建的每一个函数, 解析器都会向函数添加一个属性 prototype。
2025-04-06 07:08:40
360
原创 python中的文件操作函数
/打开文件,默认只读取, open(“path”, ‘r+’) //读写模式, 追加到末尾。f.read() //读取剩余的全部。f.read(4) //只读4个字符。f.write(“hello”) //写入文件。readlines(5) //读取一行最多读取5个字符。
2025-04-05 20:57:06
238
原创 JS的输出函数
document.write(“现在是body输出”);//现在是把输出文字加载到了body部分。console.log(“控制台输出”);//现在是在浏览器的控制台输出。alert(“这是一个弹窗”);//这时会在浏览器弹窗输出。
2025-03-27 23:04:33
169
原创 python中的条件表达式
a=‘OK’ if 1 == 1 else ‘false’ 如果1==1就返回 OK 否则为 false。在python中, None, 0, {}, (), [] 都是代表false。两个变量a,b相等,但是a未必is b, is代表两个变量是否指向同一个实体。c中没有的比较运算符 is;
2025-03-02 20:22:51
146
原创 python中的字典方法
输出: {‘a’:‘None’, ‘b’:‘None’}, 值全部为None。返回字典的列表项, d.items();输出[(‘Name’,‘Alice’), (‘age’,19)]字典get方法类似[], 只不过get某个key时,如果字典没有,不会报错,会返回None.用一个字典更新另外一个字典, d.update({‘jim’,‘a’});输出指定键,d.pop(‘Name’);
2025-03-02 20:10:40
182
原创 python的字符串函数
将指定的子串替换为另一个子串, a.replact(‘1+’, ‘100+’) 输出为 ‘100+2+3’a.split(‘+’) 输出列表 [‘1’,‘2’,‘3’]查找子串, 返回子串的第一个位置的索引。a.find(‘+’) 输出 1。去掉字符串开头和结尾的空白。
2025-03-01 19:55:36
179
原创 目标代码文件和可执行文件区别
C语言目标代码文件和可执行文件区别首先介绍的是源代码文件,你自己编写的程序内容会被存入文本文件当中,这个文本文件就被称为源代码文件,通常源代码文件会以 .c 为结尾,例如world.c就可以表示为一个源代码文件名称,其中world被称为基本名,后面的.c被称为扩展名,它俩在一起组合成为文件名,不同的计算机系统对文件名可能会有不同的要求,例如有的UNIX系...
2019-12-24 22:12:59
1883
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅