计算机网络体系结构(四)
网络层 (network layer) 由于早期电信网的成功经验,有些人认为应该让网络层像电信网一样,两台主机通信前先建立连接(虚电路 Virtual Circuit),然后沿着已建立的连接发送分组,网络负责可靠交付。但因特网却提出一种新的设计思路,因为电信网的终端(话机)非常简单,没有差错处理能力,因此电信网必须提供可靠交付。但因特网的终端是具有差错处理能力的计算机,所以在网络层只向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接,每一个分组(IP数据报)独立发送,也不进行编号,网络层不提供服务质量的承诺,所传分组可能出错、丢失、重复、失序或者交付时限。由于传输网络不提供端到端二点可靠服务就使网络中的路由器可以做的比较简单,而且价格低廉,如果主机种的进程间通信需要可靠服务,就由运输层负责(包括差错控制、流量控制等)。使网络造价大大降低,运行方式灵活,可以适应多种应用。
虚拟互联网络 如果要把全世界范围内的网络都互连起来,并且能够互相通信,没有一种单一的网络能适应所有用户的需求,另外随着技术不断发展也会 ...
计算机网络体系结构(三)
数据链路层(data link layer)数据链路层使用的信道主要有以下两种类型:
点对点信道的数据链路层 这种信道使用一对一的通信方式,最常用的协议就是点对点协议 PPP(Point to Point Protocol)。在通信线路质量较差的年代,在数据链路层使用必须使用可靠的传输协议,比如思科私有协议高级数据链路控制 HDLC(High-level Data Link Control)在当时就比较流行。而随着通信线路质量的提升,对于点对点通信的链路简单的PPP协议就是更好的选择了。现在互联网的数据链路层使用的最多的就是PPP协议和CSMA/CD协议(也就是使用拨号入网或者使用以太网入网)。
PPP 协议应满足的需求
简单 国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)在设计互联网体系结构时把其中最复杂的部分放在TCP协议中,而网际协议IP则相对简单提供不可靠的数据报服务,这种情况下数据链路层没有必要提供比IP协议更多的功能,因此简单首要的要求。总之接收方每收到一个帧就进行CRC校验,如果正确就 ...
计算机网络体系结构(二)
关于物理层的传输媒体 传输媒体作为计算机网络体系结构的第0层,它是数据传输系统中在发送器和接收器之间的物理通路,也称为传输介质或者传输媒介。传输媒体可以分为两大类,即导向传输媒体和非导向传输媒体。在导向传输媒体中电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体就是指自由空间,在非导向传输媒体中电磁波的传输常称为无线传播。网络传输媒介的质量的好坏会影响数据传输的质量,包括速率、数据丢包等。
常见的导向传输媒体有以下几种1. 双绞线 双绞线也成为双扭线,它的结构简单就是把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合(twist)起来就构成了双绞线。绞合可减少对相邻导线的电磁干扰。现在以太网基本上也都是使用各种类型的双绞线电缆进行连接的。如无屏蔽双绞线UTP(Unshielded Twisted Pair)、屏蔽双绞线STP(Shielded Twisted Pair),如果对整条双绞线电缆进行屏蔽则标记为x/UTP(x为F(Foiled)表明采用铝箔屏蔽层,x为S(braid Screen)表明采用铜编制层,x为SF,则表明 ...
计算机网络体系结构(一)
概述 两个计算机要想相互通信必须高度协调工作,这种“协调”比较复杂,因此需要分层,也就是分而治之的方法,将庞大而复杂的问题转化为若干个较小的易于研究和解决的局部问题。
最早因为市场上不同公司都使用自己的标准,使用同一个公司生产的设备可以容易的互联成网,但如果购买了其他公司的产品就很难互相连通,为了解决这个问题国际标准化组织ISO于1977年成立了专本的机构研究该问题,不久后便提出了一个试图使各种计算机在世界范围内互联成网的标准框架,即开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称OSI模型,此模型是个抽象的概念(排除和互联无关的部分,仅考虑和互联有关的部分),在1983年形成了正式文件即ISO 7498国际标准,也就是所谓的七层协议的体系结构。
到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于基于TCP/IP的互联网已抢先在全世界覆盖了相当大的范围,同时却几乎找不到什么厂家生产出符合OSI标准的商用产 ...
WSL2内使用Windows的v2ray代理
WSL2内使用Windows的v2ray代理
在WSL2中使用install或git命令是总是因为网速问题失败,我们在部署配置环境时就最好需要使用代理,但WSL2 因为是通过虚拟机的方式实现,网络不再像 WSL1 一样与 Windows 共享,变成了一个新的网段,所以想使用宿主机的代理就比较麻烦,这里参考网上资料这里给出设置方法。
一、Windows内设置v2ray客户端开启允许来自局域网的连接
二、WSL2内设置1. 修改DNS服务器地址修改由于使用代理不能再通过宿主机IP获取nameserver,这里在/etc/resolv.conf直接设置nameserver为GoogleDNS地址8.8.8.8或者其他可用的dns服务器地址。
12345# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:# [network]# generateResolvConf = falsen ...
电视盒子做小型服务器(华为海思Hi3798Mv100)
电视盒子做小型服务器(华为海思Hi3798Mv100)前言翻找东西时发现了闲置的一个电信电视盒子,在网上查找了下相关资料挺多的,而且其SDK已经公开,盒子主控是华为海思Hi3798Mv100,四核ARM Cortex A7,主频高达1.5GHz,我这个是1G内存8G的存储的版本,有SD卡槽和两个USB接口,可以外接存储设备扩展,还有蓝牙WIFI功能,功耗仅有3w左右,刷上Ubuntu系统后可玩性非常高,下面就改造下使其变成一个小型的服务器。
拆机硬件拧下前面脚垫下方的两个螺丝后就可以用撬板撬下外壳,上下外壳有卡扣连接,没有撬板的话用螺丝刀慢慢撬也可以,只不过会留下些痕迹。
之前拆开忘记拍了这里补一个拆机网图,可以清楚的看到板子上的外设,两片南亚的512MB的闪存,背面一片8GB的闪迪eMMC芯片,瑞昱的RTL8188FTV低功耗无线芯片 ,双USB2.0接口。
在这个SD卡槽边上有一个预留的调试串口,我们可以自己焊上个座子然后用杜邦线连接好USB转串口的模块来烧录固件。
可以看到cpu是通过散热片被动散热的,后面用起来时温度总是太高,所以这里又拆开加了一个5V的小风扇辅助散热。
...
配置美化bash和vim
配置美化bash和vimbash、vim允许你自定义你的终端,自定义的bash、vim可以实现美化效果,还可以提高你在终端的工作效率,下面我备份的配置文件。
bash.bashrc
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149# ~/.bashrc: executed by bash(1) for non-login shells.# see /usr/share ...
实时操作系统FreeRTOS
FreeRTOS内核实现FreeRTOS中链表的实现
WSL更换镜像源
WSL更换清华镜像源Ubuntu、Python、Nodejs、MySQL、Git、Chromium、Docker、Homebrew 等一系列的常用开源系统、软件都是国外开发的,下载地址位于国外,从国内访问、下载、更新速度慢所以我们要使用镜像源,其中清华源镜像镜像源数量最多,所以这里用清华源镜像做替换,下面是替换方法:
备份原文件
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
将/etc/apt/sources.list文件内容替换为清华镜像源
12345678910111213# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe mul ...
使用WSL+VScode搭建C/C++开发环境
使用WSL+VScode搭建C/C++开发环境参考文档:https://docs.microsoft.com/zh-cn/windows/wsl/setup/environment
安装WSL新版本对于最新版本的 Windows (内部版本 20262+)可以使用简化的 –install 命令安装WSL。若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。
1wsl --install
–install 命令执行以下操作:
启用可选的 WSL 和虚拟机平台组件
下载并安装最新 Linux 内核
将 WSL 2 设置为默认值
下载并安装 Ubuntu Linux 发行版(可能需要重新启动)
在此安装过程中,你将需要重启计算机。
其他版本若要更新到 WSL 2,需要运行 Windows 10。对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。对于 ARM64 系统:版本 2004 或更高版本,采用内部版本 19041 或更高版本。低于 18362 的版本不支持 WSL 2。 使 ...








