网络知识拾遗

tcpip的4&7层模型

PDU数据包在不同层的不同称呼

物理层(一层)PDU指数据位(Bit)。
数据链路层(二层)PDU指数据帧(Frame)。
网络层(三层)PDU指数据包(Packet)。
传输层(四层)PDU指数据段(Segment)。

链路层(2层)帧结构:

802.3数据结构-主要用于一些控制层协议,如思科的cdp

  • LLC
  • MAC



EII数据结构

  • 二层头部大小
- EII头部大小
6+6+2=14byte - 头部大小对比
+3 校验位
标准:6+6+2+3 =17 3
思科:6+6+2+3+3=20 6
  • 数据包大小: 最小46个字节, 46-1500个字节



ip和tcp包结构

ip包

ip包里会有ttl超时等.

tcp数据包格式

tcp 可靠 编号 丢包重传 流量控制 三次握手 建立会话
可靠性:序列号、确认号&flag位
有效性:win滑动窗口 udp 不可靠 无编号 不建立会话 广播 多播
查询类DNS:
无三次握手
多个DNS同时查询
数据传输TFTP
适合停止等待协议,慢(需应用层确认数据)
适合无盘工作站
语音视频流
支持广播和组合
支持丢包,保证效率





之后会附上tcp11中状态,3次握手四次挥手的知识点.

ip层选路原则--3层冷知识-路由加表和目的ip怎么才算是匹配到了某条路由

选路原则

控制层--加入路由表
1.AD小的 --两种路由协议收到同一条路由
2.metric小的 --同一种路由协议:从两条路收到同一条路由
3. --如果metric也相同,则负载均衡 数据层:
1.DIP & mask -- 要访问的目的ip与路由条目的掩码做与操作,得出结果==路由条目,则表示匹配
2.Longest match -- 如果匹配到多项,选择掩码最长的
-- 如果掩码也一样长,则负载均衡

tcp层常用端口号/协议号

item
应用层 x
传输层 (目的port,源port,端口号)
ip网络层 (目的ip,源ip,协议号)
数据链路层 (目的mac,源mac,类型)

容器网络学习索引及网络监控

二三层数据格式&&三层数据如何匹配路由

tcp三次握手四次挥手&tcp的11种状态(半连接)&tcp的time-wait

协议 端口号(2个字节)
icmp 1
igmp 2
gre 47
AH 51 tcp
eigrp 89 tcp
ospf 110 tcp
ftp 20(data) 21(control)
SSH 22 tcp
telnet 23 tcp
smtp 25(发)
DNS 53 TCP/UDP
dhcp 67 68 udp
tftp 69 udp
pop3 110(收)
ntp udp 123
RDP windows共享 139 tcp
https 443
windows文件共享 tcp 445
snmp 161 //华为视频说162??UDP
syslog 514
snmp 123
远程桌面 3389
mssql tcp 1433
mysql tcp 3306
pptp 1723
1024-49151 注册端口
49152 65535 临时端口
  • 推荐开放的端口

    classroom只开部分端口 http https dns telnet smtp pop3

网络界形象比喻

网络部分:身份证号 主机部分:身份证上的姓名-具体的实体   哪个房间里的谁谁谁

osi的目标,使不同的操作系统共享资源,都用了tcp ip协议

交换机可隔离冲突域 路由器可隔离广播域
IP层的寻址靠的是IP地址,而二层的寻址在以太网环境中,靠的是MAC地址。
监视 span
鉴别 认证
mac地址 gps定位
ip地址 门牌号
DNS 114查号台 网络是一个信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连设备行信
息交换,这种物理设备包括最常见的电缆、光缆、无线WAP和微波等,但是单纯拥有这些物
理设备并不能实现信息的交换,这就好像人类的身体不能缺少大脑的支配一样,信息交换还
要具备软件环境,这种“软件环境”是人类实现规定好的一些规则,被称作“协议”, icmp 网络的信令兵 测试网络,反映网络当中出现的问题
icmp port不可达 携带报错信息 及时终止进程
ttl 1或0 都不会转发数据包,而是回复一个ttl超时
arp 后来者居上
免费arp 和吵架似得

