概述

TCP/IP协议不是一个单个的协议,而是一个协议族。
互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。

分层

OSI七层模型:应用层,表示层,会话层,传输层,网络层,物理链路层,物理层。
TCP/IP四层协议模型:应用层,传输层,网络层,链路层。

互联网的地址

互联网上的接口都有一个唯一的Internet地址(IP地址),IP地址长32bit。
IP地址分为五类,并且有不同的格式和范围:

类型 范围
A类 0.0.0.0~127.255.255.255
B类 128.0.0.0~191.255.255.255
A类 192.0.0.0~223.255.255.255
A类 224.0.0.0~239.255.255.255
A类 240.0.0.0~247.255.255.255

域名系统

域名系统(DNS)是一个分布式的数据库,用来存储IP地址与主机名之间的映射关系

封装

应用程序用TCP传数据的时候,数据被送入协议栈中。用户数据经由 应用程序,TCP,IP,以太网驱动程序进行层层封装来生成数据报文。

端口号

TCP和UDP使用16bit的端口号来识别应用程序,理论上有2^16(0~65535)个端口号。
查看unix系统下的端口号:grep telnet /etc/services

IP:网际协议

特点

不可靠,无连接

IP首部

普通IP首部由20个字节组成,包含4位版本号,4位首部长度,8位服务类型,16位总长度,16位标识,3位标志,13位片偏移,8位生存时间,8位协议,16位首部检验和,32位源IP之地,32位目的IP地址

IP路由选择

IP层在内存中有一个路由表,当收到一份数据包并进行发送时,都会对该表进行一次搜索。首先会查看目的IP地址是否为本机的IP地址之一或者IP广播地址,如果是,那么数据表就会被送到由IP首部协议字段所指定的协议模块进行处理,如果不是这些地址,IP层会被设置成路由器的功能,对数据报进行转发。

所有IP路由选择只为数据报传输提供下一站路由器的IP地址,它假定下一站路由器比发送数据报的主机更接近目的,而且下一站路由器与主机是直接相连的。

路由表中的每一项都包含下面这些信息:

  • 目的IP地址
  • 下一站的IP地址
  • 标志
  • 为数据报的传输指定一个传输接口

IP路由选择主要完成的功能:

  • 搜索本机路由表,寻找能与目的IP地址完全匹配的条目
  • 搜索路由表,寻找能与目的网络号想匹配的条目
  • 搜索路由表,寻找名为“默认”的条目

UDP:用户数据报协议

概述

UDP是一个简单的面向数据报的运输层协议。

UDP是不可靠的,它把应用程序传给IP层的数据发送出去,但是并不保证他们能够到达目的地。

UDP首部

UDP首部由8字节组成,分别为16位源端口号,16位目的端口号,16位UDP长度,16位UDP检验和。

TCP协议

概述

TCP协议是一个面向连接的协议。

建立和终止连接

在TCP报文中比较重要的字段有:

  1. 序号(Seq),32bit
  2. 确认号(Ack),32bit
  3. 标志位(Flags):共 6 个,即 URG、ACK、PSH、RST、SYN、FIN 等。

建立连接:

  1. 客户端给服务器发送一段TCP报文,标记位为 SYN,表示“请求建立新连接”;序号为 Seq=x(x 一般为 1);随后客户端进入 SYN-SENT 阶段
  2. 服务器端接收到来自客户端的 TCP 报文之后,结束 LISTEN 阶段。并返回一段 TCP 报文。标记位为ACK,SYN,Ack=x+1,Seq=y,服务器进入SYN-RCVD状态
  3. 客户端接收到来自服务器端的确认收到数据的 TCP 报文之后,明确了从客户端到服务器的数据传输是正常的,结束 SYN-SENT 阶段。并返回最后一段 TCP 报文。标志位为ACK,Ack=y+1,随后客户端进入 ESTABLISHED 阶段。
    服务器接收到确认信号之后进入ESTABLISHED阶段,建立连接,开始传输数据。

终止连接:

  1. 客户端发送标志位为FIN,Seq=u,客户端进入FIN_WAIT_1阶段
  2. 服务器收到终止信号,发送标志位为ACK,Ack=u+1,Seq=v,服务器进入CLOSE_WAIT阶段,客户端收到确认信号,进入FIN_WAIT_2阶段
  3. 服务器做好了断开连接的准备后,向客户端发送标记位为FIN,ACK,Ack=v+1,Seq=w ,服务器进入LASK_ACK阶段
  4. 客户端收到服务器准备好的信号后,向服务器发送标记位为ACK,Ack=w+1,Seq=u+1,客户端等待2MSL后关闭连接,服务器收到确认信号后,关闭连接

