摘要: 基础理论知识提要: 链路层 整个数据帧由首部、数据和尾部三部分组成,首部固定为14个字节,包含了目标MAC地址、源MAC地址和类型;数据最短为46个字节,最长为1500个字节,如果需要传输的数据很长,就必须分割成多个帧进行发送;尾部固定为4个字节,表示数据帧校验序列,用于确定数据包在传输过程中是否损 阅读全文
posted @ 2020-01-10 21:40 SA19225155 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 我们依然从start_kernel说起,它最后会执行: arch_call_rest_init() --> rest_init() --> Kernel_init() --> Kernei_init_freeable() --> do_basic_setup() --> do_initcalls() 阅读全文
posted @ 2019-12-26 18:44 SA19225155 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 本文将Socket API编程接口、系统调用机制及内核中系统调用相关源代码、 socket相关系统调用的内核处理函数结合起来分析,并在X86 64环境下Linux5.0以上的内核中进一步跟踪验证。 1. 系统调用的初始化 在加电启动BootLoader运行后,BootLoader对硬件初始化并把内核 阅读全文
posted @ 2019-12-19 21:45 SA19225155 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 主要步骤: 1.安装qemu模拟器 2.下载Linux源码并编译内核 3.制作根文件系统镜像 4.添加c/s方式的客户端程序进menu os中,使其成为menu os的一个命令 5.构建gdb环境 6.跟踪分析添加的命令执行过程对Linux内核发出的系统调用请求 7.初始化menu os的网络功能 阅读全文
posted @ 2019-12-10 13:27 SA19225155 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 尝试着用Java编写一个网络聊天程序,发现总不如网上写的好,所以就直接引用了网上大神的优秀代码。代码如下: 1 package project1; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 import java.io.*; 6 impo 阅读全文
posted @ 2019-12-09 16:51 SA19225155 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 在学习ping命令的时候,突发奇想:为何不使用ping命令对网络连接故障进行排查? 具体思路: 1. ping 127.0.0.1 (虚拟网卡地址)以检查主机的TCP/IP协议栈是否正常。 2. ping [网络号] 以广播的形式向局域网发送数据包,检查主机网卡、modem、路由器(网关)是否正常。 阅读全文
posted @ 2019-11-25 19:15 SA19225155 阅读(843) 评论(0) 推荐(0) 编辑