一、网络编程
软件开发
c/s架构
c:客户端
s:服务端
b/s架构
b:浏览器
s:服务端
本质:b/s其实也是c/s 服务端:24小时不间断提供服务,谁来救服务谁
客户端:想什么时候体验服务,就去找服务端 网络编程起源于美国军事,主要是想实现远程数据传输
而要想实现远程通信,第一个需要具备的条件就是:物理连接介质
其次还需要一个共同的标准:协议 OSI七层协议(模型)
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层 可以将其分为五层
应用层
传输层
网络层
数据链路层
物理连接层 我们从下往上分析比较容易理解
物理连接层:
实现计算机之间物理连接,传输的数据是二进制
电信号工作原理:电只有高低电平
数据连链路层:
规定了二进制数据的分组方式
规定了只要是接入互联网的计算机,都必须有一块网卡
网卡上有世界唯一的编号:
每块网卡出厂时都被烧制上一个世界唯一的mac地址
长度为48位的二进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线好)
上面的两个规定其实就是以太网协议
基于以太网协议通信:通信基本靠吼
弊端:广播风暴
交换机:如果没有交换机,你的电脑就变成了马蜂窝,有了交换机之后,所有的电脑只需要
       一个网卡连接即可实现多台电脑之间的物理连接 网络层:
规定了计算机都必须有一个ip地址
ip地址特点:点分十进制
有两个版本,ipv4和ipv6(为了能够兼容更多的计算机)
最小:0.0.0.0
最大:255.255.255.255
ip协议可以跨局域网传输
ip地址能够唯一标识互联网中独一无二的一台机器
传输层:
TCP,UDP基于端口工作的协议
其实计算机之间通信其实是计算机上面的应用程序与应用程序之间的通信
端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序
端口范围:0~65535(动态分配)
注意:0~1024通常是归操作系统分配的端口号
通常情况下,我们写的软件端口建议起在8000之后
注意:一台计算机上同一时间一个端口只能被一个应用程序占用 小总结:
ip地址:唯一标识全世界接入互联网的独一无二的机器
port端口:唯一标识一台计算机上的某一个应用程序
ip+port:能够标识全世界上独一无二的一台计算机上的某一个应用程序 补充:arp协议:根据ip地址解析mac地址 应用层(HTTP协议,FTP协议) UDP协议:不可靠,它不需要建立连接,发完就扔,但是传输效率高 TCP协议(流式协议,可靠协议)
         可靠原因:给对方发消息,对方必须回复确认收到传输的数据才会被删除,
否则会在一定时间间隔之内反复发送直到对方接受或者超时
            三次握手四次挥手
三次握手建连接
      
四次挥手断连接
      
     洪水攻击:
      
星轨:一次最多能接受的请求次数

最新文章

  1. mysql查询练习题-2016.12.16
  2. asp中的md5/sha1/sha256算法收集
  3. cookielib和urllib2模块相结合模拟网站登录
  4. 神奇的GO语言:空接口(interface)
  5. “耐撕”团队2016.04.19站立会议
  6. ubuntu快速清理磁盘垃圾
  7. windows系统mysql定时自动备份
  8. java jdbc连接mysql
  9. IOS 基于APNS消息推送原理与实现(JAVA后台)
  10. Nodejs加密php解密
  11. HTML5表单提交和PHP环境搭建
  12. MyEclipse默认编码为GBK,修改为UTF8的方法
  13. Less循环
  14. 工作中代码笔记 -- adb命令篇
  15. word中如何只修改英文的颜色
  16. Error in loadNamespace 的解决之道
  17. error: not found: value sqlContext/import sqlContext.implicits._/error: not found: value sqlContext /import sqlContext.sql/Caused by: java.net.ConnectException: Connection refused
  18. ARM64 Linux kernel virtual address space
  19. 键盘keycode对照表
  20. CUDA ---- GPU架构(Fermi、Kepler)

热门文章

  1. Spring Boot分布式系统实践【基础模块构建3.3】注解轻松实现操作日志记录
  2. nmon - 性能监控利器介绍
  3. Java将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)
  4. 使用Aspose.Words将Word文档转换为Tiff格式图片文件
  5. 简简单单的Vue2(简单语法,生命周期,组件)
  6. Java基础差,需要怎么补
  7. NextCloud前端支持播放mov文件
  8. java 设计模式 ---- 单例模式
  9. python自定义pi函数的代码
  10. curl 命令-接口测试