美文网首页网络编程
关于网络的几个基础概念

关于网络的几个基础概念

作者: Nick_Can | 来源:发表于2018-02-28 15:26 被阅读7次

学校时教过网络编程,但是工作后一直没接触,作为码农基础知识,复习下吧。

分层

有七层协议,五层,四层之说,都一样。作为入门只需要知道四层。

  • 链接层
  • 网络层:使用IP协议让通过路由器连接起来的计算机能够互相通信。是计算机与计算机的通信。
  • 运输层:使用UDP和TCP协议完成不同计算机的应用进程间的通信。是应用进程与应用进程的通信。
  • 应用层:规定应用进程在通信时的协议。HTTP,FTP等。是对运输数据的进一步加工,或者说按规则封装解析,使其适合某一类进程使用,比如文件传输用FTP。

TCP

  • 运输层协议之一。
  • 面向连接。发送数据前,两端需要进行三次握手确认连接后,方可发送数据。所以说是可靠的。
  • 有序的。通过滑窗,ack信号,重发机制来完成。

UDP

  • 运输层协议之一。
  • 无连接。直接发送数据,不保证数据是否能收到。所以说是不可靠的。
  • 无序的。可能丢失,重复。

Socket(套接字)

  • 对TCP/IP的封装,支持TCP和UDP协议,是一套调用接口(API)。
  • 抽象的表示端口到端口的连接。
  • 连接过程:服务器监听,客户端请求,连接确认。

HTTP

  • 应用层协议之一。
  • Unity的WWW。
  • 规定数据的封装解析规则。
  • 基于TCP。但是只能由客户端先主动向服务端发送请求。
  • HTTP1.1前是短连接,HTTP1.1开始支持长连接。
  • HTTP1.1之前,发一条数据,需要先确认连接,然后发送一条数据,然后断开连接.
  • 其实一般都认为HTTP是短连接,而socket(TCP)被用于实现长连接。

长连接和短连接

  • 一般是针对TCP而言的。
  • 建立TCP连接,发送一条数据后,立即断开连接,那么就是短连接。反之,维持连接状态,知道某一端主动关闭接口,那么就是长连接。
  • 如果端对端的连接数多,但一条连接线路中请求不多,就用短连接。因为保持连接也需要占用资源。
  • 如果一个端对端的连接中,请求很多,就用长连接。因为建立连接的过程也是个消耗过程。

Socket过程

  • 建立一个Socket需要知道,协议,发送端端IP,发送端端端口号,接收端IP,接收端端口号。
  • 服务端:new socket -> bind -> listen -> accept -> read/write -> close (listen监听端口,accept收取客户端Socket)
  • 客户端:new socket -> connect -> read/write -> close


    Socket建立过程.jpg

TCP连接的三次握手

  • 客户端发送同步信号syn(j) -> 服务端返回同步信号syn(k),确认信号ack(j+1) -> 客户端发挥确认信号ack(k+1)
  • 客户端调用connect -> 服务端accept -> 客户端connect得到返回 -> 服务端accept得到返回
    TCP三次握手.png

参考

之前写的一个相关的测试工程
Linux Socket过程详细解释(包括三次握手建立连接,四次握手断开连接)
TCP、UDP以及TCP滑窗,它们的区别

相关文章

  • 关于网络的几个基础概念

    学校时教过网络编程,但是工作后一直没接触,作为码农基础知识,复习下吧。 分层 有七层协议,五层,四层之说,都一样。...

  • 关于网络基础概念的学习笔记

    1. OSI 模型 第7层 应用层(Application Layer) 应用层最接近最终用户,这意味着 OSI应...

  • Socket理解之地址族

    前言 最近在看iOS核心开发手册这本书,里面有一章讲解关于网络编程基础的知识,书中的几个知识点概念理解的不是很明白...

  • 基础网络概念

    1, 网络是什么 计算机网络的组成组件: 节点 (node):节点主要是具有网络地址 (IP) 的设备之称。 服务...

  • 基础网络概念

    IP地址的组成和分级 IP 的表示式:00000000.00000000.00000000.00000000 ==...

  • 网络基础概念

    计算机网络 基础概念 实现多个计算机系统的资源共享和信息传递 通信子网:介质,设备,协议,对应物理层,数据链路层,...

  • 网络基础-概念

    个人笔记纪录, 待完善 OSI七层模型:应用层: 应用层协议, HTTP, FTP, SMTP, DNS等处于这...

  • 网络基础概念

    IP地址 单个网络情况 在单个局域网下,结构非常简单,就是我们所连接的网络设备给我们分配了一个地址,在这个范围之内...

  • 网络基础概念

    IEEE 802.3 的标准 CSMA/CD (Carrier Sense Multiple Access wit...

  • 认知系列1-认知前准备

    关于几个核心概念的解释 在正式进入认知系列内容之前,有必要对核心概念进行解释,因为这些核心的概念是认知的基础,...

网友评论

    本文标题:关于网络的几个基础概念

    本文链接:https://www.haomeiwen.com/subject/wbtixftx.html