网络知识拾遗

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. 【Java】 剑指offer(52) 两个链表的第一个公共结点

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入两个链表,找出它们的第一个公共结点. 思路 蛮力法:遍历第一个 ...

  2. maven在windows下的安装

    1.下载 2.解压 3.修改配置环境 4.验证 5.使用mvn help:system就可以看到下载到本地仓库的文件 6.全局settings 7.建议在m2下拷贝一份属于个人的配置settings

  3. 神舟战神 HotKey 主面板无法打开? Fn+Esc失效?

    战神笔记本的 Fn+Esc快捷键是打开 HotKey 主面板的, 其实就是  Control Center Windows更新可能导致 Control Center 无法打开,解决办法就是   更新驱 ...

  4. 最短路(Bellman)-Hdu1874畅通工程序

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城 ...

  5. 用VScode来编写C / C ++代码

    Microsoft C / C ++扩展提供了对Visual Studio Code的C / C ++支持,以便在Windows,Linux和macOS上使用VS Code实现跨平台C和C ++开发. ...

  6. POJ 1384 Piggy-Bank【完全背包】+【恰好完全装满】(可达性DP)

    题目链接:https://vjudge.net/contest/217847#problem/A 题目大意:   现在有n种硬币,每种硬币有特定的重量cost[i] 克和它对应的价值val[i]. 每 ...

  7. Spring框架学习04——复杂类型的属性注入

    代码示例如下: 创建BeanClass实体类 public class BeanClass { private String[] arrs;//数组类型 private List<String& ...

  8. Shell function

    function test() { echo $1 echo $2 echo $3 } test 1 2 4 在shell里面使用函数是不用括号的.参数直接接在名字后面.

  9. C# 中删除控件的事件的方法类

    方法一: 代码 /// <summary> /// 删除指定控件的指定事件 /// </summary> /// <param name="control&qu ...

  10. 牛客国庆集训派对Day4 Solution

    A    深度学习 puts(n) #include <bits/stdc++.h> using namespace std; int main() { double n; while ( ...