zoukankan      html  css  js  c++  java
  • step5 . day1 网络编程基础知识

    1.IP分类(点分十进制IP,IPv4 32位,IPv6v 48位)

    A类:0.0.0.0 - 127.255.255.255   (0开头)

    B类:128.0.0.0 - 191.255.255.255 (10开头)

    C类:192.0.0.0 - 223.255.255.255(110开头)

    D类:224.0.0.0 - 239.255.255.255(1110开头,组播地址)

    E类:保留

    C类IP最多可以连接主机的个数为254,需要除网络地址0,广播地址255 

    2.子网掩码(是一个32位的整数,作用是将某一个IP划分成网络地址和主机地址,目的是合理的利用IP资源)

    子网掩码: (前面全是1,后面全是0) (不同类型IP子网掩码范围不同,网络号是1,主机位是0)
    255.255.255.0
    1111 1111 1111 1111 1111 1111 0000 0000
    网络号                                        主机号

    例子:已知一个子网掩码号为255.255.255.192,问,最多可以连接多少台主机?
    62台
    256 - 192 = 64 - 2 = 62台
    2^6 = 64 - 2 = 62台;

    3.端口号:为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别  0~65535(2000以内系统注册,5000以内已经使用,一般使用8888等5000以上的端口)

    4.OSI 7层模型

    OSI模型是最理想的模型
    物理层:传输的是bit流,物理信号,没有格式
    链路层:格式变为帧
    网络层:路由器中是有算法的,ip,(主机到主机)
    传输层:端口号,数据传输到具体那个进程程序 (端到端)
    会话层:通信管理,负责建立或者断开通信连接
    表示层:确保一个系统应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密;
    应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。

    5.TCP/IP协议族(数据由用户发出后,在每一层经过该层协议进行封包后传入下一层,接受顺序相反,依次拆包)
    应用层                              TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
    传输层                               TCP,UDP
    网络层                               IP,ICMP,RIP,OSPF,BGP,IGMP
    网络接口与物理层             SLIP,CSLIP,PPP,ARP,RARP,MTU ISO2110,IEEE802.1,EEE802.2

    6.UDP 和 TCP协议区分

    相同点:都存在于传输层


    TCP(即传输控制协议):
    是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、
    数据无失序、数据无重复到达的通信)

    适用情况:
    适合于对传输质量要求较高,以及传输大量数据的通信。
    在需要可靠数据传输的场合,通常使用TCP协议
    MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

    UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,
    因为不需要进行连接,所以可以进行高效率的数据传输。

    适用情况:
    发送小尺寸数据(如对DNS服务器进行IP地址查询时)
    在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)
    适合于广播/组播式通信中。
    MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
    流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

    7.Socket为C语言中的编程接口,类似提供一个特殊文件描述符用于通信

    8.网络通信中使用大端字节序传输,本地字节序需要经过函数接口转换后传入网络(检查主机字节序方法:定义整形,强转char型,输出,或者定义指针等方式)

  • 相关阅读:
    vscode源码编译疑难问题
    vscode安装依赖报错 TypeError: zipfile.readEntry is not a function
    mysql中对比 JSON_VALUE 与 JSON_QUERY
    读过的书(持续更新)
    工作小技巧20181101
    hive里面union all的用法记录
    算法图解读书笔记:附程序
    深入浅出统计学读书笔记:离散概率分布的应用
    常见机器学习算法优缺点
    利用python进行数据分析--pandas入门2
  • 原文地址:https://www.cnblogs.com/huiji12321/p/11349161.html
Copyright © 2011-2022 走看看