
TCP/IP
jiang_2018
这个作者很懒,什么都没留下…
展开
-
tcp keepalive
TCP_KEEPALIVE选项只是一个开关,Linux中默认的Keepalive的选项如下:$sudo sysctl -a | grep keepalivenet.ipv4.tcp_keepalive_time = 7200net.ipv4.tcp_keepalive_probes = 9net.ipv4.tcp_keepalive_intvl = 75上文中的keepalive选项表示...转载 2020-01-18 09:36:22 · 289 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(9)建立和终止一个TCP连接
TCP的状态总共有11种,下面用图示表示TCP正常连接建立和终止所对应状态同时打开期间报文交换同时关闭期间报文交换原创 2019-05-12 22:49:24 · 237 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(8)TCP概述
从以下方面介绍概述如何建立和终止一个TCP连接了解正常的数据传输过程TCP超时重传技术TCP定时器TCP新的特性以及TCP的性能概述特征TCP是面向连接的、可靠的字节流传输层协议TCP通过如下方式提供可靠性:应用数据被分割成 T C P认为最适合发送的数据块。这和 U D P完全不同,应用程序产生的数据报长度将保持不变。由 T C P传递给I P的信息单位称为报文段或段...原创 2019-05-12 18:41:51 · 326 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(10)TCP的交互数据流
TCP按照分组数量计算可以分为下面2类TCP交互数据流TCP成块数据里前者用于交互命令产生的数据分组,如telnet和rlogin,特点是交给上层的应用数据少,但是又要为这个很少的数据封包,利用率不高后者基本是满长度,如ftp、电子邮件等,所以利用率比前者高TCP交互数据流提高效率有如下方法捎带ACK比如rlogin需要远程服务器回显客户端输入的字符,不做处理的话会产生如下交互...原创 2019-05-14 23:17:11 · 257 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(12)TCP的4个定时器
对于每个TCP连接,TCP会管理4个不同的定时器超时重传定时器坚持定时器保活定时器2MSL定时器本次总结超时重传定时器目的:为了防止报文丢失,希望在超时时间内收到ACK2个方面超时时间确定重传机制超时时间确定以后结合lwip讲解,本篇介绍重传机制有3种情况需要发送端重传,分别对应下图发送端数据丢失失接收端确认应答丢失发送端收到3个同样的确认应答...原创 2019-05-19 17:40:27 · 321 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(11)TCP的成块数据流
TCP需要维护2方的流量控制发送方,叫做拥塞控制,采用机制叫做慢启动技术,目的是避免共享的网络环境下网络拥塞接收方,叫做流控制, 采用机制叫做滑动窗口技术,目的是为了同步发送方和接收方的速度滑动窗口TCP以一个段为单位发送数据,每发一个进行一次应答,这样效率很低。于是采用滑动窗口,表示发送方不需要等待接收方的确认应答而能一次性发送的最大数据,滑动窗口就是接收方接收缓存的大小。如...原创 2019-05-19 16:20:35 · 212 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(7)广播和多播
首先看上层收到数据要经过多少层过滤,如下图接口卡就是网卡,他过滤的主要原则是链路层的地址和网卡mac地址匹配并且帧检验正确就交付,否则丢弃mac地址有3类广播地址:FF:FF:FF:FF:FF:FF单播地址:网卡出厂时被分配唯一一个单播地址,头24位是厂商编号,后24位由厂商自己划分组播地址:头8位的最低位是1就是MAC组播地址,例如01:00:00:00:00:00就是一个mac组...原创 2019-05-04 21:35:39 · 322 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(6)UDP
UDP,用户数据报协议封包格式UDP首部端口号用来区别不同应用层程序的数据,tcp和udp的端口号可以相同,因为可以通过IP首部的协议字段来判断是tcp的端口号还是udp的端口号UDP长度包括UDP首部和数据,最小值8UDP校验和是UDP首部和数据部分的校验和,这里和IP首部校验和不同(IP首部校验和只校验IP首部)IP分片当上层要传输的数据大于主机接口MTU时,就要进行IP...原创 2019-05-04 17:06:05 · 441 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(5)IP选路
IP选路讲的是IP数据包按照什么规则进行选路策略。包括静态选路和动态选路静态选路先看书上的一个路由表U 表示该路由可用G 表示该路由是一个网关,如果没有这个表示,表明和目的地址是直接相连的,在同一网段H 表示该路由是一台主机,如果没有这个标志,则说明目的地址是一个网络地址大概意思是当有G时,如果你要发数据给Destination,则IP封包里目的IP要写Destination的...原创 2019-05-04 15:28:13 · 303 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(4)ICMP&Ping
ICMP,Internet控制报文协议ICMP作用传输差错报文,用于告诉主机出错,如端口不可达查询信息,如时间戳查询ICMP报文所在位置报文封装在IP数据报内部,如下图ICMP报文格式如下图,8位类型+8位代码+16位校验和+内容大概的意思就是根据ICMP的功能对报文进行分类编码(8位类型),每种类型下面在做详细划分(8位代码),校验和内容包括整个ICMP报文,内容更具8位类...原创 2019-05-04 11:52:30 · 313 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(3)ARP&RARP协议
ARP,地址解析协议当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。设备驱动程序从不检查 I P数据报中的目的I P地址,这就需要通过IP地址解析出物理地址ARP分组格式以太网目的地址填全1表示向本网段广播ARP请求帧类型:0x0806 表示ARP硬件类型:1表示ARP解析出的硬件地址类型是以太网协议类型:0x08...原创 2019-05-04 00:16:21 · 407 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(2)IP协议
IP协议即网际协议,位于网络层,提供不可靠(尽力交付)、无连接(不维护任何关于后续数据报的状态信息)的数据报传输服务。IP首部IP首部20字节(不包含选线字段)IP首部的传输方式是按照大端模式传输,也称网络字节序传输。4位版本号:IP协议版本信息4位首部长度:指IP首部字节数(包括可选字段),单位是4字节,对于没有可选字段的ip头,此字段是58位服务类型:包括3bit优先权子地段(...原创 2019-05-03 23:00:38 · 408 阅读 · 0 评论 -
TCP/IP协议簇学习笔记(1)链路层
链路层的主要目的为IP模块发送和接收IP数据报为ARP模块发送ARP请求和接收ARP应答为RARP模块发送RARP请求和接收RARP应答链路层帧结构下面是以太网和IEEE802帧封装书上说以太网是最常见封装格式,这里就介绍下以太网帧结构6字节目的地址和源地址,就是硬件地址;2字节类型字段用来标识后续数据类型,可以看到ARP和RARP是直接封在数据链路层的。46~1500字...原创 2019-05-03 21:28:21 · 380 阅读 · 0 评论