网络编程(一)

网络编程

网络发展史

1946年世界上第一台电子计算机问世后的十多年时间内,由于价格很昂贵。其形式是将一台计算机经过通信线路与若干台终端直接连接,我们也可以把这种方式看做为最简单的局域网雏形。

最早的网络,是由美国国防部高级研究计划局(ARPA)建立的。 ARPAnet不仅进行了租用线互联的分组交换技术研究,而且做了无线、卫星网的分组交换技术研究-其结果导致了TCP/IP问世。

1977-1979年,ARPAnet推出了如今形式的TCP/IP体系结构和协议。

1980年前后,ARPAnet上的所有计算机开始了TCP/IP协议的转换工作,并以ARPAnet为主干网建立了初期的Internet。

1983年,ARPAnet的全部计算机完成了向TCP/IP的转换,并在 UNIX(BSD4.1)上实现了TCP/IP。ARPAnet在技术上最大的贡献就是TCP/IP协议的开发和应用。2个著名的科学教育网CSNET和BITNET先后建立。

1984年,美国国家科学基金会NSF规划建立了13个国家超级计算中心及国家教育科技网。随后替代了ARPANET的骨干地位。

1988年Internet开始对外开放。

1991年6月,在连通Internet的计算机中,商业用户首次超过了学术界用户,这是Internet发展史上的一个里程碑,从此Internet成长速度一发不可收拾。

21世纪,网络平台应用于电子商务领域。网商成为潮流。

局域网和广域网
局域网(LAN)

局域网的缩写是LAN,local area network,顾名思义,是个本地的网络,只能实现小范围短距离的网络通信。我们的家庭网络是典型的局域网。电脑、手机、电视、智能音箱、智能插座都连在路由器上,可以互相通信。局域网,就像是小区里的道路,分支多,连接了很多栋楼。

广域网(Wan)

广域网(Wide Area Network)是相对局域网来讲的,局域网的传输距离比较近,只能是一个小范围的。如果需要长距离的传输,比如某大型企业,总部在北京,分公司在长沙,局域网是无法架设的。广域网,就像是大马路,分支可能少,但类型多,像国道、省道、高速、小道等,连接了很多大的局域网。

这时需要其它的解决方案。
第一,通过因特网,只需要办一根宽带,就实现了通信,非常方便,现在的宽带价格也比较便宜。
第二,通过广域网专线。
所以为了数据安全,不能连接因特网,需要用一条自己的专用线路来传输数据,这条线路上只有自己人,不会有其他人接入,且距离很远,这个网络就叫 “广域网”。

光猫

光猫是一种类似于基带modem(数字调制解调器)的设备,和基带modem不同的是接入的是光纤专线,是光信号。用于广域网中光电信号的转换和接口协议的转换,接入路由器,是广域网接入。

交换机与路由器

交换机(二层):用于局域网内网的数据转发路由器(三层):用于连接局域网和外网
路由器有交换机的功能,反之不成立,交换机没有IP分配和IP寻址的功能。
交换机各个口是平等的,所有接入的设备需要自己配置IP,然后组成局域网。

路由器需要区分WAN口和LAN口,WAN口是接外网的(从Modem出来的或者从上一级路由器出来的),LAN口是接内网的,现在路由器都带无线功能,本质上无线接入就是LAN。

网线

网线,一般由金属或玻璃制成,它可以用来在网络内传递信息。常用的网络电缆有三种:双绞线、同轴电缆和光纤电缆(光纤)。双绞线是由许多对线组成的数据传输线。它的特点是价格便宜,所以被广泛应用。双绞线是用来和RJ45水晶头相连的,有STP和UTP两种,常用的是UTP 。

IP地址

基本概念
●IP地址是Internet中主机的标识
●Internet中的主机要与别的机器通信必须具有一个IP地址
●IP地址为32位(IPv4)或者128位(IPv6)
●表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。
ipv4 五类:A B C D E
ip地址划分(IPv4)
二级划分 ip=网络号+主机号
网络号:表示是否在一个网段内(局域网)
主机号:标识在本网段内的ID,同一局域网不能重复

ip地址取值范围:

A类:1.0.0.1~126.255.255.254
B类:128.0.0.1~~191.255.255.254
C类:192.0.0.1~~223.255.255.254   
D类(组播地址):224.0.0.1~~239.255.255.254
E类:保留待用   11110

特殊地址
0.0.0.0:在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
127.0.0.1:回环地址/环路地址,所有发往该类地址的数据包都应该被loop back。
每一个网段主机号为0的地址是网络地址,设置网关主机号为1的地址,主机号最大的地址是该网段的广播地址。全网广播地址255.255.255.255。

子网掩码

●子网掩码:是一个32位的整数,

