网络基本原理:
局域网通信
局域网是在同一个链路内相互通过mac地址通信的主机组成的集体
比如在一个工作室内同一个路由器下面的几台电脑组成
由于在最开始 电脑之间相互不知道对方在mac地址所以 电脑主机之间相互通信就需要通过广播的方式发给局域网内部的主机,这个时候因为主机一般都是链接的都是交换机,交换机的的内存内部有一个16K的空间的内存记录的是
交换机的接口和主机的mac地址 ,不管哪个主机发广播的时候经过交换机的时候都要出示他的mac地址,这个时候主机的mac地址的就被mac地址和接口的方式记录在交换机的内存中,交换机是一个智能的设备,周而复始,一个局域网内其他的主机也是以同样的方式mac地址和所连接的接口都被记录在交换机的内存中,也因为有记录所以,下一次A访问一个主机的时候,发广播给交换机的时候交换机看到B机器是记录是交换机的指定接口,交换机就不会把广播在到其他的主机,因此交换机有隔断广播的作用,广播的位数是48位,mac地址也是48位的二进制,mac地址的前24位是国际mac地址管理中心给的,其他的24位是生产网卡的服务商自己指定的
arp协议: A主机通过B的mac地址找B主机的ip地址
arp反向解析协议:A主机在知道B主机的ip情况下寻找对方的mac地址
在任意一台主机设备上面都有一个内存空间记录和他通信成功的mac地址和ip地址,
下边说一下广域网通信
比如北京的主机和广东的主机进行通信
北极主机首先判断广东主机是否和自己在同一个局域网网中,首先guangbo通过主机的子网掩码做与运算,判断得知广东主机和北京主机不在同一个局域网中,这个时候,北京主机会用arp反解析协议发广播给网关信息格式如下
路由器mac:北京主机mac:广东ip:北京ip
在次之前因为北京主机内存中有和网关通信过所以记录了,网关的mac地址在北京主机的内粗中有记录
路由器网关发现mac地址的确是自己的,但是目标广东ip不是自己的,路由器通过
路由表寻址发现一条可以达到广东B主机的方式首先经过市级路由在经过,省级路由可以达到广东主机 这个时候离北极主机最近的路由器通过apr反解析协议
类推最终获得广东主机的mac地址,由此 广东主机就可以和北京主机进行通信
在通信之前要进行tcp三次握手
tcp三次握手
比如现在A和B两个人谈恋爱
和一个人谈恋爱肯定要找到一个人,那么上面就是寻找的过程,则tcp的三次握手就是A和B相互表白的过程
A和B说我喜欢你SYN=1,这个是我今天说了第x句话seq=x
B对A说,ACK=1我听到了你说你喜欢我这句话,我也喜欢你SYN1,这是我今天说的第y句话seq=y,我现在说的是对你x句话的回答ack=x+1,如果我说x+1 希望你明白我听到了你的x句话
A对B说: 我听到你喜欢我ACK=1,这个是我今天说的x+1句话seq=x+1,我已经收到你发的第y句话的内容,如果我说y+1我希望你明白 我收到了你的y句话ack=y+1
四次挥手
A对B提出分手FIN=1 这个是A说的u句话 seq=u
B对A说 我已经收到你要和我分手的信息 ACK=1 这个是我今天说的w句话seq=w 我这个是对你u句话的回答我说 ack=u+1表示我已经收到你的第u句话
但是 我上次欠你的前还没还呢,等我把前还你在说把
B*对A说 欠你的欠已经还完了,数据传输完毕,我同意和你分手 SYN=1
这个是我今天说的第w句话,seq=w ,我这个是对你第u句话的回答 我说u+1表示我收到你的第u句话 希望你明白,
A对B说 我收到你同意和我分手的消息ACK=1,这个是我说的第u+1句话seq=u+1
我这个是对你说的第w句话的回答我说ack=w+1 希望你明白
-*---------------------------------------------
为什么是 三次握手不是其他的次数呢
第一次目的是告知对方
第二次对方同意并且告诉自己
第三次是自己收到并告知对方自己收到对方的消息
有两个因素
1表达想法2对方知道。如果这两个条件成立就完成三次握手
为什么是四次挥手呢
*因为多了一次 还钱的过程 就相当于传输数据的过程,所以是四次挥手
网络的7*层模型
1 应用层 实现软件的基本的功能 比如qq 发消息
2 表示层 传输过程是否加密 压缩 使用哪种语言打开 utf-8 unicode万国码
3会话层 回话合适建立 什么时候断开 回话id
4 传输层 传输的可靠性 ,三次握手 四次挥手
传输段 segment
5网络层 路由寻址 实现跨网段通信 数据包包 pakckets
6链路层 实现mac地址的寻址 跨网络的路由器之间的寻址mac地址
数据帧
7物理层 把bit流变成电信号,物理设备特性
数据帧转比特流
传递数据包的过程是
有应用层软件将messge 分装 加上 应用层的头部信息
传输层检查网络的可靠性 将数据帧分段传输问题,
到网络层检查传输数据的啊逻辑网络路径
链路层 解决 获得 路由器链路之家mac地址的获取 目标ip的mac地址的获取 为网络传输书打前战到物理层把 二进制数据流转换 电信号
达到对方主机后,先在对方主机通过电信号转化成比特流
到了 目标主机的倒数链路层,主机发现目标mac是自己的接受数据向网络层发数据网络层发现目标ip是自己的ip接受数据,把数据交到传输层 协商传输数据的方式,传输数据的大小,分片,用什么协议传utp还是tcp
到应用层 解压 解密 信息
原文地址:http://blog.51cto.com/14114496/2339434