.一些图
网络 互联网 因特网
ISP 服务商,如移动、联通等,他们把网线、路由器、交换机的帝国铺设好了,比如从海南到北京,你自己网线铺过去试试?所以你才得买移动、联通啥的服务才能上网,人家弄好了,你就近连就行了
如果你是电信网,你要下移动的东西,就会从电信isp再到移动isp再到机房下回来,显然会慢一些
而你下电信的就比较快,因为你是电信网嘛
网络分类
以太网是一种连接技术,不是一种网络的名称,要注意区分
局域网就是那些交换机连在一起的那些,差不多这种
所以上网,其实就是局域网脸上因特网的过程。。。差不多这样
网络接口
计算机与交换机之间连以太网接口
路由器之间连串行接口
2.上网方式
上下行,指的是上传下载,显然家庭中下载比较重要,比如看电影等等,所以家庭网重下行
3.公网ip 私网ip
国家之间等网络之间也是路由器啥的连起来,他们的路由表都是公网ip
左边局域网两台电脑可以向右边的因特网发消息,但是返回的时候,找不到这两台,因为公网他们的路由的路由表只有公网ip
为了解决这个问题,有了NAT技术 顺带一提由于是不同局域网,所以可以有重复ip,如图中
电脑发请求经过自己的路由器的时候,通过NAT技术会把你的请求转成公网ip,这样就能和因特网的公网相互通信连接,回来的时候也能找到,因为公网存在于路由表中,但注意不同于不同局域网的私网可以重复,公网ip不能重复,是的啊,公网可都在一块儿了,重复不乱套了
那么怎么看我电脑现在的公网ip呢,百度其实就可以
你现在百度,输入ip搜到的就是你当前的公网ip
不过要注意一下,你这里搜到的不一定就是你家里这台路由器的公网ip,因为百度查到的是离访问地址最近的一次做NAT转换后的路由器的公网ip地址
如下图,懂我意思把
以前还不太理解,为什么要买服务器,自己电脑不就能做服务器吗
一个很不同的区别就在于,你买的服务器,它是有一个稳定不变的公网ip,
而你的公网ip随时会变,你换个地方上网可能就变了,但是你买的服务器,它就比较稳定,所以。。。
NAT最常用的实现方式PAT,端口多路复用,从公网ip池随机拿一个ip给这个局域网的私网做为转换,区分方式是通过这种端口的映射表
4.之前提到过一个问题,就是说路由器是用来让不同网段通信的
同一个网段似乎就不能通信
其实不太对
这个要看路由器型号的,有的路由器是可以连同一个网段的,恩
5.
为什么这两个不同网段的pc第一次ping的时候,包会丢失,然后再ping才能通呢
其实是这样的,首先第一次发包过去icmp对吧,到路由器了,路由器这会儿还没目标mac呢
所以会先发arp获取目标mac,所以此时把这包丢了,一次做一件事嘛毕竟
下次再ping就有目标mac了,就通了,不会丢包了
6.网络互连模型
平时客户端和服务器其实看到的都是应用层,也就是5部分,5就是直接的数据
其他部分都是包装,封包,解包
而之所以这样分层,其实是出于事物基本的逻辑,分层,分模块,会显得很清晰,各司其职,维护起来也好维护,其实和你写代码,或者架构项目一样,分层的好处不言而喻了,
7.网络分层
应用层为报文数据
运输层会加些东西
网络层会封包,arp请求,icmp包传送等
物理层会传到网线上,以bits流方式传输过去
一、物理层
路由器、网线、光纤等的制造规范等
二、数据链路层
数据是一祯一祯传输的,其中的ip数据包是网络层封包后传过来的
祯有大小限制,以太网的最大传输单元MTU为1500字节
为了避免中间部分出现首尾部标志SOH EOT使数据被截断,中间出现的部分都拼接ESC转义
传输到后再去除ESC得到原始数据,这一步操作是透明的,所以叫透明传输
差错检验
FCS是传输方根据包前面数据部分计算出的一个值,可以算是hash值之类的
到达之后,对方也会根据数据部分计算出一个FCS值,因为数据传输中
可能会受到了数据波动导致丢祯甚至丢包,其中的一些0和1,可能会变
所以到了之后通过FCS比对来知道数据是否有变化
如果得到的是不一样的FCS,说明数据变化了,那么这个包会被网卡丢掉
集线器,交换机啥的都是CSMA/CD协议,路由器之前都是PPP协议,不同数据链路层协议不同
他们传输的时候,不管协议是否相同,到达下一段链路的时候,都会先把自己的开始结束协议相关数据去掉,然后由当前所在链路接着放它的
之所以至少要64字节是因为,要长的才能判断是否是冲突的
也就是你这边一直发到那边,发到了,这边还在发,这样连续的这种长度
一般来说正常是你这边全部发完,停止发送之后,再接收到返回过来的数据,可以认为是那边响应的,因为那边也要接收你完整数据才能开始给你响应
如果你还没发完,就接到响应了,说明有冲突了,而短的则无法做这种判断,所以有最小字节限制
一般来说64字节也就是信道的两倍
网卡
三、网络层