TCP/IP学习(二)

TCP 和 IP 协议

IP(Internet Protocol 网际协议)

  • 是计算机用来相互识别的通信的一种机制,每台计算机都有一个 ip 来识别在 internet 上的位置
  • ip 协议仅仅是允许计算机相互发消息,但是它并不检查消息是否以发送的次序到达而且没有损坏
  • 为了提供消息校验功能,直接在 IP 协议上设置 TCP

TCP(Transmission Control Protocol 传输控制协议)

  • 保证数据包以正确序列到达,并且尝试确认数据包的内容没有改变
  • tcp 在 ip 地址之上引端口,允许计算机通过网络提供各种服务
  • 用于从应用程序到网络的数据传输控制,而 ip 负责计算机间的通信

HTTP 工作过程

一次 HTTP 操作称作一个事务

  • 地址解析
    • 从地址分解出协议名,主机名,端口
    • 需要 DNS 解析域名,得到主机的 ip 地址
  • 封装 HTTP 请求数据包
  • 封装成 TCP 包,建立 TCP 连接(三次握手)
    • 在 http 工作之前,首先要通过网络与服务器建立连接,该连接通过 tcp 完成
    • http 是比 tcp 更高层次的应用层协议,更具规则,只有低层次协议建立之后,才能进行更高层协议的连接
  • 发送 http 请求
  • 服务器响应
  • 服务器关闭 TCP 连接
    • 如果加入了长连接(keep-alive),tcp 连接仍然保持打开状态,减少建立新连接所需的时间,还节约了带宽

HTTPS 的 TLS/SSL

TLS 全称是 transport layer security(安全传输层协议)

主要作用

  • 对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全
  • 对网站服务器进行真实身份认证

依赖的基本算法

主要是三类

  • 散列函数验证信息的完整性
  • 对称加密算法采用协商好的秘钥对数据加密
  • 非对称加密实现身份认证和密钥协商

推荐阅读