超时重传

TCP的的超时重传是保证TCP可靠性的一个重要机制。
原理:在发送一个数据以后开启计时器,一定时间内没有收到ACK报文,则重传数据。

TCP/IP协议卷一(一)相关推荐

  1. TCP笔记之阅读《TCP/IP协议卷一》

    标注: 看<TCP/IP协议卷一>记的笔记 处理差错的两种主要方法 差错校正码 数据重传 使用序列号解决分组重复的问题 停止个等待协议的吞吐量性能低,因此允许多个分组被注入网络(滑动窗口) ...

  2. 【TCP/IP协议 卷一:协议】第三章 IP:网际协议

    3.1 引言 unreliable不可靠的意思是它并不能保证IP数据报能成功的到达目的地.IP只提供尽力而为的传输服务. conectionless无连接的意思是IP并不维护任何关于后续数据报的状态信 ...

  3. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  4. 《TCP IP协议 详解》思考总结 · 三

    前言 这一篇文章主要围绕了IP协议,ICMP协议和UDP协议展开,希望可以在这里大概做一个总结,将<TCP/IP协议详解 卷一>书中TCP相关章节前面的内容做一个结束,在下一篇文章专心的去 ...

  5. TCP/IP协议详解卷一:Chapter21 笔记

    TCP/IP协议详解卷一:Chapter21 笔记 Chapter 21 TCP的超时与重传 21.3 往返时间测量 21.5 拥塞举例 21.6 拥塞避免算法 21.7 快速重传与快速恢复算法 21 ...

  6. 概述---《TCP/IP协议》卷一 练习题

    概述练习题 1.1 请计算最多有多少个 A类. B类和C类网络号. 答:27−2+214−2+221−2=126+16382+2097150=211365827−2+214−2+221−2=126+1 ...

  7. 概述---《TCP/IP协议》卷一

    第1章 概述 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信.这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想. 1.2 ...

  8. TCP/IP协议(2): 以太网(IEEE 802.3) 协议 —— 构成有线局域网的基本协议

    #TCP/IP协议(2): 以太网(IEEE 802.3)协议 -- 构成有线局域网的基本协议 关于以太网(IEEE 802.3) 协议 以太网(Ethernet) 是一套广泛应用于局域网(LAN), ...

  9. 关于TCP/IP协议簇

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个网络间实现信息传输的协议簇.TCP/IP协议严格来说 ...

最新文章

  1. Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
  2. 物联网设备僵尸网络趋势分析
  3. Kubernetes 1.14 版本发布:正式支持Windows 节点,持久化本地卷进入GA
  4. 商品微服务添加api接口
  5. HTML5 Canvas 绘图
  6. Hibernate之关联映射
  7. 基于python sklearn的 SVM支持向量机 类实现
  8. cognos java_CognosSDK Java登陆到Cognos
  9. [matlab数字图像处理10]对一副图像进行二值化,ostu算法等
  10. 如何更有效的开发中东市场客户?【干货】想拿土豪国大订单看过来!
  11. 诺基亚 java 软件_初学篇:诺基亚手机软件安装不求人
  12. 魔方cfop公式软件_按这七步训练,你可以快速玩转魔方!
  13. CTFHub技能树——备份文件下载
  14. 《东周列国志》第十六回 释槛囚鲍叔荐仲 战长勺曹刿败齐
  15. Word全英文件怎么翻译
  16. HTTP的请求过程解析
  17. win10如何解决Excel双击打开显示灰色空白?
  18. MicrosoftExcel函数
  19. 利用笔记本无线网卡实现共享上网
  20. 职场中典型的学生思维有哪些?

热门文章

  1. /etc/fstab文件详解
  2. 2013年各大小IT公司待遇,绝对真实,一线数据!
  3. IT十八掌 大数据技术资料+内部资料
  4. 国际性PRO-SID研究开始招募患者,该研究评估Panzyga(R)用于慢性淋巴细胞白血病和继发性免疫缺陷患者的一级预防性治疗
  5. 文本检测算法性能对比
  6. c#中实现Word、Excel、Pdf预览及音频和视频播放
  7. u大侠pe系统桌面计算机,如何使用U大侠PE系统修复引导文件
  8. 实在憋不住了,出来透透气。
  9. jsp+ssm计算机毕业设计电影影评网【附源码】
  10. CPLEX中导入excel数据