![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
文章平均质量分 86
RzBu11d023r
这个作者很懒,什么都没留下…
展开
-
A记录 CNAME记录是什么 | DNS 查询的过程 | DNS 根服务器是什么 | 配置域名 CNAME 原理
全球共有 13 个根服务器, 然后近到本地 Isp 会配置多个缓存服务器(DHCP分配的 dns 就是 isp 提供的缓存服务器).终端设备进行 DNS 查询的时候, 首先是本机缓存,然后是 host文件原创 2022-10-29 17:40:15 · 941 阅读 · 0 评论 -
UNP 学习笔记 5:高级 IO 与 IO 复用
可惜 UNP 和 APUE 不讲 EPOLL,UNP 的重点内容可能快看完了,之后 UNPv1 就做参考书了,然后之后的 Linux 服务器编程就全是搞 APUE 和 Linux 编程的书了,看来之后还得持续。以下基本是 APUE 十四章内容非阻塞IO — 使用选项打开文件通过 O_NONBLOCK 选项作为 flag 调用 open 函数 通过 fcntl 设置同样的选项(本质是一个 flag、mask) 如果不能完成,将会返回错误。(错误的语义是正确的,因为我们希望不block,不能..原创 2021-10-17 21:17:08 · 297 阅读 · 0 评论 -
UNP 学习笔记 4:网络API的边界问题
端口号well known 是 1024 以前(UNIX 保留端口,权限限制) 临时端口用 45152 到 65535 1024到5000 以前是 BSD 用来当临时端口的,现在可能不用避免,但是他们也会被 IANA 用来登记一些应用,不是必须避免使用的。 临时端口可以进行尝试,或者直接让操作系统分配进行了。fork首先 child 应该关闭 listen fd,防止一些边界情况 然后 parent 应该关闭 connfd 这样 child exit 之后处理文件就把他关闭了。如果父...原创 2021-10-17 21:13:06 · 169 阅读 · 0 评论 -
UNP 学习笔记 3:基本套接字编程
为了方便起见,我直接用 python 来学这一章(因为 Cpython 这方面接口基本一致),编写方便!这一章和之前的套接字与传输层的笔记的区别是讲的更多是怎么使用他们,同时配备部分函数对应的 TCP 行为,主要是涉及错误的部分。socket 这里一般 family 和 type 就决定了 protocol,所以 arg3 直接留 0 就可以自动匹配。但是比如你可能可以用 INET + STREAM 来选用 SCTP 但是我们默认是匹配 TCP,SCTP 的首选是 INET+SEQPAC..原创 2021-10-17 21:11:57 · 414 阅读 · 0 评论 -
UNP 学习笔记 2:socket 编程简介
单个地址结构体一个 TCP 套接字是用一对 ip:port 的四元组构成的,我们使用结构体保存一个 ip:port, 这个结构体是 sockaddr_in 和 sockaddr_in6. 对于数据链路层的套接字,这个结构体是 sockaddr_dl, 地址则是和 (ip:port) 相呼应的链路层地址。 我们为了支援所有结构体,提供通用的 connect 和 socket 函数调用,历史由于没有 void* (前 ANSI C 时期),所有的函数调用都带有第三个参数,which is 用来传结...原创 2021-09-26 21:05:52 · 147 阅读 · 0 评论 -
UNP 学习笔记 2:协议概述与传输层对应 socket 函数行为
OS ,应用以及他们用的协议首先明确所有的 IP 层及以上都需要操作系统内核网络栈处理。所以底层 OS 实际接触到的层次是数据链路层。tcpdump 能实现的原理即字节访问数据链路层, 这里涉及 BSD packet filter 和 datalink provider interface 两种方法直接访问底层。 ICMP 是独立于 TCP,UDP,SCTP 的一个基于 IP 上的网际控制报文协议,ping 和 traceroute 都会用。这里 traceroute 实际是用发送没用的 UDP...原创 2021-09-26 15:25:06 · 293 阅读 · 0 评论 -
UNP 学习笔记 1:Socket 编程基础
学习一下 UNP,这里做一些笔记以及结合计网学习对一些点给出自己的理解,方便之后自己复习。资料是 UNPv13e 书本,UNP 课本源码。同时参考的还有 APUE 以及 linuxmanual。UNP ch1 简介daytime 客户端程序 socket 套接字,支持网络层到其更上层的各种连接。 其中 UNIX域 specify the network layer protocal such as x.25/ipv4/ipv6 etc. the type spe...原创 2021-09-26 10:10:13 · 265 阅读 · 0 评论 -
传输层协议《TCP/IP详解 卷1:协议》学习笔记
IP 层是 No Control 的没有流量控制和差错控制, 一个原因是不同hop的router要频繁的解包和重新封装, 留控和差错控制降低效率. 反正网络层尽最大可能交付, 其他的在上层的传输层搞定不就好了.而且下层的数据链路层已经有流控和差错控制了, 不必要添加太多冗余.网络层只有IP头有Checksum, 检测网络层设备修改这个IP头MAC头TTL的时候的错误. 不检测数据包数据payload 的完整和正确性. 而且尽最大可能发送还会出现发不成功的情况.所以传输层要负责检验自己的数据的错误和流原创 2021-09-19 12:44:36 · 323 阅读 · 0 评论 -
TCP拥塞控制及其缺点 与 基于UDP应用层自定义可靠有连接协议
本文前半部分为计算机网络课程最后一节课学习内容的课堂笔记,后半部分为结合最近碰巧学习了解应用层网络协议时了解到的一些内容总结到此处。阅读本文需要了解 TCP 协议与 UDP 协议的区别,了解网络五层模型,复习一般 TCP congestion control 流程(本文着重解释回顾)。阅读完后将会了解TCP 协议的缺点不足以及一些用户态自定义协议的动机。Congestion Control 和为什么简单的算法能工作拥塞发生的层次:需要区分 transport layer 的 end ...原创 2021-08-19 01:31:40 · 1149 阅读 · 0 评论 -
从无到有构建计算机网络
本学期网络课程使用自底向上的思路学习, 如果思考为什么要做这个东西, 也就是需求的话, 还是要用自顶向下的方法分析. 但是做的时候又要自底向上一层一层建起来的, 有时候又会发现, 有些下层的东西, 又恰好是根据上层的应用才修改的. 只能说两种思路会促使不同角度看问题. 这些总结我希望以自底向上的方法来写, 最后再写一个自顶向下的串起来回顾. 自底向上也能帮助了解更多历史上的设定. 由于要传输数据, 我们上从物理层开始创建一个东西. 既然是数据通信, 就有物理连接, 这个东西就是传输介质....原创 2021-07-09 00:06:42 · 1364 阅读 · 0 评论