TCP/IP协议栈:
物理层、数据接口层、网络层、传输层、应用层或网络接口层、网络层、传输层、应用层

TCP/IP协议栈的核心协议:
1、TCP
2、UDP
3、ICMP
4、IGMP
5、ARP:映射IP→Ethernet
6、RARP:映射Ethernet→IP

TCP/IP layer
-----------------Ipv4
A类  : 8位network/24位host   Fisting octet :1~126    127.x.x.x本机回环地址
               (0xxxxxxx) (10.0.0.0~10.255.255.255  私有地址) 2的24方-2
B类  :16位network/16位host   Fisting octet :128~191   
               (10xxxxxx) (172.16.0.0~172.31.255.255  私有地址) 2的16方-2
C类  :24位network/8位host   Fisting octet :192~223    
               (110xxxxx) (192.0.0.0~192.255.255.255  私有地址) 2的8方-2
D类  :  Fisting octet :224~239  (1110xxxx)
E 类  :  保留
 
 
IP PDU Header

·    IHL: IP头部长度 0~15 代表行数,最大15x4=60byte
·    Service type: type of service(TOS),包括QoS,CoS;Qos最大划分了255个等级,一般用到6个等级
·    Packet Length:包头和数据的总长度
·    Identification:每个ip包都会有一个标识,主要用于超过链路MTU的ip包被分片后在接收端被重组时所用
·    Flag: 3位: 0/DF/MF Don’t Frag / More Frag MTU 1500byte,超过就分片 0/0/1 , 第二0个代表有分片,第三个1代表有更多分片;0/1/1 死亡之ping;
·    Frag.Offset: 分片偏移 , 也是用于重组IP包
·    Time to live: 0-255,ttl减少1,一般16跳足够了
·    Protocol:协议号 告诉IP上层用的是TCP(6)还是UDP(17)

DHCP:

1. Dhcp discover 封包 source:0.0.0.0 des:255.255.255.255 等待响应1s,再广播9s,第三次13s,第四次16s,宣告失败 (UDP 67)
2.DHCP offer 广播(不知道client地址)(UDP 68)
3.Client request message : 67
4.Acknowledgment : 68
企业系统的更多的是在windows下架设DHCP,我们讲到路由器基本配置后,演示在路由器上面配置DHCP
 
 
TCP/IP Transport Layer:
------------------------------------------------------------------------------------------
TCP具有下面几个特征
1) connection 面向连接(建立一条连接以交换数据)
2) numbering & sequencing 编号和排序
3) acknowledgement 确认机制
4) error-check 差错检测 (用校验和来检查)
5) retransmission 重传机制 (接收方可请求重传)
6) flow control 流量控制(缓冲区,确认,窗口大小)
7) full-duplex 全双工(TCP连接是一对虚电路,每方向上一条)
  UDP具有下面几个特征
1) 面向无连接
2) 相比可靠性机制,UDP有低的开销
3) 有限的错误检测
4) 尽力而为传输
5) 没有数据恢复机制(不重传机制)
 
TCP Header
 
 

Sequence number:数据编排号或重传编号
Acknowledgment number:应答号
Header length:取值范围:5-15(基数为4byte,默认0x101,代表tcp包头20字节,最大0x1111=60字节)
Resv: 总被设置为0
Urg:紧急位:当该位为1时,代表告知接收方紧急需要CPU处理的数据在urgent pointer的所示位置
ACK:确认位:同意建立,拆除TCP连接,确认收到tcp字段
PSH:push强制位:代表要求接收方须将接收到的字段尽快交由上层,应用层协议处理
RST:reset重置位:请求重新建立tcp连接
Syn:同步位
Fin;finish 完成位 :请求断开一个tcp连接
CWR: congestion window-size reducing 拥塞窗口降低
ECN:explicit congestion notification 显示拥塞通告
Windows size: 发送方允许的窗口尺寸
Urgent pointer;urg有效字段,指向第一个非紧急数据的起始位置

2、TCP/IP的更多相关文章

  1. http、TCP/IP协议与socket之间的区别

    http.TCP/IP协议与socket之间的区别     网络由下往上分为:  www.2cto.com   物理层--                       数据链路层-- 网络层--   ...

  2. 15、TCP/IP协议

    15.TCP/IP协议       几台孤立计算机系统组在一起形成网络,几个孤立网络连在一起形成一个网络的网络,即互连网.一个互连网就是一组通过相同协议族互连在一起的网络. 互联网的目的之一是在应用程 ...

  3. 网络通信 --> Socket、TCP/IP、HTTP、FTP及网络编程

    Socket.TCP/IP.HTTP.FTP及网络编程 聊聊Socket.TCP/IP.HTTP.FTP及网络编程

  4. OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系

    一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...

  5. 二、tcp/ip基础知识

    一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属 ...

  6. http、TCP/IP协议与socket之间的区别(转载)

    http.TCP/IP协议与socket之间的区别  https://www.cnblogs.com/iOS-mt/p/4264675.html http.TCP/IP协议与socket之间的区别   ...

  7. 计算机网络——OSI、TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

  8. 简述OSI七层协议模型、TCP/IP四层模型和五层协议之间的关系

    一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...

  9. (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)

    HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...

  10. 套接字、UDP通信、TCP通信、TCP/IP协议簇

    一.套接字(socket) 1.英语单词socket:n.插座:穴:v.插入插座 2.套接字就是源IP地址和目的IP地址.源端口号和目的端口号的组合,是通过传输层进行通信的.IP指定电脑,端口指定某一 ...

随机推荐

  1. 从零开始のcocos2dx生活(五)ActionEase

    文章目录 sineEaseIn sineEaseOut sineEaseInOut expoEaseIn expoEaseOut expoEaseInOut easeIn easeOut easeIn ...

  2. win32简单的sockeTCP协议通信

    什么也不说了看代码 首先是服务端代码 #include <stdio.h> #include <stdlib.h> #include <WinSock2.h> #i ...

  3. java做插入时ID为自增获取到ID

    <selectKey keyProperty="id" resultType="int" order="AFTER"> sele ...

  4. DLC双端锁,CAS,ABA问题

    一.什么是DLC双端锁?有什么用处? 为了解决在多线程模式下,高并发的环境中,唯一确保单例模式只能生成一个实例 多线程环境中,单例模式会因为指令重排和线程竞争的原因会出现多个对象 public cla ...

  5. InnoDB索引实现原理以及注意点和建议

    一.InnoDB实现原理 虽然InnoDB也使用B+Tree作为索引结构,但具体实现方式却与MyISAM截然不同.因为InnoDB支持聚簇索引(主键索引),聚簇索引就是表,所以InnoDB不用像MyI ...

  6. 开源项目SMSS开发指南(二)——基于libevent的线程池

    libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...

  7. Oracle基础之保留字和关键字

    Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC.ORDER等等)是Oracle中不能随便使用的,比如不能随 ...

  8. Fabric1.4:手动启动 first-network 网络(一)

    注意:本文所使用的 fabric 版本为 v1.4.3,与其它版本的网络存在差异. 手动启动 first-network 网络系列分为三部分: 手动启动 first-network 网络(一) 手动启 ...

  9. 《C++Primer》第五版习题答案--第一章【学习笔记】

    C++Primer第五版习题解答---第一章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2022/1/7 第一章:开始 练习1.3 #includ ...

  10. 客户端访问windows server2016 服务器共享 速度慢

    客户端(windows10)敲完地址后,要过很久才会谈出窗口.  所有的客户端都出现过此现象. 解决:关闭server的 Smb1.0