python基础学习-网络编程(一)

 1、CS架构与BS架构

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

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

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


 2、网络通信

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


3、OSI七层协议

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层
应用层:
应用层
应用层
表示层
回话层
传输层
网络层
网络接口层:
数据链路层
物理层


协议:规定数据的组织形式
格式:头部+数据部分
封包裹的过程:数据外+头
拆包裹的过程:拆掉头获取数据

4、五层协议

计算机1:                                                  计算机2:

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

传输介质:

 

4.1 物理层负责发送电信号

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

4.2 数据链路层:以太网协议(ethernet)

以太网协议:
早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
ethernet规定:
规定1:一组电信号构成一个数据包,叫做‘帧’
规定2:每一数据帧分成:报头head和数据data两部分(原地址和目标地址即mac地址)
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)

数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送
数据链路层的数据包含的是网络层发过来的整体内容


规定3:
mac地址:
head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址
mac地址:2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位

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

4.3 网络层:IP协议

网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址(IP地址)
每一个广播域但凡要接通外部,一定要有一个网关帮内部的计算机转发包到公网关,网关与外界通信走的
是路由协议

IP协议:
规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
范围0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数,例:172.16.10.1
ip地址分成两部分:
网络部分:标识子网
主机部分:标识主机
网络层的数据包含的是传输层发过来的整体内容

注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网


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

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

事先知道的是对方的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 数据

 


4.3.1 总结

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

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

 

 

详细请参考:https://www.cnblogs.com/linhaifeng/articles/6129246.html#_label2

posted @ 2020-04-16 21:07  sunshine如你  阅读(156)  评论(0编辑  收藏  举报