网络编程 /socket编程/套接字编程

MAC2007 2020-06-06

C/S架构

"""
client<==================>server
客户端软件send              服务端软件recv
操作系统                    操作系统
计算机硬件《=====物理介质======》计算机硬件
"""

B/S架构

#brower<===================>server

网络通信

#网络存在的意义就是跨地域数据传输===>称之为通信
#网络=物理传输介质+互联网通信协议

OSI七层协议

"""
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
"""

五层协议&ARP协议

"""

应用层                       应用层
传输层                          传输层
网络层                          网络层
数据链路层                    数据链路层
物理层《===================》 物理层
(源mac地址,目标mac地址)(源IP地址,目标IP 地址)
事先知道的是对方的IP地址
但是计算机的底层通信是基于Ethernet以太网协议的mac地址通信
ARP协议(地址解析协议)
所以必须能将IP地址解析成mac地址


两台计算机在一个局域网内
计算机1         直接          计算机2
ARP协议
自己的IP 对方的IP
1.计算二者的网络地址 如果一样 拿到计算机2的mac地址
2.发送广播包
发送端mac FF:FF:FF:FF:FF:FF  172.16.10.10/24  172.16.10.11/24数据


两台计算机不在同一局域网内
计算机1 172.16.10/24        网关         计算机2 101.100.200.11/10
ARP协议
自己的IP 对方的IP
1.计算二者网络地址 如果不一样 拿到网关的mac地址
2.发送广播包
发送端mac FF:FF:FF:FF:FF:FF  172.16.10.10/24  172.16.10.11/24数据协议:规定数据的组织形式格式:头部+数据部分封包裹的过程:数据外加头拆包裹的过程:拆掉头部获取数据

"""

物理层/数据链路层/网络层

"""
1.物理层 负责发生电信号
一组物理层数据称之为 :位
单纯的电信号毫无意义 必须对其进行分组
2.数据链路层 以太网协议
规定:一组数据称之为一个数据帧
    数据帧分为两部分=>头+数据
    头包含:源地址与目标地址 该地址是mac地址
    数据包含:包含的是网络层整体的内容
    规定但凡接入互联网的主机必须有一块网卡,每块网卡在出场时都会定义好全世界独一无二的mac地址
注意:计算机通信基本靠吼 以太网协议工作方式是广播
3.网络层 IP协议
要达到目的:
划分广播域 每一个广播域但凡要接通外部 一定有一个网关帮内部的计算机转发包到公网 网关与外界通信走的是路由协议
规定:一组数据称之为一个数据帧
    数据帧分为两部分=>头+数据
    头包含:源地址与目标地址 该地址是IP地址
    数据包含:包含的是传输层发送来的整体内容
IPV4地址:
8bit.8bit.8bit.8bit
0.0.0.0
255.255.255.255
子网掩码:
8bit.8bit.8bit.8bit
一个合法的IPv4地址组成部分=IP地址/子网掩码地址
172.16.10.1/255.255.255.0
IP地址+mac地址===》可以标识全世界范围内独一无二的一台计算机

或者 IP地址===》标识全世界范围内独一无二的一台计算机



"""

相关推荐