作用是将某一个IP划分成网络地址和主机地址

●子网掩码长度是和IP地址长度完全一样;
●网络号全为1,主机号全为0;

255.0.0.0 - A类
255.255.0.0 - B类
255.255.255.0 - C类

子网掩码 & ip地址 = 网络地址 (网段)
~子网掩码 & ip地址 = 主机地址

子网号概念

三级地址 ip=网络号+子网号+主机号
网络号+子网号 -网段(网络地址)
练习1:
某公司有四个部门:行政、研发1、研发2、营销,每个部门各30台计算机接入公司局域网交换机,如果要在192.168.1.0网段为每个部门划分子网,子网掩码应该怎么设置,每个子网的地址范围分别是什么?(4个部门之间不能通信)

解题思路:4个部门之间不能通信说明不在一个网段内,本质就是利用子网掩码重新划分网段,让这四个部门不在同一个网段内,并且每个部门的网段内必须能接入30台计算机(主机号)。

解法一:
256 / 4 = 64 => 2^6
192.168.1.0 - 254
子网掩码:255.255.255.1100 0000 - 主机号:0000 0000 - 1111 1111
00 0000 - 11 1111 》64
划分后: 子网掩码-》 255.255.255.192 将主机号划分两位作为网络号:取值-00 01 10 11
192.168.1. 00 网段 000000 - 111111
192.168.1.0 ~ 192.168.1.63
192.168.1.0网络地址 , 192.168.1.63广播地址

192.168.1. 01 网段
192.168.1. 64 ~ 192.168.1.127
192.168.1.64网络地址 , 192.168.1.127广播地址

192.168.1. 10 网段
192.168.1. 128 ~ 192.168.1. 191
192.168.1.128网络地址 , 192.168.1.191广播地址

192.168.1. 11 网段
192.168.1. 192~192.168.1. 255
192.168.1.192网络地址 , 192.168.1.255广播地址
解法二:
划分为8个网段:每个网段链接30台
192.168.1.0 - 254
子网掩码:255.255.255.1110 0000 - 主机号:0000 0000 - 1111 1111
0 0000 - 1 1111 - >30
000 - 111 000 001 010 011 100 101 110 111

网络模型

网络的体系结构
●网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
●每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务
●网络体系结构即指网络的层次结构和每层所使用协议的集合
●两类非常重要的体系结构:OSI与TCP/IP

OSI模型

●OSI模型是一个理想化的模型,尚未有完整的实现
●OSI模型共有七层
●OSI现阶段只用作教学和理论研究

OSI模型
OSI模型是最理想的模型
物理层:传输的是bit流(01一样的数据),物理信号,没有格式
链路层:格式变为帧(把数据分成包,一帧一帧的数据进行发送)
网络层:路由器中是有算法的,ip,(主机到主机)(路由的转发)
传输层:端口号,数据传输到具体那个进程程序(端到端)
会话层:通信管理,负责建立或者断开通信连接
表示层:确保一个系统应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密;
应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。

TCP/IP模型

网络接口和物理层:屏蔽硬件差异(驱动),向上层提供统一的操作接口。 网络层:提供端对端的传输,可以理解为通过IP寻址机器。
传输层:决定数据交给机器的哪个任务(进程)去处理,通过端口寻址 应用层:应用协议和应用程序的集合

OSI和TCP/IP模型对应关系图

常见网络协议
网络接口和物理层:
ppp:拨号协议(老式电话线上网方式)
ARP:地址解析协议 IP–>MAC
RARP:反向地址转换协议 MAC–>IP
网络层:
IP(IPV4/IPV6):网间互连的协议
ICMP:网络控制管理协议,ping命令使用
IGMP:网络分组管理协议,广播和组播使用
传输层:
TCP:传输控制协议
UDP:用户数据报协议
应用层:
SSH:加密协议
telnet:远程登录协议
FTP:文件传输协议
HTTP:超文本传输协议
DNS:地址解析协议
SMTP/POP3:邮件传输协议

注意:TCP和IP是属于不同协议栈层的,只是这两个协议属于协议族里最重要的协议,所以协议栈或者模型以之命名了。

UDP和TCP

UDP TCP 协议相同点:都存在于传输层
TCP(即传输控制协议):

是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、 数据无失序、数据无重复到达的通信)

适用情况: 1、适合于对传输质量要求较高,以及传输大量数据的通信。 2、在需要可靠数据传输的场合,通常使用TCP协议
3、MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

UDP :用户数据报协议

UDP(User Datagram
Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

适用情况:
1、发送小尺寸数据(如对DNS服务器进行IP地址查询时)
2、在接收到数据,给出应答较困难的网络中使用UDP。
3、适合于广播/组播式通信中。
4、MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
5、流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值