计算机网络(一)

      别人常说软件工程师每到个时间段都会遇到一个瓶颈,貌似我最近就到达了一个瓶颈,一个什么情况呢,最直观的体验就是给一项任务能完成,给你一个问题也能解决,但是总有点说不清的感觉,而且学的东西很多什么后台开发,前端开发,数据分析,人工智能,但是好像会的东西很多也能拿来用,但是就是感觉缺了点什么。所以为了提升自己我决定拿出一到两年的时间一些基础重新理解下,包括计算机网络,数据结构,算法,操作系统,线性代数,数理统计,在这中也要做到另外一件重要的事。今天重新理一理计算机网络将会拿linux来做一些演示。

 网络分层:

一般常用的是两种分层模式,ISO的七层分层模式,另外一种是实际应用中的五层分层模式。

七层:

应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

五层:

应用层、传输层、网络层、数据链路层、物理层。

 

对五层网络做一些解释。

在网络传输中下层网络对上层网络是透明状态,对于上层网络而言下层网络无论多少层都可以抽象成为一个连接线路。

应用层:

  上层应用程序所关注的一层,毕节熟悉的就是网页REST接口的调用,这一层的主要常见的协议是http协议。

计算机网络(一)

传输层:

      传输层的应用场景一般是通讯类软件在做通讯是会比较关注,一般常用的协议是TCP ,UDP。TCP 是可靠传输,而UDP是广播传输肉故意丢包。

网络层:

网络网络才是真正的开始网络数据传输,在两个端之间的传输中间上面两个层是不会出现的。这里就涉及到了一个ip地址,ip地址是用来网络上位置的定位的。

计算机网络(一)

linux上敲击ip addr 就可以将网络的相关信息打印出来,每一个表示一个网络接口层的意思也就是网卡。

数字后面跟着的是网卡名称。

<BROADCAST,MULTICAST,UP,LOWER_UP> 表示网络设备状态
BROADCAST :这个网卡有广播地址,可以发送广播包
MULTICAST : 网卡可以发送多播包
UP :网卡处于启动的状态;
LOWER_UP : 网线插着

mtu 1500最大传输单元 MTU 为 1500,以太网的默认值。表示数据链路层传输的最大的数据包。

qdisc : 全称是queueing discipline,排队规则。

state : 表示状态。

link 表示数据链路层的链接地址。

inet  后面表示 ipv4 的连接方式。

scop 对于 eth0 这张网卡来讲,是 global,说明这张网卡是可以对外
的,可以接收来自各个地方的包。对于 lo 来讲,是 host,说明这张网卡仅仅可以供本机相互通信。

数据链路层:

这就是"链接层"的功能,它在"实体层"的上方,确定了0和1的分组方式。

计算机网络(一)

物理层:

相当于硬件设备的链接。