zoukankan      html  css  js  c++  java
  • 网络编程之基础

    1.来源

    想要两个程序(不同的电脑中)之间传输内容,这个时候出现了网络传输。

    2.软件开发的架构

    第一种是应用类:qq,微信是属于需要安装的桌面应用

    第二种是web类:比如百度,知乎使用浏览器就可以直接使用的应用

    两种分类对应了两种软件开发的架构:

    2.1  C/S即client与server:客户端与服务端架构,这种架构也是从用户层面

     

    2.2B/S架构

    B/S即:browser与Server:浏览器端与服务端架构,这种架构是从用户层来划分的。

    Browser浏览器是一种client客户端,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就可以增删改查。

            以太网:局域网与交换机

    ip地址与ip协议

    • 规定网络地址的协议叫ip协议,它定义的地址称为ip地址,广泛采用v4版本即ipv4,它规定的网络地址由32位2进制表示
    • 范围0.0.0.0-255.255.255.255
    • 一个ip地址通常写成四段十进制数,例:172.16.10.1

    mac地址

    每块网卡出厂时被烧制的世界唯一mac地址长度为48位2进制,通常由12位16进制数表示(前6位是厂商编号,后6位是流水线号)

    arp协议--插叙ip地址和mac地址的对应关系

    地址解析协议,即arp,是根据ip地址获取物理地址的一个tcp/ip协议。例子:交换机(广播,单播)

    主机发送消息时将包含目标ip地址的arp请求广播到网络上的所有主机,并接受返回消息,以此确定目标的物理地址。

    收到返回消息后将该ip地址和物理地址存入本机arp缓存中并保留一定时间,下次请求是直接查询arp缓存以节约资源

    广域网和路由器

    也就是两个不同的局域网通过路由器相连。而每个局域网中机器是通过交换机传输的。

    子网掩码

    指的是表示子网络特征的一个参数,形式上等于ip地址,也是一个32位二进制数字,网络部分全为1,主机部分全为0(这个部分并不是一成不变的,有可能主机部分占24位而网络部分占8位)。

    如何判断任意两个ip地址是否处于同一个子网络:方法是将两个ip地址与子网掩码分别进行AND运算(两个数都为1,运算结果为1,否则为0),然后比较结果是否一样,不是就表明不是同一个网络。

    ip协议的作用有两个,1.为每台计算机分配ip地址,2.确定哪些地址在同一个子网络。

     1 比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,
     2 
     3 172.16.10.1:10101100.00010000.00001010.000000001
     4 255255.255.255.0:11111111.11111111.11111111.00000000
     5 AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0
     6 
     7  
     8 
     9 172.16.10.2:10101100.00010000.00001010.000000010
    10 255255.255.255.0:11111111.11111111.11111111.00000000
    11 AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0
    12 结果都是172.16.10.0,因此它们在同一个子网络。
    根据子网掩码判断两个ip是否在同一个子网络

    端口

    端口指:计算机里提供的各种网络服务,各种软件或者浏览器类似的分别获得不同的端口,我们的另外主机想找到这个机器的服务只能通过ip地址+端口号。

    tcp协议与udp协议区别:

    TCP协议--传输控制协议,提供面向连接,可靠的字节流服务。客户端和服务端交换数据前,必须先建立一个TCP连接,才能传输数据,TCP提供超时重发,丢弃重复数据,检验数据,流量控制,保证数据能传送到。

    UDP协议--用户数据包协议,是一个简单的面向数据包的运输层协议。不提供可靠性,不保证能到达,由于没有建立连接,且没有超时重发等机制,传输很快。

     tcp协议特点:面向连接的 可靠的慢的 流式传输 长数据

           三次握手

           四次挥手

    udp协议特点:面向数据包的  无连接不可靠的  快速的 短数据传输

    每层运行常见物理设备

    每层运行常见的协议

     

     应用层————对应http/ftp/https/smtp协议

    http:超文本传输协议

    ftp:  文本传输协议

    https:超文本传输协议

    smtp:邮件传输协议

  • 相关阅读:
    [转]学会Python可以有以下几类工作方向:
    Jrebel 6.2.1破解
    Jrebel 6.2.1破解
    Eclipse快捷键 10个最有用的快捷键
    Eclipse快捷键 10个最有用的快捷键
    Eclipse快捷键 10个最有用的快捷键
    Solarized Colorscheme for IntelliJ IDEA
    Solarized Colorscheme for IntelliJ IDEA
    Solarized Colorscheme for IntelliJ IDEA
    Spring Boot——开发新一代Spring应用
  • 原文地址:https://www.cnblogs.com/13507215809qwer-/p/9651144.html
Copyright © 2011-2022 走看看