一、OSI参考模型:适用于所有网络,现有模型,后有协议
1、应用层:应用程序、用户接口
2、表示层:编码转换、压缩、解压、加密等
3、会话层:建立、维护、拆除会话
4、传输层规定了应用程序的的接口
协议:TCP、UDP    PDU:数据段
5、网络层:为数据传输选择一条最优路径,采用尽力而为的发送方式
工作设备:路由器    PDU:数据包    逻辑地址:IP地址    
协议:IP、ARP、RARP、ICMP
6、数据链路层:使用MAC地址(48位2进制,前24位厂商,后24位为设备地址)传输数据帧 
工作设备:交换机    协议:ARP、RARP    数据帧格式:
7、物理层:介质和信号(双绞线、光线、同轴电缆和模拟信号、数字信号),物理层关心的是电气特性、规程特性、功能特性、物理特性,从数据链路层接收数据转换为bit流,为数据传输提供安全的通信通道
【1】交换机功能:
自学习:学习源MAC以及进入的接口
广播:
转发:
过滤:
更新:
【2】数据帧格式:
【3】集线器(hub)工作原理:
            收到一个bit时,将该bit向其他所有接口传输出去,是一个广播域网,且没有冲突检测
【4】路由器:
            根据路由表转发数据,分为直连路由、非直连路由
            直连路由:为接口配置IP地址并保证UP状态
            非直连路由:通过静态指定或动态学习
【5】IP协议: 
版本:4位,标识IP地址的版本,常用的是IPv4和IPv6
首部长度:4位,可变长度,根据可选项变化
优先级与服务类型:8位,提供第三层的服务质量
总长度:16位,IP包头总长度
标识符:16位,为分段数据打上标记,方便到目标地址重新组装
标志:3位,第一位没有设置,第二位是DF,决定是否分片,0代表部分片,1代表分片;第三位是MF:代表更多的片,只有数据的最后一片值为0
段偏移量:13位,代表数据片在整个数据中的位置
TTL:8位,生命周期,数据包经过路由器个数,数据包每经过一个路由器,TTL值减一,当TTL值为0时,数据还没有到达目标地址,该数据将被丢弃,一般设置为32或64
协议号:8位,标识上层协议号
首部校验和:16位,验证发送端和接收端数据的完整性
源地址:32的IP地址
目标地址:32的IP地址
可选项:松散路由 严格路由 路由标记 时间戳
填充:把IP包头每行都填充为32位
【6】ARP协议:      
硬件类型
协议类型
硬件地址长度
协议长度
Opcode
发送方MAC地址
发送方IP地址
目的MAC地址
目的IP地址
【7】RARP协议: 逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其IP地址
【8】ICMP协议:ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去   
ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着的4个字节的内容与ICMP的类型有关
【9】TCP协议:      
源端口
目的端口
序列号
指定ack号
包头头长度
Flags(标志位):
URG:紧急指针有效位,标记紧急数据
ACK:确认序列号有效位
PSH:通知接收端把数据交给进程,不要在缓冲区中停留
RST:请求重新建立三次握手
SYN:请求建立三次握手
FIN:请求断开连接
窗口大小:
适当的窗口大小
TCP窗口大小比例系数
校验和 
TCP流量控制机制:
以消除发送方使接收方缓存溢出的可能性,是一个速度匹配服务,即发送发速率与接收方应用程序的读取速率相匹配。
发送方维护一个接收窗口,该接收窗口给发送方指示了接收方还有多少缓存空间剩余
发送方:LastSent-LastAcked≤rwnd(接收窗口)
接收方:LastRcvd-LastRead≤RcvBuffer 
TCP拥塞控制:
 在发送方新增一个额外变量 cwnd(拥塞窗口),LastSent-LastAcked≤min{ cwnd, rwnd}
TCP拥塞控制算法:
    慢启动
    拥塞避免
    快速恢复
总结:线性增,乘性减
TCP差错控制:
三个简单工具:
    检验和
    确认
    超时
