zoukankan      html  css  js  c++  java
  • 6.24Java网络编程的基本概念

    6.24Java网络编程的基本概念

    什么是网络

    将不同区域的电脑连接到一起--->局域网、城域网、广域网、互联网...从而实现信息传递、资源共享、硬件、软件共享等

    • 资源共享

    • 信息传输与集中处理

    • 负载均衡与分布处理--->后期重点

    通讯协议

    通讯协议是一个标准

    • 对速率、传输代码、代码结构、传输控制步骤、出错控制等指定标准

    通信接口

    使两个结点之间能进行对话,必须在它们之间建立通信工具(接口)。接口包括两个部分:

    • 硬件装置:实现结点之间的信息传递

    • 软件装置:规定双方进行通信的约定协议

    (面向接口编程--->先定义好方法,再根据具体的去实现)

    网络分层

    OSI(Open System Interconnect)参考模型:(开放系统互连参考模型)

    从上往下:

    • 应用层--->应用层协议

    • 表示层--->表示层协议

    • 会话层--->会话层协议

    • 传输层--->传输层协议

    • 网络层--->网络层协议

    • 数据链路层--->数据链路层协议

    • 物理层--->物理层协议

    由于七层模型很复制并且只是理想化的,所以有了TCP/IP模型

    TCP/IP参考模型(传输控制/网际协议 Transfer Controln Protocol/Internet Protocol)

    层次协议
    应用层(包含了OSI的应用层、表示层、会话层) Telnet、FTP、SMTP、DNS、HTTP以及其他应用协议
    传输层(等于OSI的传输层) TCP、UDP
    网络层(等于OSI的网络层) IP、ARP、RARP、ICMP
    网络接口层(包含了OSI的数据链路层和物理层) 各种通信网络接口(以太网等)(物理网络)

    网络编程关注传输层,网页编程关注应用层

    数据封装(Data Encapsulation)

    • 将协议数据单元(PDU)封装在一组协议头和协议尾中的过程

    • 每一层的PDU一般由本层的协议头、协议尾和数据封装构成

    分层:

    • 应用层:准备数据

    • 传输层:接收应用层数据添加上TCP的控制信息(TCP头部)

      • 数据单元称为--->段(Segment)

      • 加入控制信息的过程称为封装

      • 由此将段交给网络层

    • 网络层:接收到段,再添加上IP头部

      • 数据单元称为--->包(Packet)

      • 将包交给数据链路层

    • 数据链路层:将包再添加上MAC头部和尾部

      • 数据单元称为--->帧(Frame)

      • 将帧交给物理层

    • 物理层:将受到的数据转化为比特流,在网线中传送--->二进制传输

    发送方数据处理方式:从高层到底层逐层进行封装(每一层封装每一层的信息)

    数据拆装(Data Dismantling)

    • 将接收到的数据进行拆包

    • 每一层只拿走对方发送的同等层的数据,其余的传递给上一层

    分层:

    • 物理层:接收比特流,处理后将数据交给数据链路层

    • 数据链路层:将接收到的数据转化为数据帧(传输的过程这一层的单元数据称为帧),出去MAC头部和尾部

      • 除去控制信息的过程称为解封

      • 将包交给网络层(包是网络层的数据单元)

    • 网络层:接收到包

      • 除去IP头(本层对数据的操作)

      • 将段交给传输层(传输层的数据单元)

    • 传输层:接收到段

      • 除去TCP头部(本层对数据的操作)

      • 将数据交给应用层(应用层的数据单元)

    • 应用层:处理数据

    接收方处理数据的方式:从底层到高层,逐层进行数据解封装

    概括数据封装和数据拆装的过程

    数据封装:

    • 每一层给数据添加信息

    • 处理数据单元并且往下层传递

    数据拆装:

    • 拆装对应层的封装操作

    • 将数据单元还原层上一层的数据单元并进行传递

    (Java.net包下对应的类)

    It's a lonely road!!!
  • 相关阅读:
    VUEX
    使用element框架 增加router路由
    VUE目录
    elementUI 创建
    VUE组件(父子组件)
    VUE操作DOM获取HTML、删除HTML、插入HTML
    VUE网络交互axios(网络请求库)
    VUE 或者JS 常用数据类型及方法:字符串、数组、对象
    VUE实际案例--计数器(商城数量加减)
    VUE学习 --数据类型、el挂点、指令等
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14928352.html
Copyright © 2011-2022 走看看