34 --- Network Protocol

Not yet completed

A C / S architecture B / S architecture

1 CS架构
Client<----------->Sever
如:网易云音乐
客户端软件                        服务端软件
操作系统                          操作系统
计算机硬件《-----------网络通信---------》计算机硬件
2 BS架构:不需要写客户端软件
Browser<----------->Sever
# 两种架构的区别:数据传输的规则,CS传输标准自己制定,BS传输标准需要按照浏览器的标准

Two network communication

网络存在的意义
    就是跨地域数据传输===》称之为通信
什么是网络
    物理链接介质 + 互联网通信协议(通信的标准)
    通信标准:比如打电话,和美国人打电话就需要说英语,和中国人说话就是说汉语

Three OSI seven-layer protocol

协议:规定数据的组织格式
    格式:头部+数据部分
    
五层协议
    应用层
        表示层
        会话层
    传输层(封装后称为:段)
    网络层(封装后称为:包)
    数据链路层(封装后称为:帧)
    物理层(封装后称为:位):基于电信号通信0100010001
物理层:负责发送电信号
    一组物理层数据称之为 位
    单纯的电信号是没有数据意义的,对电信号进行分组才能使其具有数据意义,
问题:如何进行分组-----数据链路层
数据链路层:对电信号分组的标准----Ethernet(以太网协议)
规定1:一组数据称之为一个数据帧
规定2:数据帧分成两个部分=>头+数据(所有协议都是这么规定的)

    头包含:源地址与目标地址  该地址是mac地址
            
    数据类型:包含的是网路层发过来整体的内容
          
规定3:但凡接入互联网的主机必须有一块网卡,每块网卡在出厂时都烧制好一个全世界独一无二的地址,该地址称为mac地址

注意:计算机通信基本靠吼,即以太网协议的工作方式是 广播(吼)

连到同一个交换机上的计算机都在同一个广播域

理论上只要有数据链路层可以实现全世界的网络通信,但是是不合理的,全世界的计算机不可能存在于同一个广播域

产生的问题:所有计算机在同一广播域,吼一嗓子,所有计算机都能收到,数据量太大

解决方法:将计算机放到不同的广播域中---网络层
网络层:IP协议
要达到的目的
划分广播域
    每一个广播域但凡要接通外部,一定要有一个网关帮内部的计算机转发包到公网
    网关与外界通信走的是路由协议

规定1:一组数据称之为一个数据包
规定2:数据包分成两个部分=>头+数据(所有协议都是这么规定的)

    头包含:源地址与目标地址  该地址是IP地址
    数据包含:传输层发过来的整体内容
            
ipv4:
8bit.8bit.8bit.8bit
0.0.0.0   -----  255.255.255.255

子网掩码:
8bit.8bit.8bit.8bit

十进制表示
0.0.0.0   -----  255.255.255.255

一个合法的IPV4地址组成部分=ip地址/子网掩码地址
子网掩码用来区分广播域
172.16.10.1/255.255.255.0
172.16.10.1/24  (24表示连续的24个二进制下的1,等同于255.255.255.0)

IP地址和子网掩码配合到一起会计算出一个广播域地址/子网地址/局域网地址
如何计算:将IP地址和子网掩码地址转换为二级制 --- 按位与运算
计算机1:
172.16.10.1:       10101100.00010000.00001010.00000001
255.255.255.0    11111111.11111111.11111111.00000000
计算结果:网络地址
172.16.10.0: 10101100.00010000.00001010.00000000

计算机2
172.16.10.2:       10101100.00010000.00001010.00000010
255.255.255.0    11111111.11111111.11111111.00000000
计算结果:网络地址
172.16.10.0: 10101100.00010000.00001010.00000000

判断两个计算机是否属于同一个局域网
1 如果在一个局域网,直接靠吼即可
2 如果不在同一个局域网,通过网关,将包输出到公网,根据路由协议传给另一个网络地址


事先知道的是对方的IP地址
但是计算机的底层通信是基于ethernet协议的mac地址通信
所以必须能够将IP地址解析成mac地址---ARP协议

计算机1和计算机2在同一个局域网内,直接通信即可
计算机1                直接         计算机2
ARP:
自己的IP,对方的IP      
1 计算机二者网络地址如果一样,拿到计算机2的mac地址就可以了                
2 发送广播包,得到计算机2的mac地址
发送端mac  FF:FF:FF:FF:FF:FF  172.16.10.1/24(计算机1的IP地址)   172.16.10.2/24(计算机2的IP地址)
(源mac地址,目标mac地址)(源IP地址,目标IP地址)



不在一个局域网
计算机1:172.16.10.1/24               网关         计算机2:101.100.200.11/10
ARP:
自己的IP,对方的IP      
1 计算机二者网络地址如果不一样,拿到网关的mac地址就可以了  
2 发送广播包,得到网关的mac地址
发送端mac  FF:FF:FF:FF:FF:FF  172.16.10.1/24           172.16.10.1/24(网关地址)     
(源mac地址,网关mac地址)(源IP地址,目标IP地址)
'''



'''
总结:
mac地址:用来标识局域网内的唯一一台机器
IP地址:帮忙定位计算机属于哪一个子网/局域网

IP+mac地址:可以标识全世界范围内独一无二的一台计算机
或者:IP地址可以标识全世界范围内独一无二的一台计算机
'''

Guess you like

Origin www.cnblogs.com/Kathrine/p/12716566.html