协议卷1备注笔记

四层网络应用模型

1.应用层 ftp email telnet
2.传输层 TCP UDP
3.网络层 IP(ICMP IGMP)
4.链路层 设备驱动程序及接口卡(arp-地址解析协议 rarp-反地址解析协议)
传输层提供端到端, IP层提供点到点

五类互联网地址

A 0.0.0.0127.255.255.255
B 128.0.0.0
191.255.255.255
C 192.0.0.0223.255.255.255
D 224.0.0.0
239.255.255.255
E 240.0.0.0~247.255.255.255

域名系统DNS 实际为一个分布式数据库

子网掩码 192.0.2.96/24表示的是一个前24位被用作网络号的IP地址(和255.255.255.000的意思一样)
计算方式是位与运算,如:
类别
起始位
开始
结束
点分十进制掩码
A

0

0.0.0.0

127.0.0.0

255.0.0.0

B

10

128.0.0.0

191.255.0.0

255.255.0.0

C

110

192.0.0.0

223.255.255.0

255.255.255.0

封装与分用-封装

TCP数据段(tcp segment)
IP数据报文 (ip datagram)
以太网数据帧(frame)46~1500(字节 可设置)
IP头有一个8bit的协议域,标示协议类型1=ICMP 2=IGMP 6=TCP 17=UDP

封装与分用-分用

端口号:
大部分知名端口号为奇数? 半双工历史
tcp 23
udp 53

环回接口

国际惯例ip是127.0.0.1 并设置localhost

IP网际协议

ip不可靠性。
ip无连接。 每个ip数据报文独立, 可以没有先后顺序
网络字节序:大端字节序
TTL 生存时间,一般为源主机设置

ARP地址解析协议

ARP功能是IP地址和不同网络技术的硬件地址做一个映射。arp发出一个arp数据请求给每个以太网上的主机,对应主机符合后回复arp应答,发送ip报文到目标主机
RARP 是许多无盘系统在引导时候获取ip地址的

ICMP 网络控制报文协议Internet Control Message Protocol

常用于返回错误信息及分析路由,如 ping(icmp echo的request和reply) traceroute

PING
不经过传输层,仅为ICMP的echo的request和reply

IP分片
MTU 以太网硬件(网卡)一般设置为1500:例如:IP首20, UDP首8 剩余1472数据字节

广播多播单播

使用单播IP地址的IP传输方式,叫做IP单播(Unicast),简称为单播。
使用广播IP地址的IP传输方式,叫做IP广播(Broadcast),简称为广播。
使用组播IP地址的IP传输方式,叫做IP组播(Multicast),简称为组播。
广播不实际增加网络通讯量, 但是如ICMP协议端口不可达会额外引起广播流量

IGMP internet组管理协议

广播长局限于局域网中,多播协议可以降低不参与通讯的主机负担

DNS域名系统

一个基于tcpip的分布式缓存

TCP传输控制协议

面向连接可靠地字节流服务
可靠性保障:

  • tcp segment 数据块封装成ip协议发送
  • 发送一个段后,启动一个定时器等待回复(自适应超时和重传)
  • 收到发送端的数据后给一个确认的回复(不一定是立即回复)
  • 首部和校验和来保证数据正确性
  • ip数据报文到达可能无序, tcp对数据报文重排序交给应用层
  • IP数据包会重复,需要丢弃重复
  • 提供流量控制,接收端只容许发送端发送本段缓冲能接收的数据

tcp首部中有6个标示bit:

  • URG 紧急指针
  • ACK确认序号有效
  • PSH 尽快发送到应用层
  • RST 重新建立连接
  • SYN 同步序号用来发起一个链接 (ISN 初始序列号,随机+数据包长度)
  • FIN 发送完毕

三次握手:SYN n->SYN m、ack n+1->ack m+1
四次握手:FIN n、ack ->ack n+1->FIN m、ack ->ack m+1

链接主要状态:
S : Listen=被动打开
C : SYN_SENT=主动打开
SC: ESTABLISHED=链接建立
C : FIN_WAIT=主动关闭
S : CLOSE_WAIT=被动关闭
C : TIME_WAIT=关闭等待
S : CLOSED=关闭(假想)

Nagle算法, 尽量的合并发送包,合并条件:

  • 达到MSS(最大segment 大小) 大小 MSS来自MTU(包含IP和tcp或者udp头)
  • FIN协议
  • tcp nodelay(关闭 Nagle algorithm)
  • 或者一段时间(200ms)超时

滑动窗口

控制流量避免拥塞。 分为发送窗口和接收窗口

超时和重传机制

定时器:

  • 重传定时器
  • 坚持定时器 使窗口大小信息保持流动
  • 保活定时器
  • 2MSL定时器 测量timewait时间

超时和重传: 指数避退策略

插口对(socket pair)套接字对, ip_port-r_ip_port
ISN 初始序列号, 随机值

MSL(最大segment lifetime)
TIME_WAIT 为2MSL状态,在等待期内,这部分时间socket pair 不容许被使用

后记

待续和完善, 目前简要备注大纲


版权声明:本文为博主原创文章,未经允许不得转载。