TCP/IP协议分析与应用
UDP
- 除了提供进程到进程之间的通讯,几乎没有对IP增长任何东西
- 只提供了很低水平的差错控制,即利用校验和检查数据的完整性
- 检测出有差错,绝不负责地悄悄丢弃分组完事
- 不对单个应用的报文进行拆分或合并,发送方发送多少个报文,接收方就原本来本从UDP端口读多少次
TCP
- 保证数据传送可靠、按序、无丢失和无重复
- TCP有发送缓存和接收缓存
- TCP能够对数据进行从新分组
- 因为TCP链接提供的是全双工服务,所以双方能够在传送数据时顺便把确认信息捎带过去,提升传输效率
- TCP是面向字节流的,不在字节流中插入记录标识符。也就是说应用层须要对传输的数据有一套本身的编解码协议
- 若是一个应用程序可使用TCP和UDP,那么给它分配一个端口号就够了
- 由于TCP是面向链接的,因此一个套接字能够用于多个链接,数据可以被正确的链接接收(本身想的,不知道对不对)
- seq,序列号,在链接创建后,双方都会生成一个随机的初始序列号,对发送的数据进行编号,具体是指第一个字节的编号,后面的字节依次加1
- 确认号,是指指望收到的下一个报文段的序列号。若是收到一个编号为100长度为1000的报文,校验经过,确认号为1100,不然为100
- 创建链接须要3次握手,断开链接须要4次挥手
- TCP使用滑动窗口协议进行流量控制,窗口区间是缓存的一部分
IPv4
- IP定义了数据传输所用的基本单元,即规定了传输的数据格式
- IP规定了IP分组的路由机制
- IP是“不可靠的”,是指并不随意地放弃分组,只有当资源用完或底层网络出现故障才会出现不可靠性。要求可靠性必须经过上层协议(如TCP)来提供
- IP分片,当一个较长的IP分组通过一个MTU值较小的物理网络时,会把长分组分红多个小分组。将这些分片重组只会在目的站,不会在中间的路由器进行
IPv6
- 移除了协议字段,由扩展首部1说明数据应当交给TCP仍是UDP处理
- 移除分片相关字段,规定全部使用IPv6的站点都必须支持1280B的分组,若是中间路由器不能传输过大的分组会返回错误信息,由源站进行分片
- 移除首部校验和字段,由于上层协议大多有本身的检验机制
多播
- 在物理网络上实现的多播,如以太网多播
- 在逻辑网络上实现的多播,如IP多播,在到达一个物理网络以后,可采用硬件多播
- IP多播源站只发送出一个IP分组,多个单播发送出多个IP分组
名词解释
- ISO:International Standards Organization,国际标准化组织
- RFC:Request For Comment,Internet草案。Internet管理机构以请求评论的形式发表
- OSI:Open System Interconnection,开放系统互联。OSI模型是设计网络系统的分层次的框架,它将网络按功能分为7层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
- TCP:Transmission Control Protocol,传输控制协议
- UDP:User Datagram Protocol,用户数据报协议
- IP:Internet Protocol,网际协议
- ICMP:Internet Control Message Protocol,Internet控制报文协议。配合IP使用,提供差错报告和差错纠正机制(注意,并不能纠正差错,由高层协议处理)。ICMP报文是封装在IP分组的数据中的
- Ping:Packet InterNet Groper,使用ICMP回送请求报文和应答报文测试两个站点之间在IP层的连通性
- MTU:Maximum Transfer Unit,网络最大传输单元。任何一个物理网络的数据链路层都有其本身的帧格式,在帧格式中规定了一个物理帧中容许传输数据量的上限值
- ARP:Address Resolution Protocol,地址解析协议。将IP地址映射为物理地址
- RARP:Reverse Address Resolution Protocol,逆地址解析协议。将物理地址映射为IP地址
- AS:Autonomous System,自治系统。机构局域网
- IGP:Interior Gateway Protocol,内部网关协议。在一个AS内使用的路由选择协议
- RIP:Routing Informatica Protocol,路由信息协议。用于AS内路由器之间传送路由
- OSPF:Open Shortest Path First,开放路径最短优先协议。用于AS的内部路由协议,可将一个OSPF网络划分红多个区域,具备很好的扩展能力
- EGP:External Gateway Protocol,外部网关协议。在AS之间使用的路由选择协议
- BGP:Border Gateway Protocol,边界网关协议。和IGP不一样,BGP不使用路由度量值,而是根据网络策略来作路由决定
- IGMP:Internet Group Management Protocol,Internet组管理协议。用于多播路由器和实现多播的站点之间进行群组成员关系的通讯
PS:只记录了感兴趣的部分git
建了个微信圈子,欢迎对产品有实践兴趣的同窗加入,一块儿来玩呀
写于2020-03-02
本篇文章由一文多发平台ArtiPub自动发布github