首页 > 其他 > 详细

网络编程

时间:2020-04-16 23:19:07      阅读:76      评论:0      收藏:0      [点我收藏+]

1、CS架构与BS架构

CS架构:

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

客户端软件send                            服务端软件recv

操作系统                                           操作系统

计算机硬件<====物理介质=====>计算机硬件

BS架构(一种特殊的CS架构):

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

2、网络通信

网络存在的意义就是跨地域数据传输=》称之为通信

网络=物理链接介质+互联网通信协议(互联网通信协议是我们研究的对象)

3、互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

技术分享图片

 

OSI七层协议数据传输的封包与解包过程 

技术分享图片

我们进行研究的是五层协议:应用层、传输层、网络层、数据链路层、物理层

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

  格式:头部+数据部分

  封包裹的过程:数据外加头

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

4、五层协议

计算机1:                                                        计算机2:

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

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

4.1 物理层负责发送电信号

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

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

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

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

规定2:数据帧分成两部分=》头+数据

        头包含:源地址与目标地址,该地址是mac地址

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

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

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

4.3 网络层:IP协议

要达到的目的:

  划分广播域

  每一个广播域但凡要接通外部,一定要有一个网关帮内部的计算机转发包到公网

  网关与外界通信走的是路由协议

规定1:一组数据称之为一个数据包

规定2:数据帧分成两部分=》头+数据

       头包含:源地址与目标地址,该地址是IP地址

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

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

  例:172.16.10.1与172.16.10.2并不能确定二者处于同一子网

子网掩码 

  所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是

前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

  知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如

果是的话,就表明它们在同一个子网络中,否则就不是。

 

  比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,

  172.16.10.1:10101100.00010000.00001010.000000001

  255255.255.255.0:11111111.11111111.11111111.00000000

  AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

 

  172.16.10.2:10101100.00010000.00001010.000000010

  255255.255.255.0:11111111.11111111.11111111.00000000

  AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

  结果都是172.16.10.0,因此它们在同一个子网络。

总结:IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

5、两台计算机之间的交互

计算机1:                计算机2:

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

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

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

事先知道的是对方的ip地址

但是计算机的底层通信是基于ethernet以太网协议的mac地址通信

ARP协议:将ip地址解析成mac地址

ARP协议功能:广播的方式发送数据包,获取目标主机的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/BoyGc/p/12715773.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!