网络并发编程基础(一)

软件开发架构

1.c/s架构

c:client 客户端

s:server 服务端

可以将服务端看成店面

客户端看成店里的消费客人

服务端需要具备三个特征

1. 24小时不间断提供服务(24小时监听)

2. 固定的地址(ip地址)

3. 能够服务多个用户(高并发)

2.b/s架构

b:browser 浏览器

s: server 服务器

浏览器统一充当各个服务端的客户端

本质:bs架构本质上也是一种cs架构

网络编程前奏:

网络编程其实就是研究程序之间的数据通信

要想实现远程数据交互的前提是必须要有物理连接介质

除了要有物理连接介质之外还应该有一些能够保证数据彼此无障碍交互的东西

OSI七层协议

所有的计算机都必须要有这七层

应用层          表示层          会话层         传输层           网络层      数据链路层       物理连接层

从右到左:依次进阶

开发层可以归纳为五层

应用层   传输层   网络层   数据链路层   物理连接层

物理连接层

        提供一个物理连接接口(网线口   无线网卡)

数据链路层

        规定了电信号的分组方式

        以太网协议

                规定了计算机必须要有一块网卡  并且网卡上面要有固定的一串数字

                12位16进制数

                        前六位:厂商编号

                         后六位:流水线号

                        上述的数字也称为计算机的mac地址(类似于身份证证号)

常见硬件

交换机:能够使接入该机器的所有计算机之间彼此互联,不冲突

局域网:有交换机组成的网络

互联网:可以简单的理解为是多个局域网之间彼此互联

路由器:能够连接多个局域网并实现局域网之间的数据传输

网络层

ip协议:规定了接入互联网的计算机都必须有一个ip地址用于唯一标识

IPV4版本

        最小   0.0.0.0

        最大  255.255.255.255

IPV6版本

        很大很大,究竟有多大,请参考人身体有多少个细胞

#ip地址能够唯一标识接入互联网的一台独一无二的计算机

公网IP和私网IP

        公网IP花钱购买并申请,可以作为服务器为大家提供访问

        私网IP:自带但是无法直接基于互联网访问

arp协议

        将ip地址转换成mac地址

传输层

tcp协议   UDP协议

端口协议

        范围:0~~65535

        特性:动态分配

                eg:第一次运行微信  系统随机取一个端口号

                        关闭微信后重新启动,系统又随机取一个端口号

        端口号基本使用

                0~1024系统默认需要使用的端口号

                1024~8000  常见软件端口号

                我们开发的软件最后使用8000之后的端口号

#端口号(port):能够唯一标识一台计算机上面正在运行的一款应用程序

端口号在同一台计算机同一时刻不能重复

总结:

        ip+port  127.0.0.1:8080

tcp协议

流式协议     可靠协议

三次握手     建立链接

重要状态

        listen监听态:等待对方发请求

        syc_rcvd态:忙于恢复确认建立请求,#洪水攻击:服务端在同一时间接受到了大量的要求建立链接的请求

四次挥手    断开链接

UDP协议

不可靠协议

常用:QQ

数据发送没有通道的概念,发送出去就不管了

应用层

都是人为自定义的协议标准  可遵循可不遵循

HTTP协议  FTP协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值