1.网洛编程

  软件开发架构

  c/s架构

    c:client既是客户端

    s:server既是服务端

  b/s架构

    b:浏览器

    s:server既是服务端

  手机端:好像C/S架构比较火,其实不然,微信小程序,支付宝(客户端)第三方接口
  统一接口:

    pc端:b/s比较火
   本质:b/s其实也是c/s

  

服务端:24小时不间断提供服务,谁来我就服务谁
客户端:先体验服务的时候,就去找服务端体验服

  

  二、为啥学习网络编程》》》开发cs的软件架构:

    开发编程,前段,数据库,框架》》》开发bs架构
    起源于:美国军事!!!
        实现远程数据传输

    

    如何实现远程沟通交流?
       电话插电话线
       大屁股电脑插网线
       笔记本电脑无线网卡

    要实现远程单沟通,第一需要具备的条件的就是:物理连接介质

    

不同国家的人交流需要有一个公共的语言作为媒介 >>> 英文计算机于计算机要想实现远程通信,光有物理连接介质是不够,他们也需要一个共同的标准       >>> 协议

早期问题:网络到底是什么?计算机之间是如何通信的?

  

早期:联机

  

    

以太网 : 局域网与交换机

  

三、OSI七层协议(模型)

  

        应用层:(HTTP协议,FTP协议)

        表示层:

        会话层:

        传输层:(端口协议)

TCP,UDP 基于端口工作的协议
其实计算机之间的通信是计算机上面的应用程序与应用之间的通信端口(poer):唯一识别一台计算机上某一个基于网络通信的应用端口范围:0--65535(动态分配)注意:0~1024通常是归操作系统分配的端口号通常情况下我们写的软件端口号建议在8000之后flask框架默认端口5000django框架默认端口8000mysql数据库默认端口3306redis数据库默认端口6379注意:一台计算机上同一时间一个端口号在智能被一个应用程序占用

  

TCP协议(流程式,可靠协议)三次握手 四次挥手三次握手建连接四次挥手断连接星轨(微博可以接收一个明星出的并发):也就是在1 秒时间内接收的访问量 可以进行匹配链接不至  

    于系统挤爆

  

  

UDP协议

  

当应用程序希望通过UDP与一个应用程序通信时,传输数据之前源端和终端不建立连接。当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

  

tcp和udp的对比

  

TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,
之后才能传输数据。
TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,
但是并不能保证它们能到达目的地。
由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快

  

  

        网络层:网络层(IP协议)

规定了计算机都必须有一个IP地址IP地址特点:点分十进制有两个版本ipv4和ipv6为了能够兼容更多的计算机最小:0.0.0.0最大:255.255.255.255ip协议跨局域网传输ip地址能够唯一标识互联网中独一无二的一台机器

  

        

        数据链路层:(“以太网协议”:ethernet)

              

1.规定了二进制分组的方式
2.只要是接入物联网的计算机,都必须有一块网卡!
网卡上刻有世界唯一的编号:每块网卡出产时都被烧制上一个世界上唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商 ,后六位是流水线号)
我们管网卡上刻有的编号叫电脑的》》》mac地址---》上面的两个规定就是“以太网协议”!

  

  

基于以太网协议通信:通信基本靠吼吼!!!
弊端:广播风暴
交换机:如果没有交换机,你的电脑就变成了马蜂窝,有了交换机之后,所有的电脑只需要有一个网卡连接交换机即可实现多台电脑之间物理连接

  

        物理连接层:

实现计算机与物质间物理连接,传输 的数据都是010101二进制电信号工作原理:电只有高低点电瓶,  

  

 

小总结:
IP地址:唯一标识全世界接入互联网的独一无二的机器
port端口号:唯一标识一台计算机上的某一个应用程序
ip+port :能够唯一标识全世界上独一无二的一台计算机上的某一个应用程序

补充:

  arp:

arp协议 ——查询IP地址和MAC地址的对应关系

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

  

  

   

TCP协议(流程式,可靠协议)  三次握手 四次挥手  三次握手建连接    四次挥手断连接上图解释:

第一和第二部可以合并一步就是在发送同意是,也发送链接请求

为甚TCP数据具有可靠性:给对方发送信息时需要对方必须回复收到传输的数据是才会被删除,否则会在同一时间内反复间隔时间发送,直到对方拒接或者超时

OSI七层协议(模型)

  

每层运行常见物理设备

  

每层运行常见的协议

  



转载于:https://www.cnblogs.com/mofujin/p/10792358.html

