tcp/ip数据封装
常用端口号
ftp 21 ssh 22 telnet 23 http 80 https 443
tcp/ip应用端口 1024 ~ 10000
环回接口 loopback(127.0.0.1,广播/多播数据不会发出去直接放环回接口)
ping -> ICMP -> IP输入队列
IP地址是逻辑地址 -> ARP解析 -> MAC地址是硬件地址
以太网/802.3对数据帧长度有限制,分别是1500/1492
MTU最大传输单元(计算出方向),如果IP包>MTU IP层就需要分片(46<分片<1500)
IP协议提供不可靠(可能丢包)、无连接(不握手无顺序无状态)的数据报传送服务
IP -> TCP/UDP/ICMP
TCP是在不可靠的IP协议提供可靠的连接
IP首部
1、第一个4字节(也就是第一行):
(1)版本号(Version),4位;用于标识IP协议版本,IPv4是0100,IPv6是0110,也就是二进制的4和6。
(2)首部长度(Internet Header Length),4位;用于标识首部的长度,单位为4字节,所以首部长度最大值为:(2^4 - 1) * 4 = 60字节,但一般只推荐使用20字节的固定长度。
(3)服务类型(Type Of Service),8位;用于标识IP包的优先级,但现在并未使用。
(4)总长度(Total Length),16位;标识IP数据报的总长度,最大为:2^16 -1 = 65535字节。
2、第二个四字节:
(1)标识(Identification),16位;用于标识IP数据报,如果因为数据链路层帧数据段长度限制(也就是MTU,支持的最大传输单元),IP数据报需要进行分片发送,则每个分片的IP数据报标识都是一致的。
(2)标识(Flag),3位,但目前只有2位有意义;最低位为MF,MF=1代表后面还有分片的数据报,MF=0代表最后的数据报。次低位为DF,DF=1代表不能分片,DF=0代表可以分片。
(3)片偏移(Fragment Offset),13位;代表某个分片在原始数据中的相对位置。
3、第三个四字节:
(1)生存时间(TTL),8位;以前代表IP数据报最大的生存时间,现在标识IP数据报可以经过的路由器数。
(2)协议(Protocol),8位;代表上层传输层协议的类型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
(3)校验和(Header Checksum),16位;用于验证数据完整性,计算方法为,首先将校验和位置零,然后将每16位二进制反码求和即为校验和,最后写入校验和位置。
4、第四个四字节:源IP地址
5、第五个四字节:目的IP地址
数据报中目标IP地址始终不会变化,只有使用源路由选项时才可能被修改,每个链路层的有不同的数据帧首部,链路层的目的地址始终指向下一站链路层地址,以太网地址通过ARP获得
TCP首部
ARP
到此这篇tcp ipv6(tcpipv6地址怎么设置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/46162.html