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

    一.软件开发的架构

    1.C/S架构(程序需要先安装后,才能运行在用户的电脑上)
    2.B/S架构(需在浏览器上通过HTTP请求服务器端相关的资源)

    二.以太网:局域网与交换机

    1.网卡和mac地址:

    每台电脑中都有一块网卡,mac地址绑在网卡上
    每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示

    2.ip地址与ip协议:

    规定网络地址的协议叫ip协议,它定义的地址称之为ip地址
    ip地址有两个版本:广泛采用ipv4
    ipv4:4个点分十进制表示如172.16.10.1
    ipv6:6个点分十进制表示
    127.0.0.1本机ip
    内网字段:10.0.0.0--10.255.255.255
    172.16.0.0--172.31.255.255
    192.168.0.0--192.168.255.255

    3.ARP协议——查询IP地址和MAC地址的对应关系

    ip地址可变,MAC地址不可变

    4.交换机:在局域网(同一网段)内用到交换机

     

    作用:1.广播 2.单播 3.组播
    5.在局域网内两台机器进行通信,通过交换机。要访问的主机把被访问的ip给交换机,交换机进行广播,同一局域网内的
    主机都会收到这个广播,被访问的主机收到广播后把mac地址回复给交换机,单播。其他的主机不回复

    三.广域网与路由器

    1.路由器:基于ip找到服务器

    是连接因特网中各局域网、广域网的设备。路由器又称网关设备。路由器中有张路由表,存放着网段 局域网名称

    2.子网掩码:表示子网络特征的一个参数。定了局域网能放多少机器

    3.网段:子网掩码和ip地址进行按位与运算就能得出一个机器所在的网段

    同一网段的设备可通过交换机直接通信

    4.网关地址 : 局域网中的机器之所以能与外界,是通过网关ip通信的

    同一局域网内网关均相同

    5.端口:0-65535

    ip地址和mac地址帮我们确定唯一的一台机器。IP地址+端口号来区分不同的服务
    ip地址+端口号(10.0.0.1:3306) : 在全网找到唯一的一台机器+唯一的应用
    我们选择端口 : 8000之后
     
     

     

    四.tcp和udp协议

    1.tcp协议(传输控制协议):

    在TCP协议下传递的数据很大时,会自动拆包
    全双工的通信协议:1.一旦连接建立起来,那么连接两端的机器能够随意互相通信
    2.面向连接的通信方式
    3.数据安全不容易丢失
    4.建立连接的 三次握手
    5.断开连接的 四次挥手
    TCP三次握手的过程如下:各发一个信号,通信依赖于这两个信号
    客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
    服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
    客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
    三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了
    View Code
    断开连接的四次挥手:
    建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。
    (1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
    (2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。
    注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
    (3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。
    (4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。[1] 
    既然每个方向都需要一个FIN和一个ACK,因此通常需要4个分节。
    View Code

    2.udp协议(用户数据报协议)

    在UDP协议下传递的数据很大时,会丟
    当应用程序希望通过UDP与一个应用程序通信时,传输数据之前源端和终端不建立连接

    3.tcp和udp的对比

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

    五.互联网协议与osi模型

    1.互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层
    常用五层模型:物理层 数据链路层 网络层 传输层 应用层
    2.每层运行常见的协议和常见物理设备
    应用层
    传输层 TCP/UDP协议 四层交换机 四层路由器
    网络层 ip协议 路由器 三层交换机
    数据链路层 arp协议 网卡 以太网交换机
    物理层 双绞线(网线)

     
     
     
     

     

     
     
     
  • 相关阅读:
    java核心学习(十六) javaIO框架---Process类的流,读写其他进程
    java核心学习(十五) IO框架---重定向标准输入输出
    java核心学习(十四) IO框架---推回输入流
    java核心学习(十三) IO框架---转换流和缓冲流
    java核心学习(十二) IO框架---理解IO流
    递推+矩阵快速幂 HDU 2065
    树形DP hdu1520
    二分图之最小路径覆盖 HDU1151
    二分图之最小独立集 HDU 2768
    最短路 POJ2267
  • 原文地址:https://www.cnblogs.com/zgf-666/p/8604703.html
Copyright © 2011-2022 走看看