网络编程之计算机网络的发展及基础网络概念相关推荐

  1. 计算机网络专业现状,计算机网络的发展现状及网络体系结构涵义分析论文

    计算机网络的发展现状及网络体系结构涵义分析论文 现阶段,计算机网络技术发生了飞速发展,计算机网络是计算机技术与通信技术结合的新科技,它能够远距离通信,还能够处理通信内容并实现资源共享等优点.计算机网络 ...

  2. [SRv6]《SRv6网络编程》SRv6 OAM与随路网络测量(2/2:IFIT)

    概述 本文主要介绍SRv6 OAM和数据平面Telemetry关键技术(随路网络测量) OAM:基于已有的IPv6 OAM机制进行简单扩展,实现故障管理和性能测量 随路网络测量:基于IFIT(In-s ...

  3. 网络编程(计算机网络相关)

    网络编程概述 网络编程是什么: 就是用来实现 网络互连的不同计算机上 运行的程序间可以进行 数据交换 . 网络编程的目的: 直接或间接地 通过网络协议 与其它计算机实现 数据交换,进行通讯. 网络编程 ...

  4. TCP网络编程模型从入门到实战基础篇,单服务器单个用户非并发版本

    文章目录 前言 一.网络编程实践的必备基础知识 二.系统调用方法刨析 1.socket 2.bind 3.listen 4.accept 5.connect 三.实现一个简单的功能, 服务器将单客户端 ...

  5. 计算机网络 使用eNSP搭建基础网络

    实验一 使用eNSP搭建基础网络 一.实验目的: 1.掌握eNSP模拟器的基本设置方法 2.掌握使用eNSP搭建简单的端到端网络的方法 3.掌握在eNSP中使用Wireshark捕获IP报文的方法 二 ...

  6. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  7. 你对Java网络编程了解的如何?Java NIO 网络编程 | Netty前期知识(二)

    本文主要讲解NIO的简介.NIO和传统阻塞I/O有什么区别.NIO模型和传统I/O模型之间的对比.以及围绕NIO的三大组件来讲解,理论代码相结合. 很喜欢一句话:"沉下去,再浮上来" ...

  8. 你对Java网络编程了解的如何?Java BIO 网络编程 | Netty 前期知识

    一步一步走来,之前去学习了JUC并发编程知识,现在终于到Java IO网络编程啦,难啊. 一.BIO介绍 引入: 随着技术的发展,两个或以上的程序必然需要进行交互,于是提供了一种端到端的通信,相当于对 ...

  9. tcpip网络编程 尹圣雨源码_网络编程——学习笔记

    一.计算机网络 1.简介 计算机网络,是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多计算机可以方便的相互传递信息,共享硬件.软件.数据等资源.计 ...

  10. python网络编程讲解_详解Python Socket网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

最新文章

  1. 【BZOJ-2669】局部极小值 状压DP + 容斥原理
  2. ABAP中的Table Control编程
  3. 数据结构排序算法实验报告_[数据结构与算法系列]排序算法(二)
  4. 查找出现次数超过一半的数
  5. 使用Blazor开发内部后台(一):认识Blazor
  6. 同时防服务器维修,加强服务器日常运维,避免宕机灾难发生
  7. Dreamweaver cs3快捷键大全
  8. 通用的“关于本软件”对话框
  9. 采用Visual Stuidio 2010 创建网站栏
  10. 一个男朋友写给女朋友的信!爆笑(真勇敢)
  11. HQChart钉钉小程序教程1-创建K线图
  12. 国资分拆上市第一股!上海电气风电集团正式募股上市
  13. Statspack ORA-00001 unique constraint violated错误的解决
  14. 计算机机本科最高学历,我国的“最高学历”是什么?博士后不是正确答案,别再无知了...
  15. 成都,今夜请将我遗忘 读后感
  16. 入门C语言第三话:数组之实战篇——扫雷(进阶版——图形化界面,递归展开,播放音乐与音效,标记取消雷,记录雷的个数,鼠标点击,文末附有完整代码)
  17. OPENCV实现色带检测
  18. Android打电话不一定要申请权限
  19. 爱情呼叫转移一部适合女人看的电影
  20. 关于Kaggle入门

热门文章

  1. mysql 参数化分页_LR12 DataWizard从Mysql数据取参数化数据
  2. 宝塔apache mysql_宝塔Linux面板命令大全,安装宝塔,Nginx,Apache,MySQL等 - SEO中文网...
  3. a标签href不跳转_HTML常用标签
  4. 【渝粤教育】国家开放大学2018年春季 0045-21T烹饪原料学(1) 参考试题
  5. [渝粤教育] 中国地质大学 国际贸易理论 复习题
  6. 【渝粤教育】广东开放大学 电子商务项目管理 形成性考核 (22)
  7. 多物理场面向对象模拟环境MOOSE学习手册
  8. Python基础教程:(小窍门)如何优化Python占用的内存
  9. 前台传参到后台出现中文乱码问题
  10. SA / SAM 题目集