• 网络初识

  • 1、C/S和B/S

    • C:client客户端B:browse 浏览器S:server 服务器
    • C/S 架构:基于客户端与服务器之间的通信
      • QQ 皮皮虾
      • 优点:个性化设置,响应速度快
      • 缺点:开发成本,维护成本高,占用空间,用户固定
    • B/S 架构:基于浏览器与服务器之间的通信
      • 谷歌浏览器,火狐浏览器
      • 优点:开发维护成本低,占用空间相对低,用户不固定
      • 缺点:功能单一,没有个性话设置,响应速度相对慢一些
  • 2、网络通信原理

    • 软件直接的通信80年代,使用固定电话联系(未推广英话)没有统一英话,要想友好交流,需学习当地方言统一交流方式:
    • 推广英语全球范围内交流 三步
      • 1.两台电话直接一堆物理连接媒介质连接
      • 2.拨号 锁定对方电话的位置
      • 3.统一交流方式
    • 互联网交流本质
      • 1.两台计算机要有一堆物理连接介质连接
      • 2.找到对方计算机软件位置
      • 3.遵循一揽子(多)互联网通信协议
  • 3、osi 七层协议

    • 应传网数物:从下到上研究
    • 5.物理层:发出去
      • 最底层指的是网线,光纤等物流连接介质
      • 发送的是比特流:0101010101010...源源不断的发送
      • 只发比特流有什么问题?
        • 无法解析数据需要有规律的分组,分组是数据链路层做的事情
    • 4.数据链路层:加 工
      • 对比特流进行分组
      • 最先是各自有各自的分组标准
      • 后改为统一的标准:对数据分组的标准
      • 称之为以太网协议(最重要的协议 对比特流进行合理的分组)
      • 一组数据01010101 叫做一帧也叫数据报 长度是固定的 8位
      • head | data head 是固定长度:18个字节
        • 源地址:6个字节 mac 地址
        • 目标地址:6个字节 mac地址
        • 数据类型:6个字节
      • data 无固定长度,有长度限制 最少46个字节 最大1500字节
        • 一帧数据:最少64个字节,最大1518个字节
      • 一帧数据|一帧数据|一帧数据...
      • 每个电脑上的网卡都记录一个独一无二的地址
      • mac地址:计算机网卡上标注的地址
      • 12位 16进制的数组成:前6位是厂商编号,后6位是流水线号
      • 源mac地址 目标mac地址 数据类型|data
      • '1C-1B-0D-A4-E6-4A'
      • 计算机的通信方式
      • 同一局域网内,通过广播的形式通信
      • 广播:消息通过广播发出,局域网所有的计算机都能接收到消息,开始分析消息,与自己对号,不是就丢弃
      • 广播的形式:在同一个局域网之内,Mac地址+广播即可通信
      • 只能在局域网内进行广播,范围大了,引起广播风暴,效率低
      • 未解决
        • 不同局域网如何通信
        • 软件与软件的通信,而不是计算机之间的通信
      • 补充说明
        • 同一个局域网通过广场的形式发送数据
      • 交换机的mac地址学习功能
        • 前提:必须知道对方的mac地址,才能以广播的形式发送消息。实际上网络通信中,只要知道对方的ip和自己的ip即可
      • 一个交换机的5个接口:5个计算机
        • 1:FF-FF-FF-FF-FF-FF
        • 接口1:源mac 1C-1P-0D-A4-E6-4R 目标 1C-1P-0D-A4-E6-4E 数据以广播的形式发出
        • 2,3,4,5口都会接收到消息,5口是最终的目标地址,交换机就会将5口与mac地址对应上
        • 当五个口都对应上具体的mac地址,2口再次发消息,就不会广播了,就会以单播发送 ;提高效率
    • 3.网络层:加工
      • 找到具体软件的位置,上一层的事情
      • IP协议:确定局域网(子网)的位置
      • 四段分十进制 192.168.0.12
    • 取值范围 0~255 0~255 0~255 0~255
      • 子网掩码
    • C类子网掩码:255.255.255.0
      • IP地址+子网掩码构成了ip协议 按位与运算,计算出是否在同一局域网(子网,网段)
    • 172.16.10.1与172.16.10.128 在同一个局域网可以通过广播发消息 计算在同一局域网: 十进制转二进制
      • 一个网段最多可以承载多少个Ip地址?
    • 00000000 ~ 11111111 有255中数字

    • 172.16.10.0 网段地址被占用

    • 172.16.10.255 广播地址 被占用

    • 172.16.10.1 被占用

      • 253台计算机可以使用

      • 如果要给另一个计算机发数据,需要知道对方的IP地址

      • ARP协议

        • 从对方的ip地址获取到对方的mac地址
        • 源Mac 目标Mac 源IP 目标ip
      • 源Mac 1C-1B-0D-A4-E6-4A'

        • 目标Mac FF:FF:FF:FF:FF:FF:FF:FF
      • 源IP 172.16.10.13

        • 目标IP 172.16.10.156
      • 第一次发消息:发送到交换机->路由器 广播的形式发出去

        • 目标极端就收到消息:回消息
        • 源Mac 目标Mac 源IP 目标ip 数据
    • 2.传输层:加工

      • 端口协议 确定软件在计算机的位置
    • 端口协议:UDP协议,TCP协议

      • 端口有:65535个,可以按照65535个软件
    • 1~1024 操作系统专门使用的端口

      • 3306 数据库专用端口
    • 8080后 是自己开发的软件

      • tcp协议:

      • 可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

      • UDP协议:

        • 不可靠、无连接的服务,传输效率高,一对一,一对多,多对一,多对多,面向报文
      • TCP协议的三次握手和四次挥手

      • 三次握手:

        • 客户端发送与服务端建立连接请求
        • 服务端接收到,与客户端建立通道;并返回与客户端建立连接
        • 客户端接收到,与服务端建立通道
      • 四次挥手:

        • 客户端传完,给服务端发送断开请求,客户端与服务端断开连接

        • 服务器传完,给客户端发送断开请求,服务器与客户端断开连接

      • syn洪水攻击:

        • 制造大量的假的无效的IP请求服务器致使正常的ip访问不了服务器
    • 1.应用层:做点什么,进行传输

      • 自己定义的协议
    • 总结:广播(局域网)+ mac地址(计算机的位置)+ ip(局域网位置)+ 端口(软件在计算机的位置)+ 源数据(字典格式‘data_size':12,data:'晚上来吗')

    • 有了以上四个参数:可以确定世界上任何一个计算机的软件的位置

对五层协议详细的补充说明

应用层:自己定义的协议,进行文件传输
FTP dic = {filename,md5,filesize}数据

传输层:通过端口协议(UDP协议和TCP协议)封装了端口获取软件在计算机的位置
端口 | dic = {filename,md5,filesize}数据

网络层:通过IP协议确定局域网位置和通过ARP协议获取mac地址
ip(双方的) | 端口| dic = {filename,md5,filesize}数据
ARP协议:通过ip地址获取对方的mac地址

数据链路层:通过以太网协议对数据进行分组
Mac地址 | ip(双方的) | 端口| dic = {filename,md5,filesize}数据

物理层:物理介质连接,源源不断发送比特流

总结
单播:单独联系某个人
广播:给所有人发送消息(群发)
比特流:bit就是010101.... 像水流源源不断的流
以太网协议:将数据进行分组:一组称之为一帧,数据报再发出去
head | data
head : 固定的18个字节 源mac地址|目标mac地址|数据类型
data : 最少46个字节,最多1500个字节
mac地址:计算机网卡上记录的地址,是计算机独一无二的标识(类似于身份证)
用于局域网内广播(单播)时查找的计算机的位置
交换机:起到分流连接计算机的作用
路由器:
外网(公网)IP
内网(局域网)IP 都是假的
DHCP协议:路由器自动分发的IP地址,网关等等
手动更改ip地址
子网掩码不用改
默认网关不能改
家用路由器:一般两个网段,接外网的插口 其他四个起到分流,一个ip地址接一个电脑,接入一个交换机,可以连接48个电脑
企业版路由器:可以接多个交换机,口多;可以分配多个网段
交换机的mac学习功能:
第一次发送消息广播的形式,当学习表记录上端口与mac地址对应关系之后,再发送消息,单播的形式发送
端口1:1c-4G-3B-8I-2-6
广播风暴:所有的计算机都在用广播的形式发送消息
IP协议:四段分十进制 172.168.0.3
子网掩码:
A类 255.0.0.0
B类 255.255.0.0
C类 255.255.255.0
端口:接收数据的专用通道
0~1023系统的
8080以后自己选取的
ARP协议:通过ip获取到计算机的Mac地址
TCP协议:面向链接的协议,流式协议,安全可靠,效率低的协议,传输文件,例如:浏览器
UDP协议:用户数据报协议,效率高,不安全不可靠的协议 例如:微信QQ"""
"""
DNS服务器:域名解析
第一次:计算机单播的形式给交换机,再单播给路由器,访问DNS服务器,获取到ip地址和端口
判断是否在同一个局域网内,在,以单播或者广播的形式去访问,不在,以路由协议去找最优路线
NAT:IP置换技术mac地址也会置换 路由器置换的
路由协议:选取最优路线
端口映射技术
找到计算机软件的位置
"""

总结:

前提:目标mac明确

计算机A发送一个消息给计算机B

​ 源Mac 目标Mac 源IP 目标ip

单播的形式发送到交换机,交换机会检测自己的对照表有没有目标mac;

​ 如果有,单播传;

​ 没有就交由上一层:路由器

路由器收到消息:对消息进行分析,要确定目标计算机与本计算是否在同一网段?

​ 如果在,通过ip以及ARP协议获取到对方的Mac地址,然后再通信

​ 不在同一个网段通过路由协议找到相关的局域网

转载于:https://www.cnblogs.com/zhangshan33/p/11354791.html

Python 第二十八章 网络初识+五层协议+三次握手四次挥手相关推荐

  1. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义:       这里 ...

  2. python网络通信效率_Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: 这里的客户端一般 ...

  3. TCP/IP协议 - 三次握手四次挥手(入门易懂版)

    握手通俗理解为两个人见面Say Hai,客户端和服务端建立连接 挥手就可以理解为两个人结束会面,要Say Goodbai,客户端和服务端断开连接 要了解什么是三握四挥,必须要了解一个重要的知识点:什么 ...

  4. 计算机网络之UDP与TCP协议(三次握手, 四次挥手)

    ⭐️前面的话⭐️ 本文介绍计算机网络中有关传输层协议的知识--UDP与TCP协议,在TCP协议中,为了保证数据的可靠传输,引入了十大保证可靠性的机制,即确认应答,超时重传,连接管理(三次握手,四次挥手 ...

  5. 【网络工程】浅显易懂TCP/IP协议 三次握手 四次挥手

    目录 什么是三次握手? 如何进行三次握手 什么是四次挥手? 如何进行四次挥手 什么是三次握手? 为什么要三次握手?是为了保证建立一个安全可靠的链接 如何进行三次握手 第一次握手是由客户端发起,向服务端 ...

  6. 详解TCP协议三次握手四次挥手

    三次握手: 三次握手表示建立通信阶段,在TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠,由于这种面向连接的特性, TCP协议可以保证传输数据的安全,所以应用十分广泛 ...

  7. TCP协议三次握手/四次挥手

    TCP是传输控制协议,需要建立链接,通过三次握手和四次挥手保证数据传输的可靠性 三次握手过程 三次握手的目的在于,确认双方的通信能力是否正常 第一次握手,客户端发送连接请求的报文给服务端 第二次握手, ...

  8. 【干货】TCP/IP协议三次握手四次挥手

    TCP是一种面向连接的.可靠的.基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接.所谓的"连接",其实是客户端和服务端保存的一份关于对方的信息,如ip地址 ...

  9. Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)

    1.OSI 7层网络模型 1.网络七层协议 (1)OSI定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层.应用层),即ISO开放互连系统参考模型. (2)各层功能定义 这里 ...

最新文章

  1. SQLSERVER2014中的新功能
  2. Spring5源码 - 13 Spring事件监听机制_@EventListener源码解析
  3. 攻防世界Reverse第六题open-source
  4. php模拟请求get请求,php模拟get请求方法总结
  5. Shell(9)——sed(1)
  6. 最佳5本Java性能调优书籍–精选,必读
  7. Octave: 'rgb2gray' undefined error
  8. es6 数组找最大值_JavaScript(es6)数组常用的方法
  9. restful 接口文档_第 16 篇:别再手动管理接口文档了
  10. Tf-idf推导及理解
  11. python数据建模python_Python 数据建模总结和实战(共两万字)
  12. RH850F1L 移植freeRTOS
  13. 在哪下拼多多上传助手?拼多多软件方法介绍
  14. aptana php 调试,AptanaStudio3+PHP程序远程调试的方法和步骤
  15. 第8章 面向对象编程(中级部分)
  16. 说一说 ArrayList 的扩容机制
  17. python超简单趣味编程100例_python趣味编程100例
  18. Web前端-网站首页和注册界面的实现
  19. 我的生词表(中文在上,英文在下)(A-Z排序)
  20. Web前端——JSP

热门文章

  1. Android加载图片导致内存溢出(Out of Memory异常)
  2. 微商如何通过自媒体平台进行引流
  3. 【操作系统】内存管理
  4. 程序逸的Java项目之旅-图书管理系统之后端接口的快速实现
  5. 好好生活,总会遇见美好事物
  6. OpenCV:vector subscript out of range
  7. 《网络攻防》信息搜集与漏洞扫描
  8. 中文分词_数据分析之中文分词
  9. ADASISv3简述,自动驾驶怎么进行地图数据传输?
  10. Web安全-网页开发者工具