TCP时间计时器:
重传计时器
坚持计时器: 解决零窗口大小通知可能导致的死锁问题,发送端建立该计时器
保活计时器: 为了防止两个TCP连接出现长时间的空闲。当客户端与服务器端建立TCP连接后,很长时间内客户端都没有向服务器端发送数据,服务端建立保活计时器。
时间等待计时器: 连接终止期间使用,先断开连接的一方建立
【10】UDP协议:     
 
二、TCP/IP网络协议模型:只适用于TCP/IP网络,先有协议,后有模型
    1、应用层
    2、传输层
    3、网络层
    4、数据链路层
    5、物理层
 
 

Linux学习笔记05之网络基础知识的更多相关文章

  1. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  2. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  3. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  4. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  5. Linux 学习笔记之超详细基础linux命令 Part 7

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...

  6. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  7. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 8

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...

随机推荐

  1. Fabric1.4源码解析:客户端创建通道过程

    在使用Fabric创建通道的时候,通常我们执行一条命令完成,这篇文章就解析一下执行这条命令后Fabric源码中执行的流程. peer channel create -o orderer.example ...

  2. http-post调用接口简单代码

    一.简单便捷的httpget调用接口,并且返回接口数据1.导入相应的jar包: 2.代码如下: HttpPost post = null; try { HttpClient httpClient = ...

  3. jQuery调整表列(左右拉动调整列宽)插件__colResizable,动态列如何使用

    官网地址:http://www.bacubacu.com/colresizable/ 这里值得注意的是,如果是动态加入的列,则需要先清理调用插件生成的class,id和div之后再重新调用才会有作用. ...

  4. leadcode的Hot100系列--64. 最小路径和--权值最小的动态规划

    如果这个: leadcode的Hot100系列--62. 不同路径--简单的动态规划 看懂的话,那这题基本上是一样的, 不同点在于: 1.这里每条路径相当于多了一个权值 2.结论不再固定,而是要比较不 ...

  5. POJ 1485:Fast Food(dp)&& 面试题

    题目链接 题意 给出 n 个餐厅,m 个停车场,现在要将 n 个餐厅中的 m 个变成停车场,使得每个餐厅到最近的停车场的距离之和最短,输出哪个餐厅变成停车场和它服务哪些餐厅,还有最短距离之和. 思路 ...

  6. HDU 6053:TrickGCD(莫比乌斯反演)

    题目链接 题意 给出n个数,问在这n个数里面,有多少组bi(1<=bi<=ai)可以使得任意两个bi不互质. 思路 想法就是枚举2~min(ai),然后去对于每个ai都去除以这些质数,然后 ...

  7. 01(a)一元函数_多元函数_无约束极值问题的求解

    1. 一元函数的极值问题  (函数光滑) 对于一个一元函数$f(x)$,怎么才能找出它的极值呢? 1.1根据定义:如果存在一点${{x}_{0}}$,在点${{x}_{0}}$的某个领域$U({{x} ...

  8. kuangbin专题 专题二 搜索进阶 Nightmare Ⅱ HDU - 3085

    题目链接:https://vjudge.net/problem/HDU-3085 题意:有两个鬼和两个人和墙,鬼先走,人再走,鬼每走过的地方都会复制一个新鬼, 但新鬼只能等待旧鬼走完一次行程之后,下一 ...

  9. 南京POC项目总结-采用ActiveMQ进行项目实现

    刚来时搞不清楚POC什么意思,查了下在这也普及下:Proof Of Conception,概念证明. 背景: 属于中途介入.二次分包项目,之前的分包商做出的东西性能上稍微有些弱,架构上有些不合理. 设 ...

  10. mysql in与exists问题剖析

    1 问题描述 ​ 发布当天发现一个日志分析的sql,在测试环境上执行良好,1秒内,而在线上环境上,执行要13秒左右. 嵌套sql一步一步分析后,发现出在in上,因时间紧迫,来补不及具体分析原因,尝试使 ...