网络编程
Posted kevin-red-heart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程相关的知识,希望对你有一定的参考价值。
一.客户端与服务端架构---------网络通信的用武之地
(1) c/s 架构:客户端(client)/服务端(server)架构
(2) b/s 架构:浏览器(browser)/服务端(server)架构
其中b/s架构本质上从属于c/s架构(避免了大量的App应用程序,提供统一入口,现在越来越火的微信小程序和公众号)
实例:
软件cs架构:浏览器,QQ,微信,陌陌
硬件cs架构:打印机
注: 架构:就是不同的组成结构;
server服务端一直运行,随时准备服务别人,比如说百度,你一访问,它就回复你.Client :客户端,使用服务的端口.
二.网络通信的整个流程
集线器:将所有电脑联通起来
交换机:升级版的集线器
网卡:接受处理电信号
Mac地址:物理地址,网络设备的全球唯一标识(是你网络设备的身份证号)
物理地址:1C-1B-0D-74-43-9A ,其中前四位为厂商编号,后四位为生产编号.
IP地址:IPv4地址:192.168.12.11 (四个点分十进制) 划分广播域;ip地址段:192.168.12.0----192.168.12.255,叫ip同一地址段,同一子网,前两位相同或前三位相同.
最开始时,网络通信通过广播的形式.广播:给每个人发一份,是自己的就要,不是自己的,就扔掉. 广播形式引起广播风暴,可能一年后才收到,且可能伪造Mac,数据不安全,网络拥堵.
但存在广播风暴的危险(每次发消息都会给所有人发一份,造成网络堵塞),后来规定,在局域网(同一地址段)内用广播的方式通信(在一个子网内),
Ip地址段:192.168.12.0 --- 192.168.12.255 同一ip地址段,称为同一子网,以广播的形式通信.192.168.0.0 -- 192.168.255.255
通信必须通过IP地址来通信,不用直接找MAC地址,iP地址必须携带MAC地址,因为Mac地址才是唯一标识,但IP地址是可以变的(例如电脑在不同地方插网线,被分配的IP不同),本质上mac不同地址进行交流通信.
DHCP协议:自动获取IP地址. 交换机分配IP地址
那IP地址是如何找到Mac地址呢?通过ARP协议来从IP地址找到MAC地址.
在你发出一个消息时,带着自己的IP地址和对方的IP地址,这时交换机会计算两个对象是否在同一地址段.这里涉及到子网掩码.
子网掩码:计算是否IP地址是否在同一地址段,网段,同一子网等.255.255.255.0
目标ip地址是:192.168.12.16
11000000.10101000.00001100.00010000
255.255.255.0
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000
192.168.12.0
当交换机计算后,在同一网段内则用广播通信,如果不是同一网段,那么就扔给路由器,路由器管着所有交换器,广播给所有交换器.------这是内网.路由器管辖范围内的是局域网
外网:如京东;域名:www.jd.com 域名转换为京东服务器的IP地址,
DNS:域名解析(存着很多的键值对)
路由器先将域名(网址)扔给DNS转换为IP地址.注:因为IP地址很难记,所以产生了好记的域名.
路由器的局域网IP地址只供局域网(内网用),外网找不到你,而要想上网,需要外网IP地址,其实就是路由器上的网关ip地址(收费).网络地址转换由NAT转换实现.
路由器除了管理内网,还有转发消息功能(转发到要访问IP地址的路由器上),转发消息时会计算最优路径.路由协议:计算最优路径.然后按照最优路径进行转发消息.
此处小结:
路由器:转发消息,管理内网
路由协议:计算路由转发的最优路径
到达目标路由器后(京东),需要端口号和IP地址.即路由器处发生端口号映射
端口:标示电脑上某个应用程序 ;0~65535
Ip地址+端口 = 能够唯一锁定一台电脑和这个电脑上的某个应用程序
网关:把关用的,意思就说所有对外的请求都要经过网关
NAT技术:网络地址转换,内网ip地址转换为公网或者说外网的ip地址.
以上是关于网络编程的主要内容,如果未能解决你的问题,请参考以下文章