天天看点

第一章 基本概念(一)

第一章 基本概念(一) 技巧1:理解面向连接和无连接协议之前的区别 1、本质区别:

无连接协议:每个分组的处理独立于其他分组 面向连接协议:协议实现维护了与后继分组有关的状态信息 2、TCP可靠性 1)校验和 2)序列号 3)确认重传机制 3、接受窗口 不在接受窗口范围的数据都会被丢弃 窗口的左边界:期望的下一字节的序列号 窗口的右边界:TCP缓冲区空间容纳字节的最大编号 ACK携带期望的下一字节序列号

第一章 基本概念(一)

4、发送窗口 两部分:已发送还未被确认的字节,可以发送但还未发送的字节 TCP会启动一个RTO(重传超时)定时器

技巧2:理解子网和CIDR的概念 1、分类编址 主机ID为0表示本主机,主机ID全1是广播地址 ARP解析,将IP地址映射为物理地址

第一章 基本概念(一)

不同分类:

第一章 基本概念(一)

2、子网划分 子网划分:部分主机ID来说明主机所连接的网段,用其余主机ID来标识特定的主机 子网掩码:网络+子网部分 例:H1和H3通信,H1通过H3的IP地址和子网掩码,发现不在同一个子网。查询路由表,H3的下一跳地址是路由器R1。H1将R1的IP地址映射为物理地址,并发送给R1。R1使用子网掩码查找目的地址,发现H3位于接口190.50.2.4子网上。最后,R1将H3的IP地址映射为物理地址,并发送数据到H3

第一章 基本概念(一)

技巧3:理解私有地址和NAT 1、私有地址 2、私有地址与外网通信 NAT(网络地址翻译):三种模式 1)静态:部分或全部私有地址映射为一个固定的全局分配的地址 2)地址池:NAT有一组IP地址,动态分配给需要通信的主机 3)PAT:私有地址映射为一个同样的固定的外部地址,源端口会被修改为唯一值,通过它与私有网络地址相关联 例:NAT必须将源端口转换成一个唯一的端口号

第一章 基本概念(一)

技巧4:开发并使用应用程序"框架" 1、TCP/IP应用程序 TCP服务器、TCP客户端、UDP服务器、UDP客户端

技巧5:套接字接口比XTI/TLI更好用 1、套接字优点:可移植,更好用

技巧6:记住,TCP是一种流协议 1、TCP流协议 TCP没有用户可见的分组概念,只是传送了一个字节流,无法预测在一个特定的读操作会返回多少字节 send只是将数据复制到TCP/IP协议栈,就返回了,由TCP决定需要发送多少数据 取决因素:发送窗口、拥塞窗口、路径上的最大传输单元以及连接的输出队列中有多少数据 2、报文边界 1)定长报文 2)添加报文长度字段

第一章 基本概念(一)

技巧7:不要低估TCP的性能 1、TCP的ACK 1)接收端可以通过要发回给对等实体的数据来捎带ACK 2)大部分TCP实现是隔一段发送一次ACK的 2、不同场景 TCP:连接持续时间长,传输大量数据 UDP:仅包含简短的请求/应答会话

继续阅读