网络编程

CS架构与BS架构

  Client<===========>Server

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

  Browser<===========>Server

网络通信

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

osi  七层协议

五层协议:
  应用层 ----数据
  传输层 ----TCP
  网络层 ----IP
  数据链路层 ----Ethernet
  物理层 ----交互机

协议:规定数据的组织格式
格式:头部+数据部分


封包裹的过程:数据外加头
拆包裹的过程:拆掉头获取数据

应用层                   应用层
传输层                   传输层
网络层                   网络层
数据链路层                 数据链路层
物理层 <===========交互机===========> 物理层
        0101010101010

(源mac地址,目标mac地址)(源ip地址,目标ip地址)数据

 物理层:负责发送电信号
  一组物理层数据称之为:位
  单纯的电信号毫无意义,必须对其进行分组

数据链路层:ethernet以太网协议
  规定1:一组数据称之为一个数据帧
  规定2:数据帧分成两部分=》头+数据
      头包含:源地址与目标地址,该地址是mac地址
      数据包含:包含的是网络层发过来的整体的内容

  规定3:规定但凡接入互联网的主机必须有一块网卡,每块网卡在出厂时都烧制好一个全世界独一无二的地址,该地址称之为mac地址

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

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

  规定1:一组数据称之为一个数据包
  规定2:数据帧分成两部分=》头+数据
      头包含:源地址与目标地址,该地址是IP地址
      数据包含的:传输层发过来的整体的内容

  ipv4地址:8bit.8bit.8bit.8bit

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

  一个合法的ipv4地址组成部分=ip地址/子网掩码地址

应用层                 应用层
传输层                  传输层
网络层                  网络层
数据链路层                数据链路层
物理层 <=========二层交互机========> 物理层
                         0101010101010

(源mac地址,目标mac地址)(源ip地址,目标ip地址)数据
(源mac地址,网关的mac地址)(源ip地址,目标ip地址)数据

事先知道的是对方的ip地址 但是计算机的底层通信是基于ethernet以太网协议的mac地址通信

ARP:所以必须能够将ip地址解析成mac地址

两台计算机在同一个局域网内:

计算机1:172.16.10.10/24     直接     计算机2:172.16.10.11/24
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.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.1/24 数据

总结******
  ip地址+mac地址=》标识全世界范围内独一无二的一台计算机

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

原文地址:https://www.cnblogs.com/zhenghuiwen/p/12715350.html