一、网络模型:

第五层:应用层      抽象语言-->编码

第四层:表示层      编码--》二进制

第三层:网络层   internet 协议--IP   --IP地址

第二层:介质访问控制层  --- 物理硬件控制  --mac地址

第一层:物理层

二、如何将网络变大:

  1. 增加节点(终端)----HUB 集线器
  2. 距离延长   100米    中继器(放大器)--有限延长

三、集线器的缺点:

  1. 不安全   2、效率极低   3、地址   4、冲突

①地址→MAC地址→48位二进制 ; 全球唯一 ; 出厂烧录到网卡芯片 ; 16进制显示

②冲突→CSMA/CD 载波侦听多路访问/冲突检测→ 排队 →导致效率更低

四、构建一个网络的需求:

  1. 无限的传输距离
  2. 无冲突:所有节点均可同时收发自己的数据
  3. 单播:一对一

①交换机:工作在二层 → 介质访问控制层

交换机工作过程:当一个数据电流进入交换机后,交换机先将电流识别成二进制,之后首先查看源MAC地址;然后将该MAC与该进入接口映射记录到本地的MAC表中;之后再关注目标mac地址,查询本地的MAC表,若表中存在目标MAC的记录,将单独向该接口复制流量(单播);若没有记录,将洪泛该流量。

②洪泛:除进入接口外的其他接口复制

五、网络地址:

1、ipV4地址:32位二进制构成;点分十进制显示

例:192.168.1.1  255.255.255.0

2、ARP:地址解析协议 → 通过广播(目标MAC为全f,将请求消息发送整个洪泛范围)

六、构建一个网络的逻辑:

※大→无限距离、无冲突、单播→交换机→MAC→洪泛→洪泛的范围→路由器→IP地址→

ARP→广播→广播域(洪泛域)

七、TCP与UDP的区别

TCP面向连接的, 传输数据时,需先进行三次握手,建立连接,UDP是无连接的,发送数据之前不需要建立连接

TCP通过确认和重传机制,提供可靠的服务。即通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达,而UDP不保证可靠传输,只是尽可能得交付

TCP面向字节流,即将数据看成一连串无结构的字节流。UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

(1)、TCP3次3次握手和四次断开:

首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

①为何三次握手

三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收机能正常。

第一次握手:Client什么都不能确认;Server确认了对方发送正常

第二次握手:Client确认了:自己发送、接收正常,对方发送、接收正常;Server确认了:自己接收正常,对方发送正常

第三次握手:Client确认了:自己发送、接收正常,对方发送、接收正常;Server确认了:自己发送、接收正常,对方发送接收正常

所以三次握手就能确认双发收发功能都正常,缺一不可。

②为何要发送特定的数据包

三次握手的另外一个目的就是确认双方都支持TCP,告知对方用TCP传输。

第一次握手:Server 猜测Client可能要建立TCP请求,但不确定,因为也可能是Client乱发了一个数据包给自己

第二次握手:通过ack=J+1,Client知道Server是支持TCP的,且理解了自己要建立TCP连接的意图

第三次握手:通过ack=K+1,Server知道Client是支持TCP的,且确实是要建立TCP连接

SYN是标志位,SYN=1表示请求连接;

ACK其实就是ack后面加上的那个数,真正发送的时候不单独发ACK,只发ack,

【注意】中断连接端可以是Client端,也可以是Server端。

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

【注意】 在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACk报文。

八、名词注解

1、UDP:用户数据报文协议

非面向连接的不可靠传输协议;---仅完成传输的基本工作,没有额外的功能

2、TCP:传输控制协议

面向连接的可靠传输协议  --- 在完成了传输基本工作上,保障传递的可靠性

面向连接:在通讯之处使用三次握手建立端到端的虚链路;

可靠传输4种机制:确认ACK     重传   排序  流控(滑动窗口)

3、IPV4报头:

4、ARP:地址解析协议  通过一种地址来获取另一种地址

5、AARP正向ARP:已知同一广播域内,对端设备的IP地址,通过二层全F广播寻找来获取该设备的MAC地址;

6、反向ARP:通过本地的MAC地址获取本地的IP地址

8、无故ARP:设备在刚使用ip地址时,将主动向外进行正向ARP请求,但被请求ip为本地的ip;--用于地址冲突检测

9、OSI (系统互联参考模式)7层参考模型:非实际网络使用,仅做参考

TCP/IP协议栈道(模型):4层或5层

10、PDU:协议数据单元   各层数据的单位

应用层   报文

