当前位置: 首页 > news >正文

0813 网络编程基础

Part 1.梳理思维导图

一.网络发展的四阶段

1.APRAnet阶段

2.TCP/IP协议阶段

3.osi开放系统阶段

4.TCP/IP协议族

二.APRAnet

阿帕网

不能互联不同类型的计算机和不同的操作系统,没有纠错功能

三.TCP/IP协议

网络协议:为了进行网络中的数据交换的规定、标准和约定

TCP:用来检测网络传输中的差错的传输控制协议

IP:负责对不同网络进行互联的互联网协议

四.网络体系结构以及OSI开放系统的互联模型

       1.网络体系结构概念

网络体系结构会分为很多层,每一层都有自己独立的功能,单每一层都不可或缺

通常把功能相近的协议放在同一层,一层也被称为协议栈,每一层都有多个协议

分层的好处:

1.各层之间独立,不需要知道其他层怎么做,只需要知道层通过层接口所提供的服务

2.稳定,灵活。每一层发生改变,其他层不会发生改动

3.易于实现维护

4.促进标准化工作

5.结构上不能分割

        2.OSI体系结构

1.物理层        2.链路数据层        3.网络层        4.传输层        5.会话层        6.表示层        7.应用层

        3.TCP/IP体系结构

1.链路层        2.网络层        3.传输层        4.应用层

        4.OSI体系结构和TCP/IP体系结构的关系

二者虽然层数不同,但是效果相同

TCP/IP        OSI体系

链路层        物理层 数据链路层

网络层        网络层

传输层        传输层

应用层        会话层 展示层 应用层

        5.TCP/IP各层中常见的协议

                a.链路层

1.ARP 地址解析协议        通过IP地址获得对方mac地址

2.RARP 逆向地址解析协议        通过mac地址获得IP地址

                b.网络层

1.IP(Internet Protocol) 国际互连协议        不同网络间实现信息传输协议

2.ICMP 互联网控制信息协议        同于IP主机、路由器之间传递控制信息,ping命令使用协议

3.IGMP 互联网组管理协议        是一个组播协议,用于主机和组播路由器通信

                c.传输层

1.TCP 传输控制协议        一种可靠面向连接的,基于字节流的传输层通信协议

2.UDP 用户数据报协议        一种快速不稳定不可靠的传输层通信协议

                d.应用层

1.HTTP 超文本传输协议        万维网的数据通信的基础

2.FTP 文件传输协议        是用于在网络上进行文件传输的一套标准协议,使用TCP传输

3.TFTP简单文件传输协议        是用于在网络上进行文件传输的一套标准协议,使用UDP传输

4.SMTP简单邮件传输协议        一种提供可靠且有效的电子邮件传输的协议

五.传输层UDP和TCP的异同

TCP:

1.提供面向连接的,可靠的数据传输服务

2.传输过程中,数据无误、数据无丢失、数据无失序、数据无重复(TCP会给每个数据包编上编号,该编号称之为序列号,每个序列号都需要应答包应答,如果没有应答,则会将上面的包重复发送直到正确为止)

3.数据传输效率低,耗费资源多

4. 数据收发是不同步的(为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,沾成一个包发送,该现象称为沾包现象,该沾包算法称之为Nagle算法)

5.TCP的使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的传输场合,一般使用TCP协议

UDP:

1.面向无连接的,不保证数据可靠的,尽最大努力传输的协议

2.数据传输过程中,可能出现数据丢失、重复、失序现象

3.数据传输效率高,实时性高

4.限制每次传输的数据大小,多出部分直接忽略删除

5.收发是同步的,不会沾包

6.适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下

六.关于字节序(大小端)不同系统之间的传输

由于不同系统的字节序不同,所以统一规定传输时转成大端存储,在接收的时候转为自己系统的字节序

转换函数:

1.htons(hostshort);//2字节无符号整数主机字节序转网络字节序

2.htonl(hostlong);//4字节无符号整数主机字节序转网络字节序

3.ntonss(hostshort);//2字节无符号整数网络字节序转主机字节序

4.ntohs(hostlong);//4字节无符号整数网络字节序转主机字节序

七.IP地址

        1.概念

IP地址:Internet Protocol Address是主机在网络中的唯一标识,主机在不同的网络下,ip地址是可变的

        2.分类

IPV4:采用四字节无符号整数表示        [0,2^32-1]

           LAN:局域网

           WAN:广域网

IPV6:采用十六字节无符号整数表示        [0,2^128-1]

        3.IP地址划分

A类地址:32位里第一位为0,前8字节为网络号,后24位为主机号,此类地址已不分配使用

(1.0.0.0~127.255.255.255)

B类地址:32位里前两位为10,前16字节为网络号,后16位为主机号,此类地址多为网络运营商使用(128.0.0.0~191.255.255.255)

C类地址:32位里前三位为110,前24字节为网络号,后8位为主机号,此类地址多为家庭网、校园网和企业网(192.0.0.0~223.255.255.255)

D类地址:32位里前四位为1110,32位都为主机号,此类地址位组播地址(224.0.0.0~239.255.255.255)

E类地址32位里前四位为1111,32位都为主机号,此类地址不为分配或者给实验室使用

(240.0.0.0~255.255.255.255)

Part 2.牛客网刷题

http://www.dtcms.com/a/330039.html

相关文章:

  • docker 容器内编译onnxruntime
  • cisco无线WLC flexconnect配置
  • 【Virtual Globe 渲染技术笔记】4 椭球面上的曲线
  • 大数据可视化设计 | 智能家居 UI 设计:从落地方法到案例拆解
  • 室外 3DVG 基准
  • mysql - 查询重复数据,不区分大小重复问题解决
  • Redis的基础命令
  • 玳瑁的嵌入式日记D17-08013(linux)
  • Java多线程进阶-从乐观锁到读写锁
  • 项目可手撕题目详解
  • 【数字孪生系列】数字孪生引擎中的地标建筑管理系统
  • rar压缩包python解压
  • Go语言网络故障诊断与调试技巧:从入门到实战
  • AMD KFD的BO设计分析系列 0:开篇
  • redis分布式锁封装 redis分布式锁实现 封装Spring工具Redis工具类 redis操作类封装 redis锁封装 redis分布式锁封装
  • 【SpringBoot系列-02】自动配置机制源码剖析
  • Promise.all使用
  • 嵌入式Linux中的OpenWrt 是指什么
  • python类--python011
  • Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
  • O2OA:数字化转型中安全与效率的平衡之道
  • hadoop 前端yarn 8088端口查看任务执行情况
  • 华清远见25072班C语言学习day8
  • Spring学习笔记:基于注解的Sprig AOP配置的深入学习
  • ConstraintViolation是什么?
  • 架构设计原则与风格
  • 销售管理系统哪个好?14款软件深度对比
  • 【从网络基础到实战】理解TCP/IP协议体系的核心要点(包含ARP协议等其他协议介绍)
  • Flutter网络请求实战:Retrofit+Dio完美解决方案
  • 2025年前端组件库热度排行榜分析