待补充完善 Web 页面的请求历程 应用层     报文.主机 运输层     报文段. 网络层     数据报.路由器.IP 地址 链路层     以太网帧.交换机.MAC 地址 步骤 1)到 4),涉及三台机器,分别是便携机.以太网交换机.路由器 便携机:生成 DHCP 请求报文.将报文封装到报文段中.将报文段封装到数据报中.将数据报封装到以太网帧中.广播以太网帧 以太网交换机:接收便携机传过来的以太网帧.广播以太网帧 路由器:接收来自以太网交换机的以太网帧.从以太网帧中提取数据报.从数据报…
3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连接. 1).最大报文段长度(Maximum Segment Size,MSS):该术语很容易被混淆,它其实指的是报文段里应用数据的最大长度,而不是包括TCP首部的TCP报文段的最大长度. 2).最大传输单元(Maximun Transmission Unit,MTU):指的是最大链路层帧长度,即应用…
3.1 概述和运输层服务 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能. 3.1.1 运输层和网络层的关系 网络层提供了主机之间的逻辑通信,而运输层为运行在不同的主机上的进程提供了逻辑通信. 3.1.2 因特网运输层概述 Internet上提供TCP(传输控制协议) 和 UDP(用户数据报协议)两种 3.2 多路复用和多路分解  一个进程有一个或多个套接字(socket),它相当于从网络向进程传递数据和从进程向网络传递数据的门户. 接收端…
4.1 网络层概述  网络层主要功能为转发(将数据从路由器输入接口转移到合适的输出接口)和路由选择(端到端的路径选择),每台路由器都有一张转发表,用最长前缀匹配规则来转发. 4.1.1 转发和路由选择:数据平面和控制平面 转发(forwarding) 是指将分组从一个输入链路转移到适当的输出链路接口的路由器本地动作. 路由选择(routing) 是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程. 4.1.2 网络服务模型 因特网的网络层IP协议提供单一服务,尽力而为服务,无带宽保证,…
2.1 应用层协议原理 2.1.1网络应用程序体系结构 1)在客户-服务器体系结构 (client-server architecture)中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求.著名的应用程序包括Web.FTP.Telnet和电子邮件. 2)在一个P2P体系结构(P2P architecture)中,对位于数据中心的专用服务器有最小的(或者没有)依赖.相反,应用程序在间断连接的主机对之间使用直接通信,这些主机对被称为对等方. 2.1.2 进程通信 1)客户…
2.4 DNS:因特网的目录服务 2.4.1 DNS提供的服务 DNS的定义 实体层面看,DNS是一个由分层的DNS服务器实现的分布式数据库 协议层面看,DNS是一个使得主机能够查询分布式数据库的应用层协议 DNS运行在UDP之上,使用53号端口 1)主机名到IP地址映射的转换服务 2)主机别名(host aliasing) 3)提供负载均衡(load distribution) 2.4.2 DNS工作机理概述 DNS是一个在因特网上实现分布式数据库的精彩范例. 1.分布式.层次数据库 DNS服…
常见的应用层协议有哪些?  HTTP(HyperText Transfer  Protocol):超文本传输协议 FTP(File Transfer Protocol):文件传输协议 SMTP(Simple Mail Transfer Protocol):简单邮件传输协议 Telnet:远程终端访问 应用层协议定义了什么?   1.交换的报文类型,例如请求报文和响应报文 2.各种报文类型的语法,如报文中的各个字段及这些字段是如何描述的 3.字段的语义,即这些字段中包含的信息的含义 4.一个进程何…
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协…
待补充完善 TCP 相关基本点 1.面向连接 两个不同主机上的进程在通过 TCP 进行通信之前,必须先通过三次握手来建立 TCP 连接 2.全双工服务 即,如果一台主机上的进程 A 与另一台主机上的进程 B 存在一条 TCP 连接,那么应用层数据就可以从进程 B 流向进程 A 的同时,也从进程 A 流向进程 B. 3.TCP 连接提供的是“点对点”的服务 即一对一的服务,不可能一对多.多对一或者多对多 什么是流量控制?为什么要进行流量控制? 后一个问题可以转化为:如果不进行流量控制,任其自然发展…
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 链路层具有维持链路连接性的责任,从而确保在两个链路伙伴之间的成功数据传输.基于包(packets)和链路命令(link commands)定义了健壮的链路流程控制.数据包在链路层被准备好,携带数据和不同的信息在主机和设备之间传输.链路命令的定义是为了链路伙伴两者之间的通信.包帧(Packet frame)有序集(ordered sets)和链路命令有序集也被构造得可以容忍一个符号错误.此外,错误检测也被融…