计算机网络物理层

1 物理层的基本概念

需要物理层需要做些什么?

需要指出,物理层考虑的是怎样才能在连接各种计算机的传输媒体传输数据比特流,而不是指某种具体的传输媒体。

可以说,物理层提供了一层抽象,上层的数据链路层和网络层只需要知道物理层传输的是比特流,而不去考虑物理层用何种方式去传输比特流。

为什么要提供这样的一层抽象?因为现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有很多不同的方式,物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异和复杂性,使得物理层上面的数据链路层感觉不到这些差异,这样就可以使得数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体和通信手段是什么,大大降低了复杂性。

此外,数据在计算机内部多采用并行传输方式,而数据在通信线路上的传输方式一般都是串行传输,也就是逐个比特按照时间顺序传输,因此,物理层还要完成传输方式的转换

阅读更多
计算机网络数据链路层

数据链路层的设计初衷

我们知道物理层的线路上传输的是我们的比特流,物理层的线路由传输介质与通信设备组成。比特流在物理线上的传输肯定会存在误差。这样我们就引入了数据链路层在物理层之上,在数据链路层中采用差错检测差错控制流量控制等方法,向网络层提高高质量的数据传输服务。

注意这里说的是高质量,而不是可靠,数据传输的可靠仍然要靠我们传输层的TCP协议实现。数据链路层提供了差错检测机制,相对于物理层来说,提高了数据传输的质量。

这样数据链路层就可以看成了网络层物理层之间的一层抽象,属于计算机网络中的低层。

阅读更多
hexo melody主题配置邮箱链接

首先到图标网上找一个图标,别人访问你的博客点击该图标就可以利用mailto给你发邮件。

这里我选择的是envelope图标,点击图标进去,点击Start Using This Icon

阅读更多
函数依赖,码和范式

1 函数依赖X$\rightarrow$Y

1.1 什么是函数依赖?

函数依赖X$\rightarrow$Y: X和Y都是属性(集合)

  • 一个X的值,只对应一个Y
  • 一个Y,可能对应不止的X

X$\rightarrow$Y 的意思是X函数决定Y,或Y函数依赖于X,X是Y的决定元素

阅读更多
《计算机网络》网络层

网络真是太复杂了………………感觉很多东西单独理解起来很简单,但合起来内容就变得很复杂,懂完过一阵子就忘记了。

最近计算机网络课学到了网络层了,本文仅是自己对课本学习内容的一个整理,方便期末复习(其实也没怎么整理,本文巨长,阅读请谨慎!!!)

参考书籍是 谢希仁 《计算机网络》第七版

阅读更多
Git教程学习笔记

廖雪峰老师的Git教程之前看过一遍,讲的很简单基础明了,入门应该是够了的,之后对Git的使用还是比较少,所以很多命令都忘记了,前阵子刚刚入门ctf(很弱很弱很弱的那种)有做到git泄露的题目,觉得有必要再了解一遍Git,所以这两天再看了一遍书,做一下笔记,方便查阅,但感觉还是要用起来,用起来,用起来才能记住,本文也只当做学习记录了。注意,本文略长且无营养,阅读请考虑仔细!!!

阅读更多
C语言中的联合

1 C语言中的Union又称为联合,联合的声明语法与结构的语法一样,但是语义差别很大,联合用不同的字段,引用相同的内存块

2 为什么使用联合?

在一些上下文中,联合的使用能够减小分配空间的总量。 一种应用的情况是,我们事先知道对一个数据结构中的两个不同字段的使用是互斥的(同时只会有一个字段是有意义的),那么将这两个字段声明为联合的一部分,而不是结构的一部分,会减小分配空间的总量。

阅读更多
CSAPPLAB配置

本文讲述我自己做CSAPP实验时的环境搭建,目前我只做了CSAPP DATAlab一个实验,所以后续实验需要到的一些配置在本文可能不会提到,但会持续更新(如果我有做后面的实验的话,手动狗头)。

1 安装虚拟机和ubuntu

第一步实验要求在Linux环境下运行,所以需要安装Linux或虚拟机以及ubuntu,我个人的话安装的是虚拟机以及ubuntu。关于安装虚拟机以及ubuntu,我用的是下面这个网址里面的教程,教程挺详细的,不再重复,直到下载完VS CODE即可,注意那个共享文件夹的位置,稍后实验需要用到。

https://0xffff.one/d/391

阅读更多
CSAPP_DATALAB

1 bitXor

题目:

  • 目标:实现 x ^ y.

  • 限制:只能使用操作符~,&

  • 最大操作次数: 14

  • 难度:1

阅读更多
欧拉函数一个小的证明

1 欧拉函数ϕ(n)表示小于n且与n互素的正整数的个数,且习惯上有ϕ(1)=1。

2 显然,对素数p,有ϕ(p)=p-1

3 证明ϕ(n)=ϕ(pq)=ϕ(p) ϕ(q)=(p-1)(q-1): *p,q为素数,证明如下

因为n=pq,易得小于n的数正整数的集合S={1,….(pq-1)},一共有pq-1个元素,其中不与n互素的集合为A={p,2p,3p…(q-1)p}与B={q,2q,…(p-1)q}。且这两个集合没有重复元素,因为p和q都是素数,在集合A中找不到是q的整数倍的元素,同理在集合B中也找不到是p的整数倍的元素,因此$A\cup B$={p,2p…(q-1)p, q,2q,…(p-1)q},元素个数为*(q-1)+(p-1),所以

证明完