1,目标:编写一个C/S架构的软件
C/S:Client----------------基于网络-------------Server
客户端 服务端
B/S:Browser------------基于网络-------------Server
浏览器 服务端
2,服务端需要遵循的原则
1>服务端与客户端都需要有唯一的地址,但是服务端的地址必须固定/绑定
2>,对外一直提供服务,稳定运行
3>,服务端应该支持并发
3,网络
网络 = 底层的物理连接介质+互联网协议
网络建立的目的是为数据交互(通讯)
如何实现通讯:
1>建立好底层的物理连接介质
2>有一套统一的通讯标准,称之为互联网协议
4,互联网协议:就是计算机界的英语
OSI七层协议
应用层(应用层/表示层/回话层):应用程序的协议http协议,ftp协议
传输层:tcp/udp,基于网络端口工作,定位到一台计算机上的应用软件
1由来:ip帮我们区分局域网,以太网的mac地址帮我们找到唯一的一台主机,那么通过端口我们就可以找到这台主句上独一无二的用用程序,端口即应用程序与网卡关联的编号
2,功能:建立端口与端口之间的交互
端口号:0-65535(标识基于网络通讯的应用软件),0-1023是给操作系统预留的
3,tcp协议(可靠协议)与udp(不可靠协议)
客户端的ip与端口可以变
而服务端的ip与端口不可变
网络层:ip协议,具体计算机的位置
1,网络层的由来:有了以太网协议,mac地址,广播的方式,世界上的计算机就可以彼此通讯了,但是世界范围内的互联网是由一个个彼此隔离的小的局域网组成的,如果用广播的方式通讯,那么一台电脑发送的消息全世界的电脑都会收到,这样信息量巨大,有些电脑会承受不了,为了解决这个问题,就采取了路由的方式(即向不同的局域网内发送数据包)
2,网络层的功能:引入一套新的地址用来区分不同的广播域,这套地址就是网络地址
3,ip协议:规定网络地址的协议叫做ip协议,它定义的地址称为Ip地址,广泛采用的是ipv4协议,它规定网络地址由32位2进制表示
一个ip地址通常写成4端十进制数
范围:0.0.0.0-225.225.225.225
4,ip地址分成两部分
网络部分:标识子网
主机部分:标识主机
5,子网掩码
子网掩码:就是表示子网络特征的一个参数
它的形式上等同于ip地址,也是一个32为二进制数,它的网络部分全部为1,主机部分全部为0
有了子网掩码,我们就可以判断任意两个Ip地址是否处于同一个子网络
方法是将两个ip地址与子网掩码分别进行AND运算(两位数都为1,运算结果为1,否则为0)
得到的结果就是网络地址的二进制数,可将其转换为4断点分的二进制数,然后比较结果是否相同,相同就表示在一个局域网内
6,ip数据包
IP数据包分为head和data部分,直接将ip数据包放入以太网的data部分
| 以太网头 | IP头 | IP数据 |
7,arp协议:
7.1功能:广播的方式发送数据包,获取主机的mac地址
7.2arp协议的工作方式:
1>首先将ip地址与子网掩码比对,判断出自己所处的局域网
2>得到的对比结果看是否处于同于网络,如果不是同一网络,那么通过arp获取的是网关的mac地址
3>这个包会以广播的方式在发送端所处的子网内传输,所有主机接收后拆包,发现目标ip为自己就会相应,返回自己的mac地址
数据链路层:ethernet(以太网协议)只能在局域网里面发送广播(计算机通讯基本靠吼)
1,定义电信号的分组方式(统一的标准以太网协议)
2,规定一组电信号构成一个数据报,叫做祯
3,数据报由报头和数据组成
| 报头(hand) | 数据(data) |
3.1报头包含:固定为18个字节
发送者/源地址:6字节
接收者/目标地址:6字节
数据描述信息:6字节
3.2数据包含:数据报的具体内容,最短46字节,最长1500字节
3.3,mac地址:
每块网卡出厂的时候都被烧指一个世界上独有的mac地址,
长度48位2进制.通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
ethemet规定,接入internet的设备必须具备网卡
4,广播:有了mac地址,同一个网络内就可以两台电脑开始通讯了(即一台电脑通过arp协议获取到另一台电脑的mac地址)
物理层:发送电信号(基于电器特性发送高低电压,高电压对应数字为1,低电压对应数字为0)
ip+mac可以标识全世界范围内独一无二的一台计算机的位置
port可以标识一台计算机之上唯一的一个基于网络通信的应用软件
ip+mac+port:可以标识全世界范围内独一无二的一个应用软件(基于网络通讯)