网络编程part1

一、CS架构和BS架构

1、CS架构(客户端到服务端)

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

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

2、BS架构(浏览器端到服务端)

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

二、网路通信

网络存在的意义:跨地域数据传输:简称——通信

网络=物理链接介质+互联网通信协议

三、OSI七层传输协议(五层/四层协议)

五层协议 应用层 传输层 网络层 数据链路层 物理层

协议——规定数据的组织格式

协议的格式——头部+数据部分

封包的过程——在数据外加头部

拆包的过程——拆取数据外头部

计算机1:                            计算机2:

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

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

四、

1.物理层

物理层负责发送电信号

一组物理层数据称之为:位

单纯的电信号毫无意义,必须对其进行分组

2.数据链路层:Ethernet以太网协议

规定一:一组数据称之为一个数据帧

规定二:一个数据帧可以分为——头+数据

头包含了——源地址和目标地址,这个地址是mac地址

数据包含——网络层发过来的整体内容

规定三、每一台接入互联网的主机都要有一块网卡,每一块网卡都是在出厂时都烧制好一个独一无二的地址——mac地址

ps:以太网协议的工作方式是——广播

3.网络层:IP协议

需求:划分广播域

每一个广播域但凡需要接通外部,一定要有一个网关帮助内部的计算机转发包到公网网关——与外界通信走的是路由协议

规定一、一组数据称之为一个数据包

规定二、数据帧分为两个部分——头+数据

头包含了——源地址与目标地址(这里的地址指的是IP地址)

数据包含——传输层发送过来的整体内容

ipv4地址:

8bit.8bit.8bit.8bit

0.0.0.0 255.255.255.255

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

255.255.255.0对应的二进制表达 11111111.11111111.11111111.00000000

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

172.16.10.1/255.255.255.0
172.16.10.1/24
172.16.10.1不写默认24
计算机1:
172.16.10.1:     10101100.00010000.00001010.000000001
255255.255.255.0: 11111111.11111111.11111111.000000000
172.16.10.0:     10101100.00010000.00001010.000000000


计算机2:
172.16.10.2:     10101100.00010000.00001010.000000010
255.255.255.255.0: 11111111.11111111.11111111.000000000
172.16.10.0:       10101100.00010000.00001010.000000000
计算机1:                            计算机2:

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

(源mac地址,xxxx)(源ip地址,目标ip地址)数据
(源mac地址,网关的mac地址)(172.16.10.10/24,101.100.200.11/10)数据


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

ARP协议

arp协议由来:计算机通信基本靠吼,即广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送,在谈及以太网协议时候,我门了解到

通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过arp协议

arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

协议工作方式:每台主机ip都是已知的

例如:主机172.16.10.10/24访问172.16.10.11/24

一:首先通过ip地址和子网掩码区分出自己所处的子网

1587048343954

二:分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)

1587048358665

小结

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

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

原文地址:https://www.cnblogs.com/bailongcaptain/p/12716501.html