网络编程1

网络架构C/S & B/S

C:client 客户端

B:browser 浏览器

S:server 服务器

C/S架构:基于客户端与服务端的架构。软件C/S框架(微信,QQ等)硬件C/S框架(打印机)

B/S架构:C/S机构的特殊形式(浏览器)

网络通信

网络通信是从一台计算机的一个软件,讲一个数据(文件、视频、音频等)发送到另一台计算机的同款软件

原理

1.一些列的物理连接介质

2.地址,确定对方的软件位置

3.一系列互联网协议

五层协议(物理层-数据链路层-网路层-传输层-应用层)

物理层

物理连接介质

发送和传输电信号(高1低0电平)

数据链路层

主要对数据进行分组,封装(源地址,目标地址)

由统一的以太网协议ethernet

  规定数据分为两部分 数据头 | 数据 

    数据头:规定18个字节,6个代表源地址,6个代表目标地址,6个代表数据类型

  将数据分为组的形式,成为数据报,或一帧

    head长度 + data长度 

    最短64字节,最长1518字节,如果超过最大限制就分组发送

网卡:唯一的mac地址,是计算机的唯一标志。

  12位16进制,前6位代表厂商编号,后6位代表流水线号

计算机通过广播通信,理论上可行,但当计算机基数大时,其他机器的收发数据,本机会接受大量的无用信息,是工作量增加,效率低,造成广播风暴。

mac + 广播只能在局域网中实行

  原则上,同一个局域网通过

    源mac地址 + 目标mac地址 + 数据 + 广播

    就可以将数据传输

交换机(自主学习)

  创建一个mac与网口对照表,通过网口获得源计算机或目标计算机的mac地址

  mac与网口对照表的建立:

    在同一个局域网中

    交换机第一次连接计算机,对照表是空的,当接入网口a的计算机A发送一个数据给接入网口b

  的计算机B时,发送的数据头为

    <A源mac地址,FF-FF-FF-FF-FF-FF(B的mac地址未知)>,<A源IP,B目标IP>

    交换机获得计算机A的mac地址,并与网口a绑定

    根据目标IP地址,通过广播找到目标计算机B

    计算机B收到数据后会回传一个数据

    <B源mac地址,A目标mac地址>,<B源IP,A目标IP>

    交换机获得计算机B的mac地址,并与网口b绑定

    第二次发送数据,如果计算机与网口没有更换,计算机之间传输数据,则直接通过mac与网口对

  照表寻找对方mac地址,不需要再广播 

网路层

确定局域网的位置。

通过IP协议寻找对方的局域网位置。

IPV4协议:

点分十进制:

  0~255.0~255.0~255.0~255

同一个局域网内所有计算机的IP地址绝不相同

子网掩码,与IP地址类型相同

  255.255.255.0   C类(B类,A类)

  (IP and 子网掩码 )是否相等 判断两个IP地址是否在同一个局域网(同一网段,同一个子网)

  如果子掩码都是C类,那么一个局域网最多可以分配253个有效IP;0,254,255,不能用。

理论上 IP  + mac +广播确定世界上任何一台计算机的位置

通过IP协议和ARP协议可以获取mac

 

总结网路

  通过计算机发送数据,获得对方的IP地址和子网掩码,

  判断是否在同一网段:

    在,通过IP协议,获取mac发送数据

    不在,通过网关(路由协议)一层一层的发送

传输层

端口协议,每个软件都有固定的端口。

 

端口范围(0~65535),其中1~1024被系统占用,应用在8000之后

端口确定软件的位置

端口 + IP + mac + 广播 确定世界上任何一台计算机软件位置

应用层

每个软件对于数据都有不同的自定义协议

FTP,www等

 

 

网络传输

输入域名

经dns软件转换成IP地址带有一个隐藏的端口

本机通过IPv4协议判断目标地址是否在同一网关(本机的IP地址为虚拟IP,由DHCP服务分配,只能在内网用,不能在外网用)

  在,计算机单播发送给交换机,交换机再以广播的形式发送给其他交换机,每个交换机再以广播的形式发给其他计算机

  否,交换机将数据发送给路由器

路由器通过NAT技数,将数据封装的IP(虚拟IP)置换成路由器的IP。

路由器通过,路由协议查找到目标地址最简单的路径

通过静态路由将数据传给目标路由器。

通过端口映射技术直接从目标路由器将数据发送到目标软件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

网络编程

posted on 2019-02-18 16:40  六月_海动  阅读(95)  评论(0)    收藏  举报