应用层决定“数据表达什么”,传输层解决“怎样把字节交给另一端的应用”。HTTP 与 TCP 正好对应这两层的典型问题:HTTP 规定请求和响应的语义,TCP 提供可靠、有序、双向的字节流。
本文先分析 HTTP/1.1 报文,再深入 TCP 首部、三次握手、四次挥手、确认重传、滑动窗口、流量控制与拥塞控制。
一、应用层协议的作用应用层协议需要规 ...
Socket 是应用程序使用网络协议栈的主要接口。Linux 把套接字抽象为文件描述符,因此可以使用 read、write、close,也可以使用更适合网络语义的 recv、send、recvfrom 和 sendto。
本文从 IP、端口和网络字节序出发,分别梳理 UDP 与 TCP 的编程流程,并给出经过边界和错误处理完善的示例。
一、网络通信需要哪 ...
