• 1网络编程基础概念


    1.OSI 七层模型
    1.定义:
    1.应用层:提供用户服务,具体内容由特定程序规定
    2.表示层:提供数据的压缩解压和加密等
    3.会话层:建立程序级的连接,决定使用什么样的传输服务
    4.传输层:提供合适的通信服务,流量控制(本节内容主要研究这层)
    5.网络层:路由选择,网络互联,分组传输
    6.链路层:提供链路交换,具体消息发送
    7.物理层:物理硬件,接口
    2.优点:将功能分开,降低网路传输中的耦合度,每一部分完成自己的功能,开发更清晰
    3.编程原则:高内聚低耦合
    1.高内聚:让模块的功能尽可能单一
    2.低耦合:模块之间尽量减少相互的关联和影响
    4.简化四层模型:
    1.应用层:应用层 表示层 会话层
    2.传输层:传输层
    3.网络层:网络层
    4.物理链路层:链路层 物理层
    5.简化五层模型:(TCP/IP模型)
    1.应用层:应用层 表示层 会话层
    2.传输层:传输层
    3.网络层:网络层
    4.链路层:
    5.物理层:
    2.网络协议:网络通信中,各方必须遵守的规定,包括建立什么连接,如何识别,消息结构等
    1.应用层:http smtp dns tftp
    2.传输层:tcp udp
    3.网络层:ip
    3.网络概念
    1.主机:计算机的名称(本机:localhost)
    2.ip
    1.本机测试ip:127.0.0.1
    2.代表局域网内任意可用ip:0.0.0.0
    3.表示网段,代表本网段任意可用ip:192.168.1.0
    4.网关:192.168.1.1
    5.本网段的广播地址:192.168.1.255
    3.ifconfig linux查看网络信息命令
    4.ping
    5.端口号:地址的组成部分,在一个系统中区分应用层程序
    可用端口号:1-65535
    1-255 内定端口,勿用
    256-1023 系统端口,勿用
    推荐使用 10000-50000之间的端口
    6.子网掩码:和IP配合过滤网段
    7.dns:域名解析
    8.字节序
    1.大端序:高字节存在低地址
    2.小端序:低字节存在低地址
    3.网络字节序:将字节序发送方式统一,其实就是大端序
    4.传输层服务
    1.tcp协议(可靠连接):面向连接,进行可靠的数据传输,通过 三次握手 和 四次挥手 来连接和断开. 可靠连接:无失序,无差错,无丢失,无重复
    1.三次握手:
    1.客户端向服务器发起连接请求(问是否可以连接)
    2.服务器收到请求后进行确认(允许连接) 返回报文
    3.客户端收到许可,建立连接
    2.四次挥手:
    1.主动方发送报文告知被动方要断开连接
    2.被动方返回报文,告知收到请求,准备断开
    3.被动方发送报文给主动方,告知准备就绪可以断开
    4.主动方发送报文确定断开
    3.应用场景:适用于传输内容较大,网络情况好,需要提供准确传输的情况
    2.udp协议(不可靠连接):面向无连接的服务,不可靠,发送时由发送端自主进行,不考虑接收端
    应用场景:网络较差,对传输准确性要求低,广播组播,如:视频会议,广播数据
    4.socket模块(import socket)
    1.socket.gethostname() 获取主机名
    2.socket.gethostbyname("主机名") 通过主机名获取ip地址
    3.socket.gethostbyaddr("IP或域名") 返回远程服务器信息元组,元组第一项是主机名,第二项是服务器别名,第三项时服务器IP
    4.socket.inet_aton("IP地址") 把IP地址转换成二进制的字符串返回. 如果要把ip地址的二进制字符串转换回IP地址,可以用 inet_ntoa("二进制字符串") 来转换.还有inet_pton可以转化ipv6的地址,暂时用不到,需要用时再说
    5.socket.getservbyname("服务名") 查看应用服务开启的端口号

  • 相关阅读:
    AC自动机
    【洛谷P1972】HH的项链
    【洛谷P4341】外星联络
    【洛谷P4576】棋盘游戏
    【JZOJ3800】败屩妖
    【JZOJ3798】临洮巨人
    【洛谷P3830】随机树
    【JZOJ3799】青蛙神
    牛客练习赛56 题解
    【洛谷P5300】与或和
  • 原文地址:https://www.cnblogs.com/huohu121/p/12310075.html
Copyright © 2020-2023  润新知