zoukankan      html  css  js  c++  java
  • 网络编程学习笔记(一)网络基础知识

    1、网络通信协议:计算机网络中实现通讯必须有一些约定的协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。
    2、网络通讯接口:为了使两个结点之间能进行对话,必须在它们之间建立通讯工具(即接口),使彼此之间能进行信息交换,接口包括两部分:
         (1)硬件装置:实现结点之间的信息传送(理解成网卡)
         (2)软件装置:规定双方进行通讯的约定协议
    3、通讯协议分层:同层之间可以通讯,上一层可以调用下一层,而与再下一层不发生联系,各层互不影响,便于系统的扩展。网络协议分层通常把用户应用程序作为最高层,物理通讯线路作为最底层,将期间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。只要彼此之间接口不变,每一层都可以自己独立扩展。应用程序编程即只编应用的一层,底层的东西都被屏蔽掉了,不用关心,只要知道接口就可以。分层思想无处不在,上级给下级下达命令,也是一层一层,运用到分层的思想。
    实际开发中,应用到的是四层模型,网络层(IP层)、传输层(TCP、UDP层)
    通讯的传输过程:A机器—>A的应用程序层—>A的 TCPUDP层—>A的IP层—>A的物理层—>B机器的物理层—>B的IP层—>B的 TCPUDP层—>B的应用程序层—>B机器
      IP协议的最大的贡献就是提供了独一无二的IP地址,便于机器之间通讯。计算机内部用四个字节(IPV4)代表Ip地址,每一个部分是0-255.局域网里的是内网Ip,这个内网Ip实际是一个假Ip,内网里的所有机器连出去的话实际上只有一个IP,即作为网关的那一台机器的IP。由于可能Ip不够用了,扩展出了IPV6(8个字节)
      四个字节的IP地址中有一些字节可能是网络的IP,网络IP占一个字节的是A类网,两个字节的是B类网,三个字节的是C类网。网关机器一般有两块网卡,一块配的是公网,一块配的是内网。如果一台机器上的内容想让世界上所有的机器都能访问,必须要有公网的IP。
    4、TCP协议和UDP协议
         TCP(transmission control protocol):专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通讯的协议。是一种面向连接的协议。TCP连接是字节流而非报文流。可靠的:必须先建立起连接,才能传输数据,每发一次数据都需要对方确认才会继续(TCP三次握手)。
         比如A和B打电话
         A:你好(必须等到B回复你好才会说下一句话)     B:你好
         A:明天一起跑步吧(必须得等到B回复才说下一句话)     B:好呀
         A:明天早上7点集合(如果B不回复“好呀 ”,A的“明天早上7点集合 ”就不会发出去)
         UDP(user data protocol):向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接,是一种不可靠的连接。还是刚才的例子:A说了明天一起跑步吧 ,不管B收没收到。
       TCP可靠,但是慢;UDP不可靠,但是快。比如说银行转账等交易的时候必须是TCP协议;而QQ视频等通讯则用的是UDP,丢一两个数据包并没有什么影响;玩游戏发射子弹用的是UDP;游戏等服务器传用户名和密码的时候用的是TCP。
  • 相关阅读:
    没有可持续集成的日子里
    Apache Avro 与 Thrift 比较
    CruiseControl.NET以及使用
    不靠谱产品经理的特征
    Hadoop 新 MapReduce 框架 Yarn 详解
    Storm On YARN
    iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
    Swift REPL入门介绍
    学习Swift,一定不能错过的10大开源项目!
    iOS8 Size Classes的理解与使用
  • 原文地址:https://www.cnblogs.com/bjh1117/p/6393601.html
Copyright © 2011-2022 走看看