传输层   段

网络层   包

数据链路层  帧

物理层    比特

封装:数据从高层向低层的加工过程,过程中数据添加每层的报头,数据变大;

解封装:对封装的逆向行为,数据识别转发过程;

11、MAC地址 --交换机

12、IP地址--路由器

初级网络基础知识整理相关推荐

  1. python常用变量名_python基础知识整理

    Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...

  2. 华为HCNE专题一:网络基础知识

    华为HCNE专题一:网络基础知识 对应章节:第一章 重点:理解网络结构,掌握OSI参考模型的基本结构 难点:OSI各层次名字及其概念的理解 亮点/应用/重要性:网络入门的基础,重中之重. 主要内容:针 ...

  3. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  4. 网络基础知识学习笔记

    网络基础知识学习笔记 参考菜鸟教程.个人学习整理,仅供参考.三年前学过,三年没用忘了,重新学习整理一下. 文章目录 网络基础知识学习笔记 OSI七层网络模型 IP地址 子网掩码及网络划分 网络协议 A ...

  5. 思科网络学院CCNA网络基础知识精华

    思科网络学院CCNA网络基础知识精华 自测简介: CCNA(Cisco Certified Network Associate)是美国 Cisco公司于1998年推出的认证项目,CCNA认证属于Cis ...

  6. 计算机网络建设中涉及到哪些硬件,网络基础知识入门

    网络基础知识入门 导语:随着计算机的广泛应用和网络的流行,我们应该要知道一些网络基础知识,下面是小编收集整理的网络基础入门知识,欢迎参考! 计算机网络是什么 这是首先必须解决的一个问题,绝对是核心概念 ...

  7. 计算机基础知识整理 世上最全,计算机基础知识整理[世上最全]

    010在线为您甄选多篇描写计算机基础知识整理[世上最全],计算机基础知识整理[世上最全]精选,计算机基础知识整理[世上最全]大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.800字.. ...

  8. 小学生学c语言基础知识,小学数学1-6年级基础知识整理,孩子学习用得上

    小学数学1-6年级基础知识整理,孩子学习用得上 作者:网编整理 丨 来源:网络 丨 发布时间:2020-04-16 14:35丨 分享 (一到六年级) 小学一年级初步认识加减法.学会基础加减. 小学二 ...

  9. 100 个网络基础知识普及,看完成半个网络高手!(文末附PDF版本)

    点击上方"涛哥聊Python",选择"星标"公众号 重磅干货,第一时间送达 来源:CU技术社区 阅读文本大概需要 5 分钟 为了方便大家更好着按需查找对应知识点 ...

最新文章

  1. 重磅!全球首个可视化联邦学习产品与联邦pipeline生产服务上线
  2. Save could not be completed. Eclipse国际化的问题解决
  3. Ubuntu12下挂载硬盘(9TB)
  4. 23种设计模式之中介者模式
  5. CDN与智能DNS原理和应用
  6. 联合索引会创建几个索引_联合索引在B+树上的存储结构及数据查找方式
  7. 用WPF+MongoDB开发房产信息收集器(4)——房产信息采集器总体介绍附程序下载
  8. Texar安装、Textgenrnn安装
  9. 局域网共享工具_局域网一键共享软件2019最新版
  10. cmos和ttl_TTL与CMOS详细介绍
  11. 一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(二)纸娃娃系统
  12. Linux——共享文件夹
  13. matlab直流电机转速 电流双闭环,转速电流双闭环直流调速系统的课程设计(MATLABSimulink)..docx...
  14. 计算机视觉大型攻略 —— 立体视觉(4)立体匹配算法简介与SGM
  15. Excel 筛选后排序 踩雷笔记
  16. Pycharm, 生成可执行文件,Unhandled exception in script报错
  17. kubernetes dashboard
  18. 2021年终总结——拾起好习惯,让自己变得更加优秀
  19. 一统iOS跟macOS,未来办公靠手机?
  20. PS 选区的基础使用

热门文章

  1. UnityShader入门精要——Unity中的渲染优化技术(二)
  2. 【精品】Intellij中Emmet插件的使用技巧
  3. 主视角游戏下的枪械建模设计(下)
  4. 老婆问我:为什么待业在家?
  5. Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported.
  6. 【扫盲】什么是Runtime?
  7. DNS 代理?Pipy:这我也可以
  8. 微信客户端打开链接后显示已停止访问该网页怎么办
  9. Java实现用户注册和登录
  10. 清理大师误删华为备忘录便签,资料全没了怎么找回