2、TCP/IP
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的更多相关文章
- http、TCP/IP协议与socket之间的区别
http.TCP/IP协议与socket之间的区别 网络由下往上分为: www.2cto.com 物理层-- 数据链路层-- 网络层-- ...
- 15、TCP/IP协议
15.TCP/IP协议 几台孤立计算机系统组在一起形成网络,几个孤立网络连在一起形成一个网络的网络,即互连网.一个互连网就是一组通过相同协议族互连在一起的网络. 互联网的目的之一是在应用程 ...
- 网络通信 --> Socket、TCP/IP、HTTP、FTP及网络编程
Socket.TCP/IP.HTTP.FTP及网络编程 聊聊Socket.TCP/IP.HTTP.FTP及网络编程
- OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...
- 二、tcp/ip基础知识
一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属 ...
- http、TCP/IP协议与socket之间的区别(转载)
http.TCP/IP协议与socket之间的区别 https://www.cnblogs.com/iOS-mt/p/4264675.html http.TCP/IP协议与socket之间的区别 ...
- 计算机网络——OSI、TCP/IP协议族详解
一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...
- 简述OSI七层协议模型、TCP/IP四层模型和五层协议之间的关系
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...
- (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)
HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...
- 套接字、UDP通信、TCP通信、TCP/IP协议簇
一.套接字(socket) 1.英语单词socket:n.插座:穴:v.插入插座 2.套接字就是源IP地址和目的IP地址.源端口号和目的端口号的组合,是通过传输层进行通信的.IP指定电脑,端口指定某一 ...
随机推荐
- 从零开始のcocos2dx生活(五)ActionEase
文章目录 sineEaseIn sineEaseOut sineEaseInOut expoEaseIn expoEaseOut expoEaseInOut easeIn easeOut easeIn ...
- win32简单的sockeTCP协议通信
什么也不说了看代码 首先是服务端代码 #include <stdio.h> #include <stdlib.h> #include <WinSock2.h> #i ...
- java做插入时ID为自增获取到ID
<selectKey keyProperty="id" resultType="int" order="AFTER"> sele ...
- DLC双端锁,CAS,ABA问题
一.什么是DLC双端锁?有什么用处? 为了解决在多线程模式下,高并发的环境中,唯一确保单例模式只能生成一个实例 多线程环境中,单例模式会因为指令重排和线程竞争的原因会出现多个对象 public cla ...
- InnoDB索引实现原理以及注意点和建议
一.InnoDB实现原理 虽然InnoDB也使用B+Tree作为索引结构,但具体实现方式却与MyISAM截然不同.因为InnoDB支持聚簇索引(主键索引),聚簇索引就是表,所以InnoDB不用像MyI ...
- 开源项目SMSS开发指南(二)——基于libevent的线程池
libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...
- Oracle基础之保留字和关键字
Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC.ORDER等等)是Oracle中不能随便使用的,比如不能随 ...
- Fabric1.4:手动启动 first-network 网络(一)
注意:本文所使用的 fabric 版本为 v1.4.3,与其它版本的网络存在差异. 手动启动 first-network 网络系列分为三部分: 手动启动 first-network 网络(一) 手动启 ...
- 《C++Primer》第五版习题答案--第一章【学习笔记】
C++Primer第五版习题解答---第一章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2022/1/7 第一章:开始 练习1.3 #includ ...
- 客户端访问windows server2016 服务器共享 速度慢
客户端(windows10)敲完地址后,要过很久才会谈出窗口. 所有的客户端都出现过此现象. 解决:关闭server的 Smb1.0