tcp/ip协议栈
*全球公认的事实上的国际标准
*整个Internet的基础
tcp/ip的层次模型
OSI的数据链路层分为LLC和MAC
TCP/IP的网络接口层为EII
传输层
Transmission Control Protocol(TCP) 面向连接
User Datagram Protocol(UDP) 非面向连接
TCP数据格式
Source port(16)//源端口 | Destination port(16)//目标端口 |
Sequence number(32)序列号 | |
Acknowledgement number(32)确认号 |
Header length(4) | Reserved(6) | Code bits(6) | Windows(16)//窗口 |
Checksum(16) | Urgent(16) | ||
Options(0 or 32 if any)//校验盒 | |||
Data(varies) |
UDP数据格式
Source port(16)//源端口 | Destination port(16)//目标端口 |
Length(16)//长度 | Checksum(16)//校验 |
Data(if any) |
*没有序列号和确认号
*windows是流量控制窗口
端口号
UDP
520:RIP
161:SNMP
69:TFTP
53:DNS(内网和公网)
TCP
25:SMTP
23:TELNET
21:FTP
TCP的特点
*三次握手----------------------建立可靠连接
*.确认机制---------------------应答接收
*.端口号------------------------多路复用
*.序列号-------------------------丢失检测、乱序重排
*.完整性校验-------------------差错检测
*.窗口机制------------------------流量控制
TCP与UDP的对比
功能项 | TCP | UDP |
连接服务的类型 | 面向连接 | 无连接 |
维护连接的状态 | 维持端到端的连接状态 | 不维护 |
对应用层数据的封装 | 对应用层数据分段和封装,用端口号标识应用层程序 | 与tcp一致 |
数据传输 | 通过序列号和应答机制确保 | 不确保可靠传输 |
流量控制 | 使用浮动窗口控制流量 | 无流量控制机制 |
网络层协议
Internet Protocol---(IP)
Internet Control Message Protocol---(ICMP)
Address Resolution Protocol---(ARP)
Reverse Assress Resolution Protocol---(RARP)
IP报文格式
版本、头长度、 优先级类型(QOS)、总长度、id、标志位、现迁移量、Time to live(8)、协议号、头校验盒、源IP地址、目标IP地址
*数据MTU(默认情况=1500,在链路层表示)
*路由协议
1.建立路由表2.防环
Version(4)//版本 | Header Length(4)//头长度 | Priority&Type of Service(8)优先级类型QOS | Total Length(16) 总长度 | ||
Identification(16) Id | Flags(3) 标志位 | Fragment offser(13) 现迁移量 | |||
Time to live(8) | Protocol(8) 协议号 | Header checksum(16) 头校验盒 | |||
Source IP Address(32) 源IP地址 | |||||
Destination IP Address(32) 目标IP地址 | |||||
Data(varies if any) 数据 |
IP的主要作用
1.标识节点和链路
(用唯一的IP地址标识每一个节点,用唯一的IP网络号标识每一个链路)
2.寻址和转发
(-确定节点所在的网络位置,进而确定节点所在的位置-IP路由器选择适当的路径将IP包转发到目的的节点)
3.适应各种数据链路
(-根据链路的MTU对IP包进行分片和重组-为了通过实际的数据链路传递信息,需建立IP地址到数据链路层的映射)
ARP
作用:建立IP和mac映射方式:广播请求和单播回应 属于3层协议,作用于3层于两层之间
(同一网段直接广播不同网段需要网关)
ICMP
(范围的收听机制:ping(180或255))路由跟踪(30)
*ping命令发送ICMP的echo包,通过回送的echo relay进行网络测试。
*ICMP的消息分为ICMP查询消息和ICMP差错消息。
*ICMP可用于报告IP数据包传递过程中发生的错误、失败等信息,提供网络诊断功能
echo relay------------目标回应
Destination unreachable----目标不可达
Request timed out----------访问超时