Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283535
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-27 08:37
个人简介

从linux了解世界

文章分类
文章存档

2017年(5)

2016年(51)

2015年(2)

我的朋友

分类: 网络与安全

2017-02-03 21:40:04

网络前身:美国为了防止苏联的核攻击,建立一个多中心多节点的分散式网络(和git的思路很像?)。

ietf:制定了httpsmtp等协议,smtp是发信协议,pop3imap是收信协议,sip/rtp是因特网电话/视频协议,sshTelnet是远程终端协议

osi:开放系统互联,是一个学术委员会在学术层面做的理论标准,实际应用的都是tcp/ip的五层协议

    分层是一种逻辑概念,实际是数据的封装,物理层最简单就是每位的01的rj45、双绞线中的传送;链路层就是节点到节点的传输01;网络层是跨越各个网络将01从原主机到目标主机;传输层是对两台机器间的两个进程通信;应用层就是两台机器的两个进程收到数据后是怎么约定格式的

所以按照上面的概念,交换机只要完成链路层的工作,路由器只要完成网络层的工作就可以,他们算是网络的基础设施,传输层和应用层都由网络边缘的端设备实现,也就是进程通信和信息格式
    这种无数大牛最终确定的网络架构保证了现在社会网络的飞速发展,因为不论有什么协议都不需要更改网络基础设施,不需要更改路由器和交换机的程序,只要端设备实现就可以了,网络中的设备不用参与连接的建立,对应用层一无所知。数据包、分组交换也比固定线路更充分使用带宽。路由器的路由表是门大学问
dhcpdynamic host config protocol。如果没有这个协议,机器连上路由也上不了网。想获得ip地址的客户端发送一条广播,连接过程:

ipv4早就已经用光了,现在还能使用的就是因为nat(网络地址转换)

路由器发送数据,修改数据包中源地址和源端口(根据nat转换表)


路由器接收数据,修改数据包中目的地址和目的端口(根据nat转换表)

链路层只管mac地址,链路层中就是以太网帧的数据包

mac地址前24位有ieee分配给制造商,后24位由厂商自己确定

为什么有mac地址还要ip地址,非要分两层:

不同网络间是按照ip的子网号确定的,有些老网络确实没用ip地址

发送数据时,最开始都不知道目的mac地址,所以通过arp(地址解析协议)获得目的地mac地址,每个电脑都有一个arp的缓存表,如果目的ip没有对应的目的地mac地址就会发送arp请求广播,只有对应的ip的机器会返回arp响应


当跨越子网传输时:


然后路由器需要arp获得黄色机器的mac地址,然后:

??中就是黄点的mac地址

综合:




web socket解决http层客户端和服务器的双向交互问题,浏览器端通过某种策略看看服务器的某个资源ready了没有,效率很低,有了web socket就像在web层建立了和tcp层相似的一个全双工的方式,客户端可以向服务端发起请求,反过来也可以。Websocketsocket之上,socket实际上是对传输层的抽象接口

阅读(2193) | 评论(0) | 转发(0) |
0

上一篇:HTTPS流程笔记

下一篇:RSA算法流程

给主人留下些什么吧!~~