[svc]二三层数据格式&&三层数据如何匹配路由的更多相关文章

  1. 一、JSP九大内置对象 二、JAVAEE三层架构和MVC设计模式 三、Ajax

    一.JSP九大内置对象###<1>概念 不需要预先申明和定义,可以直接在jsp代码中直接使用 在JSP转换成Servlet之后,九大对象在Servlet中的service方法中对其进行定义 ...

  2. 【mongodb系统学习之十二】mongodb修改数据(一)

    十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).updat ...

  3. Electron-vue实战(二)— 请求Mock数据渲染页面

    Electron-vue实战(二)— 请求Mock数据渲染页面 作者:狐狸家的鱼 本文链接 GitHub:sueRimn 一.环境搭建 1.安装Mock.js 如果仅仅用作脱离后台的模拟数据,就安装在 ...

  4. 二、Android XML数据解析

    XML,可扩展标记语言.可以用来存储数据,可以看做是一个小型的数据库,SharedPreference就是使用XML文件存储数据的,SQLite底层也是一个XML文件,而在网络应用方面,通常作为信息的 ...

  5. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  6. TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)

    TFS二次开发的数据统计以PBI.Bug.Sprint等为例(一) 在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一 ...

  7. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  8. 常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释)

    常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释) 一. 增 INSERT INTO 数据表(字段,字段,-) VALUES(值,值-); INSERT INTO emp(empno, ...

  9. “全栈2019”Java异常第十二章:catch与异常匹配

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

随机推荐

  1. 《Gradle权威指南》--Java Gradle插件

    No1: dependencies{ compile group: 'com.squareup.okhttp3',name:'okhttp',version:'3.0.1' } //缩写 depend ...

  2. How to uninstall Maya on a Mac

    How to uninstall Maya on a Mac Products and versions covered  By:  Support Jun 15 2018 SHARE ADD TO ...

  3. MySQL 5.7.14 net start mysql 服务无法启动

    解决方法: 1.mysqld  --initialize 初始化data目录 2.重新输入net start mysql命令 补充,服务停止的方法:net stop mysql

  4. Servlet与HTTP介绍学习

    http介绍:http是一套规范,一种网络数据交互的标准协议,不同的语言,不同的数据想要实现合理的数据交互(例如:浏览器和服务器数据交互),就得按照他所规定的协议来,这样就会形成标准的(大家都认识的) ...

  5. Centos7 安装pyquery 等包的简易方法

      单独下载安装模块: sudo mkdir /home/pythonmodule sudo wget https://www.crummy.com/software/BeautifulSoup/bs ...

  6. 洛谷.3834.[模板]可持久化线段树(主席树 静态区间第k小)

    题目链接 //离散化后范围1~cnt不要错 #include<cstdio> #include<cctype> #include<algorithm> //#def ...

  7. python计算文件夹大小——os.walk

    下面提供一种利用os.walk()快捷的计算指定文件夹大小的方法 话不多说,直接上代码 简略版: import os def get_file_size(file_path, size=0): for ...

  8. unity3d的Animation 动画播放器的基本API

    直接上代码: //动画名称 private const string ANIM_NAME = "Take 001"; //模型对象 private GameObject obj = ...

  9. spring boot + embed tomcat + standalone jar的内存泄露问题

    前一阵遇到了一个很坑的内存泄露问题,记录于此: 有个项目采用spring cloud重构后,部署到线上(其中有一个接口,大概每天调用量在1千万次左右),发现zabbix监控里,linux的可用内存一直 ...

  10. IBM Thread and Monitor Dump Analyzer for Java解决生产环境中的性能问题

    这个工具的使用和 HeapAnalyzer 一样,非常容易,同样提供了详细的 readme 文档,这里也简单举例如下: #/usr/java50/bin/java -Xmx1000m -jar jca ...