• UNIX环境高级编程——网络基础概念


    TCP协议分成两个不同的协议:

    1、网络传输中差错的传输控制协议TCP
    2、专门负责对不同网络进行互联的互联网协议IP

    网络体系结构概念:
    网络体系结构即是指网络的层次结构和每层所使用协议的集合

    OSI:(Open System Interconnect Reference Model)

    ISO:国际标准化组织(International Standardization Organization)
    TCP/IP:(传输控制/网络通讯协定:Transmission Control Protocol / Internet Protocol)



    TCP/IP协议族
    常用协议:



    TCP/IP通信模型(图解)


    数据封装与转发(图解)


    数据打包和数据解包(图解):




    TCP/IP结构


    TCP/IP协议下的数据包:



    TCP和UDP
    TCP:面向连接、可靠(数据无误,无丢失,无失序、无重复,高可靠的数据传输)
    UDP:无连接、不可靠(发送数据前,无需连接,高效率的数据传输)

    TCP传输



    UDP传输




    端口号(用unsigned short表示)
    *TCP和UDP端口号相对独立。

    端口号分配:
    保留端口:1-255
    unix占用:256-1023
    注册的端口:1024-5000
    其他端口:5001-65535

    套接字和端口:


    网络通信三元:IP,端口,协议

    字节序:
    小端:所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
    大端:所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放

    图解字节序:


    网络字节序(NBO-Network Byte Order
    网络上通用 Big Endian(大端),低字节先传输。
    主机字节序(HBO-Host Byte Order

    ................................................................................

    Socket()简介:
    1、是一个编程接口。
    2、特殊的文件描述符(everything in Unix is a file)。
    3、不局限于TCP/IP协议。
    4、支持面向连接和无连接

    分类:
    1、流失套接字(SOCK_STREAM):提供可靠的、面向连接的通讯流,使用TCP协议。
    2、数据报套接字(SOCK_DGRAM):无连接的服务,数据通过相互独立的报文传输,是无序的,使用UDP协议。
    3、原始套接字(SOCK_RAW):允许使用IP协议、ICMP协议,用于新的网络协议测试。(*网络层)。
    Socket()位置:


    流程图




    IP地址分类

      A
    • 第一字节为网络地址,余下三位为主机地址。
    • 第一字节最高位为0
    • 范围:1.0.0.1 - 126.255.255.255。
    • 10.0.0.0 - 10.255.255.255私有地址,用于局域网。
    • 127.0.0.1 - 127.255.255.255是保留地址,用于循环测试
    • 0.0.0.0 - 0.255.255.255 保留地址,用于表示所有的IP地址

    B
    • 第一、二字节为网络地址,其他两字节为主机地址。
    • 第一字节前两位为10
    • 范围:128.0.0.1 - 191.255.255.255

    C
    • 前三个字节是网络地址,最后一个地址是主机地址。
    • 第一个字节的前三位为110
    • 范围:192.0.0.1 - 223.255.255.255

    D
    • 组播地址不区分网络地址和主机地址
    • 第一字节前4位为1110
    • 范围:224.0.0.1 - 239.255.255.255
    • 224.0.0.0 - 224.0.0.25保留地址







  • 相关阅读:
    平安银行Java面试-社招-五面(2019/09)
    OPPO-Java面试-社招-一面(2019/07)
    记录一次SpringBoot实现AOP编程
    Java-Long类型精度丢失问题
    微众银行Java面试-社招-一面(2019/07)
    Java-根据经纬度计算距离(百度地图距离)
    git 常用命令
    linux命令之文件、文件夹操作
    j2ee爬坑行之二 servlet
    j2ee爬坑行之一:web容器
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3201065.html
Copyright © 2020-2023  润新知