网络协议笔记

1.IETF/RFC

  1. ETF(Internet Engineering Task Force): 始于1986,Internet标准规范制定的最主要的组织
  2. RFC(Request For Comments:请求评议),IETF管理规范文件的形式

2.Ethernet

  1. Ethernet 最广泛的局域网协议
  2. MTU(Maximum Transmission Unit), 一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位。MTU小,有效数据占比小,通信效率低;MTU大,数据包延迟大,数据包中 bit出错的概率也变大
  3. 一般MTU特指Ethernet的MTU
  4. Ethernet Frame帧:长度1518字节=帧头14(mac地址等)+MTU1500字节(IP报文+IP报头)+帧尾4字节校验
  5. PPPoE-MTU:长度1492字节=1500-8字节(PPPoE头尾)。PPPoE是宽带运营商用于对用户认证计费的(TCP/IP以太网无此功能)。

3.IP

  1. https://datatracker.ietf.org/doc/html/rfc791
  2. IP报头:20字节

4.TCP

  1. https://datatracker.ietf.org/doc/html/rfc793
  2. TCP报头:20字节(可扩展至40字节)
IP分片
  1. TCP包,最大数据为65536字节(报头长度定义为2字节),如果TCP数据大于1452字节, 发送端IP层会分片,接收端IP层会重组,重组完整才会交给TCP层,任一分片丢失,都会导致tcp数据重发。
  2. 为解决这一问题。TCP在三次握手时,会商定MSS(Maximum Segment Size), 尽量不分片。
半包粘包
状态
SYN-SENT STATE
SYN-RECEIVED STATE
ESTABLISHED STATE
FIN-WAIT-1 STATE
FIN-WAIT-2 STATE
CLOSE-WAIT STATE
CLOSING STATE
LAST-ACK STATE
TIME-WAIT STATE

5.UDP

  1. UDP报头:8字节

6.HTTP

https://datatracker.ietf.org/doc/html/rfc2068

Status Code Definitions
  1. Informational 1xx
    1.1.100 Continue
    1.2.101 Switching Protocols

  2. Successful 2xx
    2.1.200 OK
    2.2.201 Created

  3. Redirection 3xx
    3.1. 300 Multiple Choices
    3.2. 301 Moved Permanently
    3.3. 302 Moved Temporarily

  4. Client Error 4xx
    4.1. 400 Bad Request
    4.2. 401 Unauthorized
    4.3. 402 Payment Required
    4.4. 403 Forbidden
    4.5. 404 Not Found

  5. Server Error 5xx
    5.1. 500 Internal Server Error
    5.2. 501 Not Implemented
    5.3. 502 Bad Gateway
    5.4. 503 Service Unavailable
    5.5. 504 Gateway Timeout
    5.6. 505 HTTP Version Not Supported

7.state vs status

state 是有限、可以相互迁移的状态。比如:

  1. state machine 状态机
  2. state transition diagram 状态迁移图
  3. TCP协议中状态的定义 https://datatracker.ietf.org/doc/html/rfc2068
    The states are: LISTEN, SYN-SENT, SYN-RECEIVED,
    ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK,
    TIME-WAIT, and the fictional state CLOSED.

status 是不可以相互迁移的状态。比如

HTTP协议中定义的状态 https://datatracker.ietf.org/doc/html/rfc2068
Status Code Definitions: 200,404,500 …

但是,编码和数据库字段,习惯用status,而不用state

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值