随笔分类 -  网络编程学习日记

摘要:ping 是我们在学习计算机网络知识, 研究网络问题时最多使用的程序之一, 当网络出现问题时, 在终端输入ping baidu.com, 对命令熟悉的, 再配合一些参数, 和诸如netstat, net,等命令, 多多少少就能推断出问题原因。ping也是一种通信协议, 他是tcp/ip协议的一部分, 阅读全文
posted @ 2018-12-05 23:45 不想取名字所以就随便写了 阅读(1837) 评论(0) 推荐(0)
摘要:定义原始套接字的目的在于提供访问某个协议的接口, 通过原始套接字, 进程可以读写ICMPv4, IGMPv4和ICMPv6等分组, 进程也可以读写内核不处理其协议字段的IPv4数据报, 进程还可以使用IP_HDRINCL套接字选项自行构造IPv4首部。 创建一个原始套接字步骤如下: int sock 阅读全文
posted @ 2018-11-14 23:13 不想取名字所以就随便写了 阅读(207) 评论(0) 推荐(0)
摘要:Unix下有5种可用的I/O模型: 阻塞式I/O 非阻塞式I/O I/O复用(select、poll、epoll) 信号驱动式I/O(SIGIO) 异步I/O (1) 阻塞式I/O模型 像scanf, cin这些就是最简单的阻塞式I/O, 在正确读入/接收到数据之前, 进程被阻塞, 无法继续向下运行 阅读全文
posted @ 2018-11-06 14:55 不想取名字所以就随便写了 阅读(163) 评论(0) 推荐(0)
摘要:(1) fork 浅析 linux 中, 一个进程可以通过fork()系统调用来创建一个与自己相同的子进程, 这个子进程是父进程的克隆, 他继承了父进程的整个地址空间, 包括进程上下文, 堆栈地址, 内存信息, 进程控制块等。值得注意的是, 调用fork一次, 他却返回两次, 一次是在父进程中返回子 阅读全文
posted @ 2018-11-05 13:00 不想取名字所以就随便写了 阅读(713) 评论(0) 推荐(0)
摘要:以一个4字节unsigned int 来说, 比如0xFF00FF00, 他的二进制表示是 11111111 00000000 11111111 00000000, 我们说左侧是高位, 右侧是地位 在说明网络字节序之前, 我们需要弄明白大端字节序和小端字节序 小端字节序: 假设地址从左到右一次增大, 阅读全文
posted @ 2018-11-03 15:40 不想取名字所以就随便写了 阅读(1329) 评论(0) 推荐(0)
摘要:迷途是指, 当数据传输途中的某个路由器崩溃或者某两个路由器之间的某条链路断开, 路由协议需要花费一段时间来找到另一条通路, 在这个过程中可能会出现从路由器A发送给路由器B的分组又经由B发送回A这种循环情况, 在这个过程中, 发送端可能因为超时而重传了分组, 而这时这个分组经由正确的路径到达了接收端, 阅读全文
posted @ 2018-11-02 23:49 不想取名字所以就随便写了 阅读(203) 评论(0) 推荐(0)
摘要:三次握手: 通常建立TCP连接过程如下: (1) 服务器通过调用socket, bind, listen来等待客户端的连接, 这称为被动连接 (2) 客户端通过调用connect 来发起主动连接, 此时, 客户向服务器发送一个SYN(同步)分节, 他告诉服务器客户将在(即将建立的)连接中发送的数据的 阅读全文
posted @ 2018-11-02 18:46 不想取名字所以就随便写了 阅读(141) 评论(0) 推荐(0)
摘要:目前, 描述网络协议层的常用方法是使用ISO(International Organization for Standardization) 的OSI(open system interconnection, 开放系统互连)七层模型, 它分为: 最上层: 应用层 第二层: 表示层 这一层的主要功能是 阅读全文
posted @ 2018-11-02 14:40 不想取名字所以就随便写了 阅读(182) 评论(0) 推荐(0)