计网&Linux&shell | 青训营笔记

48 阅读2分钟

TCP/IP网络分层模型

TCP/IP 采用了“分层”的概念,把复杂的网络通信划分出多个层次,再给每一个层次分配不同的职责,层次内只专心做自己的事情就好,用“分而治之”的思想把一个“大麻烦”拆分成了数个“小麻烦”,从而解决了网络通信的难题。

第一层叫“应用层” ,应用层的功能就是规定了应用程序的数据格式。我们经常用的电子邮件、HTTP协议以及FTP数据的格式,就是在应用层定义的。

第二层叫“传输层” ,现在可以完成不同计算机之间的通信了,如果要识别不同的程序,就需要引入端口,端口是每一个使用网卡的程序的编号,传输层的作用是建立端口到端口之间的通信。

第三层叫“网络层” ,广播形式传播效率太低,所以需要判断是否在一个子网,在就用广播的方式传播,不在就通过路由器将数据发送出去,网络层引入一套新的协议用来区分不同的广播域/子网,于是就有了IP 协议。

第四层叫“数据链路层” ,只有物理层的01信号没有任何意义,需要一份协议来给每组01信号赋予意义,这个协议就是“以太网协议”。以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为帧。每一个桢由包头(Head)和数据(Data)两部分组成。以太网会以广播形式把信息传递出去。

第五层叫“物理层” ,顾名思义,用物理的方式把网络设备连接起来,一般用光纤,双绞线进行连接,使之可以传输01电信号。

Linux基础

Linux由内核、shell、文件系统、应用程序组成,在Linux里万物皆文件,采用树状目录管理,用虚拟文件系统实现接口的统一调用,Linux的应用以软件包的形式存在,Linux的文件读取和系统调用都是在用户空间和内核空间进行反复的切换。

shell语言

shell作为一个脚本语言也是Linux服务器的操作语言,以下只单独整理与c不同的点

管道:cmd1 | cmd2 管道符“|”作用是把前一个命令的结果传递给后一个命令,但不接受标准输入的命令需要用xargs命令预处理

shell脚本一般以.sh命名,第一行指定用什么解释器执行。 执行过程为:

  1. 字符解析
  2. shell展开
  3. 重定向
  4. 执行命令
  5. 收集状态并返回