为什么写网络?

可能大家只知道我会写代码,或者说会用linux以及会瞎掰别的东西,但是其实我也想说,我是计算机网络毕业的,当初叫微度网络-网络技术支持中心的时候我就是想做网络,但是爱上了代码,就开始写程序,做的久了想想还是网络的基础很重要,现在慢慢的回忆一下,然后希望写下来对大家有用。我先讲一点简单的网络基础,然后主要讲http~~

OSI七层模型

我在网上找了一个图片,因为你要让我作图,你就别看了,看不下去,所以找了一个,很漂亮
osi七层模型
1.介绍都是干什么的?
  • 物理层:主要就是接口标准,线缆的标准,譬如线缆能传输多远、网口的接口标准等等,还有就是将数据转换成比特0,1电信号传输(记得那时候做布线的时候记得很清楚,现在几乎都忘了,(┬_┬))
  • 数据链路层:这一层主要做的就是对上边的报文进行封装mac地址封装和解封,物理寻址、流量控制、数据检错和重发
  • 网络层:这个主要就是加ip地址,源地址and目标地址
  • 传输层:主要做的是数据的传输协议和端口,譬如http用tcp传输端口80
  • 会话层:说白了就是状态的检查
  • 表示层:就是传输数据的格式,数据的加密解密等等
  • 应用层:就是你的应用程序,譬如QQ、浏览器等等
会话层-表示层-应用层
简单过程可以这样理解,你打开浏览器,输入网络,这是应用层,打开一个网站,这时候你需要让对方读懂你的应用层信息。表示层-就是你支持的一些东西,譬如你支持gzip,图像的编码等等,会话层,就是显示的状态
传输层-网络层-数据链路层
传输层譬如我用的http协议簇,我端口用的3062 请求对方的80端口,然后网络层,加一层ip,<本机ip:3062 ,对方ip:80>,这一层主要是路由器,通过路由择优选择最佳节点,然后做数据转发。然后数据链路层通过寻址找到主机。 上边理解可能费劲点,这里这里做个讲解 譬如小明和小红要相亲,小明-男,小红-女 这就是传输层,男对女 然后选择了在两人都相近的餐馆见面,这就是网络层,通过两个不同的地方选择一个地方进行转发 然后呢,餐馆里边有三个叫小明的,两个叫小红的,咋办,他们都由对方的手机号,通过手机号寻找真正的小明和小红,这就是寻址

传输层

主要确定是端对端的可靠链接tcp,还是不可靠的udp链接,以及给会话层提供网络的传输服务,封装好端口,这一层传输的是报文

网络层

这一层会给数据包进行封装,封装源地址和目的地址,根据最选择最优地址,进行数据转发,最终到达目的地,譬如我的一个云存储,的ip,171.112.96.24,而我个人的ip:192.168.1.22这个时候他就会寻找我的路由192.168.1.1然后转发到公网,然后在就近选择路由,就是一直往下跳和转发,如下
C:\Users\Administrator>tracert widuu.u.qiniudn.com

通过最多 30 个跃点跟踪
到 08911.xdwscache.glb0.lxdns.com [171.112.96.24] 的路由:

  1     3 ms     1 ms     1 ms  192.168.1.1
  2    15 ms     6 ms     5 ms  27.129.3.49
  3     *       16 ms    13 ms  27.129.1.29
  4    19 ms    17 ms    21 ms  202.97.81.69
  5    42 ms    43 ms    41 ms  202.97.79.85
  6    42 ms    40 ms    47 ms  58.50.253.242
  7    41 ms    54 ms    41 ms  58.50.254.182
  8    51 ms    40 ms    42 ms  61.136.214.254
  9    49 ms    39 ms    39 ms  171.112.96.24

跟踪完成。
数据链路层
这一层帧同步,容错恢复和流浪控制,还有就是寻址,前边的不说我们就说寻址,因为前边的都是做网络用的,后边用到再讲
这个我们用一个例子讲,我有一个aws的主机
tcp  0  0 172.31.16.113:80   106.117.20.130:18728    TIME_WAIT  
我公网的ip是106.117.20.130,但是我用的路由了,我内网的ip是192.168.1.22,这时候他怎么进来的呢?怎么知道是我呢?然后我再aws中使用
traceroute  106.117.20.130  #输出以下的结果
15  27.129.4.66 (27.129.4.66)  180.754 ms  180.743 ms  180.729 ms
然后最近的是27.129的网段,然后通过路由转发到 106.117.20.130,但是这个ip我用的路由器,我有三个电脑他怎么知道是我哪个主机访问的呢?这个时候我的路由当然带交换机的功能,这个时候转发数据到192.168.1.1,然后会发送一个arp广播寻mac地址,然后我的主机回复我的主机是你寻找的mac地址,这个时候就会有个arp映射,端口到mac这个时候就可以通信的了~
好像有点乱好久没接触了,但是保证明天讲http会写的比较好点

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部